當(dāng)前位置:首頁 > EDA > 電子設(shè)計(jì)自動(dòng)化
[導(dǎo)讀]隨著器件規(guī)模、功能以及可靠性的不斷提高,FPGA在現(xiàn)代數(shù)字系統(tǒng)中的應(yīng)用日漸廣泛。采用FPGA設(shè)計(jì)數(shù)字電路已經(jīng)成為數(shù)字電路系統(tǒng)領(lǐng)域的主要設(shè)計(jì)方式之一。 FPGA設(shè)計(jì)是指使用相應(yīng)的EDA開發(fā)軟件對FPGA器件進(jìn)行開發(fā)的過程

隨著器件規(guī)模、功能以及可靠性的不斷提高,FPGA在現(xiàn)代數(shù)字系統(tǒng)中的應(yīng)用日漸廣泛。采用FPGA設(shè)計(jì)數(shù)字電路已經(jīng)成為數(shù)字電路系統(tǒng)領(lǐng)域的主要設(shè)計(jì)方式之一。

    FPGA設(shè)計(jì)是指使用相應(yīng)的EDA開發(fā)軟件對FPGA器件進(jìn)行開發(fā)的過程。最早的設(shè)計(jì)方法是自底向上的,即首先確定庫中可用的元件,再使用這些元件進(jìn)行模塊的設(shè)計(jì),完成各模塊后進(jìn)行連接,從而形成整個(gè)系統(tǒng)。最后經(jīng)過調(diào)試和測量來考察系統(tǒng)是否達(dá)到所需的性能指標(biāo)。

    隨著技術(shù)和需求的發(fā)展,自底向上的方法已經(jīng)不能適應(yīng)復(fù)雜數(shù)字系統(tǒng)的設(shè)計(jì)。目前廣泛使用的是自頂向下的設(shè)計(jì)方法和流程:首先從系統(tǒng)設(shè)計(jì)入手,在頂層進(jìn)行功能劃分和結(jié)構(gòu)設(shè)計(jì),并用硬件描述語言對高層次的系統(tǒng)行為進(jìn)行描述,在系統(tǒng)級采用仿真手段驗(yàn)證設(shè)計(jì)的正確性,之后再逐級設(shè)計(jì)下一層的結(jié)構(gòu),用綜合優(yōu)化工具生成具體門電路的網(wǎng)表。這種逐級進(jìn)行設(shè)計(jì)和驗(yàn)證的方法可以及早發(fā)現(xiàn)問題并修改系統(tǒng)設(shè)計(jì),縮短開發(fā)周期、節(jié)約成本。

FPGA設(shè)計(jì)流程
    FPGA設(shè)計(jì)的一般流程如圖1所示,包括設(shè)計(jì)準(zhǔn)備、設(shè)計(jì)輸入、功能仿真、設(shè)計(jì)處理、時(shí)序仿真、器件編程與測試幾個(gè)步驟。

設(shè)計(jì)準(zhǔn)備

    在數(shù)字系統(tǒng)設(shè)計(jì)之前,首先要進(jìn)行方案論證、系統(tǒng)設(shè)計(jì)、器件選擇等準(zhǔn)備工作。設(shè)計(jì)人員根據(jù)任務(wù)的功能和性能指標(biāo)需求,對器件的資源、成本以及功耗等方面進(jìn)行折衷,選擇合適的設(shè)計(jì)方案和FPGA器件。

設(shè)計(jì)描述與輸入

    設(shè)計(jì)輸入就是指設(shè)計(jì)人員將所設(shè)計(jì)的系統(tǒng)或電路以開發(fā)軟件要求的某種形式表示出來,并輸入計(jì)算機(jī)的過程。設(shè)計(jì)描述和設(shè)計(jì)輸入通常使用圖形和硬件描述語言兩種形式。

