DXP環(huán)境下的FPGA設(shè)計(jì)-第十一章_第1頁
DXP環(huán)境下的FPGA設(shè)計(jì)-第十一章_第2頁
DXP環(huán)境下的FPGA設(shè)計(jì)-第十一章_第3頁
DXP環(huán)境下的FPGA設(shè)計(jì)-第十一章_第4頁
DXP環(huán)境下的FPGA設(shè)計(jì)-第十一章_第5頁
已閱讀5頁,還剩20頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

DXP環(huán)境下的FPGA設(shè)計(jì)-第十一章2024/9/20Page2第11章DXP環(huán)境下的FPGA設(shè)計(jì)FPGA設(shè)計(jì)初步11.1對(duì)VHDL和原理圖的混合設(shè)計(jì)與仿真11.2FPGA屬性設(shè)置11.3ProtelDXP和AlteraFPGA接口11.411.1FPGA設(shè)計(jì)初步FPGA是現(xiàn)場(chǎng)可編程門陣列(FieldProgrammableGateArray)的簡(jiǎn)稱,它具有體系結(jié)構(gòu)和邏輯單元靈活、集成度高級(jí)適用范圍寬的特點(diǎn),兼容了PLD和通用門陣列的特點(diǎn),同一片F(xiàn)PGA通過不同的編程數(shù)據(jù)可以產(chǎn)生不同的電路功能,因此可以實(shí)現(xiàn)大規(guī)模的集成電路設(shè)計(jì)。在進(jìn)行FPGA項(xiàng)目設(shè)計(jì)之前,首先要了解FPGA設(shè)計(jì)的相關(guān)基礎(chǔ)知識(shí),包括基本概念、設(shè)計(jì)流程等。11.1.1FPGA的基本概念11.1.2FPGA設(shè)計(jì)流程11.1.3VHDL語言簡(jiǎn)介2024/9/20清華大學(xué)出版社Page311.1.1FPGA的基本概念FPGA是現(xiàn)場(chǎng)可編程門陣列(FieldProgrammableGateArray)的簡(jiǎn)稱,通常包含三類可編程資源:可編程邏輯功能塊、可編程I/O塊和可編程內(nèi)部互連??删幊踢壿嫻δ軌K:它是實(shí)現(xiàn)用戶功能的基本單元,它們通常排列成一個(gè)陣列,散布于整個(gè)芯片;可編程I/O塊:用于完成芯片上邏輯與外部封裝腳的接口,常圍繞著陣列排列于芯片四周;可編程內(nèi)部互連:它包括各種長(zhǎng)度的連線線段和一些可編程連接開關(guān),它們將各個(gè)可編程邏輯塊或I/O塊連接起來,構(gòu)成特定功能的電路。2024/9/20清華大學(xué)出版社Page4FPGA內(nèi)部多采用查找表的結(jié)構(gòu)。查找表簡(jiǎn)稱為L(zhǎng)UT(Look-Up-Table),LUT本質(zhì)上就是一個(gè)RAM。目前FPGA中多使用4輸入的LUT,所以每一個(gè)LUT都可以看成一個(gè)具有4位地址線的16×1的RAM?;诓檎冶恚↙UT)的FPGA的結(jié)構(gòu)采用這種查找表結(jié)構(gòu)的FPGA有Altera的ACEX和APEX系列及Xilinx的Spartan和Virtex系列等。查找表結(jié)構(gòu)的FPGA邏輯實(shí)現(xiàn)原理2024/9/20清華大學(xué)出版社Page511.1.2FPGA設(shè)計(jì)流程1.創(chuàng)建FPGA項(xiàng)目2.設(shè)置FPGA項(xiàng)目的屬性創(chuàng)建好FPGA項(xiàng)目之后,還需要對(duì)相關(guān)屬性,如錯(cuò)誤報(bào)告、比較器、綜合和仿真等進(jìn)行設(shè)置,以幫助項(xiàng)目的設(shè)計(jì)和優(yōu)化。3.VHDL編譯環(huán)境在已創(chuàng)建的FPGA項(xiàng)目中,執(zhí)行菜單命令【文件】/【創(chuàng)建】/【VHDL文件】,在項(xiàng)目文件夾中將自動(dòng)生成一個(gè)VHDLl.Vhd文件VHDLl.Vhd文件。同時(shí),此文件在主窗口中被打開,處于文本編輯器狀態(tài)。2024/9/20清華大學(xué)出版社Page611.1.3VHDL語言簡(jiǎn)介目前最主要的硬件描述語言是VHDL和VerilogHDL。VHDL是超高速集成電路硬件描述語言(VeryHighSpeedIntegratedCircuitHardwareDescriptionLanguage)的簡(jiǎn)稱,它發(fā)展得較早,語法嚴(yán)格;VerilogHDL是在C語言的基礎(chǔ)上發(fā)展起來的一種硬件描述語言,語法較自由。一個(gè)完整的VHDL程序包括實(shí)體(entity)、結(jié)構(gòu)體(architecture)、配置(configuration)、包(package)、庫(kù)(library)5個(gè)部分。其中,前4個(gè)部分是可分別編譯的源設(shè)計(jì)單元。VHDL程序結(jié)構(gòu)可以用圖11-10表示。2024/9/20清華大學(xué)出版社Page72024/9/20清華大學(xué)出版社Page8圖11-11VHDL程序結(jié)構(gòu)1.實(shí)體說明實(shí)體說明是一個(gè)器件的外觀視圖,即從外部看到的器件外貌,包括端口等。實(shí)體說明也可以定義參數(shù),并把參數(shù)從外部傳入模塊內(nèi)部。任何一個(gè)基本設(shè)計(jì)單元的實(shí)體說明都具有如下結(jié)構(gòu):

