女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

什么是FPGA的綜合和約束的關(guān)系?

汽車電子技術(shù) ? 來源:OpenFPGA ? 作者: 碎碎思 ? 2023-02-09 14:33 ? 次閱讀

數(shù)字硬件建模SystemVerilog(四)-綜合

poYBAGPkk2CAKDG4AATFPoUR4qs282.png

綜合編譯器將實(shí)現(xiàn)細(xì)節(jié)添加到抽象RTL模型,合成編譯器:

  • 將RTL功能轉(zhuǎn)換為等效功能的通用邏輯門。
  • 將通用門映射到特定的ASICFPGA目標(biāo)。
  • 執(zhí)行邏輯優(yōu)化以滿足時鐘速度要求。
  • 執(zhí)行邏輯優(yōu)化以滿足面積和功率要求,
  • 執(zhí)行邏輯優(yōu)化以滿足建立和保持時間。

圖1-10說明了使用SystemVerilog進(jìn)行數(shù)字綜合的一般流程,

poYBAGPkk0-ANjBSAASfAnq0g9Y302.png

圖1-10:SystemVerilog綜合工具流程

綜合編譯器需要三種主要類型的輸入信息:

  • 系統(tǒng)Verilog RTL模型-這些模型由設(shè)計(jì)工程師編寫,代表需要在ASIC或FPGA中實(shí)現(xiàn)的功能行為
  • 目標(biāo)ASIC或FPGA的工藝庫-該庫由ASIC或FPGA供應(yīng)商提供,包含可用于實(shí)現(xiàn)所需功能的標(biāo)準(zhǔn)單元(用于ASIC)或門陣列塊(用于FPGA)的定義
  • 綜合約束定義-這些約束由設(shè)計(jì)工程師定義,并提供RTL代碼中不可用的綜合編譯器信息,例如需要在ASIC或FPGA中實(shí)現(xiàn)的所需時鐘速度、面積和功率目標(biāo)。

出于前端設(shè)計(jì)和驗(yàn)證目的,綜合的主要輸出是門級網(wǎng)表。網(wǎng)絡(luò)列表是組件和將這些組件連接在一起的導(dǎo)線(稱為網(wǎng)絡(luò))的列表。網(wǎng)絡(luò)列表中引用的組件將是用于實(shí)現(xiàn)所需功能的ASIC標(biāo)準(zhǔn)單元或FPGA門陣列塊。此網(wǎng)絡(luò)列表可以有多種格式,包括EDIF、VHDL、Verilog2001或SystemVerilog。本系列文章僅使用SystemVerilog輸出。

為了仿真SystemVerilog網(wǎng)絡(luò)列表,需要每個組件的仿真模型。目標(biāo)ASIC或FPGA供應(yīng)商將提供用SystemVerilog編寫的仿真庫。通常,這些庫只使用SystemVerilog的Verilog-2001子集。這些組件在門級建模,具有詳細(xì)的傳播延遲。這些模型與設(shè)計(jì)工程師編寫的抽象RTL模型不同。

SV綜合編譯器

有幾個SystemVerilog綜合編譯器支持SystemVerilog語言。CadenceMentor Graphics和Synopsys等電子設(shè)計(jì)自動化(EDA)公司銷售的商用綜合編譯器。一些FPGA供應(yīng)商,如Xilinx和Intel(前身為Altera)提供了專用于該供應(yīng)商技術(shù)的專用綜合編譯器。

SystemVerilog是一種兩用語言。一個目的是對數(shù)字硬件的行為進(jìn)行建模。第二個目的是編寫驗(yàn)證程序來測試硬件模型。這兩個目的有非常不同的語言要求。許多通用編程結(jié)構(gòu)對于這兩個目的都很有用,例如,if-else決策或for循環(huán)。其他語言特性只能用于驗(yàn)證,例如約束隨機(jī)測試(random test)生成。這些驗(yàn)證結(jié)構(gòu)并不表示硬件功能,綜合編譯器也不支持這些驗(yàn)證結(jié)構(gòu)。

