EDA技術(shù)與應(yīng)用實驗2016_第1頁
EDA技術(shù)與應(yīng)用實驗2016_第2頁
EDA技術(shù)與應(yīng)用實驗2016_第3頁
EDA技術(shù)與應(yīng)用實驗2016_第4頁
EDA技術(shù)與應(yīng)用實驗2016_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

EDA技術(shù)與應(yīng)用實驗宋繼志劉文英實驗要求與實驗報告要求實驗要求實驗前,應(yīng)認(rèn)真準(zhǔn)備,預(yù)習(xí)實驗內(nèi)容,編寫代碼。實驗中,仿真測試,需要下載測試的同學(xué)領(lǐng)取開發(fā)板。實驗后,整理好開發(fā)板上交。

有關(guān)實驗內(nèi)容下載地址:21用戶名與密碼:eda實驗要求與實驗報告要求實驗報告要求實驗報告寫一個綜合的設(shè)計報告,通常包含以下幾部分:(1)實驗設(shè)計要求。(2)總體設(shè)計,包括總體設(shè)計思路/設(shè)計思想、設(shè)計原理圖、模塊劃分等。(3)分模塊的功能實現(xiàn)以及每個模塊的波形仿真圖及簡單分析說明。(4)關(guān)鍵技術(shù)分析,包括分析設(shè)計中的主要技術(shù)要點和難點(5)實驗完成情況,分析系統(tǒng)的功能特點,以及不足。實驗演示與說明。(6)實驗中遇到的問題及解決方法,包括對分析綜合或編譯過程中的錯誤、警告信息的分析。(7)實驗總結(jié)、個人收獲與體會。(8)附錄,實驗的核心代碼。實驗報告還應(yīng)提交實驗程序,建議提交以下文件:QuartusII工程文件(.qpf),Verilog源文件(.v)或VHDL源文件(.vhd),原理圖文件(.bdf),測試激勵文件(.vwf),設(shè)置文件(.qsf),下載文件(.sof)。Verilog或VHDL程序應(yīng)進(jìn)行必要的注釋,重點說明信號和進(jìn)程的含義??己朔绞匠煽冊u定主要由檢查驗收和實驗報告二部分組成??偝煽?檢查驗收(占60%)+實驗報告(40%)其中,檢查驗收成績包括平時表現(xiàn)、實驗預(yù)習(xí)、實驗驗收等。DE2開發(fā)板簡介DE2開發(fā)板簡介DE2實驗板基本輸入輸出引腳信號1. LED燈:有兩組,LEDR[17:0]和LEDG[7:0]這兩組LED燈用于簡單輸出。一般用于二進(jìn)制結(jié)果輸出,如果是較大的十進(jìn)制數(shù),采用HEX或者LCD輸出較好。oLEDR

與oLEDG

除了數(shù)量與顏色不同外,用法基本一致。2. HEX發(fā)光管HEX[7:0],用于數(shù)值的輸出。一般用于十進(jìn)制或十六進(jìn)制結(jié)果的輸出,有時也可用來顯示英文字符。DE2有八個七段數(shù)碼管,被分為兩組,每組四個,提供一個低電平將點亮管子,高電平使它熄滅。注意每個管子的小數(shù)點都沒有進(jìn)行連接它們是不可用的。3. 開關(guān)SW[17:0]:用于簡單的輸入。擁有輸入并保持同一電平信號的優(yōu)勢,一般用于數(shù)據(jù)信號或者功能控制信號。相對于按鈕來說,可以用開關(guān)手工模擬低速的方波信號。4. 按鈕KEY[3:0]:用于簡單的輸入。

平時狀態(tài)是高電平,按下時低電平,一般用于復(fù)位信號與單步調(diào)試時的時鐘信號。實驗注意事項1.注意DE2開發(fā)板下載線接口接到USB

BlasterPort上2.數(shù)碼管分共陰極與共陽極共陽極(公共端接高電平或+5V電壓)共陰極(公共端接低電平或接地)