ENTITY實(shí)體名IS[GENERIC(類屬表);][PORT(端口表);]

實(shí)體說明部分;[BEGIN

實(shí)體語句部分;]END[ENTITY][實(shí)體名];[]中的內(nèi)容是可選的,即可以沒有這部分內(nèi)容。2024/9/20清華大學(xué)出版社Page92.端口說明端口說明是對(duì)設(shè)計(jì)實(shí)體與外部接口的描述,也可以說是對(duì)外部引腳信號(hào)的名稱、數(shù)據(jù)類型和輸入輸出方向的描述。端口為設(shè)計(jì)實(shí)體和其外部環(huán)境通信的動(dòng)態(tài)信息提供通道,其功能對(duì)應(yīng)于電路圖符號(hào)的一個(gè)引腳。實(shí)體說明中的每一個(gè)I/O信號(hào)被稱為一個(gè)端口,一個(gè)端口就是一個(gè)數(shù)據(jù)對(duì)象。每個(gè)端口必須有一個(gè)名字、一個(gè)通信模式和一個(gè)數(shù)據(jù)類型。是實(shí)體的重要組成部分。端口說明的一般格式為:Port(端口名:模式

數(shù)據(jù)類型名;

端口名:模式

數(shù)據(jù)類型名);2024/9/20清華大學(xué)出版社Page103.結(jié)構(gòu)體結(jié)構(gòu)體是次級(jí)設(shè)計(jì)單元,具體指明了該設(shè)計(jì)實(shí)體的結(jié)構(gòu)或行為,定義了該設(shè)計(jì)實(shí)體的功能,規(guī)定了該設(shè)計(jì)實(shí)體的數(shù)據(jù)流程,指定了該實(shí)體中內(nèi)部元器件的連接關(guān)系,把一個(gè)設(shè)計(jì)的輸入和輸出之間的關(guān)系建立起來。由于結(jié)構(gòu)體是對(duì)實(shí)體功能的具體描述,因此一定要跟在實(shí)體的后面。一個(gè)結(jié)構(gòu)體的一般書寫格式為:ARCHITECTURE結(jié)構(gòu)體名OR實(shí)體名IS[定義語句]BEGIN[并行處理語句][進(jìn)程語句]--器件的功能實(shí)現(xiàn)部分END結(jié)構(gòu)體名;