IEEE尚未確定SystemVerilog的正式可綜合子集。標(biāo)準(zhǔn)的這一缺陷導(dǎo)致了每個綜合編譯器對可綜合SystemVerilog語言子集的支持存在重大偏差。此外,由特定綜合編譯器標(biāo)識的子集可以(幾乎肯定會)將綜合產(chǎn)品的一個版本更改為該產(chǎn)品的下一個版本。

綜合編譯Synthesis Compilation

綜合編譯器的目標(biāo)與仿真編譯器不同。這兩種類型的編譯器都需要檢查SystemVerilog RTL源代碼的語法正確性,但這就是相似性的終點(diǎn)。仿真是一個動態(tài)過程,涉及仿真時間、事件調(diào)度、應(yīng)用刺激和驗(yàn)證輸出。綜合是一個靜態(tài)轉(zhuǎn)換和優(yōu)化過程,不涉及任何這些仿真目標(biāo)。綜合編譯器需要確保代碼滿足必要的語言限制,以便將RTL功能轉(zhuǎn)換為ASIC和FPGA實(shí)現(xiàn)中支持的邏輯門類型。這些限制包括檢查RTL代碼是否具有明確定義的時鐘周期活動、單驅(qū)動程序邏輯等,綜合編譯器只需要編譯RTL模型。綜合不需要編譯帶有激勵生成和輸出驗(yàn)證的測試臺代碼。

單文件和多文件編譯

大型設(shè)計(jì)被劃分為許多子塊。通常,每個子塊將存儲在單獨(dú)的文件中,為了仿真分區(qū)設(shè)計(jì),仿真要求所有這些子塊都被編譯并連接在一起。另一方面,綜合通常可以分別編譯和處理每個子塊。綜合優(yōu)化和技術(shù)映射是計(jì)算密集型過程。將太多的子塊合成在一起可能會導(dǎo)致結(jié)果質(zhì)量(QOR)不理想。

在綜合設(shè)計(jì)的子塊時,有兩個重要的考慮因素。首先,來自定義包的子塊中使用的任何定義都要求該包與子塊一起編譯,并以適當(dāng)?shù)姆绞桨凑枕樞蚓幾g,如果多個子塊使用同一個包,則需要使用與其他子塊分開編譯的每個子塊重新編譯包,第二個考慮因素是,在每個單獨(dú)的編譯中都不會看到任何全局聲明,包括“定義編譯器指令”。

約束條件

圖1-10顯示了綜合的三個主要輸入之一是約束。約束用于定義綜合所需的信息,但這些信息既不在RTL模型中,也不在ASIC/FPGA供應(yīng)商的技術(shù)庫中。圖1-11說明了一個簡單的電路,其中綜合所需的一些信息必須由設(shè)計(jì)工程師指定。

pYYBAGPkkzqAcFzQAAHTBqNDPI0072.png

圖1-11:需要綜合約束的簡單電路圖

將此功能數(shù)據(jù)流綜合成邏輯門的過程包括:

  • 將綜合的觸發(fā)器FF1映射到目標(biāo)ASIC或FPGA中的適當(dāng)觸發(fā)器。
  • logic_block_1中描述的功能映射到目標(biāo)ASIC或FPGA的標(biāo)準(zhǔn)單元或邏輯塊。
  • 優(yōu)化logic_block_1的布局布線,以滿足FF1建立時間和保持時間要求。
  • 將logic_block_2中描述的功能映射到目標(biāo)ASIC或FPGA的標(biāo)準(zhǔn)單元或邏輯塊。
  • 優(yōu)化logic_block_2的布局布線,以滿足建立時間和保持時間要求。

為了在目標(biāo)ASIC或FPGA中實(shí)現(xiàn)圖1-11所示的簡單電路,綜合編譯器必須知道:

  • 用于實(shí)現(xiàn)logic_block_1和logic_block_2的標(biāo)準(zhǔn)單元或邏輯塊的傳播延遲、面積和功率要求。
  • FF1建立時間和保持時間。
  • clk的周期或頻率,如100Mhz。
  • in1相對于CLK邊沿的到達(dá)時間。
  • in1外部電源的驅(qū)動能力
  • 相對于clk邊沿的out1的到達(dá)時間。
  • out1的輸出驅(qū)動要求。

