【正文】
(5) 實(shí)驗(yàn)報告:根據(jù)以上的實(shí)驗(yàn)要求、實(shí)驗(yàn)內(nèi)容和實(shí)驗(yàn)思考題寫出實(shí)驗(yàn)報告。實(shí)驗(yàn)操作:將GW48 EDA系統(tǒng)左下角的撥碼開關(guān)的7向下?lián)?,其余向上,即?809工作使能,及使FPGA能接受來自0809轉(zhuǎn)換結(jié)束的信號(對于GW48CK系統(tǒng),左下角選擇插針處的“轉(zhuǎn)換結(jié)束”和“A/D使能”用二短路帽短接)。 AND LOCK39。 REG: PROCESS (CLK) BEGIN IF (CLK39。LOCK=39。039。) THEN next_state = st3。START=39。139。LOCK=39。模擬信號進(jìn)入通道IN0;當(dāng)ADDA=39。ARCHITECTURE behav OF ADCINT ISTYPE states IS (st0, st1, st2, st3,st4) 。 狀態(tài)機(jī)工作時鐘EOC : IN STD_LOGIC。ADC0809是CMOS的8位A/D轉(zhuǎn)換器,片內(nèi)有8路模擬開關(guān),可控制8個模擬量中的一個進(jìn)入轉(zhuǎn)換器中。 END PROCESS 。 ELSE Q = 0 。 END IF 。 WHEN 1= IF DIN = D(6) THEN Q = 2 。139。USE 。例811描述的電路完成對序列數(shù)“11100101”的檢測,當(dāng)這一串序列數(shù)高位在前(左移)串行進(jìn)入檢測器后,若此數(shù)與預(yù)置的密碼數(shù)相同,則輸出“A”,否則仍然輸出“B”。BEGIN U1 : FTCTRL PORT MAP(CLKK =CLK1HZ,CNT_EN=TSTEN1,RST_CNT =CLR_CNT1,Load =Load1)。 DIN : IN STD_LOGIC_VECTOR(31 DOWNTO 0)。 計數(shù)器清零 Load : OUT STD_LOGIC )。USE 。 THEN CQI = CQI + 1。 THEN CQI = (OTHERS=39。ENTITY COUNTER32B IS PORT (FIN : IN STD_LOGIC。139。【例78】LIBRARY IEEE。139。 THEN 1Hz時鐘2分頻 Div2CLK = NOT Div2CLK。 1Hz CNT_EN : OUT STD_LOGIC。(6) 實(shí)驗(yàn)內(nèi)容4:用嵌入式鎖相環(huán)PLL的LPM模塊對實(shí)驗(yàn)系統(tǒng)的50MHz或20MHz時鐘源分頻率,PLL的輸出信號作為頻率計的待測信號。設(shè)置鎖存器的好處是數(shù)據(jù)顯示穩(wěn)定,不會由于周期性的清0信號而不斷閃爍。實(shí)驗(yàn)報告:根據(jù)以上的實(shí)驗(yàn)內(nèi)容寫出實(shí)驗(yàn)報告,包括設(shè)計原理、程序設(shè)計、程序分析、仿真分析、硬件測試和詳細(xì)實(shí)驗(yàn)過程。如果希望對輸出信號進(jìn)行濾波,將GW48系統(tǒng)左下角的撥碼開關(guān)的“8”向下?lián)?,則波形濾波輸出,向上撥則未濾波輸出,這可從輸出的波形看出。u1 : data_rom PORT MAP(address=Q1, q = DOUT,inclock=CLK)。END COMPONENT。 正弦信號發(fā)生器源文件USE 。然后建立一個新的原理圖設(shè)計層次,在此基礎(chǔ)上將其擴(kuò)展為8位頻率計,仿真測試該頻率計待測信號的最高頻率,并與硬件實(shí)測的結(jié)果進(jìn)行比較。鍵鍵鍵3(PIO0/1/2)分別接ain、bin、cin;發(fā)光管DD1(PIO9/8)分別接sum和cout。 END IF。 THEN CNT2 := NOT CNT2。039。 BEGIN IF CLK39。USE 。(3) 分析:根據(jù)圖521的波形提示,分析例520中的各語句功能、設(shè)計原理及邏輯功能,詳述進(jìn)程P_REG和P_DIV的作用,并畫出該程序的RTL電路圖。實(shí)驗(yàn)方式:若考慮小數(shù)點(diǎn),SG的8個段分別與PIO4PIO4…、PIO42(高位在左)、BT的8個位分別與PIO3PIO3…、PIO41(高位在左);電路模式不限,引腳圖參考附錄圖12。 WHEN 14 = SG = 1111001。 WHEN 6 = SG = 1111101。 END IF。 A = 15 。 A = 7 。 SIGNAL A : INTEGER RANGE 0 TO 15。圖520 8位數(shù)碼掃描顯示電路【例519】LIBRARY IEEE。(6) 實(shí)驗(yàn)報告:根據(jù)以上的實(shí)驗(yàn)內(nèi)容寫出實(shí)驗(yàn)報告,包括程序設(shè)計、軟件編譯、仿真分析、硬件測試和實(shí)驗(yàn)過程;設(shè)計程序、程序分析報告、仿真波形圖及其分析報告。 END CASE 。 WHEN 1001 = LED7S = 1101111 。 WHEN 0001 = LED7S = 0000110 。在QuartusII上對該例進(jìn)行編輯、編譯、綜合、適配、仿真,給出其所有信號的時序仿真波形。(7) 實(shí)驗(yàn)內(nèi)容4:為此項(xiàng)設(shè)計加入一個可用于SignalTap II采樣的獨(dú)立的時鐘輸入端(采用時鐘選擇clock0=12MHz,計數(shù)器時鐘CLK分別選擇256Hz、16384Hz、6MHz),并進(jìn)行實(shí)時測試。END behav。 END IF。 THEN 檢測時鐘上升沿 IF EN = 39。 BEGIN IF RST = 39?!纠?22】LIBRARY IEEE。對于GW48 EDA實(shí)驗(yàn)系統(tǒng),建議選擇電路模式1(附錄圖3),鍵2,鍵1輸入8位加數(shù);鍵4,鍵3輸入8位被加數(shù);鍵8作為手動單步時鐘輸入;鍵7控制進(jìn)位輸入Cin;鍵9控制清0;數(shù)碼6和數(shù)碼5顯示相加和;發(fā)光管D1顯示溢出進(jìn)位Cout。 將內(nèi)部的暫存數(shù)據(jù)向端口輸出(雙橫線是注釋符號) END bhv。 ARCHITECTURE bhv OF DFF1 IS SIGNAL Q1 : STD_LOGIC 。12. 應(yīng)用QuartusII完成基本時序電路的設(shè)計(1) 實(shí)驗(yàn)?zāi)康模菏煜uartusⅡ的VHDL文本設(shè)計過程,學(xué)習(xí)簡單時序電路的設(shè)計、仿真和測試。若選擇目標(biāo)器件是EP1C3,建議選實(shí)驗(yàn)電路模式5(附錄圖7),用鍵1(PIO0,引腳號為1)控制s0;用鍵2(PIO1,引腳號為2)控制s1;aa2和a1分別接clock5(引腳號為16)、clock0(引腳號為93)和clock2(引腳號為17);輸出信號outy仍接揚(yáng)聲器spker(引腳號為129)。 THEN y = a 。 END COMPONENT ;... u1 : MUX21A PORT MAP(a=a2,b=a3,s=s0,y=tmp)。有關(guān)EDA工具QuartusII的詳細(xì)使用方法、FPGA器件基本特性、VHDL語言的詳細(xì)內(nèi)容和實(shí)驗(yàn)示例等都可參考《EDA技術(shù)與VHDL》。如您設(shè)備所配的是SOPC實(shí)驗(yàn)系統(tǒng),那么它所對應(yīng)的是“EDA_SOPC1C6_12”。l 在“EDA_VHDL_1C3”或“EDA_SOPC1C6_12”的“重要文檔”里有我們提供的EDA/SOPC系列軟件的按裝說明和本講義的電子文檔,“原理圖”里我們提供了和我們設(shè)備相關(guān)的部分原理圖,“ISPMCU_downloda”是實(shí)驗(yàn)設(shè)備上89S51單片機(jī)在系統(tǒng)下載軟件。本講義中所有實(shí)驗(yàn)和示例的軟件設(shè)計平臺主要是QuartusII,其他工具是MATLAB、DSP Builder、SOPC Builder、Modelsim等。 u2 : MUX21A PORT MAP(a=a1,b=tmp,s=s1,y=outy)。 ELSE y = b 。通過短路帽選擇clock0接256Hz信號,clock5接1024Hz,clock2接8Hz信號。(2) 實(shí)驗(yàn)內(nèi)容1:根據(jù)實(shí)驗(yàn)41的步驟和要求,設(shè)計觸發(fā)器(使用例36),給出程序設(shè)計、軟件編譯、仿真分析、硬件測試及詳細(xì)實(shí)驗(yàn)過程。 類似于在芯片內(nèi)部定義一個數(shù)據(jù)的暫存節(jié)點(diǎn) BEGIN PROCESS (CLK,Q1) BEGIN IF CLK39。(3) 實(shí)驗(yàn)內(nèi)容2:設(shè)計鎖存器(使用例314),同樣給出程序設(shè)計、軟件編譯、仿真分析、硬件測試及詳細(xì)實(shí)驗(yàn)過程。鍵8作為相加起始控制,同時兼任清0;工作時鐘由clock0自動給出,每當(dāng)鍵8發(fā)出一次開始相加命令,電路即自動相加,結(jié)束后停止工作,并顯示相加結(jié)果。USE 。139。139。 IF CQI = 9 THEN COUT = 39。(3) 實(shí)驗(yàn)內(nèi)容1:在QuartusⅡ上對例322進(jìn)行編輯、編譯、綜合、適配、仿真。(8) 思考題:在例322中是否可以不定義信號 CQI,而直接用輸出端口信號完成加法運(yùn)算,即:CQ = CQ + 1?為什么?(9) 實(shí)驗(yàn)報告:將實(shí)驗(yàn)原理、設(shè)計過程、編譯仿真波形和分析結(jié)果、硬件測試實(shí)驗(yàn)結(jié)果寫進(jìn)實(shí)驗(yàn)報告。提示:用輸入總線的方式給出輸入信號仿真數(shù)據(jù),仿真波形示例圖如圖517所示。 WHEN 0010 = LED7S = 1011011 。 WHEN 1010 = LED7S = 1110111 。 END PROCESS 。 圖518共陰數(shù)碼管及其電路 圖519 計數(shù)器和譯碼器連接電路的頂層文件原理圖15. 8位數(shù)碼掃描顯示電路設(shè)計《示例程序和實(shí)驗(yàn)指導(dǎo)課件位置》:\EDA_VHDL_1C3\chapter5\Ep1c3_52_SCAN\ 工程:SCAN_LED(1) 實(shí)驗(yàn)?zāi)康模簩W(xué)習(xí)硬件掃描顯示電路的設(shè)計。USE 。BEGINP1:PROCESS( CNT8 ) BEGIN CASE CNT8 IS WHEN 000 = BT = 00000001 。 WHEN 100 = BT = 00010000 。 WHEN OTHERS = NULL 。 END PROCESS P2 。 WHEN 7 = SG = 0000111。 WHEN 15 = SG = 1110001。將GW48EDA系統(tǒng)左下方的撥碼開關(guān)全部向上撥,這時實(shí)驗(yàn)系統(tǒng)的8個數(shù)碼管構(gòu)成圖520的電路結(jié)構(gòu),時鐘CLK可選擇clock0,通過跳線選擇16384Hz信號。圖521 當(dāng)給出不同輸入值D時,F(xiàn)OUT輸出不同頻率(CLK周期=50ns)(4) 仿真:輸入不同的CLK頻率和預(yù)置值D,給出如圖521的時序波形。USE 。EVENT AND CLK = 39。 且輸出溢出標(biāo)志信號FULL為低電平 END IF。 如果溢出標(biāo)志信號FULL為高電平,D觸發(fā)器輸出取反 IF CNT2 = 39。 END PROCESS P_DIV 。(4) 實(shí)驗(yàn)內(nèi)容2,建立一個更高層次的原理圖設(shè)計,利用以上獲得的1位全加器構(gòu)成8位全加器,并完成編譯、綜合、適配、仿真和硬件測試。(4) 實(shí)驗(yàn)報告:給出各層次的原理圖、工作原理、仿真波形圖和分析,詳述硬件實(shí)驗(yàn)過程和實(shí)驗(yàn)結(jié)果。USE 。 SIGNAL Q1 : STD_LOGIC_VECTOR (5 DOWNTO 0)。例化END?;静襟E如下(詳細(xì)步驟可參考該書第4章):一、頂層文件設(shè)計1 創(chuàng)建工程和編輯設(shè)計文件 正弦信號發(fā)生器的結(jié)構(gòu)由3部分組成(圖31):數(shù)據(jù)計數(shù)器或地址發(fā)生器、數(shù)據(jù)ROM和D/A。111. 8位16進(jìn)制頻率計設(shè)計《示例程序和實(shí)驗(yàn)指導(dǎo)課件位置》:\EDA_VHDL_1C3\chapter7\Ep1c3_72_FREQTEST\ 工程:FREQTEST(1) 實(shí)驗(yàn)?zāi)康模涸O(shè)計8位16進(jìn)制頻率計,學(xué)習(xí)較復(fù)雜的數(shù)字系統(tǒng)設(shè)計方法。鎖存信號后,必須有一清0信號RST_CNT對計數(shù)器進(jìn)行清零,為下1秒的計數(shù)操作作準(zhǔn)備。注意PLL的輸入時鐘必須是器件的專用時鐘輸入腳CLK224。 計數(shù)器時鐘使能 RST_CNT : OUT STD_LOGIC。 END IF。 產(chǎn)生計數(shù)器清零信號 ELSE RST_CNT = 39。 32位鎖存器USE 。 THEN DOUT = DIN。 時鐘信號 CLR : IN STD_LOGIC。039。 END IF。ENTITY FREQTEST IS PORT ( CLK1HZ : IN STD_LOGIC。 輸出鎖存信號 END COMPONENT。 DOUT : OUT STD_LOGIC_VECTOR(31 DOWNTO 0) )。 U2 : REG32B PORT MAP( LK = Load1, DIN=DTO1, DOUT = DOUT)。 (3) 實(shí)驗(yàn)內(nèi)容1:利用QuartusII對例811進(jìn)行文本編輯輸入、仿真測試并給出仿真波形,了解控制信號的時序,最后進(jìn)行引腳鎖定并完成硬件測試實(shí)驗(yàn)。ENTITY SCHK IS PORT(DIN,CLK,CLR : IN STD_LOGIC。 THEN Q = 0 。 ELSE Q = 0 。 WHEN 4= IF DIN