數(shù)字系統(tǒng)設(shè)計(jì):數(shù)字系統(tǒng)_綜合_第1頁(yè)
數(shù)字系統(tǒng)設(shè)計(jì):數(shù)字系統(tǒng)_綜合_第2頁(yè)
數(shù)字系統(tǒng)設(shè)計(jì):數(shù)字系統(tǒng)_綜合_第3頁(yè)
數(shù)字系統(tǒng)設(shè)計(jì):數(shù)字系統(tǒng)_綜合_第4頁(yè)
數(shù)字系統(tǒng)設(shè)計(jì):數(shù)字系統(tǒng)_綜合_第5頁(yè)
已閱讀5頁(yè),還剩34頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、綜合概述本章主要內(nèi)容:1. 綜合的層次2. 高層次綜合3. 邏輯綜合4. HDL邏輯綜合軟件5. 可編程器件的綜合綜合的層次 針對(duì)一個(gè)給定的設(shè)計(jì),根據(jù)設(shè)計(jì)應(yīng)實(shí)現(xiàn)的功能與相應(yīng)的約束條件,通過(guò)計(jì)算機(jī)的優(yōu)化處理,獲得一個(gè)滿足要求的設(shè)計(jì)方案的過(guò)程,就稱為綜合。 數(shù)字系統(tǒng)可以在多個(gè)層次上描述,這些層次由高到低可以分為算法層、寄存器傳輸層、邏輯層、電路層、版圖層。 通常,綜合可以分為3個(gè)層次:高層次綜合、邏輯綜合、版圖綜合。主要了解從算法級(jí)行為描述寄存器傳輸級(jí)結(jié)構(gòu)描述的綜合技術(shù)。算法級(jí)寄存器傳輸級(jí)邏輯級(jí)電路級(jí)版圖級(jí)行為特性物理特性結(jié)構(gòu)特性高層次綜合版圖綜合邏輯綜合高層次綜合高層次綜合:從算法級(jí)的行為描述轉(zhuǎn)

2、換到寄存器傳輸級(jí)的描述。高層次綜合系統(tǒng)的輸入:硬件描述語(yǔ)言的源描述。綜合結(jié)果:通常包括一個(gè)數(shù)據(jù)通路和一個(gè)控制器。數(shù)據(jù)通路(datapath):由寄存器、功能單元、多路器和總線等模塊構(gòu)成的互連網(wǎng)絡(luò),用于實(shí)現(xiàn)數(shù)據(jù)的傳輸??刂破鳎╟ontroller):通常由硬連邏輯(hardwired logic)或固件(firmware)構(gòu)成,用于控制數(shù)據(jù)通路中數(shù)據(jù)的傳輸。數(shù)據(jù)通路中的功能單元可以是半導(dǎo)體廠商提供的已經(jīng)設(shè)計(jì)好的單元,也可以是下一步將要設(shè)計(jì)的假定單元。 存儲(chǔ)單元包括寄存器和內(nèi)存單元,其中的使能輸入與控制器相連,以控制其讀/寫操作。 互連網(wǎng)包括連線、多路器和總線,其中的選擇輸入與控制器相連,用于選擇

3、輸入數(shù)據(jù)。 這些模塊互連并由控制器提供控制信號(hào)后,即完成了一個(gè)實(shí)現(xiàn)預(yù)定功能的寄存器傳輸級(jí)設(shè)計(jì)。高層次綜合編譯與轉(zhuǎn)換調(diào)度分配控制器綜合反編譯功能單元庫(kù)算法描述中間表示格式數(shù)據(jù)流控制流數(shù)據(jù)通路硬件邏輯結(jié)構(gòu)描述直接用于文檔管理或其他邏輯綜合工具的輸入直接用于有限狀態(tài)機(jī)綜合與邏輯綜合的輸入確定每個(gè)狀態(tài)發(fā)生的時(shí)刻ASM圖的硬件實(shí)現(xiàn)給數(shù)據(jù)分配寄存器給操作分配功能單元從算法級(jí)的行為描述轉(zhuǎn)換到寄存器傳輸級(jí)描述的過(guò)程。在寄存器傳輸級(jí)控制器被表示成為一個(gè)有限狀態(tài)機(jī)(或微程序)高層次綜合高層次綜合技術(shù)的應(yīng)用可以明顯地提高設(shè)計(jì)速度,縮短設(shè)計(jì)周期,允許設(shè)計(jì)者尋求最優(yōu)或滿意的設(shè)計(jì)方案。高層次綜合技術(shù)的引入使得集成電路的用

