如何使用Verilog HDL進(jìn)行FPGA設(shè)計(jì)_第1頁
如何使用Verilog HDL進(jìn)行FPGA設(shè)計(jì)_第2頁
如何使用Verilog HDL進(jìn)行FPGA設(shè)計(jì)_第3頁
如何使用Verilog HDL進(jìn)行FPGA設(shè)計(jì)_第4頁
如何使用Verilog HDL進(jìn)行FPGA設(shè)計(jì)_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

Word如何使用VerilogHDL進(jìn)行FPGA設(shè)計(jì)

一、(FPGA)設(shè)計(jì)流程

FPGA設(shè)計(jì)流程是利用(EDA)開發(fā)軟件和(編程)工具對FPGA(芯片)進(jìn)行開發(fā)的過程。FPGA的設(shè)計(jì)流程如上圖所示:包括設(shè)計(jì)定義、代碼實(shí)現(xiàn)、功能(仿真)、邏輯綜合、前仿真、布局布線、后仿真和板級調(diào)試等步驟!

1.設(shè)計(jì)定義

設(shè)計(jì)定義階段主要進(jìn)行方案驗(yàn)證、系統(tǒng)設(shè)計(jì)和FPGA芯片選擇等準(zhǔn)備工作。根據(jù)任務(wù)要求,評估系統(tǒng)的指標(biāo)和復(fù)雜度,對工作速度和芯片本身的資源、成本等方面進(jìn)行權(quán)衡,選擇合理的設(shè)計(jì)方案和合適的器件類型。

這個階段往往會花費(fèi)大量的時間,這個階段之后一般已經(jīng)完成了系統(tǒng)建模,功能劃分,模塊劃分以及設(shè)計(jì)文檔的撰寫等工作。

2.代碼實(shí)現(xiàn)

代碼實(shí)現(xiàn)階段是將劃分好的各功能模塊用(硬件)描述語言表達(dá)出來,常用的硬件描述語言有(Verilog)HDL和VHDL。以后的(教程)中我們主要講解如何使用VerilogHDL進(jìn)行FPGA設(shè)計(jì)。

下面是一個四選一電路的代碼實(shí)現(xiàn)過程:

常用的代碼編輯器軟件由no(te)pad++和UltralEdit等,它們支持幾乎所有主流編程語言的高亮顯示、代碼補(bǔ)全、自定義快捷鍵等功能,外觀漂亮、功能強(qiáng)大,擴(kuò)展性強(qiáng),具有豐富的插件包,極大的提高工作效率。

3.功能仿真

功能仿真是在編譯之前對用戶所設(shè)計(jì)的電路進(jìn)行邏輯功能驗(yàn)證,此時的仿真沒有延遲信息,僅對初步的功能進(jìn)行(檢測)。這里我們補(bǔ)充一個延遲類型的知識點(diǎn)

我們知道(信號)在電路中傳輸時會有兩種延遲:器件延遲和路徑延遲。顧名思義,器件延遲是信號在經(jīng)過器件傳輸時的延遲時間,路徑延遲是信號經(jīng)過連接線時的延遲時間。上圖中信號從a到b的延遲時間為T1+T2+T3+T4+T5,其中器件延遲是T1、T3、T5,路徑延遲是T2、T4。在功能仿真中,這些延遲信息都為零。

4.邏輯綜合

邏輯綜合的概念是:將高級抽象層次的描述轉(zhuǎn)化成較低層次的描述。

也就是說將語言描述的電路邏輯轉(zhuǎn)化成與門、或門、非門、觸發(fā)器等基本邏輯單元的互連關(guān)系。

還是以四選一電路為例,綜合過程將Verilog代碼翻譯成了門級互連網(wǎng)表。

綜合的概念很重要,利用Verilog做(電路設(shè)計(jì))時我們總是強(qiáng)調(diào)可綜合的概念,可綜合就是我們的這段代碼可以被翻譯成門級網(wǎng)表,不可綜合就是代碼不能被翻譯成門級網(wǎng)表。

5.前仿真

前仿真也叫做綜合后仿真,仿真時,把綜合生成的標(biāo)準(zhǔn)延時文件反標(biāo)注到綜合仿真模型中去。

因?yàn)榫C合后只能體現(xiàn)基本的邏輯門之間的互連關(guān)系,并沒有連線長度信息,所以前仿真只能評估門延時帶來的影響,不能估計(jì)路徑延時,前仿真結(jié)果和布線后實(shí)際情況還有一定的差距,并不十分準(zhǔn)確。