圖形輸入方式

    圖形方式的設(shè)計(jì)輸入主要是使用EDA軟件進(jìn)行原理圖、狀態(tài)圖、波形圖等圖形的編輯和修改。

    原理圖輸入方式是一種最直接的設(shè)計(jì)描述方式,使用元件庫中的元件畫出系統(tǒng)或電路的原理圖,符合人們的思維習(xí)慣。這種設(shè)計(jì)輸入方式要求設(shè)計(jì)人員具有豐富的硬件知識(shí)、熟悉FPGA器件的結(jié)構(gòu)。主要優(yōu)點(diǎn)是系統(tǒng)結(jié)構(gòu)清晰直觀、便于信號的觀察和電路的調(diào)整;缺點(diǎn)是設(shè)計(jì)效率低,產(chǎn)品升級、FPGA器件更換、EDA軟件更換時(shí)需要重新輸入原理圖,而硬件描述語言輸入方式就沒有這方面的問題。

    狀態(tài)圖主要用來通過圖形方式設(shè)計(jì)有限狀態(tài)機(jī)。圖形化的有限狀態(tài)機(jī)設(shè)計(jì)具有簡單、直觀、快捷等特點(diǎn)。波形輸入方式主要是用來建立和編輯波形設(shè)計(jì)文件,以及輸入仿真向量和功能測試向量。

硬件描述語言輸入方式

    硬件描述語言輸入方式使用文本進(jìn)行設(shè)計(jì)描述,包括普通硬件描述語言和行為級硬件描述語言。比較有代表性的普通硬件描述語言是ABEL,它支持邏輯方程、真值表、狀態(tài)機(jī)等邏輯表達(dá)方式,主要用于簡單可編程邏輯器件的設(shè)計(jì)輸入。

    行為級硬件描述語言是目前常用的高層硬件描述語言,主要有VHDL和Verilog HDL兩個(gè)IEEE標(biāo)準(zhǔn)。其突出優(yōu)點(diǎn)有:邏輯設(shè)計(jì)與具體工藝無關(guān),使設(shè)計(jì)人員在系統(tǒng)設(shè)計(jì)、邏輯驗(yàn)證階段確定方案的可行性;行為級描述,便于設(shè)計(jì)大規(guī)模、復(fù)雜的數(shù)字系統(tǒng);具有很強(qiáng)的邏輯描述和仿真功能,輸入效率高;在不同的FPGA器件和EDA軟件之間的轉(zhuǎn)換比較方便;不必對底層的電路和FPGA器件結(jié)構(gòu)非常熟悉。

功能仿真

    功能仿真也稱為前仿真或行為仿真。用戶所設(shè)計(jì)的電路在綜合之前應(yīng)該首先進(jìn)行邏輯功能的驗(yàn)證,這種仿真沒有器件內(nèi)部邏輯單元和連線的實(shí)際延時(shí)信息,只是初步驗(yàn)證系統(tǒng)的邏輯功能。

    為了能夠完成功能仿真,需要先使用波形編輯器或硬件描述語言,來建立仿真時(shí)需要的波形文件和測試向量(盡可能包含所有可能影響設(shè)計(jì)功能的輸入信號的組合)。仿真結(jié)果將以波形圖的方式直觀顯示在計(jì)算機(jī)屏幕上,并生成報(bào)告。從中設(shè)計(jì)者可以觀察到各個(gè)信號的變化,以判斷電路是否實(shí)現(xiàn)了預(yù)期的功能。如果發(fā)現(xiàn)錯(cuò)誤,則應(yīng)該返回設(shè)計(jì)輸入階段進(jìn)行邏輯設(shè)計(jì)的修改。