2024/9/20清華大學(xué)出版社Page114.描述風(fēng)格描述風(fēng)格也就是建模方法。用VHDL語言描述結(jié)構(gòu)體有4種方法。(1)行為描述法:采用進(jìn)程語句,順序描述被稱為設(shè)計(jì)實(shí)體的行為。(2)數(shù)據(jù)流描述法:采用進(jìn)程語句,順序描述數(shù)據(jù)流在控制流作用下被加工、處理、存儲(chǔ)的全過程。(3)結(jié)構(gòu)描述法:采用并行處理語句描述設(shè)計(jì)實(shí)體內(nèi)的結(jié)構(gòu)組織和元器件互連關(guān)系。(4)混合描述法:采用多個(gè)進(jìn)程(process)、多個(gè)模塊(blocks)、多個(gè)子程序(subprograms)的子結(jié)構(gòu)方式,是將前三種基本的描述方法組合起來。2024/9/20清華大學(xué)出版社Page1211.2對(duì)VHDL和原理圖的混合設(shè)計(jì)與仿真ProtelDXP不僅支持原理圖的輸入方法和VHDL輸入方法,還支持VHDL和原理圖混合輸入方法,該方法在適合用VHDL的地方用VHDL,適合用原理圖的地方用原理圖,既增強(qiáng)了電路的可移植性,又減輕了設(shè)計(jì)者的設(shè)計(jì)壓力,提高了設(shè)計(jì)效率。2024/9/20清華大學(xué)出版社Page13圖11-12采用VHDL和原理圖相結(jié)合的輸入方法設(shè)計(jì)流程11.2.1創(chuàng)建混合FPGA項(xiàng)目2024/9/20清華大學(xué)出版社Page14【實(shí)例11-1】1位二進(jìn)制全加器設(shè)計(jì)本例中,要求采用VHDL和原理圖的混合設(shè)計(jì)方法,設(shè)計(jì)一個(gè)一位的二進(jìn)制全加器。全加器的VHDL和原理圖的混合設(shè)計(jì)原理圖如圖11-13所示。圖11-131位二進(jìn)制全加法器2024/9/20清華大學(xué)出版社Page15abSoco0000011010101101一位二進(jìn)制半加器真值表如表11-2所示。其中a、b是輸入端,So是和、Co進(jìn)位端。表11-2二進(jìn)制半加器真值表11.3FPGA屬性設(shè)置在ProtelDXP的FPGA項(xiàng)目設(shè)計(jì)過程中,一般都要通過端口屬性、元件符號(hào)屬性、項(xiàng)目屬性、文件屬性和導(dǎo)線屬性等對(duì)話框的【參數(shù)】面板中對(duì)FPGA項(xiàng)目進(jìn)行相應(yīng)的參數(shù)設(shè)置。一般有兩種屬性:一般屬性和高級(jí)屬性。一般屬性高級(jí)屬性2024/9/20清華大學(xué)出版社Page16一般屬性幾乎所有的FPGA項(xiàng)目設(shè)計(jì)中都要對(duì)項(xiàng)目進(jìn)行一般屬性的設(shè)置。一般屬性主要用來設(shè)置目標(biāo)器件以及FPGA項(xiàng)目中的引腳鎖定的相關(guān)信息。

1.【引腳鎖定】屬性【引腳鎖定】屬性用于鎖定目標(biāo)器件中用于信號(hào)傳遞和數(shù)據(jù)交換的引腳?!疽_鎖定】屬性主要放置在項(xiàng)目頂層文件中的端口上,通過添加或者修改參數(shù)來設(shè)置引腳的屬性?!疽_鎖定】屬性的參數(shù)語法如下:NAME:PINNUMTYPE:STRINGVALUE:2024/9/20清華大學(xué)出版社Page172.【目標(biāo)器件】屬性

