平板定制方案-EDA的設(shè)計(jì)流程
時(shí)間:2024-07-19 作者:樂凡信息 瀏覽:327

平板定制方案基于EDA軟件的開發(fā)流程如圖1所示,這個(gè)開發(fā)流程對于CPLD、FPGA器件的設(shè)計(jì)具有一般性的指導(dǎo)意義。下面,將分別介紹該流程圖中各個(gè)操作步驟的功能特點(diǎn)。



圖1 基于EDA軟件的開發(fā)流程

1.平板定制方案設(shè)計(jì)準(zhǔn)備

在進(jìn)行項(xiàng)目設(shè)計(jì)之前,首先要進(jìn)行方案論證、系統(tǒng)設(shè)計(jì)和器件選擇等準(zhǔn)備工作?,F(xiàn)在多采用自上而下的設(shè)計(jì)方法,也可以采用傳統(tǒng)的自下而上的設(shè)計(jì)方法。

2.平板定制方案設(shè)計(jì)輸入

將開發(fā)人員設(shè)計(jì)的電路系統(tǒng)以一定的表達(dá)方式輸入計(jì)算機(jī),這是進(jìn)行FPGA/CPLD開發(fā)的最初步驟。通常,使用EDA工具的設(shè)計(jì)輸入可分為兩種類型。

(1)圖形輸入。圖形輸入通常包括波形圖輸入、狀態(tài)圖輸入和原理圖輸入等,其中波形圖輸入是將待設(shè)計(jì)的電路看成一個(gè)黑盒子,只需告訴 EDA 該黑盒子中電路的輸入和輸出時(shí)序的波形圖,EDA即可據(jù)此完成黑盒子電路的設(shè)計(jì)。

狀態(tài)圖輸入是根據(jù)電路的控制條件和不同的轉(zhuǎn)換方式,用繪圖的方法在 EDA 的狀態(tài)圖編輯器上繪出狀態(tài)圖,然后由 EDA 編譯器和綜合器將此狀態(tài)變化流程圖形編譯綜合成電路網(wǎng)絡(luò)表文件。

原理圖輸入是一種類似于傳統(tǒng)電子設(shè)計(jì)方法的編輯輸入方式,即在 EDA 的圖形編輯界面上繪制能完成特定功能的電路原理圖。原理圖由邏輯器件(符號)和連接線構(gòu)成,這些元件通常存儲在元件庫中,設(shè)計(jì)時(shí)需要什么元件就從元件庫中直接調(diào)用該元件的符號。原理圖輸入的優(yōu)點(diǎn)是直觀,便于觀察信號和調(diào)整電路;其缺點(diǎn)是設(shè)計(jì)修改不方便,從元件庫中調(diào)圖比較繁雜。

(2)硬件描述語言文本輸入。這種方式與傳統(tǒng)的計(jì)算機(jī)軟件語言編輯輸入基本一致,就是用文本方式描述設(shè)計(jì),編輯輸入某種硬件描述語言的電路設(shè)計(jì)文本(如 VHDL 或 Verilog的源程序)。硬件描述語言文本輸入的優(yōu)點(diǎn)是:語言與工藝無關(guān),可以使開發(fā)者在系統(tǒng)設(shè)計(jì)、邏輯驗(yàn)證階段便確立方案的可行性;語言的公開可利用性便于實(shí)現(xiàn)大規(guī)模系統(tǒng)的設(shè)計(jì);無須熟悉底層硬件電路和PLD。

3.平板定制方案功能仿真

仿真就是讓計(jì)算機(jī)根據(jù)一定的算法和仿真庫中的資源對 EDA 設(shè)計(jì)進(jìn)行模擬,以驗(yàn)證設(shè)計(jì),排除錯(cuò)誤。功能仿真也稱為前仿真,是最基本的仿真驗(yàn)證,它基于設(shè)計(jì)布線和配置之前的網(wǎng)絡(luò)表文件,直接對VHDL、原理圖或其他形式描述的邏輯電路進(jìn)行測試模擬,以了解其實(shí)現(xiàn)的功能是否滿足原設(shè)計(jì)要求的過程,不涉及任何具體器件的硬件特性,不經(jīng)歷適配階段。在設(shè)計(jì)項(xiàng)目編譯后即可進(jìn)入門級仿真器進(jìn)行模擬測試。

常用的功能仿真工具有Mentor Graphics公司的ModelSim和QuestaSim、Synopsys公司的VCS(Verilog Compiled Simulator),以及Cadence公司的NC-Verilog Simulator等,下面以ModelSim為例介紹仿真器的基本功能。


ModelSim是工業(yè)界通常應(yīng)用的仿真器之一,也是唯一的一種單核、支持多語言混合仿真的仿真引擎,其支持Verilog、VHDL、SystemVerilog、System C、C、C++(可選)等語言,具有Verilog、VHDL及System C語言的全調(diào)試能力,內(nèi)部集成了C/C++、PLI(Programming Language Interface)/FLI(Foreign Language Interface)和System C的集成C調(diào)試器,支持眾多ASIC和FPGA廠家?guī)?,可以用于FPGA、ASIC設(shè)計(jì)的RTL和門一級電路的仿真。