設(shè)計(jì)處理

    確定設(shè)計(jì)描述的功能無誤后,就可以使用EDA軟件對設(shè)計(jì)描述和相應(yīng)的性能約束進(jìn)行處理,設(shè)計(jì)處理是FPGA設(shè)計(jì)開發(fā)中的重要環(huán)節(jié)。在設(shè)計(jì)處理的過程中,EDA軟件對設(shè)計(jì)輸入文件進(jìn)行語法和設(shè)計(jì)規(guī)則檢查、邏輯簡化、優(yōu)化、綜合、適配、布局布線、時(shí)間參數(shù)提取,最后產(chǎn)生器件編程用的數(shù)據(jù)文件。

    首先,EDA軟件對設(shè)計(jì)輸入進(jìn)行語法和設(shè)計(jì)規(guī)則檢查,然后簡化和優(yōu)化邏輯方程,通過綜合和適配將優(yōu)化后的設(shè)計(jì)映射到器件相應(yīng)的邏輯單元中,生成網(wǎng)表文件。布局布線將映射產(chǎn)生的物理單元在目標(biāo)器件上進(jìn)行放置和連接,并提取相應(yīng)的時(shí)間參數(shù)。時(shí)間參數(shù)提取將生成當(dāng)前設(shè)計(jì)的含有時(shí)間參數(shù)的網(wǎng)表,用于時(shí)序仿真。另外,時(shí)間參數(shù)提取輸出的時(shí)序報(bào)告可以反映當(dāng)前設(shè)計(jì)是否滿足時(shí)序約束。

    設(shè)計(jì)處理的效果主要取決于設(shè)計(jì)者的風(fēng)格和綜合工具的能力。使用EDA軟件進(jìn)行設(shè)計(jì)處理時(shí)需要注意:首先,最優(yōu)化的目標(biāo)可以是速度、資源、功耗等,這些指標(biāo)時(shí)相互制約的。其次,目前綜合器所支持的硬件描述語言的語法是有限的,過于抽象的語法還無法綜合。因此,設(shè)計(jì)者應(yīng)該具有良好的硬件描述語言編碼風(fēng)格。

時(shí)序仿真

    時(shí)序仿真又稱為后仿真或延時(shí)仿真,是高速FPGA設(shè)計(jì)過程中必不可少的仿真驗(yàn)證階段。由于不同F(xiàn)PGA器件內(nèi)部的延時(shí)不一樣,不同的布局布線方案也將影響電路各部分的延時(shí),這些延時(shí)可能會(huì)導(dǎo)致系統(tǒng)和電路功能的變化。因此在設(shè)計(jì)處理以后,需要對系統(tǒng)和各模塊進(jìn)行時(shí)序仿真,分析時(shí)序關(guān)系,檢查和消除競爭冒險(xiǎn)、并對器件的實(shí)際工作性能進(jìn)行估計(jì)。

    由于時(shí)序仿真中需要參考的參數(shù)非常多,因此將比功能仿真花費(fèi)的時(shí)間長。時(shí)序仿真中使用了電路延時(shí)的最壞情況,因此,通過時(shí)序仿真驗(yàn)證之后的設(shè)計(jì)一般都能夠在實(shí)際器件上正確運(yùn)行。

器件編程與測試

    器件編程也可以稱為配置。時(shí)序仿真完成之后,就可以使用EDA軟件生成FPGA器件編程時(shí)所需的數(shù)據(jù)文件。器件的編程就是將編程數(shù)據(jù)下載到相應(yīng)的FPGA器件中去。

    器件編程需要滿足一定的條件,如編程電壓、編程時(shí)序、編程算法等。一次性編程的FPGA需要專用的編程器完成器件的編程工作,基于SRAM的FPGA可以由EPROM或其他存儲(chǔ)器件進(jìn)行配置。在線可編程的FPGA器件不需要專門的編程器,僅需要一根編程下載電纜和相應(yīng)的編程軟件。

    器件在編程結(jié)束后,還可以對器件進(jìn)行校驗(yàn)、加密等操作工作。對于支持JTAG技術(shù),具有邊界掃描測試BST(Boundary-Scan Testing)能力和在線編程能力的器件來說,編程和測試過程都比較方便。

FPGA設(shè)計(jì)的要求

    作為一個(gè)優(yōu)秀的FPGA設(shè)計(jì),必須具有以下幾方面特征:

滿足系統(tǒng)的設(shè)計(jì)規(guī)范和性能要求

    滿足用戶對系統(tǒng)性能指標(biāo)和設(shè)計(jì)規(guī)范的需求,是一個(gè)FPGA設(shè)計(jì)成功的最基本要求。

源代碼可讀性高

    可讀性好的FPGA設(shè)計(jì)(原理圖或硬件描述語言描述的源文件)應(yīng)該包含有足夠的說明和注釋信息,比如,各個(gè)模塊的說明、每張?jiān)韴D之間的關(guān)系、硬件描述的模塊之間的互連關(guān)系等等。另外,狀態(tài)機(jī)設(shè)計(jì)的文檔應(yīng)該包括狀態(tài)圖或功能描述,布爾方程的實(shí)現(xiàn)過程也應(yīng)該寫在源代碼中。

    可讀性好的設(shè)計(jì)在調(diào)試、測試和維護(hù)上將節(jié)省大量的時(shí)間,已經(jīng)經(jīng)過驗(yàn)證的電路很容易重用,節(jié)省開發(fā)時(shí)間。

