DXP環境下的FPGA設計-第十一章_第1頁
DXP環境下的FPGA設計-第十一章_第2頁
DXP環境下的FPGA設計-第十一章_第3頁
DXP環境下的FPGA設計-第十一章_第4頁
DXP環境下的FPGA設計-第十一章_第5頁
已閱讀5頁,還剩20頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

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

實體說明部分;[BEGIN

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

數據類型名;

端口名:模式

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

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

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

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

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

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

溫馨提示

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

評論

0/150

提交評論