




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、實驗一、ISE8.1軟件的基本操作介紹 一、 實驗內(nèi)容1、 初步了解XILINX公司設(shè)計軟件ISE8.1界面的基本功能。2、 通過建立一個新設(shè)計項目2_4譯碼器的設(shè)計,學(xué)習(xí)用原理圖(Schematic)輸入的設(shè)計方法。3、 通過已完成的2_4譯碼器原理圖設(shè)計,了解使用Test Bench Waveform、ISE Simulator 、ModelSim Simulator進(jìn)行功能仿真的方法。4、 自己根據(jù)原理圖名YMQ1的仿真例子,對原理圖名YMQ2進(jìn)行仿真操作練習(xí)。二、 軟件ISE8.1界面的基本功能雙擊桌面圖標(biāo)進(jìn)入ISE8.1軟件界面如圖11所示。圖11界面稱為Project Naviga
2、tor界面。如果先前有工程項目則如圖1-2。41223 圖1132422212 圖1-2如果雙擊圖標(biāo)出現(xiàn)的界面與圖11不同,則再點擊下拉菜單View進(jìn)行選項。也可以從電腦的Start(開始)Programs(所有程序)Xilinx ISE8.1Project Navigator進(jìn)入圖11界面。圖11中除了下拉菜單和命令圖標(biāo)外,還包含4個子窗口。Source 子窗口(左上部分)該窗口可顯示Sources For下拉菜單選項和三大類用戶設(shè)計信息。1) Sources: 當(dāng)選中Sources時,該子窗口顯示項目名、用戶文件、所選器件類型、設(shè)計流程、綜合工具和設(shè)計源文件。通過圖標(biāo)表示文件類型(例如:H
3、DL、原理圖、核、狀態(tài)圖、文本文件等)。圖標(biāo)前有+說明有下級文件。2) Snapshot View :當(dāng)選中Snapshot View時,該子窗口顯示對項目導(dǎo)航器中當(dāng)前打開的項目進(jìn)行復(fù)制。操作方法:選中Module View中項目或子項目,點擊菜單命令Projectake Snapshot,彈出對話框,確認(rèn)后就將Module View顯示的所有項目和子項目以復(fù)制方式在Snapshot View子窗口中顯示。Snapshot View作用使設(shè)計者可以保存幾個不同內(nèi)容的同一項目名的設(shè)計。當(dāng)要從Snapshot View將某一項目內(nèi)容替代當(dāng)前Module View中的項目內(nèi)容,先將要替代的項目內(nèi)容S
4、napshot,然后在Snapshot View窗口中選中要替換的文件夾,點擊鼠標(biāo)右鍵彈出菜單選Make Snapshot Current,或從菜單上選ProjectMake Snapshot Current。3) Library View: 該子窗口顯示項目中所有的庫文件。4) Sources For下拉菜單選項根據(jù)設(shè)計任務(wù)進(jìn)行可選擇。圖1-3 圖1-4Processes 子窗口(位于左中部分)在界面下面有Processes和Options兩個選項項。當(dāng)選Processes 子窗口中的Processes,在Source 子窗口中選工程名或項目名,該界面分別如圖1-3,圖14。圖14中Proc
5、esses由以下幾部分內(nèi)容:è Design Entry Utilities(設(shè)計輸入工具):提供選用元件符號生成、示例模板、HDL轉(zhuǎn)換器、命令行日志文件、運行MTI和仿真程序編譯等功能。èUser Constraints(用戶設(shè)計約束設(shè)置):提供用戶芯片內(nèi)部設(shè)置編輯和時間約束設(shè)計功能。èSynthesis(綜合):提供語法檢測、綜合、RTL原理圖和綜合報告。èImplement Design(設(shè)計實現(xiàn)):提供設(shè)計實現(xiàn)工具、設(shè)計流程報告和其他相關(guān)工具。èGenerate Programming File(生成編譯文件):提供配置工具和位流生成功
6、能。MDI (multi-document interface)子窗口(右面) 1)當(dāng)創(chuàng)建 *. vhd (語言描述)模式輸入或打開 *.vhd,在該子窗口能進(jìn)行ISE文本編輯、ISE語言模板和HDL 測試文本顯示。èText Editor(文本編輯器) :在此窗口可對源文件和其他文本文件進(jìn)行編輯設(shè)計 。èHDL Bencher (HDL測試文本文件) :HDL測試文本文件是將特定的軟件(ModelSim)集成在Project Navigator構(gòu)架中的測試平臺。2)當(dāng)創(chuàng)建*.SCH(原理圖)模式輸入或打開*.SCH,在該子窗口能進(jìn)行電路原理圖設(shè)計。5) 當(dāng)選中Design
7、 Summary,彈出如圖1-2界面。此處有相關(guān)的設(shè)計文檔信息??刂谱哟翱冢ㄏ路剑涸摯翱谟糜陲@示程序運行中的錯誤、警告。例如編寫的VHDL程序、由原理圖生成VHDL程序。有錯誤時error前有紅色方塊顯示,出現(xiàn)警告時warning前有黃色方塊顯示。通過該窗口顯示的信息(例如指出的HDL的錯誤發(fā)生在第幾行、錯誤內(nèi)容。原理圖不能生成VHDL的錯誤等。)供設(shè)計者進(jìn)行HDL或原理圖設(shè)計修改。以上四個子窗口的應(yīng)用在以后的實驗中會進(jìn)一步說明,現(xiàn)在有一個大概了解就可以了。同學(xué)可以通過界面上的 help下拉菜單詳細(xì)了解界面的功能和用途。三、 用原理圖輸入方法設(shè)計新項目2_4譯碼器完成如圖1-5的原理圖輸入設(shè)
8、計。圖1-5方法簡介:1) 在圖11或圖1-2界面窗口點擊菜單File New Project彈出圖16對話框。圖16圖17在Project Name中輸入工程項目名TEXT_1(或自己取),在Top-Level Module Type中通過下拉菜單選Schematic。點擊下一步彈出圖17對話框。對話框中的Value下面的8個內(nèi)容除Top-Level Module Type為Schematic不能改變,其余七項都有下拉菜單。根據(jù)圖17對話框選項。點擊下一步,彈出圖18對話框。圖18 圖19 圖110 在該對話框中點擊New Source, 彈出圖19對話框。在對話框中左面選中Schemati
9、c,在 File欄中輸入原理圖名YMQ1(項目名),點擊下一步,彈出19圖框,點擊完成。出現(xiàn)圖110對話框, Source File欄中已加入了YMQ1.sch文件名。點擊下一步彈出圖111對話框,在此對話框中可以將已有的源文件加入,也可以通過菜單ProjectAdd Source或選菜單ProjectAdd Copy of Source。點擊下一步彈出圖112圖框。在該圖框中包含了新建原理圖的基本信息。點擊完成彈出如圖113。圖111圖1-12 1)根據(jù)圖15將器件放入圖板。雙擊圖標(biāo) 或在Sources窗口如圖1-13點擊圖標(biāo),此時Sources窗口如圖1-14,選中< -All Sy
10、mbols- >,在Symbol Name Filter空白欄中輸入圖15的門電路名,在Symbols欄中選擇所需的器件,拖至圖板,不行的話再雙擊圖標(biāo)為選中狀態(tài)并移動則選中器件可放如圖1-13中間的繪圖板中,以后只要圖標(biāo)為選中狀態(tài),在Symbols欄中選擇所需的器件,選中就可將所選器件放入圖板,也可一通過下拉菜單AddSymbols將所選器件放入圖板。圖113圖1-13中部分圖標(biāo)功能說明:圖標(biāo)功能:逐級放大顯示。圖標(biāo)功能:逐級縮小顯示。圖標(biāo)功能:整圖板顯示。圖標(biāo)功能:根據(jù)所選窗口放大。圖標(biāo)功能:根據(jù)所選單體(元件、網(wǎng)線、總線等)放大。2)根據(jù)圖15連線點擊圖標(biāo) 或選擇菜單AddWire&
11、#160;進(jìn)入連線狀態(tài),此時的Processes子窗口為Add Wire Options,如圖1-15,點擊所要連線的兩端,就會自動連線,對已連線的中間要連線(終端)要雙擊結(jié)束。點擊鼠標(biāo)右鍵退出連線,返回到Select Options狀態(tài)如圖1-15?;螯c擊圖標(biāo)返回到選擇狀態(tài)。在Select Options圖1-14 狀態(tài)選中Select the line segment,再選中圖中一段連 圖1-14 圖1-15線,點擊鼠標(biāo)右鍵可對該線段進(jìn)行刪除、剪切、拷貝等操作。3) 根據(jù)圖15加輸入輸出端口 點擊圖標(biāo) 或選擇菜單AddI/O Marker ,此時的Processes窗口為Add
12、I/O Marker Optiongs。根據(jù)圖13選擇Add an Atomatic marker (或者Add an input marker 或 Add an output Marker)再點擊圖標(biāo)移動端口到所需連接的網(wǎng)線。4)根據(jù)圖15給連線或端口賦名點擊圖標(biāo)或選擇菜單AddNet Name,左面彈出對話框如圖116。在When you click on a branch項中選Name the branch。在name 項輸入en,然后選中en,再點擊圖標(biāo)將鼠標(biāo)十字拖動到網(wǎng)線與端口連接處,則就成了端口命名。也可以選中要命名的網(wǎng)線或總線點擊鼠標(biāo)右鍵后彈出下拉菜單,選Rename port
13、后彈出的對話框?qū)€或總線命名?;蛘咴谶x擇狀態(tài)雙擊該網(wǎng)線或端口,彈出對話框,在對話框中value下輸入網(wǎng)線、端口名。 在給A1-A2,Q0-Q3端口命名時,由于命名連續(xù),當(dāng)在Name欄中輸入q0,然后在After naming the branch or net中選中Increment the name,將鼠標(biāo)十字拖動到輸出端口(按端口標(biāo)號由低到高順序)點擊就會自動將q0q1q2q3。 同樣可以用自動命名對A1、A2端口賦名。再點擊圖標(biāo)或通過Tools下拉菜單Check Schematic 來檢查原理圖輸入是否有錯誤。完成后SAVE。這樣就完成了2_4譯碼器的原理圖設(shè)計輸入。5)設(shè)計一個用總線表
14、示輸入、輸出端口的2_4譯碼器的原理圖 在Sources子窗口點擊Sources在Sources子窗口中選中項目名TEST_1,點擊菜單ProjectNew Source,在對話框中,在File空欄中輸入YMQ2,左欄選Schmatic,點擊完成,進(jìn)入ymq2雙擊Sources in Project子窗口中的ymq2的ECS界面,此界面可以進(jìn)入YMQ1、YMQ2兩個圖板界面。 進(jìn)入YMQ1圖板,將YMQ1原理圖復(fù)制到Y(jié)MQ2(選中原理圖成紅色點擊鼠標(biāo)右鍵選copy,在YMQ2圖板中點擊鼠標(biāo)右鍵選paste)。 i)在YMQ2原理圖中刪除A1、A2、Q0-Q3端口,點擊圖標(biāo) 或選擇菜
15、AddWire 進(jìn)入畫線狀態(tài),畫線位置如圖 114。ii)點擊圖標(biāo) 或選擇菜單AddI/O Marker 在左彈出Add I/O Marker Options對話框中根據(jù)輸入、輸出端口選端口,將端口和所畫線相連。如圖117。 圖116iii)給總線端口命名 點擊圖標(biāo)或選擇菜單AddNet Name,在左面彈出對話框中name 項輸入A(1:0),然后選中A(1:0),再將鼠標(biāo)十字頭拖動到網(wǎng)線與端口連接處,則就完成了輸入總線端口命名,此時的連線由細(xì)線(網(wǎng)線)變成了粗線(總線)。同樣對輸出總線Q(3:0)端口命名。iv)完成總線與網(wǎng)線的連接。點擊圖標(biāo)或選菜單AddgBus Ta
16、p或按Ctul+B鍵,在Processes窗口彈出如圖118對話框,根據(jù)總線引腳的方向選擇,將引腳先與總線相連,如圖119所示,再將總線引腳與對應(yīng)網(wǎng)線連接。根據(jù)前面學(xué)過的方法給網(wǎng)線命名,注意網(wǎng)線命名序號要加括號(例如:Q(0)、Q(1)。完成圖后,保存一下。再點擊圖板或通過Tools下拉菜單Check Schematic 來檢查 圖1-17原理圖輸入是否有錯誤。V) 如果要查看或刪除A(1)整個網(wǎng)線可先點擊 在Processes窗口中選再選點擊A(1)網(wǎng)線根據(jù)需要操作。 如果A(1) 整個網(wǎng)線中有某一段連接錯了,要刪除,則選中欄中的再選中要刪除的某段線,就能將該線段刪除。圖1-18四、 學(xué)習(xí)如
17、何通過選項由原理圖自動VHDL,使用Test Bench Waveform 、ModelSim Simulator對已完成的2_4譯碼器進(jìn)行功能仿真的方法。 以及VHDL Test Bench的使用。 1、 由原理圖自動VHDL程序返回Project Navigator界面,選中Source in Project子窗口選中ymq1,再將Process for Source “ymq1”子窗口中的Design Entry Utilities項展開,選中雙擊View HDL Functional Model,點擊鼠標(biāo)右鍵,彈出圖1-20對話框,選所需的描述語言,再雙擊View HDL Functi
18、onal Model在右面文字編輯子窗口顯示由2_4譯碼器原理圖自動生成描寫2_4譯碼器語言程序。仔細(xì)閱讀并請問該語言描述程序是采用結(jié)構(gòu)體的哪一種描述方式? 圖1-19 圖1-20五、 Test Bench Waveform 、ISE Simulator、ModelSim Simulator的使用1)Test Bench Waveform仿真輸入信號界面設(shè)置操作a、將圖1-20中的Value中的選項恢復(fù)為默認(rèn)的Verilog。b、在Source in Project子窗口選中ymq1,然后點擊菜單Projectnew Source,在左欄中選Test Bench Waveform , 文件名輸
19、入YMQ1_twb,點擊完成,此時彈出一個測試輸入波形設(shè)置對話框,如圖121。點擊OK,在右面彈出測試波形圖如圖122。如果測試時間長度不合適或時鐘標(biāo)尺不合適,可以在圖板上點擊鼠標(biāo)右鍵,選菜單中的Set End of test Bench或Rsecale Timing重新設(shè)置。注意圖1-21中Clock Information的選項,默認(rèn)的是“Single Clock”。在輸入沒有時鐘信號要選“Combinatorial (or interal clock)。在圖1-22界面,單擊輸入信號A1、A2、EN波形可設(shè)置0、1電平,根據(jù)表格1-1設(shè)置。圖1-21 圖1-22en01A10101010
20、1A200110011表1-1如果希望連續(xù)設(shè)置可雙擊輸入信號波形處會彈出set value對話框,點擊Pattern Wizard,彈出對話框Pattern Wizard如圖123。Pattern Wizard中有:i) 模式選擇(Choose Pattern): 當(dāng)選隨機(jī)模式(Random),則根據(jù)重復(fù)次數(shù)設(shè)置隨機(jī)設(shè)置電平。當(dāng)選觸發(fā)模式(Toggle), 除根據(jù)重復(fù)次數(shù)設(shè)置外還要根據(jù)規(guī)定模式設(shè)置電平。圖1-23圖1-24ii)碼設(shè)置(Radix):有16、10、2進(jìn)制三種,信號量只能2進(jìn)制。 iii)重復(fù)次數(shù)設(shè)置(Repeat Pattern):根據(jù)仿真需要設(shè)置次數(shù)。iv)規(guī)定格式設(shè)置(Cu
21、stomize pettern):當(dāng)初始值(initial value)設(shè)置為1時,其他值(other Value)設(shè)置為0,或者相反,兩者不能一樣(可以是0、1、Z、X 、U)。v)觸發(fā)轉(zhuǎn)換周期(Toggle Every):設(shè)置電平由高到低或低到高的周期數(shù)。數(shù)值在1999范圍內(nèi)。手動對A1、A2、EN輸入信號的電平設(shè)置完后, 保存一下。在Sources子窗口中的Sources for中選Behavioral Simulation,再按圖1-25選中propertise彈出圖1-26窗口,展開simulator項可以現(xiàn)在仿真工具。 設(shè)置完Test Bench Waveform,保存一下。在So
22、urces for 選項中behaviorial simulation如圖1-25。在圖1-26中展開圖1-25 圖1-261) ISE仿真軟件的操作可以選擇ISE自帶的仿真工具“ISE Simulator(VHDL/Verilog)項,選中后綴為.tbw仿真文件。在Sources界面中根據(jù)圖1-27選擇操作,雙擊Properties彈出圖1-28界面。圖1-27圖1-28根據(jù)圖1-28選項,在Porcessses子窗口中點擊左下的Porcessses選項中雙擊“Simulate Bhevioral Model” ,見圖1-29。觀察simulation界面上的輸入及Q0、Q1、Q2、Q3輸出
23、響應(yīng)波形。 圖1-29可以在圖1-30的仿真波形圖上點擊鼠標(biāo)右鍵,彈出如圖1-31中的菜單,圖1-30圖1-31當(dāng)選“Add Marker”項會出現(xiàn)測量桿,測量桿可以左右移動,其測量桿位置所對應(yīng)的輸入輸出值在左側(cè)顯示。也可以根據(jù)實際需要增加測量桿或刪除測量標(biāo)桿。 圖1-322)可以圖1-28中選擇第三方仿真工具M(jìn)odelSim。假如選擇“Modelsim-SE Mixed在ModelSim Simulator中選第一項,運行如圖1-33 ,觀察HDLBencher上的Q0、Q1、Q2、Q3輸出響應(yīng)。 圖1-34ModelSim Simulator仿真的操作i)在完成Test Bench Wav
24、eform波形窗口輸入值設(shè)置后,就可以進(jìn)行ModelSim Simulator仿真操作,運行Porcessses子窗口中,放大wave-default窗口,通過調(diào)節(jié)顯示波形,了解下列功能圖標(biāo)作用:。wave-default窗口波形如圖1-35。點擊會彈出豎向標(biāo)尺(標(biāo)尺可以移動),該標(biāo)桿所在波形位置其對應(yīng)的數(shù)值在左面顯示。如果要改變輸入信號再觀察ModelSim的輸出波形有兩種方法:方法1:在窗口上重新設(shè)置輸入波形并保存,關(guān)閉ModelSim SE PLUS, 再運行Porcessses子窗口中的,就可以觀察重新輸入的信號設(shè)置和輸出響應(yīng)波形。方法2:在窗口上重新設(shè)置輸入波形并保存,在ModeSi
25、m主界面選中compile下拉菜單的compile,彈出圖1-36對話框,選中后綴為.twf 圖1-35 圖1-36或.vhw文件名,點擊Compile,wave-default窗口,點擊圖標(biāo)(運行Restart),再點擊圖標(biāo)(運行Run All),就可以觀察重新輸入輸入信號后的輸出相應(yīng)波形。根據(jù)表1-2重新設(shè)置輸入信號,觀察輸出波形,并填入表1-2中。en01A110101010A211001100Q0Q1Q2Q3 表1-2 3、VHDL Test Bench的使用ISE8.1設(shè)計軟件還提供了一個根據(jù)通過Test Bench Waveform窗口設(shè)置的輸入信號自動生成Test Bench V
26、HDL的功能。設(shè)置好窗口的輸入信號,在Sources子窗口和Processes子窗口選項如圖1-37, 運行View Generated Test Bench As HDL,在右面窗口就自動生成TEXT_1_TWB的VHDL 的測試程序。該程序的測試輸入信號是否是根據(jù)Test Bench Waveform窗口設(shè)置編寫的?請檢查一下。 圖1-37六、 現(xiàn)在要求在已完成YMQ2原理圖進(jìn)行VHDL語言生成及Test Bench Waveform、ISE Simulator 、ModelSim Simulator 仿真測試及VHDL Test Bench 的自動生成練習(xí)。并根據(jù)表1-3在Test Be
27、nch Waveform界面設(shè)置仿真輸入波形,通過ISE及ModelSim仿真工具,觀察輸出結(jié)果并填入表1-3中。en01A(2:1)0001101100011011Q(3:0)表1-3實驗二、原理圖輸入與仿真及由原理圖生成元器件模塊實驗一、 實驗內(nèi)容1、 完成所給原理圖的設(shè)計輸入。2、 對已完成的原理圖進(jìn)行VHDL轉(zhuǎn)換和Test Bench Waveform、ISE Simulator、ModelSim Simulator 仿真測試。3、 學(xué)習(xí)觀察器件下級原理圖及由原理圖生成模塊的方法。二、 一位全加法器的原理圖設(shè)計輸入及Test Bench Waveform、ISE Simulator、M
28、odelSim Simulator 仿真測試及VHDL轉(zhuǎn)換。圖圖21 表21ABCinSumCout0000010100111001011101111)新建一個項目名為TEST_2項目,完成如圖21原理圖的設(shè)計輸入。2)用Test Bench Waveform、ModelSim Simulator 進(jìn)行仿真測試,將仿真結(jié)果填入一位全加法器真值表表21中。3)利用生成器將原理圖轉(zhuǎn)換為VHDL描述的語言。三、 二位比較器的原理圖設(shè)計輸入及Test Bench Waveform、ModelSim Simulator 仿真測試及VHDL轉(zhuǎn)換。1)在已建的項目名TEST_2下,完成如圖22原理圖的設(shè)計輸
29、入。2)用Test Bench Waveform、ModelSim Simulator 進(jìn)行仿真測試,將仿真結(jié)果填入一位全加法器真值表表22中。3) 生成器將原理圖轉(zhuǎn)換為VHDL描述的語言。表22 A與B的關(guān)系Q值A(chǔ)>BA<BA=B四、 復(fù)習(xí)查看調(diào)用器件模塊的下級原理圖的方法1)在ECS界面,打開已完成的原理圖(比較器或加法器),加入器件模塊CB16CE,選中CB16CE器件模塊點擊鼠標(biāo)右鍵選Symbol Push Into Symbol,此時圖板顯示的為CB16CE器件模塊的下級原理圖,以同樣的方法查看CB16CE原理圖中FTCE模塊的下級原理圖。2) 模塊的下級原理圖級,在空白
30、處點擊鼠標(biāo)右鍵選Pop to Calling Schematic,就返回到上一級。3) 可以a)通過選中模塊點擊圖標(biāo) 來觀看下一級原理圖,和點擊下級原理圖的空白處和圖標(biāo)來返回到上級模塊。4)通過選中模塊點擊菜單Viewg Push Into Symbol來觀看下一級原理圖,和點擊菜單ViewgPop to Calling Schematic來返回到上級模塊。請自己操作一下。五、由建立的原理圖生成模塊器件的方法 1)建立模塊:當(dāng)完成原理圖輸入并保存后,在Source in Project子窗口選中要生成模塊的原理圖名,在Process for Source “原理圖文件名”子窗口中,雙擊Desi
31、gn Entry Utilities 下級Create Schematic Symbol,成功后在Create Schematic Symbol前會打上一個綠色的勾,表示模塊生成成功。2)調(diào)用新建模塊:在ECS窗口,新建一張原理圖,點擊圖標(biāo)在左欄中選中項目文件名的路徑,在Symbols欄中將已建立的模塊放入新建原理圖中,可以用前面學(xué)過的方法觀察模塊的下級原理圖。3)完成另一個已有原理圖的模塊生成。六、根據(jù)教課書第18頁題2.2進(jìn)行原理圖輸入設(shè)計并仿真,根據(jù)仿真說明該電路功能。圖22實驗三 VHDL設(shè)計輸入及時鐘頻率仿真和測試 一、 實驗內(nèi)容1、 VHDL設(shè)計輸入的方法學(xué)習(xí)。2、 利用語言模板進(jìn)
32、行VHDL設(shè)計輸入。3、 如何運用控制子窗口的提示更改語法錯誤。4、 綜合技術(shù)的應(yīng)用學(xué)習(xí)。5、 時序仿真時周期的測量方法。二、 用VHDL設(shè)計一個六分頻器1、新建一個(Project Name)名為TEST_3項目,在圖31對話框中,左欄選VHDL Module,F(xiàn)ile欄中輸入FPQ3,點擊下一步。圖31圖322、在圖32對話框中第一欄輸入端口名。第二欄中通過下拉菜單輸入端口方向。第三欄和第四欄為需輸入的端口總線最高位(MSB)和最低位(LSB),通過點擊空格,彈出的上下箭頭輸入需要值,信號量(std_logic、bit)不用輸入。3、完成后在右面的MDI子窗口自動生成VHDL語言描述的庫、
33、實體以及結(jié)構(gòu)體框架(如圖33),在結(jié)構(gòu)體中輸入設(shè)計內(nèi)容,就完成了該電路的VHDL設(shè)計。圖33 4、在VHDL編譯窗口中關(guān)鍵字為藍(lán)色(如 end ; port 等),數(shù)據(jù)類型為粉紅色,注釋為綠色。庫名、實體名、端口名、結(jié)構(gòu)體名、均為黑色。這樣有助于發(fā)現(xiàn)輸入錯誤。完整的6分頻器VHDL程序如下(也可以自己設(shè)計):library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity FPQ3 is Port ( CLK : in std_logic; C
34、P : out std_logic);end FPQ3;architecture Behavioral of FPQ3 is signal a:integer range 0 to 5; begin process(CLK) begin if (CLK'event and CLK='1') then if a=5 then a<=0; else a<=a+1; end if; case a is when 0|1|2=>CP<='1' when 3|4|5=>CP<='0' when others=&g
35、t;CP<='Z' end case;end if; end process;end Behavioral;5、生成VHDL模塊結(jié)構(gòu)體內(nèi)輸入完畢后進(jìn)行保存。在Processes子窗口中,雙擊(Design Entry Utilities 下級)Create Schematic Symbol,運行后在控制子窗口(左下方)彈出Create Schematic Symbol" completed successfully,表示VHDL模塊生成。但不能保證設(shè)計語法沒有錯誤。要通過雙擊Processes子窗口中的Synthesiz-XST子項Check Syntax進(jìn)行語
36、法檢測,必須查看控制子窗口是否有報錯、警告,根據(jù)指出的錯誤進(jìn)行修改,直到控制子窗口沒有報錯和警告。 6、 View VHDL Intantiation Template的作用雙擊(Design Entry Utilities 下級)View VHDL Intantiation Template,生成后在控制子窗口(左下方)會彈出Process "View HDL Instantiation Template" completed successfully,同樣不能保證設(shè)計語法沒有錯誤,必須查看控制子窗口是否有報錯、警告,如果有要根據(jù)指出的錯誤進(jìn)行修改,直到控制子窗口沒有報錯
37、和警告。用鼠標(biāo)選中View VHDL Intantiation Template,點擊鼠標(biāo)右鍵選Open Without Updating,在右面的MDI子窗口自動顯示生成的fpq3.vhi文本,當(dāng)fpq3作為元件被上層VHDL程序被調(diào)用時,可以將fpq3.vhi文本中的調(diào)用元件說明、端口映射框架復(fù)制過去,加入上層VHDL程序的對應(yīng)端口就可以完成上層VHDL程序中fpq3元件調(diào)用語句和端口映射語句。7、綜合技術(shù)的應(yīng)用 在Processes子窗口中,展開Synthesize-XST。XST是Xilinx Synthesis Technology的縮寫。直接雙擊Synthesize-XST,如果有
38、錯誤,會在Synthesize-XST前打紅色r,在View Synthesis Report前打綠色的,可以閱讀綜合報告來發(fā)現(xiàn)錯誤,也可以從控制子窗口找錯。如果都正確,在Synthesize-XST前打綠色的,在View Synthesis Report前打綠色的,Check Syntax打綠色的。點擊View RTL Schematic,在ESC窗口,可以看到由VHDL程序自動生成的RTL Schematic模塊(上層),通過層次進(jìn)入下級可以一層一層到達(dá)最底層原理圖。點擊View Synthesis Report閱讀綜合報告(FPQ3.SYS)和點擊圖標(biāo)打開的報告。三、 ModelSim
39、Simulator中的時序仿真及周期測量方法1、 在Sources子窗口選中fpq3-behavioral,點擊菜單ProjectgNew Source彈出圖34對話框,左欄選Test Bench Waveform,輸入文件名fpq3_twb,完成后彈出圖35對話框。圖34 圖35 根據(jù)圖35輸入數(shù)值。點擊OK,在右面顯示測試波形,保存一下。如圖3-6在Sources 子窗口選Behavioral Simultion 和fpq3_tw,在Processes 在窗口選Processes ,運行 Generate Expected Simulation Results,觀察測試窗口的輸出波形。如果
40、設(shè)置不合適,可以點擊圖面的空白處彈出如圖3-7的下拉菜單,選中下拉菜單中的jk項,重新設(shè)置仿真參數(shù)的時鐘和長度。運行Simulate Behavioral Model,鏈接ModelSim SE。 通過wave-default窗口觀察輸出波形cp。方法:點擊菜單ViewgZoomgZoom full和Zoom in觀察輸出波形。由于是6分頻器比較容易判別結(jié)果是否正確。如果是100分頻器,通過數(shù)數(shù)就很不合理。此軟件有測試標(biāo)尺,可以通過測試標(biāo)尺值來計算設(shè)計結(jié)果是否正確。方法介紹如下:在ModelSim SE波形 圖3-612 圖3-7 界面先用鼠標(biāo)點擊要測量波形周期的上升沿或下降沿(粗選定),再點
41、擊圖標(biāo)(鼠標(biāo)點擊的是下降沿)或圖標(biāo)(鼠標(biāo)點擊的是上升沿),來準(zhǔn)確選取,再點擊圖標(biāo)和圖標(biāo)或及圖標(biāo)使縱向標(biāo)尺在所選波形的一個周期兩端,此時在界面下方,兩根縱向標(biāo)尺分別顯示周期兩端時間坐標(biāo)值,兩根縱向標(biāo)尺之間為所測波形周期值。點擊圖標(biāo)再點擊縱向標(biāo)尺,縱向標(biāo)尺將被刪除。請測一下CLK及CP的周期值,用CP的周期值除以CLK的周期值值為多少?,此值就是分頻數(shù)。如圖3-8。圖3-8四、 1、根據(jù)教課書第18頁習(xí)題2.2圖,用VHDL描述該電路,并進(jìn)行仿真驗證。 2、用VHDL設(shè)計一個20分頻器,并進(jìn)行仿真驗證。 3、如果現(xiàn)有的硬件上提供的時鐘信號為50Hz,而電路需要0.5秒的時鐘信號,請用VHDL設(shè)計能
42、實現(xiàn)該功能的分頻器電路,并進(jìn)行仿真驗證。實驗四.運用Language Templates設(shè)計VHDL 及符號編輯工具的運用一、實驗內(nèi)容:1、 運用語句模板設(shè)計VHDL。2、 仿真時總線數(shù)據(jù)類型設(shè)置及總線數(shù)據(jù)顯示格式的不同設(shè)置。3、 符號編輯工具的運用。4、 用VHDL設(shè)計一個16進(jìn)制減法計數(shù)器及仿真驗證。二、用語句模板設(shè)計VHDL 新建一個項目名為TEST_4,在項目名下設(shè)計一個六進(jìn)制計數(shù)器的VHDL程序,步驟與實驗三中第二中部分中的1、2相同。在MDI子窗口自動生成六進(jìn)制計數(shù)器VHDL語言描述的庫、實體以及結(jié)構(gòu)體框架后,點擊菜單Edit"Language Templates,在右面
43、的MDI子窗口彈出Templates,選VHDL"Synthesis Constructs"coding Examples"counters"up counters"simple counter如圖41。將語言模板中的程序復(fù)制到六進(jìn)制計數(shù)器的結(jié)構(gòu)體中,根據(jù)設(shè)計具體要求作修改。圖42是未作修改的加入模板后的六進(jìn)制計數(shù)器VHDL程序。修改后的六進(jìn)制計數(shù)器的VHDL程序見程序一。建成后保存。要求完成以下實驗內(nèi)容:1) 語法檢測。 2) VHDL模塊的生成。3) RTLRTL Schematic模塊的生成及下級原理圖的閱讀。4) 閱讀綜合報告。5) 仿
44、真驗證。圖41圖42參考程序1library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity JSQ6 isPort ( EN,CLK : in STD_LOGIC;Q : inout STD_LOGIC_VECTOR(2 DOWNTO 0);end JSQ6;architecture Behavioral of JSQ6 isbeginPROCESS(CLK,EN)BEGINIF EN='0'THENQ<="
45、000"ELSIF CLK'EVENT AND CLK='1' THENIF Q="101" THENQ<="000" ;ELSE Q<=Q+1;END IF;END IF;END PROCESS; end Behavioral; 圖44在wave-default窗口觀察六進(jìn)制輸出波形Q時,Q前有號表示,為總線雙擊 號,此時窗口同時顯示總線波形和總線展開的網(wǎng)線波形。雙擊Q前的 號,展開的總線合并。1)選中總線點擊鼠標(biāo)右鍵,選Radix彈出如圖44,總線可以用8種數(shù)據(jù)類型顯示,請分別用這8種數(shù)據(jù)類型顯示輸出Q。
46、2)選中總線點擊鼠標(biāo)右鍵,選Format,總線可以用三種格式顯示。如果選CLK也可以用三種格式顯示。請分別選總線、時鐘信號用三種顯示格式操作一下。三、符號編輯工具的運用 當(dāng)由原理圖、VHDL、狀態(tài)圖設(shè)計輸入生成模塊后,有時候希望模塊的輸入、輸出引腳位置作一些上下、左右調(diào)整,使各模塊連線減少交叉,可通過符號編輯(Edit Symbol)實現(xiàn)。 現(xiàn)在在項目名為TEST_4下新建一個名為TEST_41的原理圖,將由VHDL 圖45描述的6進(jìn)制計數(shù)模塊放入TEST_41的原理圖中,如圖45,現(xiàn)在將圖45的模塊進(jìn)行符號編輯,使其的模塊引腳位置及形狀如圖46所示。圖461)選中圖45模塊,點擊鼠標(biāo)右鍵選菜
47、單如圖47。此時進(jìn)入原理圖名為 圖47JSQ6的JSQ6符號編輯窗口,選中模塊邊框移動鼠標(biāo)可以改變形狀,或刪除原有形狀重新畫,再根據(jù)圖48選中引腳及引腳名移動鼠標(biāo)將引腳放到圖46所示的位置。完成編輯后保存,再打開TEST_41原理圖,會彈出對話框如圖49,選擇更新(Update)和OK,這樣就完成了JSQ6模塊的符號編輯。 圖48圖49四、練習(xí)1、在TEST_4項目名下用語句模板設(shè)計10進(jìn)制減法計數(shù)器。要求:1) 設(shè)計電路仿真驗證。2) 分別用8種數(shù)據(jù)類型顯示輸出。3) 分別用三種格式顯示輸出。 2、設(shè)計一個有控制端控制可以進(jìn)行12進(jìn)制加或8進(jìn)制加的(有進(jìn)位指示)的VHDL 電路。要求設(shè)對計電
48、路仿真驗證。實驗五、頂層為原理圖的能顯示16進(jìn)制減法計數(shù)器設(shè)計一、 實驗內(nèi)容:用VHDL設(shè)計一個二選一電路,并用ModelSim Simulator 仿真驗證。 要求該二選一電路能實現(xiàn)16進(jìn)制數(shù)的兩位數(shù)據(jù)串行輸出(或稱動態(tài)輸出)。(在圖51中為KZ模塊,其中Q(3:0)為數(shù)據(jù)輸出信號,D(2:0)為輸出位選通信號)。2、用VHDL設(shè)計一個16進(jìn)制減法器,并用ModelSim Simulator 仿真驗證。 3、用VHDL設(shè)計一個共陰極7段譯碼電路,并用ModelSim Simulator 仿真驗證。4、設(shè)計一個能顯示15到0減法計數(shù)器頂層為原理圖電路。用ModelSim Simulator 仿
49、真驗證。5、設(shè)計一個能將一個輸入總線數(shù)值為0000到1111的分成輸出為個、十位的二個總線信號(個位為0000到1001,十位為0000到0001)。6、學(xué)習(xí)根據(jù)硬件實驗裝置外圍電路與可編程器件引腳連接關(guān)系的附錄表1(或所選硬件實驗裝置的芯片與外圍電路連接附錄表)定義芯片的I/O管腳,并將所設(shè)計16進(jìn)制減法計數(shù)器下載到可編程器件芯片中去,通過硬件實驗裝置驗證設(shè)計結(jié)果。7、掌握數(shù)據(jù)并行輸入并行輸出,串行輸入并行輸出及并行輸入串行輸出的設(shè)計電路。本設(shè)計中控制電路為數(shù)據(jù)并行輸入串行輸出。二、 實驗步驟新建一個項目名TEST_5,頂層為原理圖,原理圖名為XSQ,可編程芯片選SPARTAN3系列中XC3
50、S50-TQ144(或根據(jù)所選硬件裝置上的芯片系列型號)。1)畫出能兩位動態(tài)顯示(串行)十進(jìn)制的16進(jìn)制減法計數(shù)器的框圖。 2)分別用VHDL設(shè)計下層各模塊:(1)二選一掃描電路(KZ)、(2)共陰極7段譯碼電路(decode)、(3)16進(jìn)制減法計數(shù)器(jsq 16)、(4)將十六進(jìn)制分成十進(jìn)制的高低位(個、十位)(gdf),(5)根據(jù)所給時鐘頻率設(shè)計記數(shù)分頻器和掃描分頻器(硬件驗證實驗裝置的輸入時鐘頻率為10MHZ,也可查附錄表1獲得)。其中16進(jìn)制減法計數(shù)器(jsq16)可通過Project Navigator界面中菜單ProjectgAdd Source從實驗四中將練習(xí)時已生成的16進(jìn)
51、制減法計數(shù)器VHDL加入(調(diào)入)。3)在右面界面的XSQ原理圖圖板中完成模塊的各設(shè)計模塊的連接。如圖51。保存后各設(shè)計模塊由原來的與XSQ原理圖同級文件成為XSQ原理圖下級文件。見Sources子窗口。4)給輸入輸出端口定義引腳序號如果不給芯片的定義I/O引腳序號,則軟件編譯時會自動生成設(shè)計的I/O引腳表,設(shè)計者根據(jù)I/O引腳表通過連接線將芯片端口與外圍器件連接。在給定的硬件驗證實驗裝置LP2900上芯片與外圍器件的接口引腳已固定,只能自己收到定義I/O引腳。手動定義引腳操作方法:在Project Navigator界面中選菜單ProjectgNew Source,在file欄中輸入文件名,左
52、欄選Implementation Constraints File,然后點擊“下一步”,在Source File中選設(shè)計頂層文件名,點擊“下一步”此時在sources in Project中生成后綴名為.ucf文件,選中.ucf文件,在Processes for Source中雙擊,如果設(shè)計無誤,則會彈出.ucf文件窗口如圖5-5,在圖5-6窗口中通過Design Object List I/O pin 表和Package Pin for xc3s50-TQ144或Deveic Architecture for xc3s50-TQ144進(jìn)行人工定義引腳,為了與硬件外圍設(shè)備相匹配,要根據(jù)硬件設(shè)備(例如按鍵、數(shù)碼管、LED發(fā)光二極管等)與芯片引腳連接表(見附錄表 1 )進(jìn)行定義可編程器件引腳。如要使在LP2900實驗裝置中en使能端通過按鍵SW1控制,由附錄表查得按鍵SW1與芯片引腳P20相連,則應(yīng)定義en引腳為P20。全部定義結(jié)束后,保存一下。對于引腳定義不要選用專用引腳(例VCC、GND等),時鐘信號引腳要選用I/O/GCK (Global Clock)全局時鐘信號。在Package Pin Legend窗口說明了Package Pin for xc
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 獸醫(yī)急救藥品使用試題及答案
- 氣象災(zāi)害的應(yīng)對與預(yù)防策略試題及答案
- 投資咨詢工程師投資策略試題及答案
- 如何做點名課件
- 創(chuàng)業(yè)低成本項目案例分享
- 勞動教育的意義與實施
- 人力資源管理師考試的模擬試題及答案
- 醫(yī)院急診部的工作效率提升計劃
- 應(yīng)對工作中突發(fā)事件的預(yù)案計劃
- 提升班級藝術(shù)活動參與度的策略計劃
- 企業(yè)廉潔風(fēng)險防控課件教學(xué)
- 中醫(yī)護(hù)理三基練習(xí)題庫+答案
- 2023年陜西省中考?xì)v史真題含答案
- 形勢與政策(吉林大學(xué))智慧樹知到答案章節(jié)測試2023年
- 用戶中心積分成長值體系需求文檔
- 2021商超全年52周企劃MD營銷銷售計劃培訓(xùn)課件-96P
- 勞務(wù)派遣用工管理辦法
- 初中數(shù)學(xué)人教七年級下冊第七章 平面直角坐標(biāo)系 平面直角坐標(biāo)系中圖形面積的求法PPT
- 頰癌病人的護(hù)理查房
- 特種設(shè)備使用登記表(范本)
- YSJ 007-1990 有色金屬選礦廠 試驗室、化驗室及技術(shù)檢查站工藝設(shè)計標(biāo)準(zhǔn)(試行)(附條文說明)
評論
0/150
提交評論