此信息不在RTL模型中。此列表中前兩項(xiàng)的規(guī)范,傳播延遲和建立/保持時間,將來自ASIC或FPGA供應(yīng)商提供的技術(shù)庫,其余細(xì)節(jié)必須由綜合設(shè)計(jì)的設(shè)計(jì)工程師指定。這些規(guī)范被稱為綜合約束,更大、更復(fù)雜的設(shè)計(jì)將需要更多的綜合約束,后續(xù)的RTL編碼示例將在適當(dāng)?shù)那闆r下討論適用的綜合約束。還提供了簡化必須指定的約束的指南。

指定綜合約束的方式因不同的合成編譯器而異。推薦讀者閱讀《綜合和時序分析的約束設(shè)計(jì)Constmining Designs for Synthesis and Timing Analysis》文檔了解此信息。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1643

    文章

    21949

    瀏覽量

    613724
  • asic
    +關(guān)注

    關(guān)注

    34

    文章

    1242

    瀏覽量

    121948
  • Verilog
    +關(guān)注

    關(guān)注

    28

    文章

    1365

    瀏覽量

    111747
  • RTL
    RTL
    +關(guān)注

    關(guān)注

    1

    文章

    388

    瀏覽量

    60621
收藏 人收藏

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    FPGA時序約束之衍生時鐘約束和時鐘分組約束

    FPGA設(shè)計(jì)中,時序約束對于電路性能和可靠性非常重要。在上一篇的文章中,已經(jīng)詳細(xì)介紹了FPGA時序約束的主時鐘約束
    發(fā)表于 06-12 17:29 ?3315次閱讀

    求16.5安裝方法和約束設(shè)置

    求16.5安裝方法和約束設(shè)置
    發(fā)表于 05-24 22:32

    ISE 生成的sdf文件和在綜合前的約束關(guān)系么?

    對于一個rtl設(shè)計(jì),ISE place & route 之后會生成sdf文件,那么,如果在綜合之前對 rtl設(shè)計(jì),添加一定的約束,所生成sdf文件是否有變化?sdf文件和在綜合前的約束
    發(fā)表于 02-09 15:19

    介紹FPGA綜合(轉(zhuǎn))

    、非門等組合邏輯和寄存器等時序邏輯之外,還包含FPGA特有的各種原語(Primitive)比如LUT,BRAM,DSP48,甚至PowerPC,PCIe等硬核模塊,以及這些模塊的屬性和約束信息。4.
    發(fā)表于 08-08 10:31

    FPGA約束設(shè)計(jì)和時序分析

    在進(jìn)行FPGA的設(shè)計(jì)時,經(jīng)常會需要在綜合、實(shí)現(xiàn)的階段添加約束,以便能夠控制綜合、實(shí)現(xiàn)過程,使設(shè)計(jì)滿足我們需要的運(yùn)行速度、引腳位置等要求。通常的做法是設(shè)計(jì)編寫
    發(fā)表于 09-21 07:45

    FPGA上的引腳和區(qū)域約束語法介紹

    引腳和區(qū)域約束也就是LOC約束(location)。定義了模塊端口和FPGA上的引腳的對應(yīng)關(guān)系。 那么我們應(yīng)該怎么寫呢?
    的頭像 發(fā)表于 07-14 02:49 ?1.1w次閱讀

    FPGA設(shè)計(jì)約束技巧之XDC約束之I/O篇(下)

    XDC中的I/O約束雖然形式簡單,但整體思路和約束方法卻與UCF大相徑庭。加之FPGA的應(yīng)用特性決定了其在接口上有多種構(gòu)建和實(shí)現(xiàn)方式,所以從UCF到XDC的轉(zhuǎn)換過程中,最具挑戰(zhàn)的可以說便是本文將要
    發(fā)表于 11-17 19:01 ?7732次閱讀
    <b class='flag-5'>FPGA</b>設(shè)計(jì)<b class='flag-5'>約束</b>技巧之XDC<b class='flag-5'>約束</b>之I/O篇(下)

    基于FPGA綜合技術(shù)分析(RTL分析、SDC約束綜合向?qū)В?/a>

    ,幫助設(shè)計(jì)團(tuán)隊(duì)集中精力做好創(chuàng)造性工作。下面我們就來看看FPGA工具流程的演進(jìn)發(fā)展,了解一下現(xiàn)代FPGA團(tuán)隊(duì)是如何利用RTL分析、約束生成和綜合導(dǎo)向來減少設(shè)計(jì)迭代的。
    發(fā)表于 11-22 08:52 ?7785次閱讀
    基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>綜合</b>技術(shù)分析(RTL分析、SDC<b class='flag-5'>約束</b>和<b class='flag-5'>綜合</b>向?qū)В? />    </a>