完備的開發(fā)文檔

    為了保證FPGA設(shè)計(jì)的可重復(fù)性,設(shè)計(jì)文檔除了詳盡的系統(tǒng)設(shè)計(jì)說明之外,還必須包括一些其他的必要信息,比如軟件開發(fā)系統(tǒng)的版本號、軟件的各個(gè)選項(xiàng)及參數(shù)設(shè)置。另外,各種操作和修改的過程都應(yīng)該以文檔的方式記錄下來。如果不這樣做,最終的實(shí)現(xiàn)就會(huì)因人而異、因開發(fā)系統(tǒng)而異,整個(gè)系統(tǒng)的性能也變得不穩(wěn)定,甚至無法評估。

FPGA設(shè)計(jì)的基本原則

    在EDACN的FPGA技術(shù)論壇上,一些經(jīng)驗(yàn)豐富的設(shè)計(jì)人員總結(jié)了FPGA設(shè)計(jì)中幾條非常重要的基本原則,現(xiàn)列舉如下,供大家參考借鑒。

硬件資源與處理能力的折衷

    在設(shè)計(jì)中,可以通過并行處理來提高處理能力,而并行的硬件將消耗更多的FPGA內(nèi)部資源;也可以通過模塊復(fù)用來降低硬件資源的消耗,帶來的結(jié)果就是系統(tǒng)運(yùn)行速度的降低。在具體設(shè)計(jì)中,應(yīng)該根據(jù)系統(tǒng)性能指標(biāo)的要求,在資源消耗和處理能力之間取得合理的折衷,在保證系統(tǒng)功能和性能的同時(shí)降低資源消耗,從而降低功耗和成本。

硬件思想

    應(yīng)該明確FPGA邏輯設(shè)計(jì)所采用的硬件描述語言與軟件語言(如C,C++等)是有本質(zhì)區(qū)別的。在使用硬件描述語言進(jìn)行FPGA設(shè)計(jì)時(shí),不應(yīng)該片面追求代碼的整潔,簡短。而正確的編碼方法是:首先要對所需實(shí)現(xiàn)的硬件電路的結(jié)構(gòu)與連接有十分清晰的理解和設(shè)想,然后再用適當(dāng)?shù)腍DL語句表達(dá)出來即可。

系統(tǒng)原則

    在FPGA設(shè)計(jì)中,應(yīng)該對設(shè)計(jì)的全局在宏觀上進(jìn)行合理的安排,比如時(shí)鐘域、模塊復(fù)用、約束、面積、速度等問題。這些系統(tǒng)上的考慮不僅關(guān)系到是否能夠最大程度地發(fā)揮項(xiàng)目成員的協(xié)同設(shè)計(jì)能力,而且直接決定著設(shè)計(jì)的綜合、實(shí)現(xiàn)效果和相關(guān)的操作時(shí)間。

    模塊化設(shè)計(jì)是系統(tǒng)原則的一個(gè)很好的體現(xiàn),它不僅僅是一種設(shè)計(jì)工具,它更是一種設(shè)計(jì)思路、設(shè)計(jì)方法,它是自頂向下、模塊劃分、分工協(xié)作設(shè)計(jì)思路的集中體現(xiàn),是當(dāng)代大型復(fù)雜系統(tǒng)的推薦設(shè)計(jì)方法,目前很多的EDA廠商都提高了模塊化設(shè)計(jì)工具。

