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