共陽極:各段選為低電平(即0接地時)選中各數(shù)碼段.共陰極:各段選為高電平(即+5V接電源時)選中各數(shù)碼段

DE2開發(fā)板上的數(shù)碼管是共陽極的共陽極由0到F的編碼為:ucharcodetable[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};共陰極由0到F的編碼為:ucharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};授權(quán)文件License的安裝將Quartus_II_9.0破解器.exe拷貝到C:\altera\90\quartus\bin文件夾下,直接在該文件夾下運(yùn)行,破解C:\altera\90\quartus\bin下的sys_cpt.dll和quartus.exe文件。運(yùn)行Quartus_II_9.0破解器.exe后,直接點擊“應(yīng)用補(bǔ)丁”。如果出現(xiàn)“未找到該文件。搜索該文件嗎?”,點擊“是”。

如果把Quartus_II_9.0破解器.exe直接Copy到C:\altera\90\quartus\bin下,就不會出現(xiàn)這個對話框,而是直接開始破解,生成授權(quán)文件license.dat。(2)選中生成授權(quán)文件license.dat,用記事本打開。默認(rèn)的license.dat路徑是在C:\altera\90\quartus\bin下。(3)把license.dat里所有的XXXXXXXXXXXX用計算機(jī)網(wǎng)卡號替換,計算機(jī)網(wǎng)卡號可以通過QuartusII9.0的Tools菜單下選擇LicenseSetup,下面就有NICID。(4)在QuartusII9.0的Tools菜單下選擇LicenseSetup,然后選擇Licensefile,最后點擊OK。注意:license文件存放的路徑名稱不能包含漢字和空格,空格可以用下劃線代替USB-Blaster的驅(qū)動安裝

將DE2-35實驗平臺的Blaster接口(開發(fā)板上部最左邊)接好USB連接線,插頭插入主機(jī)的USB接口,WindowsXP發(fā)現(xiàn)新硬件后會彈出一個對話框。按提示選擇USB-Blaster驅(qū)動程序的在WindowsXP下的安裝路徑選擇:

D:\altera\90\quartus\drivers\usb-blaster\usbblst.inf若是初次安裝的QuartusII,在下載編程前需要選擇下載接口方式。在圖0-1所示窗口中單擊“HardwareSetup”,可打開如圖0-2所示的窗口。在這里,選擇“USBBlasterII”,雙擊鼠標(biāo)后,關(guān)閉該窗口。圖0-1圖0-2實驗內(nèi)容簡單NiosII系統(tǒng)的設(shè)計---LCD顯示實驗基于NiosII系統(tǒng)的跑馬燈實驗基于SOPC的電子鐘設(shè)計

計數(shù)器的設(shè)計與測試譯碼器的設(shè)計與測試基于EDA的電子鐘設(shè)計

用原理圖輸入法設(shè)計全加器-----熟悉EDA設(shè)計流程