任何FPGA項(xiàng)目的設(shè)計(jì)都是先軟件仿真,然后再對(duì)器件進(jìn)行選型和連接?!灸繕?biāo)器件】屬性主要用于向布局和布線工具傳送信息,以方便后面軟件設(shè)計(jì)向硬件的轉(zhuǎn)化。【目標(biāo)器件】屬性設(shè)定的參數(shù)語法如下:NAME:PARTNAMETYPE:STRINGVALUE:2024/9/20清華大學(xué)出版社Page18高級(jí)屬性高級(jí)屬性主要用于優(yōu)化EDIF文件,同時(shí)也可為器件或端口加入更多的用于設(shè)計(jì)的信息。ProtleDXP中的高級(jí)屬性包括【關(guān)鍵路徑】屬性、【約束緩沖】屬性,【FPGA_GSR】屬性、【時(shí)鐘緩沖】屬性。1.【關(guān)鍵路徑】屬性參數(shù)語法:NAME:CRITICALTYPE:BOOLEANVALUE:TRUE【關(guān)鍵路徑】屬性中的關(guān)鍵路徑主要是指目標(biāo)器件中關(guān)鍵信號(hào)的路徑。2024/9/20清華大學(xué)出版社Page192.【約束緩沖】屬性參數(shù)語法:NAME:INHIBITBUFTYPE:BOOLEANVALUE:TRUE[約束緩沖]屬性主要用于在【InsertI/O-Buffers】選項(xiàng)打開時(shí),禁止向端口插入I/O緩沖。2024/9/20清華大學(xué)出版社Page203.【FPGA_GSR】屬性

參數(shù)語法:NAME:FPGA_GSRTYPE:BOOLEANVALUE:TRUE如果將FPGA項(xiàng)目的各各部分分開進(jìn)行編譯,或者當(dāng)前編譯后的EDIF文件將與其他項(xiàng)目連接,那么頂層的文件中必須有STARTUP符號(hào),而其他層的RESET端則必須添加一個(gè)【FPGA_GSR】屬性。一旦為端口加入了【FPGA_GSR】屬性,那么這個(gè)端口將不與任何觸發(fā)器的置1和置0端連接。2024/9/20清華大學(xué)出版社Page214.【時(shí)鐘緩沖】屬性

參數(shù)語法:NAME:CLOCK_BUFFERTYPE:BOOLEANVALUE:TRUE【時(shí)鐘緩沖】屬性主要用于在【InsertI/OBuffers】選項(xiàng)打開時(shí),為輸入緩沖加入時(shí)鐘緩沖。如果沒有加入輸入緩沖,則只需要在系統(tǒng)時(shí)鐘之前放置一個(gè)時(shí)鐘緩沖符號(hào)即可。2024/9/20清華大學(xué)出版社Page2211.4ProtelDXP和AlteraFPGA接口ProtelDXP支持幾乎所有的Altera的元件集成庫(kù),如表11-4所示。2024/9/20清華大學(xué)出版社Page23型號(hào)FPGA庫(kù)StratixAlteraFPGAApex20k/20kE/20KC/IIAlteraFPGAFlex10K/A/B/EAlteraFPGAFlex6000/8000AlteraFPGAAcex1kAlteraFPGAMax3000A/5000A/9000AAlteraFPGAMax7000/A/E/S/AEAlteraFPGAClassicAlteraFPGAMercuryAlteraFPGA表11-4ProtelDXP支持的Altera庫(kù)11.5實(shí)例講解2024/9/20清華大學(xué)出版社Page24【實(shí)例11-1】VHDL與原理圖的混合設(shè)計(jì)本實(shí)例中,要求利用VHDL和原理圖的混合輸入方法,設(shè)計(jì)一

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論