目前的綜合工具較為成熟,一般的設(shè)計(jì)可以省略這一步。但如果布局布線后發(fā)現(xiàn)電路功能與設(shè)計(jì)意圖不符,就需要回溯到前仿真來確定問題所在。

6.布局布線

布局布線有時也叫作實(shí)現(xiàn)與布局布線,布局布線是將邏輯網(wǎng)表中的門級連接關(guān)系配置到FPGA芯片內(nèi)部的固有硬件結(jié)構(gòu)上。

布局布線的過程是先將綜合后的基本邏輯門映射到FPGA的可編程邏輯塊(CLB)中(上一講中我們知道FPGA中許許多多的CLB組成了巨大的邏輯資源陣列,CLB是FPGA可配置的基礎(chǔ)),相關(guān)的邏輯配置在臨近的CLB中,這就是一個布局的過程;

布線是利用FPGA中豐富的布線資源將CLB根據(jù)邏輯關(guān)系連接在一起。

布局布線策略有兩種:速度優(yōu)先和面積優(yōu)先,布局布線時往往需要在速度最優(yōu)和面積最優(yōu)之間做出選擇。

7.后仿真

后仿真也稱為時序仿真,是將布局布線的延時信息反標(biāo)注到設(shè)計(jì)網(wǎng)表中來檢測有無時序違規(guī)。

經(jīng)過布局布線后,門與門之間的連線長度也確定了,所以后仿真包含的延遲信息最全,也最精確,能更好的反映芯片的額實(shí)際工作情況。

現(xiàn)在我們可以總結(jié)一下功能仿真、前仿真和后仿真的區(qū)別了:

功能仿真:無延遲信息;

前仿真:只有門級的延遲;

后仿真:門級延遲和連線延遲;

8.板級調(diào)試

我們的FPGA設(shè)計(jì)不能只在(電腦)上跑仿真,最終還是要在電路板上應(yīng)用起來的,設(shè)計(jì)的最后一步就是板級測試了,將EDA軟件產(chǎn)生的數(shù)據(jù)文件(位數(shù)據(jù)流文件)(下載)到FPGA芯片中,進(jìn)行實(shí)際的測試。

FPGA(工程師)還需要有一定的硬件知識,能夠看懂電路板原理圖設(shè)計(jì)和(PCB)是最低要求了,能夠獨(dú)立設(shè)計(jì)原理圖是最好的了。

打個比方。。。

為了方便初學(xué)者門能更快的了解FPGA的設(shè)計(jì)流程,我舉了一個栗子,請看下圖:

代碼實(shí)現(xiàn),綜合和布局布線時FPGA設(shè)計(jì)流程中的幾個關(guān)鍵步驟,下面我們打個比方加深理解一下這幾個步驟是干什么的:

代碼實(shí)現(xiàn):比如我要蓋一座房子,我把房子的特點(diǎn)描述出來:比如面積100平米、帶陽臺、歐式裝修風(fēng)格、挑高3米、一室兩廳一廚一衛(wèi)、臥室木地板客廳瓷磚。。。等等要求,這個描述房屋特點(diǎn)的過程就好比我們用Verilog描述電路功能的過程。

邏輯綜合:建筑師根據(jù)我們的要求畫出施工圖紙,施工圖紙將我的需求數(shù)字化、具體化,比如這個墻有多高,門有多寬,窗戶面積等等,這個過程就好比綜合的過程,將需求翻譯成具體的數(shù)字圖紙,只不過綜合是將電路功能翻譯成門級網(wǎng)表,建筑師干的活就是綜合工具軟件干的活。

布局布線:工人拿會根據(jù)圖紙進(jìn)行施工,用磚、水泥、鋼筋、木材等建造符合圖紙標(biāo)準(zhǔn)的房子。圖紙規(guī)定了一面墻,但是沒有規(guī)定具體用哪一塊磚來砌墻,工人可以自主決定用哪些磚。布局布線是根據(jù)綜合后的網(wǎng)表文件(施工圖紙),利用FPGA芯片內(nèi)部的可編程邏輯塊(CLB),布線資源,(時鐘)資源,存儲資源等搭建電路的過程。

綜合和布局布線的過程中會涉及到約束策略的問題,比如管腳約束、時鐘約束、面積和速度優(yōu)先級等。這些概念在蓋房子的過程中也有對應(yīng),比如你可以跟建筑師要求陽臺大小、臥室朝向、門窗高度等,采購建筑材料時,你也會控制成本和質(zhì)量之間的平衡。這些都是類似于綜合和布局布線過程中的約束條件。

