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

下載本文檔

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

文檔簡介

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

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

實體說明部分;[BEGIN

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

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

端口名:模式

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

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

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

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

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

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

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論