4、戶,特別是專用集成電路的用戶(可以不是集成電路設(shè)計(jì)專家),可以直接進(jìn)行數(shù)字系統(tǒng)從行為描述到芯片描述的設(shè)計(jì)工作。 說(shuō)明:本章中僅介紹通用同步電路的綜合技術(shù)。實(shí)現(xiàn)一個(gè)給定行為功能的硬件結(jié)構(gòu)通??梢杂性S多種,高層次綜合的任務(wù)是找出一個(gè)滿足約束條件和目標(biāo)集合的、造價(jià)最低的硬件結(jié)構(gòu)。邏輯綜合邏輯綜合就是將高抽象層次的描述自動(dòng)地轉(zhuǎn)換成較低抽象層次描述的一種方法。就現(xiàn)在的邏輯綜合工具而言,所謂邏輯綜合就是將RTL級(jí)的描述轉(zhuǎn)換成門級(jí)網(wǎng)表的過(guò)程。說(shuō)明:設(shè)計(jì)人員只要正確地使用這些工具就可以得到系統(tǒng)的門級(jí)網(wǎng)絡(luò)表。邏輯綜合邏輯綜合:RTL級(jí)的描述轉(zhuǎn)換成門級(jí)網(wǎng)表的網(wǎng)表視圖邏輯綜合邏輯綜合的過(guò)程工藝庫(kù)RTL描述代碼屬性門

5、級(jí)網(wǎng)表邏輯綜合器約束條件在綜合器進(jìn)行自動(dòng)綜合前,需完成代碼的設(shè)計(jì),以及工藝庫(kù)、屬性、約束條件的設(shè)定。說(shuō)明:工藝庫(kù)、屬性及約束條件的設(shè)定不是必需的,可使用綜合工具的缺省值。邏輯綜合_約束條件對(duì)于一個(gè)數(shù)字系統(tǒng)而言,芯片的面積和芯片的速度是綜合時(shí)要考慮的最主要兩方面約束。&ABCDE如下圖:假設(shè)一個(gè)2個(gè)管腳的門電路需要4個(gè)晶體管,則上圖需要16個(gè)晶體管,最大延時(shí)是4個(gè)單位的門延時(shí)。&=1ABCDEC下圖是相同功能的等效電路:假設(shè)3個(gè)管腳的門電路需要6個(gè)晶體管,則上圖需要18個(gè)晶體管,最大延時(shí)是3個(gè)單位的門延時(shí)。邏輯綜合_約束條件設(shè)計(jì)者可通過(guò)約束條件對(duì)設(shè)計(jì)進(jìn)行優(yōu)化。如對(duì)上例中在保持面積不變時(shí)(即使用的

6、門數(shù)相同),對(duì)速度進(jìn)行約束。 用于綜合的約束可以用用戶定義屬性來(lái)表示。用戶定義只是用于給綜合工具傳遞約束信息,仿真時(shí)被忽略。格式: attribute 屬性名 : 數(shù)據(jù)類型 ; attribute 屬性名 of 對(duì)象名 :對(duì)象類型 is 值;例1:Type state is ( s0, s1, s2, s3 ); Attribute enum_encoding of state : type is “00 01 11 10”; -用于確定狀態(tài)編碼,用于有限狀態(tài)機(jī)的描述中例2:Attribute pin_no :natural ;Attribute pin_no of q : signal is

7、 42 ; -為端口鎖定芯片引腳 1、約束的表示邏輯綜合_約束條件 2、資源的約束例: if select=1 then q=a+b; else q=c+d; end if ;點(diǎn)評(píng):上面的例子可以用2個(gè)加法器和1個(gè)二路選擇器實(shí)現(xiàn)也可以用1個(gè)加法器和2個(gè)二路選擇器完成。邏輯綜合_約束條件 2、資源的約束邏輯綜合_約束條件用2個(gè)加法器和1個(gè)二路選擇器實(shí)現(xiàn)用1個(gè)加法器和2個(gè)二路選擇器完成 3、時(shí)間的約束 假定一個(gè)時(shí)序系統(tǒng)工作在20MHZ的時(shí)鐘頻率,那么通過(guò)狀態(tài)寄存器和次態(tài)產(chǎn)生邏輯的最大延遲不能超過(guò)50ns(20MHZ的倒數(shù))。邏輯綜合_約束條件屬性:用于規(guī)定設(shè)計(jì)所進(jìn)行的環(huán)境,如用屬性規(guī)定對(duì)輸出器件必