二、FPGA廠家、產(chǎn)品系列及設(shè)計(jì)軟件介紹

1.FPGA廠家

近幾年,全球(半導(dǎo)體)行業(yè)的關(guān)鍵詞就是:收購、兼并、重組,F(xiàn)PGA領(lǐng)域也發(fā)生了不小的變化。

目前,全球FPGA市場高度集中,被美國四家企業(yè)壟斷,呈現(xiàn)出“兩大兩小”的市場格局?!皟纱蟆笔侵竂ilinx((賽靈思))和(Intel)(因特爾),“兩小”是指(Microsemi)(美高森美)和(Lattice)(萊迪思),前兩大企業(yè)占據(jù)近90%的市場份額。

其中Intel的FPGA業(yè)務(wù)是收購自(Altera)公司的,現(xiàn)在的Microsemi是在2021年收購(Actel)后合并而來的。

2021年Lattice以6億美元收購SiliconImage公司;基于保護(hù)國家戰(zhàn)略資產(chǎn)的考慮,16年底美國總統(tǒng)特朗普下達(dá)行政指令,宣布停止具有中資背景的私募股權(quán)基金((Can)yonBridge)收購美國FPGA(芯片制造)商Lattice(萊迪思)的交易,要求買賣雙方完全、永久性地放棄收購。

“兩小”廠家主攻的是特殊市場,比如軍工、航天市場所用的反熔絲FPGA。反熔絲FPGA價格十分昂貴,只能燒錄一次,抗輻照能力比較強(qiáng)。

初學(xué)者學(xué)習(xí)Xilinx(賽靈思)和Intel(因特爾)家的FPGA就可以,官網(wǎng)(資料)比較多,開發(fā)板相對便宜。

2.FPGA產(chǎn)品系列

我們只介紹Xilinx(賽靈思)和Intel(因特爾)的FPGA產(chǎn)品系列,另外兩家小眾的FPGA就不介紹了。

上面圖片中的產(chǎn)品系列是從兩家FPGA廠家官網(wǎng)上找到的當(dāng)前在售的產(chǎn)品系列。

Xilinx:工具工藝制程,可以分為6系(45nm)、7系(28nm)、UltraSCALE(20nm)、UltraSCALE+(16nm),按照型號系列還可以分為Spartan、Ar(ti)x、Kintex、Virtex等系列,另外還有(嵌入式系統(tǒng))開發(fā)的Zynq系列。

Intel:Intel目前在售的FPGA產(chǎn)品系列主要有MAX系列、Cyclone系列、Arria系列、Stratix系列、Agilex系列以及SoCFPGA系列產(chǎn)品。

3.設(shè)計(jì)軟件

學(xué)習(xí)FPGA一定要學(xué)習(xí)FPGA的設(shè)計(jì)思想以及設(shè)計(jì)原理,不要糾結(jié)于單一的實(shí)驗(yàn)平臺或者操作軟件,因?yàn)槟阆朐谶@個行業(yè)越走越高的話,廣度和深度都是要有所了解的,初期學(xué)習(xí)的時候尤其注重動手,選擇一款操作平臺以及操作軟件是為了讓你更好的去動手做,而不是讓你在這款軟件或者實(shí)驗(yàn)平臺去做文章,因?yàn)椴欢淼脑?,換個環(huán)境你同樣是什么都不明白。

FPGA設(shè)計(jì)軟件的使用和FPGA的設(shè)計(jì)流程是一致的,所以學(xué)會了使用其中的一種軟件,再去使用另外的一款軟件也能很快上手。

Xilinx設(shè)計(jì)軟件

Xilinx目前開發(fā)工具包括ISE和Viv(ad)o,

ISEdesignsuite支持Spartan-6、Virtex-6、和CoolRunner器件,及其上一代器件系列。

Xilinx(推薦)VivadoDesignSuite,針對Virtex-7、Kintex-7、Artix-7、和Zynq-7000起的全新設(shè)計(jì)。

FPGA廠家的開發(fā)工具都有第三方仿真平臺的接口,調(diào)用最多的第三方仿真軟件就是Modelsim,ISim是ISE自身集成的仿真工具,兩者功能差不多。用modelsim的人比較多,然后教程也多,容易學(xué)。跑大型的工程,Modelsim快很多。所以我們在以后的教程中使用Modelsim演示。

溫馨提示

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

評論

0/150

提交評論