前四次實驗課按分組,最后一次實驗以開放的形式。實驗任務(wù):基于EDA的電子鐘設(shè)計或者基于SOPC的電子鐘設(shè)計,完成設(shè)計后下載到DE2開發(fā)板驗證測試。實驗檢查:每個實驗完成后老師檢查,記錄。實驗報告:最后以大作業(yè)的形式上交綜合設(shè)計報告。原理圖輸入法設(shè)計4位全加器---熟悉EDA設(shè)計流程設(shè)計任務(wù)分析:原理圖輸入法設(shè)計4位全加器4位全加器由4個1位全加器組成,1位全加器由2個半加器組成。先設(shè)計1位半加器,利用真值表、與或非門設(shè)計仿真,封裝入庫。再設(shè)計1位全加器,利用已經(jīng)設(shè)計并封裝好的半加器完成設(shè)計,封裝入庫。最后設(shè)計4位全加器,利用已經(jīng)設(shè)計并封裝好的1位全加器構(gòu)成4位全加器,并完成仿真和硬件測試。原理圖輸入法設(shè)計4位全加器---熟悉EDA設(shè)計流程原理圖輸入法設(shè)計4位全加器---熟悉EDA設(shè)計流程實驗內(nèi)容1.設(shè)計1位全加器。先設(shè)計1位半加器,再設(shè)計1位全加器的。包括原理圖輸入、編譯、綜合、適配、仿真、實驗板上的硬件測試,并將此全加器電路設(shè)置成一個硬件符號入庫。2.設(shè)計4位全加器。建立一個更高的原理圖設(shè)計層次,利用以上獲得的1位全加器構(gòu)成4位全加器,并完成編譯、綜合、適配、仿真和硬件測試。3.在完成原理圖設(shè)計的基礎(chǔ)上,用HDL語言設(shè)計4位全加器,必須使用元件例化。并仿真和硬件驗證設(shè)計結(jié)果。(選作)采用QuatusⅡ的PLD設(shè)計方法首先在D盤創(chuàng)建一個個人文件夾,在個人文件夾下創(chuàng)建每個實驗內(nèi)容的工作目錄。2.在QuatusⅡ中創(chuàng)建一個工程。3.子模塊設(shè)計:每個模塊可以用原理圖或HDL語言描述,對每個模塊進(jìn)行編譯、仿真,通過后然后生成模塊符號。4.頂層設(shè)計:創(chuàng)建一個頂層圖形文件,將各模塊符號放到圖中,添加輸入、輸出引腳,連線;編譯,仿真。5.給輸入、輸出引腳分配引腳號碼,編程下載。文件夾、工作目錄和工程名不能有空格和漢字!原理圖輸入法設(shè)計4位全加器---熟悉EDA設(shè)計流程注意事宜:1.首先在D盤創(chuàng)建個人文件夾任何一項設(shè)計都是一項工程(project),必須首先為此工程建立一個放置與此工程相關(guān)的所有文件的文件夾,此文件夾將被QuartusII

默認(rèn)為工作庫(Work

Library)。同一工程的所有文件都必須放在同一文件夾中。文件夾所在路徑名和文件夾名中不能用中文,不能用空格,不能用括號(),可用下劃線_,最好也不要以數(shù)字開頭。

2.工程名與頂層文件的實體名建議工程項目名稱最好與頂層文件同名,同名為adder4b。

3.每次修改后都需要重新編譯。原理圖輸入法設(shè)計4位全加器---熟悉EDA設(shè)計流程注意事宜:4.功能仿真需要先生成功能仿真網(wǎng)表。

選擇菜單“Processing”中“SimulatorTool”選項,打開仿真器,將仿真模式設(shè)置為“Functional”,單擊“GenerateFunctionalSimulationNetlist”按鈕產(chǎn)生仿真網(wǎng)表。5.將未使用引腳指定為三態(tài)輸入。

菜單Assignments\Device,在Device頁面中單擊“Device&PinOptions”按鈕,打開“Device&PinOptions”對話框;選擇“UnusedPins”標(biāo)簽,在“Reserveallunusedpins”域中選擇“Asinputs,tri-stated”單選鈕。原理圖輸入法設(shè)計4位全加器---熟悉EDA設(shè)計流程計數(shù)器的設(shè)計與測試實驗內(nèi)容1.設(shè)計分頻電路,編寫計數(shù)分頻的程序。用計數(shù)方式實現(xiàn)時鐘分頻。

先編寫一個輸入時鐘頻率10Hz,輸出時鐘頻率1Hz,分頻系數(shù)為10,仿真測試無誤后,再修改參數(shù),改寫輸入50Mhz信號源,輸出時鐘頻率1Hz。

2.設(shè)計2位BCD碼計數(shù)器,計數(shù)0-99。

計數(shù)脈沖:利用分頻電路的輸出頻率1HZ,作為計數(shù)脈沖的輸入脈沖,計數(shù)0-99,通過仿真測試驗證。

BCD碼(Binary-CodedDecimal?)亦稱二進(jìn)碼十進(jìn)數(shù)或二-十進(jìn)制代碼。用4位二進(jìn)制數(shù)來表示1位十進(jìn)制數(shù)中的0~9這10個數(shù)碼。