通過功能仿真,用戶可以驗(yàn)證整個(gè)系統(tǒng)的邏輯功能是否正確,可以通過查看仿真波形來對系統(tǒng)的邏輯功能進(jìn)行分析,并可以以此為依據(jù),對設(shè)計(jì)進(jìn)行必要的修改和完善。

4.平板定制方案設(shè)計(jì)處理

設(shè)計(jì)處理是可編程邏輯器件設(shè)計(jì)的核心環(huán)節(jié),在設(shè)計(jì)處理過程中,編譯軟件將對設(shè)計(jì)輸入進(jìn)行邏輯化簡、綜合優(yōu)化和適配,最后產(chǎn)生編程文件。

(1)語法檢查和設(shè)計(jì)規(guī)則檢查。設(shè)計(jì)輸入完成后,首先進(jìn)行語法檢查,列出錯(cuò)誤報(bào)告供設(shè)計(jì)人員修改;然后進(jìn)行設(shè)計(jì)規(guī)則檢查,檢查總體設(shè)計(jì)是否超出器件資源或規(guī)定的限制,并通過報(bào)告列出,指明違反規(guī)則的情況以便設(shè)計(jì)人員糾正。

(2)邏輯優(yōu)化和邏輯綜合。邏輯優(yōu)化的目的是化簡所有的邏輯方程或用戶自建的宏,使設(shè)計(jì)所占用的資源最少。平板定制方案邏輯綜合的目的是將多個(gè)模塊化文件合并成門一級或者更底層的網(wǎng)絡(luò)表文件,并使層次設(shè)計(jì)平面化,這項(xiàng)工作由綜合器完成。綜合器的功能就是將硬件描述語言的描述與給定的硬件結(jié)構(gòu)用某種網(wǎng)絡(luò)表文件的方式對應(yīng)起來,形成相應(yīng)的映射關(guān)系,在綜合器工作前必須給定目標(biāo)硬件結(jié)構(gòu)參數(shù)。如果把綜合理解為映射過程,那么顯然這種映射不是唯一的,并且綜合的優(yōu)化也不是單純的或一個(gè)方向的。為達(dá)到速度、面積、性能的要求,往往需要對綜合加以約束,這稱為綜合約束。

(3)適配和分割。該階段確立優(yōu)化以后的邏輯能否與器件中的宏單元和I/O單元適配,平板定制方案然后將設(shè)計(jì)分割為多個(gè)便于識別的邏輯小塊,并映射到器件相應(yīng)的宏單元中。如果整個(gè)設(shè)計(jì)較大,不能裝入一片器件時(shí),可以將整個(gè)設(shè)計(jì)分割劃分(分割)成多塊,并裝入同一系列的多片器件中。分割可以完全自動完成,也可以部分或全部由用戶控制完成,其目的是使器件數(shù)目最少,器件之間的通信引腳數(shù)目最少。

(4)布局和布線。布局和布線工作是在上述工作完成后由軟件自動完成的,它以最優(yōu)的方式對邏輯器件布局布線,并準(zhǔn)確地實(shí)現(xiàn)器件邏輯或者聯(lián)合設(shè)計(jì)時(shí)器件間的互連。

5.平板定制方案時(shí)序仿真

時(shí)序仿真也稱為后仿真或延時(shí)仿真,是接近真實(shí)器件運(yùn)行特性的仿真。由于不同器件內(nèi)部的延時(shí)不一樣,不同的布局和布線會給延時(shí)造成不同的影響,因此在設(shè)計(jì)處理后,對系統(tǒng)和各模塊進(jìn)行時(shí)序仿真,分析其時(shí)序關(guān)系,估計(jì)設(shè)計(jì)性能,這對檢查和消除競爭冒險(xiǎn)是非常有必要的。時(shí)序仿真產(chǎn)生的仿真網(wǎng)絡(luò)表文件中包含了精確的硬件延時(shí)信息。

6.平板定制方案器件編程、下載和測試

時(shí)序仿真完成后,軟件就可以產(chǎn)生供器件編程使用的數(shù)據(jù)文件。對CPLD來說,就是產(chǎn)生熔絲圖文件,即 JED(滿足 JEDEC 標(biāo)準(zhǔn))文件,熔絲圖文件內(nèi)含器件內(nèi)部互連邏輯。對FPGA 來說,就是產(chǎn)生位流數(shù)據(jù)文件,然后通過編程器或編程電纜把位流數(shù)據(jù)文件下載到FPGA器件的外部存儲器中,待工作時(shí)再調(diào)入FPGA中運(yùn)行。

通常,將對CPLD的下載稱為編程(Program),而對FPGA中的SRAM進(jìn)行直接下載的方式稱為配置(Configure),平板定制方案但對于反熔絲結(jié)構(gòu)和Flash結(jié)構(gòu)的FPGA的下載,以及對FPGA的專用配置ROM的下載仍然可以稱為編程。

最后,對含有編程數(shù)據(jù)的FPGA或CPLD硬件系統(tǒng)進(jìn)行全面的測試,驗(yàn)證設(shè)計(jì)邏輯在目標(biāo)系統(tǒng)上的實(shí)際工作狀況。