</div>                              <div   id=

    FPGA約束的詳細(xì)介紹

    介紹FPGA約束原理,理解約束的目的為設(shè)計(jì)服務(wù),是為了保證設(shè)計(jì)滿足時序要求,指導(dǎo)FPGA工具進(jìn)行綜合和實(shí)現(xiàn),
    發(fā)表于 06-25 09:14 ?6928次閱讀

    如何輕松管理PCB設(shè)計(jì)規(guī)則和約束

    目前,PCB 電氣和制造約束的數(shù)量和復(fù)雜性不斷激增。參加這次研討會可了解如何輕松管理您的設(shè)計(jì)規(guī)則和約束。我們將詳細(xì)介紹如何為網(wǎng)絡(luò)、網(wǎng)絡(luò)類和間距組合創(chuàng)建約束,如何建立規(guī)則層級構(gòu)等。
    的頭像 發(fā)表于 05-16 06:05 ?3555次閱讀
    如何輕松管理PCB設(shè)計(jì)規(guī)則<b class='flag-5'>和約束</b>

    如何輕松地管理您的設(shè)計(jì)規(guī)則和約束

    參加這次研討會,學(xué)習(xí)如何輕松地管理您的設(shè)計(jì)規(guī)則和約束。我們將研究如何創(chuàng)建約束網(wǎng)、網(wǎng)類、和間隙集,如何建立規(guī)則的層次結(jié)構(gòu),等等。
    的頭像 發(fā)表于 10-12 07:10 ?2752次閱讀

    淺談PCB設(shè)計(jì)系統(tǒng)中的設(shè)計(jì)規(guī)則和約束

    PCB設(shè)計(jì)取決于一套規(guī)則和約束條件,這些規(guī)則和約束條件決定了電路板的布局方式。這些規(guī)則涵蓋了各個方面,從組件之間的緊密程度到特定網(wǎng)絡(luò)的布線厚度。但是,成功的唯一方法是為每個作業(yè)專門設(shè)計(jì)規(guī)則。以前可行
    的頭像 發(fā)表于 01-13 13:32 ?4290次閱讀

    FPGA綜合和約束關(guān)系

    SystemVerilog是硬件設(shè)計(jì)和驗(yàn)證語言的IEEE行業(yè)標(biāo)準(zhǔn)。標(biāo)準(zhǔn)編號為IEEE 1800。SystemVerilog名稱將替換舊版Verilog名稱。SystemVerilog語言是原始Verilog硬件描述語言的完整超集。SystemVerilog是一種雙用途語言,用于描述數(shù)字硬件功能以及驗(yàn)證測試臺。
    的頭像 發(fā)表于 07-04 11:01 ?1402次閱讀

    Xilinx FPGA時序約束設(shè)計(jì)和分析

    在進(jìn)行FPGA的設(shè)計(jì)時,經(jīng)常會需要在綜合、實(shí)現(xiàn)的階段添加約束,以便能夠控制綜合、實(shí)現(xiàn)過程,使設(shè)計(jì)滿足我們需要的運(yùn)行速度、引腳位置等要求。通常的做法是設(shè)計(jì)編寫
    的頭像 發(fā)表于 04-27 10:08 ?1939次閱讀

    Xilinx FPGA約束設(shè)置基礎(chǔ)

    LOC約束FPGA設(shè)計(jì)中最基本的布局約束綜合約束,能夠定義基本設(shè)計(jì)單元在FPGA芯片中的位置,可實(shí)現(xiàn)絕對定位、范圍定位以及區(qū)域定位。
    發(fā)表于 04-26 17:05 ?1756次閱讀
    Xilinx <b class='flag-5'>FPGA</b>的<b class='flag-5'>約束</b>設(shè)置基礎(chǔ)