8421BCD碼是最基本和最常用的BCD碼,它和四位自然二進(jìn)制碼相似,各位的權(quán)值為8、4、2、1,故稱為有權(quán)BCD碼。即用0000~1001分別代表它所對應(yīng)的十進(jìn)制數(shù),余下的六組代碼不用。

計數(shù)器的設(shè)計與測試計數(shù)器的設(shè)計與測試分頻器的設(shè)計----計數(shù)分頻設(shè)計兩個時鐘分頻電路輸入信號時鐘信號clki輸出信號輸出時鐘信號clko(1)假設(shè)輸入時鐘頻率10Hz(時鐘周期為0.1s),設(shè)計分頻電路1,使輸出時鐘頻率1Hz(時鐘周期為1s)。仿真測試。(2)假設(shè)輸入時鐘頻率50MHz,設(shè)計分頻電路2,使輸出時鐘頻率1Hz(時鐘周期為1s)。在分頻電路1的基礎(chǔ)上修改參數(shù)。

輸入時鐘頻率10Hz,輸出時鐘頻率1Hz,分頻系數(shù)為10設(shè)計電路使輸出時鐘信號的前半周為低電平,后半周為高電平。提示:當(dāng)計數(shù)器計到分頻系數(shù)的一半時,計數(shù)器清零;

且clkout翻轉(zhuǎn)(clkout=~clkout;)。計數(shù)器的設(shè)計與測試---分頻電路設(shè)計計數(shù)器的設(shè)計與測試---分頻電路設(shè)計modulefp(clkin,clkout);inputclkin;outputclkout;reg

clkout;reg[30:0]count;always@(posedge

clkin)begin count<=count+1;

if(count==4) begin count<=0;

clkout<=~clkout; endendendmodule計數(shù)器的設(shè)計與測試modulefp(clkin,clkout);inputclkin;outputclkout;reg

clkout;reg[30:0]count;always@(posedge

clkin)begin count<=count+1;

if(count==24999999) begin count<=0;

clkout<=~clkout; endendendmodule譯碼器的設(shè)計與測試數(shù)碼管分共陰極與共陽極共陽極(公共端接高電平或+5V電壓)共陰極(公共端接低電平或接地)

共陽極:各段選為低電平(即0接地時)選中各數(shù)碼段.共陰極:各段選為高電平(即+5V接電源時)選中各數(shù)碼段

譯碼器的設(shè)計與測試譯碼器的設(shè)計與測試DE2開發(fā)板上的數(shù)碼管是共陽極的共陽極由0到F的編碼為:ucharcodetable[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};譯碼器的設(shè)計與測試程序參考LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITYdecl7sISPORT( d:IN STD_LOGIC_VECTOR(3 DOWNTO0); --輸入4位二進(jìn)制碼

seg:OUTSTD_LOGIC_VECTOR(7 DOWNTO0)--七段譯碼輸出);END;ARCHITECTUREONEOFdecl7sISSIGNALseg_r:STD_LOGIC_VECTOR(7DOWNTO0); --定義數(shù)碼管輸出寄存器譯碼器的設(shè)計與測試BEGIN

seg<=seg_r; --輸出數(shù)碼管譯碼結(jié)果

