




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 FPGA開發(fā)總結(jié)前言2一 開發(fā)工具21.1 QuartusII21.2 ModelSim61.3 SOPC builder61.4 Nios II EDS71.5 Source Insight7二 VHDL語言7三 Verilog語言14四 仿真14五 FPGA管腳分配、時(shí)序約束14六 下載16七 版圖PCB18八 UART18前言一 開發(fā)工具1.1 QuartusII 六、Quartus2 調(diào)用ModelSim方法設(shè)置仿真工具路徑 選擇 Tools -> options -> EDA tool Options設(shè)置仿真工具選擇ModelSim-Altera,語言VHDL1、建立好
2、工程,編譯無錯(cuò)。2、點(diǎn)擊菜單欄中processing,選擇start,選擇start testbench template write。此時(shí)會(huì)自動(dòng)生成testbench模板到項(xiàng)目文件夾simulation里面,后綴為.vt3、在quatusii界面打開.vt文件,進(jìn)行修改編輯。4、在項(xiàng)目管理窗器件上右擊選擇件Device打開如下界面5、 若是門級(jí)仿真則要勾選,RTL級(jí)仿真不用6、點(diǎn)擊右下角的Test Benches 按鈕,點(diǎn)擊new,彈出Test Bench Setting 窗口,在Test bench name 欄輸入測(cè)試程序文件名,Top level module in test benc
3、h 欄輸入測(cè)試程序?qū)嶓w名(Entity),在file name 欄選擇相應(yīng)測(cè)試文件。如下所示:7、完成以上步驟,即可運(yùn)行ModelSim仿真。 若是進(jìn)行時(shí)序仿真(門級(jí)仿真),出現(xiàn)sdo文件錯(cuò)誤:Failed to find INSTANCE '/NA' 則是做下面設(shè)置:方法一:在ModelSim 中做設(shè)置點(diǎn)擊simulate -> start simulate 在SDF 選項(xiàng)卡 點(diǎn)擊 AddSDF File欄加入.sdo文件,Apply to Region欄填入測(cè)試文件中頂層文件例化名,如果是Quartus2生成的Bench模板,即時(shí)i1,如下所示再在Design選項(xiàng)卡中
4、選中測(cè)試文件,設(shè)置仿真精度(resolution),如下圖加入信號(hào)至波形圖,運(yùn)行仿真即可。方法二: 在Quartus2中做設(shè)置在第6步中,勾選 Use test bench to perform VHDL timing simulation,填入實(shí)例化元件名七、QuartusII不能產(chǎn)生POF文件解決辦法QuartusII編譯以后不能產(chǎn)生POF文件往往是由于沒有選擇EPCS器件造成,下面就如何選擇EPCS介紹以下步驟:1 打開QuartusII2 打開“Assignments/Device”3 點(diǎn)擊“Device and Pin Option/Configuration”4 選擇“Use Co
5、nfiguration device”在下拉菜單中選擇使用的串行EPCS4器件(這是我使用的型號(hào))5 選擇“OK”完成設(shè)置。指定EPCS后,重新編譯,產(chǎn)生了POF文件。七、QuartusII 必須安裝在沒有中文和空格的目錄下,建立的工程目錄也必須沒有中文和空格。否則開發(fā)軟件會(huì)出現(xiàn)很多錯(cuò)誤。1.2 ModelSim二、ModeSim 破解本破解還是根據(jù)之前網(wǎng)絡(luò)上流傳的其他版本摸索著破解的,在我的電腦上modelsim 10.1a win7 32,已經(jīng)經(jīng)過驗(yàn)證成功,其他系統(tǒng)和版本應(yīng)該也可以的,需要的自行嘗試。將MentorKG.exe和crack.bat文件復(fù)制到安裝根目錄win32目錄下,運(yùn)行c
6、rack.bat文件,生成txt文件后另存,將另存的路徑添加為系統(tǒng)環(huán)境變量LM_LICENSE_FILE如D:modeltech_10.1aLICENSE.TXTOK ! 破解成功!下載地址:七、ModelSim 中Altera 仿真庫的添加1.3 SOPC builder1.4 Nios II EDS1.5 Source Insight一、讓Source Insight支持Verilog下載對(duì)應(yīng)的clf文件 官網(wǎng)鏈接:配置source Insightoptionspreferenceslanguagesimport*.clf這樣會(huì)在左側(cè)列表里增加一個(gè)verilog custom增加類型ste
7、p1>optionsdocument optionsadd typestep2>type name處填入:verilogstep3>file filter處填入:*.vstep4>在下面的language選擇verilog customstep5>選中:symbol windowstep6>Close二 VHDL語言一、從Verilog到VHDL 起手式從Verilog撞進(jìn)VHDL的世界,有些東西要先搞清楚,否則會(huì)一頭霧水:1. 大小寫敏感: Verilog是大小寫敏感的,VHDL則非;2. 注釋:Verilog的行注釋為/,塊注釋為/*/;VHDL只支持行
8、注釋;1基本結(jié)構(gòu)VHDL被認(rèn)為是要求更嚴(yán)格,更多講究的語言,相比和C類似的Verilog,架構(gòu)上更嚴(yán)謹(jǐn)一些:1. 基本結(jié)構(gòu):從上往下為USE定義區(qū)(調(diào)用庫和包);Package定義區(qū)(自定義程序包);Entity定義區(qū)(定義電路實(shí)體外觀,I/O接口的規(guī)格);2Architecture定義區(qū)(描述內(nèi)部功能);3Configuration定義區(qū)(決定那個(gè)Architecture被使用)4 2. 并行與串行:在這一點(diǎn)上,VHDL和Verilog有些類似,書寫在Architecture內(nèi)的語句,直接被認(rèn)為是并行執(zhí)行,無論書寫順序的(就如同Verilog中的并列的Always語句塊);而順序執(zhí)行的串行語
9、句必須放置在進(jìn)程語句(process)當(dāng)中,正如Verilog的beginend。3. process:和Verilog不同的是這里的Process是要求有敏感變量列表作為輸入的,正如試圖在Verilog中用Always語句實(shí)現(xiàn)組合邏輯時(shí)類似。所以當(dāng)寫這樣的語句,不妨多回想Verilog中對(duì)于敏感變量列表的要求。4. 例化:在VHDL當(dāng)中嘗試?yán)粋€(gè)entity,比起Verilog要麻煩不少。首先,必須在Architecture當(dāng)中用Component語法來聲明這個(gè)實(shí)體的Port和Generic(參數(shù));然后才可在后續(xù)內(nèi)容當(dāng)中例化實(shí)體,并且用generic map和port map來進(jìn)行參數(shù)賦
10、值和port連接。5. 庫,包和配置:VHDL這方面的組織比起Verilog顯然要嚴(yán)密多了,使用configuration,用簡(jiǎn)單的語句,就可以把不同的architecture實(shí)現(xiàn)和entity實(shí)現(xiàn)綁定,而此時(shí)我們就能看出VHDL之所以要分開所謂entity和architecture的目的所在了。二、VHDL運(yùn)算符 算數(shù)運(yùn)算符 關(guān)系運(yùn)算符 邏輯運(yùn)算符 連接運(yùn)算符三、VHDL testbench編寫范例LIBRARY ieee; USE ieee.std_logic_1164.all; ENTITY uart_16750x16_vhd_tst IS -測(cè)試程序?qū)嶓w名,不需要端口定義END uar
11、t_16750x16_vhd_tst;ARCHITECTURE uart_16750x16_arch OF uart_16750x16_vhd_tst IS - constants -常量定義constant cycle : time := 30 ns; -定義時(shí)鐘頻率 - signals -被測(cè)實(shí)體端口信號(hào) SIGNAL ABUS : STD_LOGIC_VECTOR(7 DOWNTO 0);SIGNAL CLK : STD_LOGIC;SIGNAL CS : STD_LOGIC;. -測(cè)試用自定義中間信號(hào)signal iDBUS : STD_LOGIC_VECTOR(7 downto 0)
12、;signal oDBUS : STD_LOGIC_VECTOR(7 downto 0);COMPONENT uart_16750x16 -被測(cè)試元件的聲明 PORT (ABUS : IN STD_LOGIC_VECTOR(7 DOWNTO 0);CLK : IN STD_LOGIC;CS : IN STD_LOGIC; .);END COMPONENT;BEGINi1 : uart_16750x16 -例化被測(cè)元件PORT MAP (- list connections between master ports and signalsABUS => ABUS,CLK => CLK
13、,CS => CS, .);CLOCK: process -時(shí)鐘信號(hào)進(jìn)程 begin CLK <= '0' wait for cycle/2; CLK <= '1' wait for cycle/2; end process; RX0 <= TX0; -信號(hào)連接 RX1 <= TX1; RX2 <= TX2; .init : PROCESS -主進(jìn)程 - variable declarations BEGIN RST <= '0' CS <= '0'ABUS <= (other
14、s => 'Z');.while (true) loop.end loop; end process;end uart_16750x16_arch;九、VHDL語言 Function and procedure 區(qū)別procedure 帶有輸入輸出參數(shù)列表,沒有返回值function 只有輸入?yún)?shù)列表,有返回值。VHDL語言寫文件操作LIBRARY ieee; USE ieee.std_logic_1164.all; ENTITY uart_16750x16_vhd_tst IS generic( log_file : string := "sim/uart_l
15、og.txt" - Log file );END uart_16750x16_vhd_tst;ARCHITECTURE uart_16750x16_arch OF uart_16750x16_vhd_tst ISfile log : TEXT open write_mode is log_file; - Open log file for write。-convert std_logic_vector to string function hstr(slv: std_logic_vector) return string is variable hexlen: integer; va
16、riable longslv : std_logic_vector(67 downto 0) := (others => '0'); variable hex : string(1 to 16); variable fourbit : std_logic_vector(3 downto 0); begin hexlen := (slv'left+1)/4; if (slv'left+1) mod 4 /= 0 then hexlen := hexlen + 1; end if; longslv(slv'left downto 0) := slv;
17、for i in (hexlen -1) downto 0 loop fourbit := longslv(i*4)+3) downto (i*4); case fourbit is when "0000" => hex(hexlen -I) := '0' when "0001" => hex(hexlen -I) := '1' when "0010" => hex(hexlen -I) := '2' when "0011" => hex(he
18、xlen -I) := '3' when "0100" => hex(hexlen -I) := '4' when "0101" => hex(hexlen -I) := '5' when "0110" => hex(hexlen -I) := '6' when "0111" => hex(hexlen -I) := '7' when "1000" => hex(hexlen -I) :
19、= '8' when "1001" => hex(hexlen -I) := '9' when "1010" => hex(hexlen -I) := 'A' when "1011" => hex(hexlen -I) := 'B' when "1100" => hex(hexlen -I) := 'C' when "1101" => hex(hexlen -I) := 'D
20、39; when "1110" => hex(hexlen -I) := 'E' when "1111" => hex(hexlen -I) := 'F' when "ZZZZ" => hex(hexlen -I) := 'z' when "UUUU" => hex(hexlen -I) := 'u' when "XXXX" => hex(hexlen -I) := 'x' when o
21、thers => hex(hexlen -I) := '?' end case; end loop; return hex(1 to hexlen); end hstr;-print string to textfile procedure print(file out_file: TEXT; new_string: in string) is variable l: line; begin write(l, new_string);writeline(out_file, l); end print;print (log, time'image(now) &
22、; ": " & "UART" & hstr(ADDR_CS) & " DATA 0x" & hstr(DBUS) );以上函數(shù)功能完成在modelsim/sim文件夾下uart_log.txt文件打印如下信息:455190 ns: UART00 DATA 0x07 三 Verilog語言四 仿真五 FPGA管腳分配、時(shí)序約束九、Cyclone 系列FPGA的IO可編程特性1.可編程電流驅(qū)動(dòng)能力(Current Strength)2.可編程信號(hào)斜率控制(Slew Rate)3.開漏設(shè)置4.可編程總線保持
23、5.上啦電阻6.PCI鉗位二極管7.片上終端電阻8.可編程延遲IO的配置(驅(qū)動(dòng)電流、信號(hào)斜率、延時(shí)等)會(huì)影響IO信號(hào)的上升時(shí)間和振鈴干擾,尤其需要注意多個(gè)高速輸出信號(hào)同時(shí)翻轉(zhuǎn)產(chǎn)生的信號(hào)干擾(包括EMI)可能影響系統(tǒng)穩(wěn)定性。例:十、FPGA管腳配置Cyclone III 芯片配置方式為AS配置,管腳設(shè)定如下除以上管腳外,其他管腳均可做通用IO(時(shí)鐘引腳只能做輸入),VREF 管腳做IO用時(shí),需注意,該管腳延時(shí)較其他IO大,如下圖: 相對(duì)其他管腳延遲1.5ns左右。不用的IO口設(shè)置成 input tri-stated11、 FPGA 時(shí)序分析Data Arrival Time:數(shù)據(jù)到達(dá)時(shí)刻 Dat
24、a Required Time:數(shù)據(jù)要求到達(dá)時(shí)刻Launch edge:指的是一個(gè)時(shí)鐘沿,這個(gè)時(shí)鐘沿(這個(gè)時(shí)刻)要進(jìn)行的操作是,將一個(gè)寄存器或一個(gè)時(shí)序電路的數(shù)據(jù)送出。Launch edge 表示Launch沿發(fā)生的時(shí)刻。數(shù)據(jù)傳輸?shù)钠鹗紩r(shí)刻。Latch edge:指的也是一個(gè)時(shí)鐘沿,這個(gè)時(shí)鐘沿(這個(gè)時(shí)刻)要將一個(gè)寄存器或一個(gè)時(shí)序電路的輸入端口的數(shù)據(jù)存儲(chǔ)起來。Latch edge 表示Latch沿發(fā)生的時(shí)刻。數(shù)據(jù)傳輸?shù)慕Y(jié)束時(shí)刻。數(shù)據(jù)到達(dá)時(shí)刻 = 數(shù)據(jù)launch時(shí)刻 + 源寄存器端時(shí)鐘延時(shí) + 數(shù)據(jù)被clock to output延時(shí) + 寄存器間傳輸延時(shí)數(shù)據(jù)要求到達(dá)時(shí)刻 = 數(shù)據(jù)latch時(shí)刻 + 目的寄存器時(shí)鐘延時(shí) - 寄存器內(nèi)信號(hào)的建立時(shí)間延時(shí)六 下載八、下載Altera的配置文件經(jīng)常下載的可分為兩種,一種是sof(SRAM Object File),是下載到RAM中,斷電后
溫馨提示
- 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. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024-2025學(xué)年六年級(jí)下學(xué)期數(shù)學(xué)三 《反比例》教案
- 2025年婚前協(xié)議書正確模板
- 人教版八年級(jí)上冊(cè) 歷史與社會(huì) 教學(xué)設(shè)計(jì) 1.2中華早期國家與社會(huì)變革
- (高清版)DB45∕T 566-2020 汽車旅游營地星級(jí)劃分
- 2025年衡水健康科技職業(yè)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫審定版
- 2025年河南工業(yè)貿(mào)易職業(yè)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫1套
- 期中綜合練習(xí)-三年級(jí)數(shù)學(xué)下冊(cè)(含答案)北師大版
- 2024年多媒體電腦超聲診斷儀項(xiàng)目資金籌措計(jì)劃書代可行性研究報(bào)告
- 2025年黑龍江省伊春市單招職業(yè)傾向性測(cè)試題庫1套
- 語文-四川省金太陽2025屆高三2月開學(xué)考試試題和答案
- 仁愛七年級(jí)下冊(cè)英語教學(xué)計(jì)劃
- 躁狂的健康宣教
- 第四講國防動(dòng)員準(zhǔn)備
- 四川省成都市2025屆高三一診考試英語試卷含解析
- 2024年度房地產(chǎn)開發(fā)項(xiàng)目安全生產(chǎn)委托管理協(xié)議范本3篇
- 飛機(jī)空氣動(dòng)力學(xué)課件:翼型的空氣動(dòng)力特性
- 2025屆河南省鄭州市外國語學(xué)校高考數(shù)學(xué)三模試卷含解析
- 《高尿酸血癥腎損害》課件
- 天然氣公司巡視檢查管理細(xì)則(3篇)
- 《大模型原理與技術(shù)》全套教學(xué)課件
- 九年級(jí)道德與法治下冊(cè) 第一單元 我們共同的世界 第二課 構(gòu)建人類命運(yùn)共同體 第2框《謀求互利共贏》說課稿 新人教版
評(píng)論
0/150
提交評(píng)論