- 相關(guān)推薦
談QuartusI在教學(xué)中的應(yīng)用
摘要: 本文以正弦信號(hào)發(fā)生器為例,介紹QuartusII的應(yīng)用,重點(diǎn)解釋LPM_ROM和Signal Tap II的使用。關(guān)鍵詞: QuartusII LPM_ROM SignalTapII 正弦信號(hào)發(fā)生器
QuartusII是Altera提供的FPGA/CPLD開(kāi)發(fā)集成環(huán)境,用QuartusII設(shè)計(jì)正弦信號(hào)發(fā)生器,關(guān)鍵涉及到QuartusII的重要功能:LPM_ROM和Signal Tap II的使用;步驟繁雜,學(xué)生難以掌握;本文以正弦信號(hào)發(fā)生器為例,詳細(xì)介紹QuartusII的設(shè)計(jì)步驟,重點(diǎn)解釋LPM_ROM和Signal Tap II的使用,以幫助讀者深化對(duì)QuartusII的學(xué)習(xí)。
一、正弦信號(hào)發(fā)生器的工作原理
正弦信號(hào)發(fā)生器的結(jié)構(gòu)由3部分組成:數(shù)據(jù)計(jì)數(shù)器或地址發(fā)生器、數(shù)據(jù)ROM和D/A;頂層文件SINGT.VHD在FPGA中實(shí)現(xiàn)ROM的地址信號(hào)發(fā)生器和正弦數(shù)據(jù)ROM,ROM由LPM_ROM模塊構(gòu)成能達(dá)到最優(yōu)設(shè)計(jì); Signal Tap II隨設(shè)計(jì)文件一并下載到目標(biāo)芯片中,用以觀察目標(biāo)芯片內(nèi)部系統(tǒng)信號(hào)節(jié)點(diǎn)處的信息,而不影響系統(tǒng)的正常工作。
二、操作步驟
(一)正弦信號(hào)數(shù)據(jù)ROM定制
完成波形數(shù)據(jù)ROM的定制和ROM中波形數(shù)據(jù)文件,即ROM的初始化文件的設(shè)計(jì)。
1.設(shè)計(jì)ROM初始化數(shù)據(jù)文件
初始化數(shù)據(jù)文件格式有2種:Memory Initialization File (.mif)格式文件,或Hexadecimal (Intel-Format) File (.hex)格式文件。兩個(gè)格式文件的建立方法相似:在New窗中選擇“Other files”項(xiàng),后,選擇“Memory Initialization File”項(xiàng)或“Hexadecimal (Intel-Format) File”項(xiàng),填入數(shù)據(jù)后,以.Mif/.hex格式文件存盤。
2.定制ROM元件(data_rom.vhd)
利用MegaWizard Plug-In Manager定制正弦信號(hào)數(shù)據(jù)ROM宏功能塊,并將以上的波形數(shù)據(jù)加載于此ROM中。
設(shè)計(jì)步驟如下:
(1)設(shè)置MegaWizard Plug-In Manager初始對(duì)話框。在Tools菜單中選擇“MegaWizard Plug-In Manager”,以及“Storage”項(xiàng)下的LPM_ROM,再選“Cyclone”器件和VHDL語(yǔ)言方式,最后設(shè)置ROM文件存放的路徑和文件名: G:work/cy/csingt/data_rom.vhd
(2)選擇ROM控制線和地址、數(shù)據(jù)線。地址與數(shù)據(jù)的位寬指定為6和8,選擇地址鎖存控制信號(hào)inclock,并選擇數(shù)據(jù)文件data.hex,完成ROM定制,即完成ROM文件data_rom.vhd的生成。
(二)創(chuàng)建工程和編輯頂層設(shè)計(jì)文件
首先建立工作庫(kù)(Work Library),即安排一個(gè)與此工程相關(guān)的所有文件的文件夾。
建立文件夾后將設(shè)計(jì)文件通過(guò)QuartusII的文本編輯器編輯并存盤,詳細(xì)步驟如下:
(1)新建一個(gè)文件夾:如:G:/work/cy/singt 。注意,文件夾名不能用中文。
(2)輸入源程序:(略)
注意頂層文件singt.vhd中的元件聲明語(yǔ)句中的端口必須與data_rom.vhd的端口一致。
(3)文件存盤:
注意存盤文件名應(yīng)該與實(shí)體名一致,即singt.vhd。然后進(jìn)入創(chuàng)建工程流程:1)選擇文件夾G:/work/cy/singt;2)令singt.vhd為工程;3)加入工程的文件:singt.vhd、data_rom.vhd;4)目標(biāo)芯片:“Cyclone”系列;5) 具體芯片:EPIC3T144C8;6)仿真器和綜合器是QuartusII中自帶的;
學(xué)生對(duì)此比較熟悉,不再詳述。
(4)全程編譯:(略)
(5)閱讀編譯報(bào)告:
邏輯單元163個(gè);內(nèi)部RAM資源為512個(gè)位單元,恰好等于64個(gè)8位波形數(shù)據(jù)的大小。
(三)IN-System Memory Content Editor應(yīng)用
對(duì)于Cyclone/II等系列的FPGA,只要對(duì)使用的LPM_ROM或LPM_RAM模塊適當(dāng)設(shè)置,就能利用QuartusII的EAB/M4K在系統(tǒng)(In-System)讀寫(xiě)編輯器直接通過(guò)JTAG口讀取或改寫(xiě)FPGA內(nèi)處于工作狀態(tài)的存儲(chǔ)器中的數(shù)據(jù),讀取過(guò)程不影響FPGA的正常工作。
用法如下:
(1)打開(kāi)在系統(tǒng)存儲(chǔ)單元編輯窗口:(略)
(2)讀取ROM中的波形數(shù)據(jù):
選擇數(shù)據(jù)文件名rom4,然后“Read Data from In-System Memory”,這些數(shù)據(jù)是在系統(tǒng)正常工作的情況下通過(guò)FPGA的JTAG口從其內(nèi)部EABROM中讀取的波形數(shù)據(jù),它們應(yīng)該與加載進(jìn)去的文件data.hex中的數(shù)據(jù)完全相同。
(3)寫(xiě)數(shù)據(jù);(略,與讀取數(shù)據(jù)類似)
(4)輸入輸出數(shù)據(jù)文件;(略)
(四)引腳鎖定、下載和硬件測(cè)試
選擇GW48-SOPC系統(tǒng)的電路模式No.5,用短路帽接插clock0為65536Hz或750KHz處。SOPC/DSP適配板的引腳情況,通過(guò)查附錄的附圖7和芯片引腳對(duì)照表來(lái)確定。注意:引腳鎖定后,必須再編譯一次(Processing Start Compilation),這樣才能將引腳鎖定信息編譯進(jìn)下載文件中。
(五)使用嵌入式邏輯分析儀進(jìn)行實(shí)時(shí)測(cè)試
(1)打開(kāi)“SignalTapII File”;
(2)調(diào)入待測(cè)信號(hào):將“Instance”欄內(nèi)的“auto_signaltap_0”改名為“behav1”;調(diào)入待測(cè)信號(hào)名,選擇2組總線信號(hào):計(jì)數(shù)器內(nèi)部鎖存器總線Q1、波形數(shù)據(jù)輸出端口信號(hào)總線DOUT;
(3)SignalTapII參數(shù)設(shè)置。選中工程的主頻時(shí)鐘信號(hào):CLK;(behav1)組信號(hào)的數(shù)據(jù)采樣深度為1K位。然后是對(duì)待觀察信號(hào)的要求,設(shè)置起始觸發(fā)的位置;最后是觸發(fā)信號(hào)和觸發(fā)方式:選擇singt工程的Q1[5]作為觸發(fā)信號(hào);選擇上升沿觸發(fā)方式:“Rising Edge”。即當(dāng)Q1[5]為上升沿時(shí),SignalTapII在CLK的驅(qū)動(dòng)下對(duì)SING信號(hào)組的信號(hào)進(jìn)行連續(xù)或單次采樣(根據(jù)設(shè)置決定)。
然后是將SignalTapII文件存盤,后綴是默認(rèn)的“stp”。
(4)編譯下載。選擇Processing菜單的“Start Compilation”項(xiàng),啟動(dòng)全程編譯。全程編譯的作用是將此SignalTapII文件(核)與工程(singt)捆綁在一起綜合/適
【談QuartusI在教學(xué)中的應(yīng)用】相關(guān)文章:
談Openprocess在熱網(wǎng)監(jiān)控系統(tǒng)中的應(yīng)用06-09
談多媒體在生物教學(xué)中的應(yīng)用論文(通用5篇)04-15
談灌注樁在水利工程中的應(yīng)用08-22
談建構(gòu)主義在大學(xué)英語(yǔ)精讀課中的應(yīng)用08-25
談三維制作軟件在園林設(shè)計(jì)中的應(yīng)用08-30
談智能決策支持系統(tǒng)及其在林業(yè)中的應(yīng)用研究08-21