




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、電子系統(tǒng)電子系統(tǒng)EDAEDA技術(shù)技術(shù)2022-4-12Page 2 FPGA FPGA設(shè)計初步設(shè)計初步4.1對對VHDLVHDL和原理圖的混合設(shè)計與仿真和原理圖的混合設(shè)計與仿真4.2Protel DXPProtel DXP和和Altera FPGAAltera FPGA接口接口4.3實例講解實例講解4.4本章小結(jié)本章小結(jié)4.52022-4-12Page 3 FPGA FPGA設(shè)計初步設(shè)計初步4.1對對VHDLVHDL和原理圖的混合設(shè)計與仿真和原理圖的混合設(shè)計與仿真4.2Protel DXPProtel DXP和和Altera FPGAAltera FPGA接口接口4.3實例講解實例講解4.4本
2、章小結(jié)本章小結(jié)4.5v FPGA是現(xiàn)場可編程門陣列(Field Programmable Gate Array)的簡稱,它具有體系結(jié)構(gòu)和邏輯單元靈活、集成度高及適用范圍寬的特點(diǎn),兼容了PLD和通用門陣列的特點(diǎn),同一片F(xiàn)PGA通過不同的編程數(shù)據(jù)可以產(chǎn)生不同的電路功能,因此可以實現(xiàn)大規(guī)模的集成電路設(shè)計。在進(jìn)行FPGA項目設(shè)計之前,首先要了解FPGA設(shè)計的相關(guān)基礎(chǔ)知識,包括基本概念、設(shè)計流程等。v 4.1.1 FPGA的基本概念v 4.1.2 FPGA設(shè)計流程v 4.1.3 VHDL語言簡介2022-4-12Page 4v FPGA是現(xiàn)場可編程門陣列(Field Programmable Gate
3、Array)的簡稱,通常包含三類可編程資源:可編程邏輯功能塊、可編程I/O塊和可編程內(nèi)部互連。v 可編程邏輯功能塊:可編程邏輯功能塊:它是實現(xiàn)用戶功能的基本單元,它們通常排列成一個陣列,散布于整個芯片;v 可編程可編程I/O塊:塊:用于完成芯片上邏輯與外部封裝腳的接口,常圍繞著陣列排列于芯片四周;v 可編程內(nèi)部互連:可編程內(nèi)部互連:它包括各種長度的連線線段和一些可編程連接開關(guān),它們將各個可編程邏輯塊或I/O塊連接起來,構(gòu)成特定功能的電路。2022-4-12Page 5v FPGA內(nèi)部多采用查找表的結(jié)構(gòu)。v 查找表簡稱為LUT (Look-Up-Table),LUT本質(zhì)上就是一個RAM。目前FP
4、GA中多使用4輸入的LUT,所以每一個LUT都可以看成一個具有4位地址線的161的RAM。v 基于查找表(LUT)的FPGA的結(jié)構(gòu)v 采用這種查找表結(jié)構(gòu)的FPGA有Altera的ACEX和APEX系列及Xilinx的Spartan和Virtex系列等。v 查找表結(jié)構(gòu)的FPGA邏輯實現(xiàn)原理2022-4-12Page 6v 1創(chuàng)建FPGA項目v 2設(shè)置FPGA項目的屬性v 創(chuàng)建好FPGA項目之后,還需要對相關(guān)屬性,如錯誤報告、比較器、綜合和仿真等進(jìn)行設(shè)置,以幫助項目的設(shè)計和優(yōu)化。v 3VHDL編譯環(huán)境v 在已創(chuàng)建的FPGA項目中,執(zhí)行菜單命令【文件】【創(chuàng)建】【VHDL文件】,在項目文件夾中將自動生
5、成一個VHDLl.Vhd文件VHDLl.Vhd文件。同時,此文件在主窗口中被打開,處于文本編輯器狀態(tài)。2022-4-12Page 7v 目前最主要的硬件描述語言是VHDL和Verilog HDL。v VHDL是超高速集成電路硬件描述語言(Very High Speed Integrated Circuit Hardware Description Language)的簡稱,它發(fā)展得較早,語法嚴(yán)格;v Verilog HDL是在C語言的基礎(chǔ)上發(fā)展起來的一種硬件描述語言,語法較自由。v 一個完整的VHDL程序包括實體(entity)、結(jié)構(gòu)體(architecture)、配置(configurati
6、on)、包 ( package)、庫(library)5個部分。其中,前4個部分是可分別編譯的源設(shè)計單元。VHDL程序結(jié)構(gòu)可以用圖11-10表示。2022-4-12Page 82022-4-12Page 9圖4-1 VHDL程序結(jié)構(gòu)v 1.實體說明v 實體說明是一個器件的外觀視圖,即從外部看到的器件外貌,包括端口等。實體說明也可以定義參數(shù),并把參數(shù)從外部傳入模塊內(nèi)部。任何一個基本設(shè)計單元的實體說明都具有如下結(jié)構(gòu): ENTITY實體名IS GENERIC(類屬表); PORT(端口表); 實體說明部分; BEGIN 實體語句部分; END ENTITY實體名; 中的內(nèi)容是可選的,即可以沒有這部分
7、內(nèi)容。2022-4-12Page 1011設(shè)計實體設(shè)計實體 提供設(shè)計模塊的公共信息,是提供設(shè)計模塊的公共信息,是VHDL設(shè)計電設(shè)計電 路的最基本部分。路的最基本部分。一個模塊中僅有一個設(shè)計實體一個模塊中僅有一個設(shè)計實體ENTITY mux21a IS PORT( a, b : IN BIT; s : IN BIT; y : OUT BIT ) ;END ENTITY mux21a ;實體名實體名端口名端口名端口模式端口模式端口數(shù)據(jù)類型端口數(shù)據(jù)類型實體名實體名: :不應(yīng)用數(shù)字或中文定義實體名不應(yīng)用數(shù)字或中文定義實體名, ,也不能用元件也不能用元件 名命名名命名, ,且不能用數(shù)字起頭且不能用數(shù)字起
8、頭. .v 2端口說明v 端口說明是對設(shè)計實體與外部接口的描述,也可以說是對外部引腳信號的名稱、數(shù)據(jù)類型和輸入輸出方向的描述。端口為設(shè)計實體和其外部環(huán)境通信的動態(tài)信息提供通道,其功能對應(yīng)于電路圖符號的一個引腳。實體說明中的每一個I/O信號被稱為一個端口,一個端口就是一個數(shù)據(jù)對象。每個端口必須有一個名字、一個通信模式和一個數(shù)據(jù)類型。是實體的重要組成部分。端口說明的一般格式為:Port(端口名:模式 數(shù)據(jù)類型名; 端口名:模式 數(shù)據(jù)類型名);2022-4-12Page 12端口模式端口模式INOUTINOUTBUFFER數(shù)據(jù)類型數(shù)據(jù)類型VHDL語言的IEEE1076/93標(biāo)準(zhǔn)規(guī)定,EDA綜合工具提
9、供的數(shù)據(jù)類型為布爾型(Boolean)、位型(Bit)、位矢量型(Bit-Vector)和整數(shù)型(Interger)。v 3結(jié)構(gòu)體v 結(jié)構(gòu)體是次級設(shè)計單元,具體指明了該設(shè)計實體的結(jié)構(gòu)或行為,定義了該設(shè)計實體的功能,規(guī)定了該設(shè)計實體的數(shù)據(jù)流程,指定了該實體中內(nèi)部元器件的連接關(guān)系,把一個設(shè)計的輸入和輸出之間的關(guān)系建立起來。由于結(jié)構(gòu)體是對實體功能的具體描述,因此一定要跟在實體的后面。v 一個結(jié)構(gòu)體的一般書寫格式為:ARCHITECTURE 結(jié)構(gòu)體名 OR 實體名 IS定義語句BEGIN并行處理語句進(jìn)程語句 -器件的功能實現(xiàn)部分END結(jié)構(gòu)體名; 2022-4-12Page 142022-4-12Pag
10、e 14VHDL結(jié)構(gòu)中用于描述邏輯功能和電路結(jié)結(jié)構(gòu)中用于描述邏輯功能和電路結(jié)構(gòu)的語句:順序語句和并行語句。構(gòu)的語句:順序語句和并行語句。2022-4-12Page 15v 4.描述風(fēng)格v 描述風(fēng)格也就是建模方法。v 用VHDL語言描述結(jié)構(gòu)體有4種方法。v (1)行為描述法:采用進(jìn)程語句,順序描述被稱為設(shè)計實體的行為。v (2)數(shù)據(jù)流描述法:采用類似于布爾方程的并行信號賦值語句進(jìn)行描述。v (3)結(jié)構(gòu)描述法:采用元件例化語句描述設(shè)計實體內(nèi)的結(jié)構(gòu)組織和元件互連關(guān)系。v (4)混合描述法:采用多個進(jìn)程(process)、多個模塊(blocks)、多個子程序(subprograms)的子結(jié)構(gòu)方式,是將
11、前三種基本的描述方法組合起來。2022-4-12Page 16三種描述方式的比較三種描述方式的比較描述方式描述方式優(yōu)點(diǎn)優(yōu)點(diǎn)缺點(diǎn)缺點(diǎn)適用場合適用場合結(jié)構(gòu)化描結(jié)構(gòu)化描述述連接關(guān)系清連接關(guān)系清晰,電路模晰,電路模塊化清晰塊化清晰繁瑣、復(fù)雜繁瑣、復(fù)雜層次化設(shè)計層次化設(shè)計數(shù)據(jù)流描數(shù)據(jù)流描述述布爾函數(shù)定布爾函數(shù)定義明白義明白邏輯方程邏輯方程難以獲得難以獲得小門數(shù)設(shè)計小門數(shù)設(shè)計行為描述行為描述邏輯關(guān)系描邏輯關(guān)系描述清晰述清晰不一定能綜合不一定能綜合系統(tǒng)建模、復(fù)系統(tǒng)建模、復(fù)雜的電路雜的電路2022-4-12Page 17功能描述語句結(jié)構(gòu)功能描述語句結(jié)構(gòu)進(jìn)程語句進(jìn)程語句信號賦值語句信號賦值語句子程序調(diào)用語句子程
12、序調(diào)用語句元件例化語句元件例化語句2022-4-12Page 18例:用條件信號賦值語句設(shè)計四選一電路模塊Library ieee;Use ieee.std_logic_1164.all;Entitu mux4 isPort(d0,d1,d2,d3,a,b : in std_logic; q: out std_logic);End mux4;Architecture arch of mux4 is signal sel: std_logic_vector(1 downto 0);Begin sel=b&a; qzzzznull; end case; end process; end b
13、ehav;library ieee;use ieee.std_logic_1164.all;entity mux4 isport(s1,s2: in std_logic; a,b,c,d : in std_logic; z : out std_logic);end entity mux4;architecture behav of mux4 is signal s : std_logic_vector(1 downto 0);begin s=s1&s2;CASE語句描述的語句描述的4選一數(shù)據(jù)選擇器選一數(shù)據(jù)選擇器21或門或門庫文件庫文件實實體體元件定元件定義義元件元件例化例化連接連接說明
14、說明v Protel DXP不僅支持原理圖的輸入方法和VHDL輸入方法,還支持VHDL和原理圖混合輸入方法,該方法在適合用VHDL的地方用VHDL,適合用原理圖的地方用原理圖,既增強(qiáng)了電路的可移植性,又減輕了設(shè)計者的設(shè)計壓力,提高了設(shè)計效率。2022-4-12Page 22圖4-2 采用VHDL和原理圖相結(jié)合的輸入方法設(shè)計流程v Protel DXP支持幾乎所有的Altera的元件集成庫,如表4-1所示。2022-4-12Page 23型號FPGA庫StratixAltera FPGAApex 20k/20kE/20KC/IIAltera FPGAFlex 10K/A/B/EAltera FP
15、GAFlex 6000/8000Altera FPGAAcex 1kAltera FPGAMax3000A/5000A/9000AAltera FPGAMax7000/A/E/S/AEAltera FPGAClassicAltera FPGAMercuryAltera FPGA表4-1Protel DXP支持的Altera庫2022-4-12Page 24【實例實例11-111-1】 VHDL VHDL與原理圖的混合設(shè)計與原理圖的混合設(shè)計本實例中,要求利用VHDL和原理圖的混合輸入方法,設(shè)計一個2位的十進(jìn)制計數(shù)器。計數(shù)器的VHDL和原理圖的混合設(shè)計原理圖如圖4-3所示。圖4-3 連接好的頂層原
16、理圖的設(shè)計v - BCD.VHDv - Binary Coded Decimal Counter (0-9) with RCOv library IEEE;v use IEEE.STD_LOGIC_1164.all;v use ieee.std_logic_unsigned.all;v -BCD-v entity BCD isv port(CLEAR,CLOCK,ENABLE: in std_logic;v RCO: out std_logic;v OCD: out std_logic_vector(3 downto 0);v end;十進(jìn)制計數(shù)器十進(jìn)制計數(shù)器VHDL語言語言2022-4-12
17、Page 25v architecture RTL of BCD isv signal CURRENT_COUNT,NEXT_COUNT: std_logic_vector(3 downto 0);v beginv REGISTER_BLOCK: process (CLEAR,CLOCK,NEXT_COUNT)v beginv if (CLEAR=1) thenv CURRENT_COUNT=x0;v elsif (CLOCK=1 and CLOCKevent) thenv CURRENT_COUNT=NEXT_COUNT;v end if;v end process;2022-4-12Pag
18、e 26v - Binary Coded Decimal generator combinational logic blockv BCD_GENERATOR: process (CURRENT_COUNT,ENABLE)v beginv if (CURRENT_COUNT=x9) and (ENABLE=1) thenv NEXT_COUNT=x0;v RCO = 1;v elsev if (ENABLE=1) thenv NEXT_COUNT = CURRENT_COUNT + 1;v elsev NEXT_COUNT = CURRENT_COUNT;v end if;v RCO = 0;
19、v end if;v end process;v OCD = CURRENT_COUNT;v end;v -鎖存器鎖存器VHDL語言語言v library IEEE;v use IEEE.std_logic_1164.all;v entity BUFGS isv port(I : in std_logic;v O : out std_logic);v end BUFGS;v architecture RTL of BUFGS isv beginv O = I;v end;2022-4-12Page 29奇偶校驗器奇偶校驗器VHDL語言語言v -v library IEEE;v use IEEE
20、.STD_LOGIC_1164.all;v package UTILITY ISv function fparity (vtctp : std_logic_vector) return std_logic;v end Utility;2022-4-12Page 30v -v library IEEE;v use IEEE.STD_LOGIC_1164.all;v package body UTILITY isv function fparity (vtctp : std_logic_vector) return std_logic isv variable respar : std_logic
21、;v beginv respar := 0;v for i in 0 to vtctplength - 1 loopv if vtctp(i) = 1 thenv respar := not respar;v end if;v end loop;v return respar;v end function fparity;v end package body UTILITY;v -v Library IEEE;v Use IEEE.std_logic_1164.all;v Use WORK.utility.all;v entity PARITYC isv portv (v L : in STD
22、_LOGIC_VECTOR(3 downto 0);v U : in STD_LOGIC_VECTOR(3 downto 0);v P : out STD_LOGICv );v end PARITYC;v architecture PARITY_Arch of PARITYC isv signal VTC : STD_LOGIC_VECTOR(7 downto 0);v beginv VTC(7 downto 4) = U;v VTC(3 downto 0) = L;v P Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q = XFF; End Case; End Process
23、;End RTL; 44 結(jié)果如圖7所示圖7 VHDL輸入45v 8.在原理圖編輯界面下,選擇菜單DesignCreate Sheet Symbol From Sheet,然后在彈出的窗口中選擇Tset1.VHDL,然后點(diǎn)擊OK。見圖見圖8圖8 將VHDL產(chǎn)生圖表符46v 生成如圖9所示的圖表符,圖9 將VHDL產(chǎn)生圖表符47v 9.按圖10將圖表符連接好圖10 連接圖表符48v 10.給各元件加上標(biāo)注,選擇菜單ToolsAnnotate quiet,在彈出的對話框中選擇ok,原理圖中的元件就自動排列完成了。圖11 自動標(biāo)注元件49v 11.添加配置文件,選擇ProjectConfigurat
24、ion Manager,在彈出的窗口(圖14)的左下角Configurations選項點(diǎn)擊ADD,在新彈出的窗口中輸入新的配置名Test,點(diǎn)擊ok,然后在Constraints Files選項點(diǎn)擊ADD,彈出對話框如圖圖12所示,選擇該軟件安裝目錄下Altium Designer Winter 09LibraryFpga,選擇NB1_6_EP1C12Q240(取決于設(shè)計中用到的子板或FPGA器件),點(diǎn)擊打開,打開,結(jié)果見圖13,選中Test下的復(fù)選框。最后點(diǎn)擊Ok。配置文件便添加到了設(shè)計中,見圖15。圖12 添加約束文件50圖13 添加配置51圖14 配置窗口52圖15 配置文件53v 12.
25、保存項目文件,原理圖文件及VHDL文件,選擇ProjectRecompile FPGA Project Test.PRJFPG,在原理圖編輯環(huán)境下點(diǎn)擊窗口底部的System選項,選擇Messages如圖16所示,查看是否有錯誤發(fā)生,檢查修改完畢后,可以開始進(jìn)行嵌入式軟件設(shè)計了。圖16 檢查錯誤信息54基于FPGA的嵌入式軟件設(shè)計55v 1.選擇菜單FileNewEmbedded Project , 在工程欄中將會顯示新建的Embedded 工程名,選擇菜單FileSave Project ,在對話框中修改工程名稱為Test,然后Save。在工程欄中選擇File View 選項,在工程中將會列出
26、所有屬于當(dāng)前工程的文件。 圖17 新建嵌入式工程56v 2.右鍵點(diǎn)擊嵌入式工程,在彈出窗口中選擇Add New To ProjectC File,如圖如圖18所示所示圖18 新建嵌入式文件編輯57基于基于FPGA的嵌入式軟件設(shè)計的嵌入式軟件設(shè)計v 將文件以Test文件名保存,然后在編輯界面下輸入C語言代碼,如圖19圖19 C語言輸入58v 代碼如下:v void main(void)v unsigned char x=0;v unsigned short i;v for(;)v P1=x+;v for(i=0;i0 xFFff;i+)v v _asm(nop);v v v 59v 3.保存Te
27、st.C文件,在C語言編輯界面下選擇菜單ProjectProject Options,在彈出的窗口中選擇Configuration項,在下拉菜單中選擇Tasking 8051,其余選項按默認(rèn)處理,完成后,點(diǎn)擊Ok。圖20 編譯器選項60v 4.右鍵點(diǎn)擊Test.PRJEMB工程,在彈出窗口中選擇Recompile Embedded Project Test.PRJEMB,編譯無誤后即可進(jìn)行系統(tǒng)級設(shè)置。圖21 編譯結(jié)果61系統(tǒng)級設(shè)置及下載系統(tǒng)級設(shè)置及下載62v 以上介紹了基于FPGA的硬件設(shè)計和嵌入式軟件設(shè)計步驟,下面來介紹系統(tǒng)級的設(shè)計和調(diào)試。v 1.在原理圖編輯界面下,雙擊元件TSK51A_D ,在彈出的器件屬性窗口中,在右側(cè)的Parameters for U1-TSK51A_D一欄,將ChildCore1的Value值設(shè)置為設(shè)計中用到的RAMS_8x1K的標(biāo)注U4
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 化學(xué)藥品新注冊分類申報資料要求(80號文)培訓(xùn)大綱
- 城市交通規(guī)劃合同管理項目管理咨詢重點(diǎn)基礎(chǔ)知識點(diǎn)
- 單位法律知識培訓(xùn)專題大綱
- 《慢性阻塞性肺病治療與護(hù)理》課件
- 進(jìn)門隔斷租房合同協(xié)議
- 車庫互換使用協(xié)議書范本
- 退職合同協(xié)議
- 安保安全培訓(xùn)計劃
- 常州手房轉(zhuǎn)讓協(xié)議
- 工程造價合同培訓(xùn)大綱
- 2025鄂爾多斯準(zhǔn)格爾旗事業(yè)單位引進(jìn)40名高層次人才和急需緊缺專業(yè)人才筆試備考試題及答案解析
- 【MOOC】理解馬克思-南京大學(xué) 中國大學(xué)慕課MOOC答案
- 傳統(tǒng)園林技藝智慧樹知到期末考試答案章節(jié)答案2024年華南農(nóng)業(yè)大學(xué)
- 部編版六年級語文下冊第五單元《口語交際:辯論》范例《電腦時代需要不需要練字》
- JGT266-2011 泡沫混凝土標(biāo)準(zhǔn)規(guī)范
- 四川大學(xué)-劉龍飛-畢業(yè)答辯PPT模板
- 突發(fā)事件應(yīng)急演練指南
- 無人機(jī)駕駛員培訓(xùn)基地項目建議書范文
- 鐵板神數(shù)教材張智華
- 變壓器安裝規(guī)范43195
- 三乙基鋁安全技術(shù)說明書
評論
0/150
提交評論