FPGA/EPLD的自上而下(Top-Down)設(shè)計(jì)方法:
傳統(tǒng)的設(shè)計(jì)手段是采用原理圖輸入的方式進(jìn)行的,,如圖1所示,。通過調(diào)用FPGA/EPLD廠商所提供的相應(yīng)物理元件庫(kù),在電路原理圖中繪制所設(shè)計(jì)的系統(tǒng),,然后通過網(wǎng)表轉(zhuǎn)換產(chǎn)生某一特定FPGA/EPLD廠商布局布線器所需網(wǎng)表,,通過布局布線,完成設(shè)計(jì),。原理圖繪制完成后可采用門級(jí)仿真器進(jìn)行功能驗(yàn)證,。
圖1:傳統(tǒng)的設(shè)計(jì)手段與Top-Down設(shè)計(jì)工具的比較
然而,工程師的最初設(shè)計(jì)思想不是一開始就考慮采用某一FPGA/EPLD廠商的某一特定型號(hào)器件,,而是從功能描述開始的,。設(shè)計(jì)工程師首先要考慮規(guī)劃出能完成某一具體功能、滿足自己產(chǎn)品系統(tǒng)設(shè)計(jì)要求的某一功能模塊,,利用某種方式(如HDL硬件描述語(yǔ)言)把功能描述出來(lái),,通過功能仿真(HDL仿真器)以驗(yàn)證設(shè)計(jì)思路的正確性。當(dāng)所設(shè)計(jì)功能滿足需要時(shí),,再考慮以何種方式(即邏輯綜合過程)完成所需要的設(shè)計(jì),,并能直接使用功能定義的描述。實(shí)際上這就是自頂而下設(shè)計(jì)方法,。
與傳統(tǒng)電原理圖輸入設(shè)計(jì)方法相比,,Top-Down設(shè)計(jì)方法具體有以下優(yōu)點(diǎn):
1、完全符合設(shè)計(jì)人員的設(shè)計(jì)思路,,從功能描述開始,,到物理實(shí)現(xiàn)的完成。
2,、功能設(shè)計(jì)可完全獨(dú)立于物理實(shí)現(xiàn)
在采用傳統(tǒng)的電原理輸入方法時(shí),,F(xiàn)PGA/EPLD器件的采用受到器件庫(kù)的制約。由于不同廠商FPGA/EPLD的結(jié)構(gòu)完全不同,,甚至同一廠商不同系列的產(chǎn)品也存在結(jié)構(gòu)上的差別,,因此,在設(shè)計(jì)一開始,,工程師的設(shè)計(jì)思路就受到最終所采用器件的約束,,大大限制了設(shè)計(jì)師的思路和器件選擇的靈活性。而采用Top-Down設(shè)計(jì)方法,,功能輸入采用國(guó)際標(biāo)準(zhǔn)的HDL輸入方法,,HDL可不含有任何器件的物理信息,,因此工程師可以有更多的空間去集中精力進(jìn)行功能描述,設(shè)計(jì)師可以在設(shè)計(jì)過程的最后階段任意選擇或更改物理器件,。
3,、設(shè)計(jì)可再利用
設(shè)計(jì)結(jié)果完全可以以一種知識(shí)產(chǎn)權(quán)(IP-Intellectual Property)的方式作為設(shè)計(jì)師或設(shè)計(jì)單位的設(shè)計(jì)成果,應(yīng)用于不同的產(chǎn)品設(shè)計(jì)中,,做到成果的再利用,。
4、易于設(shè)計(jì)的更改
設(shè)計(jì)工程師可在極短的時(shí)間內(nèi)修改設(shè)計(jì),,對(duì)各種FPGA/EPLD結(jié)構(gòu)進(jìn)行設(shè)計(jì)結(jié)果規(guī)模(門消耗)和速度(時(shí)序)的比較,,選擇最優(yōu)方案。
5,、設(shè)計(jì),、處理大規(guī)模、復(fù)雜電路
目前的FPGA/EPLD器件正向高集成度,、深亞微米工藝發(fā)展,。為設(shè)計(jì)系統(tǒng)的小型化,低功耗,、高可靠性等提供了集成的手段,。設(shè)計(jì)低于一萬(wàn)門左右的電路,Top-Down設(shè)計(jì)方法具有很大的幫助,,而設(shè)計(jì)更大規(guī)模的電路,,Top-Down設(shè)計(jì)方法則是必不可少的手段。
6,、設(shè)計(jì)周期縮短,,生產(chǎn)率大大提高,產(chǎn)品上市時(shí)間提前,,性能明顯提高,,產(chǎn)品競(jìng)爭(zhēng)力加強(qiáng),。據(jù)統(tǒng)計(jì),,采用Top-Down設(shè)計(jì)方法的生產(chǎn)率可達(dá)到傳統(tǒng)設(shè)計(jì)方法的2到4倍。
Top-Down設(shè)計(jì)流程如圖2所示,,其核心是采用HDL語(yǔ)言進(jìn)行功能描述,,由邏輯綜合(Logic Synthesis)把行為(功能)描述轉(zhuǎn)換成某一特定FPGA/EPLD的工藝網(wǎng)表,送到廠商的布局布線器完成物理實(shí)現(xiàn),。在設(shè)計(jì)過程的每一個(gè)環(huán)節(jié),,仿真器的功能驗(yàn)證和門級(jí)仿真技術(shù)保證設(shè)計(jì)功能和時(shí)序的正確性。
FPGA/EPLD To p-Down 設(shè)計(jì)工具的黃金組合
Mentor Graphics公司提供一整套基于UNIX平臺(tái)和Windows 95/NT 平臺(tái)的FPGA/EPLD Top-Down設(shè)計(jì)工具:Renoir/ModelSim 和Exemplar,,如圖2所示,。兩種平臺(tái)的工具具有相同的用戶界面,并保證數(shù)據(jù)庫(kù)的完全統(tǒng)一。目前,,在FPGA/EPLD Top-Down設(shè)計(jì)方法全球市場(chǎng)上,,Mentor已擁有42%的市場(chǎng)份額,遠(yuǎn)遠(yuǎn)領(lǐng)先于其他任何一個(gè)廠家,。
采用Top-Down設(shè)計(jì)方法進(jìn)行FPGA/EPLD設(shè)計(jì),,其設(shè)計(jì)結(jié)果的優(yōu)劣與否取決于三個(gè)重要的因素:描述手段(即HDL語(yǔ)言)、設(shè)計(jì)方法(Style)和設(shè)計(jì)工具,。描述手段是基礎(chǔ),,設(shè)計(jì)方法需要工程經(jīng)驗(yàn),而設(shè)計(jì)工具則是Top-Down設(shè)計(jì)的關(guān)鍵,。一套完整,、強(qiáng)大、性能卓越的設(shè)計(jì)工具,,可幫助設(shè)計(jì)工工程師最大限度的發(fā)揮其設(shè)計(jì)能力,。
1. 圖形化輸入工具-Renoir
----設(shè)計(jì)工程師采用Top-Down方法進(jìn)行FPGA/EPLD設(shè)計(jì)所面臨到的第一個(gè)問題就是HDL語(yǔ)言的學(xué)習(xí)。語(yǔ)言的學(xué)習(xí)過程和應(yīng)用能力直接影響設(shè)計(jì)產(chǎn)品的完成及其性能,。但是設(shè)計(jì)師進(jìn)行產(chǎn)品設(shè)計(jì)的最初并不是考慮如何去寫語(yǔ)言,,而是習(xí)慣于畫出設(shè)計(jì)的框圖,并采用圖形化方法(流程圖,、狀態(tài)圖,、真值表等)把它描述出來(lái)。Renoir這一圖形化輸入工具,,不僅可以幫助設(shè)計(jì)師完成產(chǎn)品的功能描述,,更可以自動(dòng)生成HDL語(yǔ)言,為邏輯綜合提供必要的輸入數(shù)據(jù),。
---- 采用圖形化輸入方法主要優(yōu)點(diǎn)體現(xiàn)在:
提供框圖,、流程圖、狀態(tài)圖,、真值表等圖形輸入方法,,使設(shè)計(jì)工程師從純文本的設(shè)計(jì)方法理解脫出來(lái),設(shè)計(jì)手段更貼近于設(shè)計(jì)師的思維過程:
便于工程師之間進(jìn)行設(shè)計(jì)的相互交流以及對(duì)前人/他人設(shè)計(jì)結(jié)果的理解與再利用; 便于初學(xué)者學(xué)習(xí)HDL語(yǔ)言;
便于設(shè)計(jì)成果的存檔,,以便設(shè)計(jì)交流與再利用,。
---- Renoir作為新一代的圖形化輸入工具更具有以下諸多優(yōu)點(diǎn):
自動(dòng)生成高效的HDL語(yǔ)言描述,生成結(jié)果可進(jìn)行功能驗(yàn)證及邏輯綜合;
完全支持VHDL和Verilog兩種國(guó)際標(biāo)準(zhǔn),,并完全支持VHDL/Verilog的混合描述;
支持UNIX和Win95/NT兩種平臺(tái),,具有相同界面和數(shù)據(jù)庫(kù)。Win95/NT平臺(tái)采用標(biāo)準(zhǔn)的Windows界面,,易學(xué)易用;
支持框圖/流程圖的動(dòng)畫(Animation)仿真,、調(diào)試過程便于設(shè)計(jì)的調(diào)試;
即插即用(plug and play),,與多種仿真器、綜合器及軟硬件協(xié)同驗(yàn)證工具有完善的接口,,組成各種設(shè)計(jì)流程;
在線查錯(cuò)功能(On line checking),,進(jìn)行語(yǔ)法和可綜合性檢查; 語(yǔ)言到圖形的轉(zhuǎn)換,可以把VHDL,、Verilog或混合HDL語(yǔ)言描述換成框圖,、流程圖或狀態(tài)圖,并保持原設(shè)計(jì)的層次結(jié)構(gòu);
支持OLE(Object Liking and Embedding)標(biāo)準(zhǔn),,可把Renoir中的任何圖形設(shè)計(jì)形式連接或嵌入到任一支持OLE的應(yīng)用程序中,,如Word、Powerpoint等,,以便用戶建立設(shè)計(jì)文檔;
支持在圖形輸入中加入注釋,、屬性(pragma, attribute),、并可自動(dòng)加到所產(chǎn)生的HDL源碼中;
支持IP調(diào)用,,并可自動(dòng)生成相應(yīng)符號(hào),以使IP嵌入到所設(shè)計(jì)的系統(tǒng)中;
完善的設(shè)計(jì)管理,,支持設(shè)計(jì)項(xiàng)目管理,、設(shè)計(jì)層次管理、設(shè)計(jì)小組管理及設(shè)計(jì)數(shù)據(jù)版本管理等;
通過需求與設(shè)計(jì)可跟蹤(Requirement & Tracebility)管理,,不僅保證設(shè)計(jì)正確,,而且保證正確設(shè)計(jì)(Design thing Right and Design Right thing)。
2. 邏輯綜合工具-Exemplar
---- 邏輯綜合工具是通過映射和優(yōu)化過程,,把設(shè)計(jì)功能描述轉(zhuǎn)換成與物理實(shí)現(xiàn)密切相關(guān)的工藝網(wǎng)表,。在轉(zhuǎn)換過程中,不僅需要確保每一功能映射正確,,還需保證盡量采用較少的硬件開銷,,滿足設(shè)計(jì)的時(shí)序要求。因此,,邏輯綜合工具是FPGA/EPLD Top-Down設(shè)計(jì)過程的關(guān)鍵,。 Exemplar的主要特點(diǎn):
完全支持VHDL/Verilog兩種國(guó)際標(biāo)準(zhǔn);
針對(duì)不同結(jié)構(gòu)的FPGA/EPLD器件,采用不同的綜合優(yōu)化算法,,以保證結(jié)果的最優(yōu)化;
支持不同類型器件的重映射,,設(shè)計(jì)師可直接從一種器件的工藝網(wǎng)表映射到另一種器件的工藝網(wǎng)表,,無(wú)需重新設(shè)計(jì);
支持各廠商器件網(wǎng)表的不同格式輸入與輸出,。如:XNF,EDIF等:
支持布局,、布線后設(shè)計(jì)的反標(biāo)注,,產(chǎn)生后仿真所需功能網(wǎng)表(HDL)及延時(shí)網(wǎng)表(SDF);
持靜態(tài)時(shí)序分析;
支持綜合結(jié)果的圖形輸出,,設(shè)計(jì)師可通過圖形輸出跟蹤分析關(guān)鍵路徑(Critical Path);
支持廣泛的FPGA廠商及其最新芯片型號(hào),包括采用深亞微米技術(shù)的器件,。廠商包括:Actel,、Altera、Atmel,、Cypress,、Lattice、Lucent,、Motorola,、Quicklogic、Xilinx等;
FPGA/EPLD設(shè)計(jì)到ASIC設(shè)計(jì)可實(shí)現(xiàn)無(wú)縫升級(jí),,保證設(shè)計(jì)數(shù)據(jù)的兼容性及可再利用性;
即插即用,,可與各種前端/后端工具結(jié)合使用,設(shè)計(jì)數(shù)據(jù)無(wú)虛人為干預(yù)/修改;
持UNIX平臺(tái)和Win95/NT平臺(tái),,不同平臺(tái)工具具有相同的用戶界面,、功能、并完全保證設(shè)計(jì)數(shù)據(jù)的兼容性,。
3. 功能仿真與時(shí)序驗(yàn)證-ModelSim
---- 在FPGA/EPLD Top-Down設(shè)計(jì)流程中,,設(shè)計(jì)仿真包含在設(shè)計(jì)過程的每一環(huán)節(jié)中,以保證設(shè)計(jì)的正確性,。 ModelSim不僅可以完成設(shè)計(jì)的功能驗(yàn)證(RTL級(jí)),,也可實(shí)現(xiàn)邏輯綜合后的門級(jí)仿真以及布局布線后的功能和時(shí)序驗(yàn)證。
---- ModelSim的主要特點(diǎn):
完全支持VHDL和Verilog標(biāo)準(zhǔn);
采用直接編輯技術(shù)(Direct-Compiled),,大大提高HDL編譯和仿真速度;
唯一支持VHDL和Verilog混合描述的仿真工具;
支持RTL級(jí)和門級(jí)驗(yàn)證,,支持VITAL,SDF等;
具有友好的用戶界面,,仿真器包括主控窗口,、源碼窗口、仿真波形窗口,、列表窗口,、數(shù)據(jù)流窗口、設(shè)計(jì)結(jié)構(gòu)/層次窗口,、過程管理窗口等;
支持單步調(diào)試,,斷點(diǎn)設(shè)置,批命令處理方式,,幫助設(shè)計(jì)師快速完成設(shè)計(jì)調(diào)試和驗(yàn)證;
可與Renoir協(xié)同工作,,完成狀態(tài)圖和流程圖的動(dòng)畫調(diào)試;
即插即用,可與其它工具結(jié)合,,完成各種流程;
支持UNIX和Window 95/NT平臺(tái),,不同平臺(tái)間具有相同的用戶界面和數(shù)據(jù)庫(kù),。