8、須驅(qū)動(dòng)的負(fù)載、驅(qū)動(dòng)設(shè)計(jì)時(shí)器件的驅(qū)動(dòng)能力和輸入信號(hào)的時(shí)序等。邏輯綜合_屬性負(fù)載屬性規(guī)定在一特定的輸出信號(hào)上現(xiàn)有的負(fù)載能力是多少,按工藝庫(kù)的單位并以pf計(jì)算(或以標(biāo)準(zhǔn)負(fù)載計(jì)算等等)和規(guī)定負(fù)載值。例如定時(shí)分析器將對(duì)弱驅(qū)動(dòng)和強(qiáng)的電容負(fù)載計(jì)算出一個(gè)長(zhǎng)延時(shí)值,對(duì)強(qiáng)驅(qū)動(dòng)和小負(fù)載算出一個(gè)短的延時(shí)值。下面是Synopsys Design Compilerformat中負(fù)載規(guī)范的例子: Set_load 5 xbus該屬性規(guī)定xbus信號(hào)將加載帶5個(gè)庫(kù)單元負(fù)載的信號(hào)。邏輯綜合_屬性驅(qū)動(dòng)屬性規(guī)定驅(qū)動(dòng)器的電阻,即它控制驅(qū)動(dòng)器的源有多少電流。這個(gè)屬性也按工藝庫(kù)的單位來(lái)指定,較大型驅(qū)動(dòng)器將對(duì)應(yīng)較快速的特定通道,但較大型驅(qū)

9、動(dòng)器花費(fèi)的面積也更多些,因此設(shè)計(jì)者為了得到一種最好的實(shí)現(xiàn)方式,需要在速度和面積量方面進(jìn)行折衷優(yōu)化。按Synopsys Design Compiler驅(qū)動(dòng)規(guī)格的示例如下: Set_drive 2.7 vbus該屬性規(guī)定信號(hào)ybus有2.7個(gè)庫(kù)單位的驅(qū)動(dòng)能力。邏輯綜合_屬性到達(dá)時(shí)間是綜合期間某些綜合工具(如DC)用靜態(tài)時(shí)間分析器檢查時(shí),正在建立的邏輯是否滿足用戶規(guī)定的時(shí)間限制條件。在節(jié)點(diǎn)上有特定信號(hào)發(fā)生時(shí),在特定的節(jié)點(diǎn)上設(shè)置到達(dá)時(shí)間并指定靜態(tài)定時(shí)分析,分析時(shí)延后抵達(dá)的信號(hào)最關(guān)鍵。后到信號(hào)激勵(lì)是在較遲的時(shí)間輸入到當(dāng)前模塊的,而當(dāng)前模塊的結(jié)果仍必須滿足有關(guān)它輸出本身的時(shí)間。邏輯綜合_屬性 工藝庫(kù)持有綜

10、合工具必須的全部信息工藝庫(kù)不僅僅含有FPGA單元的邏輯功能,而且還有該單元的面積、單元輸入到輸出的定時(shí)關(guān)系、有關(guān)單元的某種限制和對(duì)單元所需的時(shí)序檢查邏輯綜合_工藝庫(kù)library (xyz)cell (and2)area : 5;pin (a1, a2)direction : input;capacitance : 1;pin (o1)direction : output;function : a1 * a2;timing ()intrinsic_rise : 0.37;intrinsic_fall : 0.56;rise_resistance : 0.1234;fall_resistance

11、 : 0.4567;related_pin : a1 a2; 多數(shù)綜合工具都有計(jì)算FPGA單元的十分完整的復(fù)雜延時(shí)模型,它包括固有的上升和下降時(shí)間、輸出負(fù)載與輸入級(jí)波形斜度延時(shí)和估計(jì)的引線延時(shí),下圖從門輸入到輸出的總延時(shí)是:固有延時(shí)負(fù)載延時(shí)引線延時(shí)輸入級(jí)波形斜度延時(shí)邏輯綜合_工藝庫(kù) RTL描述:亦稱數(shù)據(jù)流描述,是一種明確規(guī)定寄存器描述的方法。即,是指以規(guī)定設(shè)計(jì)中采用的各種寄存器形式為特征,然后在寄存器之間插入組合邏輯。邏輯綜合_RTL描述代碼 邏輯綜合_邏輯綜合器應(yīng)用邏輯綜合工具將RTL描述轉(zhuǎn)換到門級(jí)描述般有三個(gè)步驟:把RTL描述轉(zhuǎn)換為未優(yōu)化的門級(jí)布爾描述;執(zhí)行布爾優(yōu)化算法,產(chǎn)生一個(gè)優(yōu)化的布爾