PROCESS(d) --七段譯碼BEGIN CASEdIS WHEN X"0"=> seg_r<=X"c0"; --顯示0 WHEN X"1"=> seg_r<=X"f9"; --顯示1 WHEN X"2"=> seg_r<=X"a4"; --顯示2 WHEN X"3"=> seg_r<=X"b0"; --顯示3 WHEN X"4"=> seg_r<=X"99"; --顯示4 WHEN X"5"=> seg_r<=X"92"; --顯示5 WHEN X"6"=> seg_r<=X"82"; --顯示6 WHEN X"7"=> seg_r<=X"f8"; --顯示7 WHEN X"8"=> seg_r<=X"80"; --顯示8 WHEN X"9"=> seg_r<=X"90"; --顯示9 WHEN X"a"=> seg_r<=X"88"; --顯示a WHEN X"b"=> seg_r<=X"83"; --顯示b WHEN X"c"=> seg_r<=X"c6"; --顯示c WHEN X"d"=> seg_r<=X"a1"; --顯示d WHEN X"e"=> seg_r<=X"86"; --顯示e WHEN X"f"=> seg_r<=X"8e"; --顯示f WHENOTHERS=>seg_r<=X"FF"; ENDCASE;ENDPROCESS;END;譯碼器的設(shè)計與測試moduleDec7s(a,q);input[3:0] a;output[7:0] q;

reg[7:0] q;always@(a)begin

case(a) 0:q=8'b11000000;

1:q=8'b11111001; 2:q=8'b10100100;

3:q=8'b10110000; 4:q=8'b10011001;

5:q=8'b10010010; 6:q=8'b10000010;

7:q=8'b11111000; 8:q=8'b10000000;

9:q=8'b10010000; 10:q=8'b10001000;

//11:q=8'b01111100; //12:q=8'b00111001; 13:q=8'b01011110; //14:q=8'b01111001; 15:q=8'b01110001;

endcaseendendmodule

計數(shù)器+譯碼器的設(shè)計與測試計數(shù)器+譯碼器的設(shè)計與測試兩位計數(shù)的模塊高低位用兩個計數(shù)模塊實現(xiàn)基于EDA的電子鐘總體設(shè)計基于EDA的電子鐘總體設(shè)計(不推薦)基于NiosII系統(tǒng)的實驗一、簡單NiosII系統(tǒng)的設(shè)計---LCD顯示實驗熟悉基于NiosII的SOPC系統(tǒng)的設(shè)計流程。悉NiosII的IDE調(diào)試過程。學(xué)習(xí)SOPCBuilder與NiosIIIDE的使用過程,了解SOPC的建立過程,明白如何在DE2上運(yùn)行簡單的C程序。

實驗中頂層文件用Verilog語言二、基于NiosII系統(tǒng)的跑馬燈實驗

實驗中頂層文件用原理圖一、硬件開發(fā)流程二、軟件開發(fā)流程N(yùn)iosⅡ嵌入式處理器軟、硬件開發(fā)流程N(yùn)ios

ⅡDesignFlowSOPCBuilderGUIConnectBlocksProcessorLibraryCustomInstructionsPeripheralLibrarySelect&ConfigurePeripherals,IPIPModulesConfigureProcessorGenerateEDIFNetlistHDLSourceFilesTestbenchSynthesis&

FitterUserDesignOtherIPBlocksHardwareDevelopmentQuartusIIOn-ChipDebugSoftwareTraceHardBreakpointsSignalTapIIAlteraPLD

JTAG,Serial,orEthernetExecutableCodeHardwareConfigurationFileVerification&Debug(1)(2)(3)(4)CHeaderfilesCustomLibraryPeripheralDriversCompiler,Linker,DebuggerSoftwareDevelopmentUserCodeLibrariesRTOSGNUToolsNiosIIIDENiosⅡ嵌入式處理器軟、硬件開發(fā)流程一、硬件開發(fā)流程下載完硬件配置文件后,軟件開發(fā)者就可以把此開發(fā)板作為軟件開發(fā)的初期硬件平臺進(jìn)行軟件功能的開發(fā)驗證了。(1)定義NiosⅡ嵌入式處理器系統(tǒng):使用SOPCBuilder系統(tǒng)綜合軟件選取合適的CPU、存儲器以及外圍器件,并定制其功能。(2)指定目標(biāo)器件、分配引腳、編譯硬件:使用QuartusⅡ選取Altera器件系列,并對SOPCBuilder生成的HDL設(shè)計文件進(jìn)行布局布線;再選取目標(biāo)器件,分配管腳,進(jìn)行硬件編譯選項或時序約束的設(shè)置。編譯,生

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論