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