12、方程描述;按目的工藝要求,采用相應(yīng)的工藝庫(kù)把優(yōu)化的布爾等式描述映射到實(shí)際邏輯門。RTL描述未優(yōu)化描述優(yōu)化描述門級(jí)網(wǎng)表轉(zhuǎn)換布爾優(yōu)化映射到門級(jí)邏輯綜合轉(zhuǎn)換從RTL描述轉(zhuǎn)換到布爾等式描述通常并不是由用戶控制的,所產(chǎn)生的中介形式一般為特定優(yōu)化工具的格式,甚至是不可能由用戶可視的。按照這種中介描述,ALL IF、CASE、LOOP語(yǔ)句、條件信號(hào)賦值和選擇信號(hào)賦值語(yǔ)句轉(zhuǎn)換到它們的布爾表達(dá)式,或者由裝配組成觸發(fā)器和鎖存器,或者由推論去生成觸發(fā)器和鎖存器。按照其中介的描述這兩種情況都能產(chǎn)生同樣的觸發(fā)器和鎖存器。邏輯綜合布爾優(yōu)化優(yōu)化過(guò)程用大量的算法和規(guī)則把一個(gè)非優(yōu)化的布爾的描述轉(zhuǎn)化到優(yōu)化的布爾描述。轉(zhuǎn)換非優(yōu)化布

13、爾描述到最低級(jí)描述,然后優(yōu)化那種描述,并嘗試用(引入中間變量)共享公共項(xiàng)去減少邏輯門。包括展平設(shè)計(jì)和提取公因數(shù)。邏輯綜合布爾優(yōu)化轉(zhuǎn)換非優(yōu)化布爾描述到一種pla格式的過(guò)程稱為展平設(shè)計(jì),即它將所有的邏輯關(guān)系都轉(zhuǎn)換成簡(jiǎn)單的AND和OR的表達(dá)式。目的:使非優(yōu)化的布爾描述格式轉(zhuǎn)換成能執(zhí)行優(yōu)化算法的布爾描述格式。例:a = b and c ;b = x or (y and z) ;c = q or w ;展平過(guò)程中將消掉這些中間節(jié)點(diǎn):a=(x and q)or(q and y and z)or(w and x)or(w and y and z);這種設(shè)計(jì)通常非??臁U蛊皆O(shè)計(jì):邏輯綜合布爾優(yōu)化提取公因數(shù):提

14、取公因數(shù)是把附加的中間項(xiàng)加到結(jié)構(gòu)描述中的一種過(guò)程。展平設(shè)計(jì)通常會(huì)使設(shè)計(jì)變得非常之大,而且要產(chǎn)生大扇出,展平過(guò)程可能比提取公因數(shù)的設(shè)計(jì)在速度上要慢得多。 例: x = a and b or a and d; y = z or b or d;提取公因數(shù)之后: x = a and q; y = z or q; z = b or d; 提取公因數(shù)通常將產(chǎn)生一個(gè)“更好些”的設(shè)計(jì),但也可能是一個(gè)相互非常依賴的設(shè)計(jì),附加的結(jié)構(gòu)將在輸入與輸出之間增加邏輯級(jí)數(shù),增加邏輯級(jí)又會(huì)增加延時(shí),導(dǎo)致設(shè)計(jì)較慢。邏輯綜合映射到門級(jí)映射過(guò)程取出由優(yōu)化后的布爾描述并利用從工藝庫(kù)得到的邏輯和定時(shí)信息生成網(wǎng)表。網(wǎng)表是對(duì)用戶所需面積和速度目標(biāo)的體現(xiàn),有大量的網(wǎng)表,它們?cè)诠δ苌舷嗤谒俣群兔娣e上都在一個(gè)很寬的范圍上可變。邏輯綜合映射到門級(jí)如實(shí)現(xiàn)一四位加法器的兩個(gè)網(wǎng)表,VHDL描述如下:ARCHITECTURE test OF

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論