同步設(shè)計(jì)原則

    目前的商用FPGA都是面向同步電路設(shè)計(jì)而優(yōu)化的,其上實(shí)現(xiàn)異步電路并不能充分體現(xiàn)出異步電路應(yīng)有的優(yōu)勢。而同步時(shí)序電路可以很好地避免毛刺,因此,提倡在設(shè)計(jì)中全部使用同步邏輯電路。

 FPGA設(shè)計(jì)新發(fā)展

    隨著FPGA的門數(shù)、速度、結(jié)構(gòu)復(fù)雜度、各種IP核供應(yīng)等方面的不斷進(jìn)步、數(shù)字系統(tǒng)設(shè)計(jì)規(guī)模超越幾百萬門,更多的設(shè)計(jì)者將混合使用系統(tǒng)級和平臺(tái)級的FPGA器件及其內(nèi)部嵌入的處理器、存儲(chǔ)器或數(shù)字信號處理器。FPGA設(shè)計(jì)的要求也必須作出相應(yīng)的變化,從而使設(shè)計(jì)者能夠使用FPGA器件實(shí)現(xiàn)更復(fù)雜、更高速的系統(tǒng)。

    在通常的FPGA設(shè)計(jì)中,首先是整個(gè)系統(tǒng)進(jìn)行架構(gòu),然后再把硬件部分設(shè)計(jì)交給硬件工程師進(jìn)行寄存器轉(zhuǎn)移級(RTL)設(shè)計(jì),軟件部分設(shè)計(jì)交給軟件工程師采用C++語言等進(jìn)行編程。但隨著設(shè)計(jì)規(guī)模的擴(kuò)大,芯片復(fù)雜度及性能需求的提高,使用傳統(tǒng)方法將面臨很多困難。因此,FPGA模塊化設(shè)計(jì)和系統(tǒng)級設(shè)計(jì)概念正在不斷得到發(fā)展和改進(jìn)。

分層次的模塊化設(shè)計(jì)方法

    分層次的、基于模塊的設(shè)計(jì)方法將系統(tǒng)分為多個(gè)層次,采用模塊作為基本設(shè)計(jì)單元,實(shí)現(xiàn)系統(tǒng)的開發(fā)和設(shè)計(jì)。在這種設(shè)計(jì)流程中,設(shè)計(jì)者面對的是各種不同層次的功能模塊,這樣就為復(fù)雜的幾百萬門級系統(tǒng)的設(shè)計(jì)和處理提供了更高的抽象級別以及更靈活的實(shí)現(xiàn)方式。

    分層次的模塊化設(shè)計(jì)方法具有很多優(yōu)點(diǎn)。滿足了縮短市場響應(yīng)時(shí)間,同時(shí)降低成本的需求。首先,基于模塊的設(shè)計(jì)方法在設(shè)計(jì)實(shí)現(xiàn)中引入了最大程度的并行性,使頂層設(shè)計(jì)和單個(gè)模塊設(shè)計(jì)能同時(shí)進(jìn)行;其次,這種方法使得設(shè)計(jì)者更容易進(jìn)行設(shè)計(jì)復(fù)用,包括設(shè)計(jì)模塊和IP核的復(fù)用。

電子系統(tǒng)級(ESL)設(shè)計(jì)與驗(yàn)證方法學(xué)

    ESL設(shè)計(jì)是能夠讓電子系統(tǒng)設(shè)計(jì)工程師以緊密耦合方式開發(fā)、優(yōu)化和驗(yàn)證復(fù)雜系統(tǒng)架構(gòu)和嵌入式軟件的一套方法學(xué),它還提供寄存器傳輸級實(shí)現(xiàn)的驗(yàn)證基礎(chǔ)。

    ESL的目標(biāo)是系統(tǒng)級模型的協(xié)同軟硬件設(shè)計(jì)。在過去幾年中,ESL設(shè)計(jì)被認(rèn)為是一個(gè)很難達(dá)到的目標(biāo)。然而目前,業(yè)界在ESL設(shè)計(jì)上已經(jīng)取得了一定的進(jìn)展。隨著SystemC已提交給IEEE P1666工作組,SystemC如今已被接受并成為廣泛使用的系統(tǒng)級建模標(biāo)準(zhǔn)。目前已有許多世界領(lǐng)先的系統(tǒng)和半導(dǎo)體公司采用ESL設(shè)計(jì),為產(chǎn)品提供必需的先進(jìn)功能和高性能。電路規(guī)模越大、復(fù)雜度越高,ESL設(shè)計(jì)方法和工具所能顯示的優(yōu)勢就越高
 

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