




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、目錄第一章EDA_VHDL 實驗設(shè)計1-1、 應(yīng)用 QuartusII 完成基本組合電路設(shè)計1-2.應(yīng)用 QuartusII 完成基本時序電路的設(shè)計1-3.設(shè)計含異步清 0 和同步時鐘使能的加法計數(shù)器1-4.7 段數(shù)碼顯示譯碼器設(shè)計1-5.8 位數(shù)碼掃描顯示電路設(shè)計1-6.數(shù)控分頻器的設(shè)計1-7.在 QuartusII 中用原理圖輸入法設(shè)計 8 位全加器1-8.在 QuartusII 中用原理圖輸入法設(shè)計較復(fù)雜數(shù)字系統(tǒng)1-9. 用 QuartusII 設(shè)計正弦信號發(fā)生器1-10. 8 位 16 進制頻率計設(shè)計1-11. 序列檢測器設(shè)計1-12. VHDL 狀態(tài)機 A/D 采樣控制電路實現(xiàn)1-1
2、3. 數(shù)據(jù)采集電路和簡易存儲示波器設(shè)計1-14. 比較器和 D/A 器件實現(xiàn) A/D 轉(zhuǎn)換功能的電路設(shè)計1-15 移位相加硬件乘法器設(shè)計1-16 采用流水線技術(shù)設(shè)計高速數(shù)字相關(guān)器1-17 線性反饋移位寄存器設(shè)計1-18 循環(huán)冗余校驗(CRC)模塊設(shè)計附錄:GW48 EDA/SOPC 主系統(tǒng)使用說明第一節(jié):GW48 教學(xué)系統(tǒng)原理與使用介紹,第二節(jié):實驗電路結(jié)構(gòu)圖第三節(jié):步進電機和直流電機使用說明第四節(jié):SOPC 適配板使用說明第五節(jié):GWCK/PK2/PK3 系統(tǒng)萬能接插口與結(jié)構(gòu)圖信號/與芯片引腳對照表第一章 EDA_VHDL 實驗設(shè)計1-1. 應(yīng)用 QuartusII 完成基本組合電路設(shè)計 (
3、1) 實驗?zāi)康模菏煜?Quartus的 VHDL 文本設(shè)計流程全過程,學(xué)習(xí)簡單組合電路的設(shè)計、多層次電路設(shè)計、仿真和硬件測試。(2) 實驗內(nèi)容 1:首先利用 Quartus完成 2 選 1 多路選擇器(例1-1)的文本編輯輸入(mux21a.vhd)和仿真測試等步 驟,給出圖 3-3 所示的仿真波形。最后在實驗系統(tǒng)上進行硬件測試,驗證本項設(shè)計的功能。(3) 實驗內(nèi)容 2:將此多路選擇器看成是一個元件 mux21a,利用元件例化語句描述圖1-1,并將此文件放在同一目錄 中。以下是部分參考程序:.COMPONENT MUX21APORT ( a,b,s :IN STD_LOGIC;y : OUT
4、STD_LOGIC); END COMPONENT ;.u1 : MUX21A PORT MAP(a=>a2,b=>a3,s=>s0,y=>tmp);u2 : MUX21A PORT MAP(a=>a1,b=>tmp,s=>s1,y=>outy);END ARCHITECTURE BHV ;【例 1-1】ENTITY mux21a ISPORT ( a, b, s: IN BIT;y : OUT BIT );END ENTITY mux21a;ARCHITECTURE one OF mux21a IS BEGINPROCESS (a,b,s) B
5、EGINIF s = '0' THEN y <= a ; ELSE y <= b ;END IF;END PROCESS;END ARCHITECTURE one ;圖 1-1 雙 2 選 1 多路選擇器圖1-2 mux21a功能時序波形按照本章給出的步驟對上例分別進行編譯、綜合、仿真。并對其仿真波形作出分析說明。(4) 實驗內(nèi)容 3:引腳鎖定以及硬件下載測試。若選擇目標器件是 EP1C6Q240C8,建議選實驗電路模式 5(附錄圖 7),用鍵1(PIO0,引腳號為 1)控制 s0;用鍵 2(PIO1,引腳號為 2)控制 s1;a3、a2 和 a1 分別接 cloc
6、k5(引腳號為 16)、clock0(引腳 號為 93)和 clock2(引腳號為 17);輸出信號 outy 仍接揚聲器 spker(引腳號為 129)。通過短路帽選擇 clock0 接 256Hz 信號, clock5 接 1024Hz,clock2 接 8Hz 信號。最后進行編譯、下載和硬件測試實驗(通過選擇鍵 1、鍵 2,控制 s0、s1,可使揚聲器輸出不同音調(diào))。(5) 實驗報告:根據(jù)以上的實驗內(nèi)容寫出實驗報告,包括程序設(shè)計、軟件編譯、仿真分析、硬件測試和詳細實驗過 程;給出程序分析報告、仿真波形圖及其分析報告。(6) 附加內(nèi)容:根據(jù)本實驗以上提出的各項實驗內(nèi)容和實驗要求,設(shè)計 1
7、位全加器。首先用 Quartus完成全加器的設(shè)計,包括仿真和硬件測試。實驗要求分別仿真測試底層硬件或門和半加器,最后完成頂層文件全加器的 設(shè)計和測試,給出設(shè)計原程序,程序分析報告、仿真波形圖及其分析報告。(7) 實驗習(xí)題:以 1 位二進制全加器為基本元件,用例化語句寫出 8 位并行二進制全加器的頂層文件,并討論此加法器的電路特性。1-2. 應(yīng)用 QuartusII 完成基本時序電路的設(shè)計(1) 實驗?zāi)康模菏煜?Quartus的 VHDL 文本設(shè)計過程,學(xué)習(xí)簡單時序電路的設(shè)計、仿真和測試。(2) 實驗內(nèi)容 1:設(shè)計觸發(fā)器(使用例 1-2-1,給出程序設(shè)計、軟件編譯、仿真分析、硬件 測試及詳細實驗
8、過程?!纠?-2-1】LIBRARY IEEE ;USE IEEE.STD_LOGIC_1164.ALL ; ENTITY DFF1 ISPORT (CLK : IN STD_LOGIC ; D : IN STD_LOGIC ;Q : OUT STD_LOGIC );END ;ARCHITECTURE bhv OF DFF1 ISSIGNAL Q1 : STD_LOGIC ;-類似于在芯片內(nèi)部定義一個數(shù)據(jù)的暫存節(jié)點BEGINPROCESS (CLK,Q1) BEGINIF CLK'EVENT AND CLK = '1'THEN Q1 <= D ; END IF;E
9、ND PROCESS ;Q <= Q1 ;-將內(nèi)部的暫存數(shù)據(jù)向端口輸出(雙橫線-是注釋符號)END bhv;(3) 實驗內(nèi)容 2:設(shè)計鎖存器(使用例 1-2-2,同樣給出程序設(shè)計、軟件編譯、仿真分析、硬件測試及詳細實驗過程?!纠?-2-2】.PROCESS (CLK,D) BEGINIF CLK = '1'-電平觸發(fā)型寄存器THEN Q <= D ; END IF;END PROCESS ;(4) 實驗內(nèi)容 3:只用一個 1 位二進制全加器為基本元件和一些輔助的時序電路,設(shè)計一個 8 位串行二進制全加器,要求: 1、能在 8-9 個時鐘脈沖后完成 8 位二進制數(shù)(加
10、數(shù)被加數(shù)的輸入方式為并行)的加法運算,電路須考慮進位輸 入 Cin 和進位輸出 Cout;2、給出此電路的時序波形,討論其功能,并就工作速度與并行加法器進行比較;3、在 FPGA 中進行實測。對于 GW48 EDA 實驗系統(tǒng),建議選擇電路模式 1(附錄圖 3),鍵 2,鍵 1 輸入 8 位加 數(shù);鍵 4,鍵 3 輸入 8 位被加數(shù);鍵 8 作為手動單步時鐘輸入;鍵 7 控制進位輸入 Cin;鍵 9 控制清 0;數(shù)碼 6 和數(shù)碼 5 顯示相加和;發(fā)光管 D1 顯示溢出進位 Cout。4、鍵 8 作為相加起始控制,同時兼任清 0;工作時鐘由 clock0 自動給出,每當(dāng)鍵 8 發(fā)出一次開始相加命令
11、,電路 即自動相加,結(jié)束后停止工作,并顯示相加結(jié)果。就外部端口而言,與純組合電路 8 位并行加法器相比,此串行加法器僅多出一個加法起始/清 0 控制輸入和工作時鐘輸入端。(提示:此加法器有并/串和串/并移位寄存器各一)。(5) 實驗報告:分析比較實驗內(nèi)容 1 和 2 的仿真和實測結(jié)果,說明這兩種電路的異同點。詳述實驗內(nèi)容 3。1-3. 設(shè)計含異步清 0 和同步時鐘使能的加法計數(shù)器 (1) 實驗?zāi)康模簩W(xué)習(xí)計數(shù)器的設(shè)計、仿真和硬件測試,進一步熟悉 VHDL 設(shè)計技術(shù)。(2) 實驗原理:實驗程序為例 1-3?!纠?1-3】LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.AL
12、L;USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY CNT10 ISPORT (CLK,RST,EN : IN STD_LOGIC;CQ : OUT STD_LOGIC_VECTOR(3 DOWNTO 0); COUT : OUT STD_LOGIC );END CNT10;ARCHITECTURE behav OF CNT10 IS BEGINPROCESS(CLK, RST, EN)VARIABLE CQI : STD_LOGIC_VECTOR(3 DOWNTO 0); BEGINIF RST = '1' THENCQI := (OTHERS
13、 =>'0') ; -計數(shù)器異步復(fù)位ELSIF CLK'EVENT AND CLK='1' THEN-檢測時鐘上升沿IF EN = '1' THEN-檢測是否允許計數(shù)(同步使能)IF CQI < 9 THENCQI := CQI + 1;-允許計數(shù), 檢測是否小于9ELSECQI := (OTHERS =>'0');-大于9,計數(shù)值清零END IF; END IF;END IF;IF CQI = 9 THEN COUT <= '1'-計數(shù)大于9,輸出進位信號ELSECOUT <
14、= '0' END IF;CQ <= CQI;-將計數(shù)值向端口輸出END PROCESS;END behav;(3) 實驗內(nèi)容 1:在 Quartus上對例 1-3 進行編輯、編譯、綜合、適配、仿真。說明例中各語句的作用,詳細描述 示例的功能特點,給出其所有信號的時序仿真波形。(4) 實驗內(nèi)容 2:引腳鎖定以及硬件下載測試。引腳鎖定后進行編譯、下載和硬件測試實驗。將實驗 過程和實驗結(jié)果寫進實驗報告。(5) 實驗內(nèi)容 3:使用 SignalTap II 對此計數(shù)器進行實時測試。(6) 實驗內(nèi)容 4:從設(shè)計中去除 SignalTap II,要求全程編譯后生成用于配置器件 EP
15、CS1 編程的壓縮 POF 文件,并使用 ByteBlasterII,通過 AS 模式對實驗板上的 EPCS1 進行編程,最后進行驗證。(7) 實驗內(nèi)容 4:為此項設(shè)計加入一個可用于 SignalTap II 采樣的獨立的時鐘輸入端(采用時鐘選擇 clock0=12MHz, 計數(shù)器時鐘 CLK 分別選擇 256Hz、16384Hz、6MHz),并進行實時測試。(8) 思考題:在例1-3 中是否可以不定義信號 CQI,而直接用輸出端口信號完成加法運算,即:CQ <= CQ + 1?為什么?(9) 實驗報告:將實驗原理、設(shè)計過程、編譯仿真波形和分析結(jié)果、硬件測試實驗結(jié)果寫進實驗報告。1-4.
16、7 段數(shù)碼顯示譯碼器設(shè)計 (1) 實驗?zāi)康模簩W(xué)習(xí) 7 段數(shù)碼顯示譯碼器設(shè)計;學(xué)習(xí) VHDL 的 CASE 語句應(yīng)用及多層次設(shè)計方法。(2) 實驗原理:7 段數(shù)碼是純組合電路,通常的小規(guī)模專用 IC,如 74 或 4000 系列的器件只能作十進制 BCD 碼譯碼, 然而數(shù)字系統(tǒng)中的數(shù)據(jù)處理和運算都是 2 進制的,所以輸出表達都是 16 進制的,為了滿足 16 進制數(shù)的譯碼顯示,最方 便的方法就是利用譯碼程序在 FPGA/CPLD 中來實現(xiàn)。例 1-4 作為 7 段譯碼器,輸出信號 LED7S 的 7 位分別接如圖 5-18 數(shù)碼管的 7 個段,高位在左,低位在右。例如當(dāng) LED7S 輸出為“11
17、01101”時,數(shù)碼管的 7 個段:g、f、e、d、c、b、a分別接 1、1、0、1、1、0、1;接有高電平的段發(fā)亮,于是數(shù)碼管顯示“5”。注意,這里沒有考慮表示小數(shù)點的發(fā)光管,如果要考慮,需要增加段 h,例 5-18 中的 LED7S:OUT STD_LOGIC_VECTOR(6 DOWNTO 0)應(yīng)改為(7 DOWNTO 0) 。(3) 實驗內(nèi)容 1:說明例1-4 中各語句的含義,以及該例的整體功能。在 QuartusII 上對該例進行編輯、編譯、綜合、適配、仿真,給出其所有信號的時序仿真波形。 提示:用輸入總線的方式給出輸入信號仿真數(shù)據(jù),仿真波形示例圖如圖1-3所示。圖 1-3 7 段譯
18、碼器仿真波形【例1-4】LIBRARY IEEE ;USE IEEE.STD_LOGIC_1164.ALL ;ENTITY DECL7S ISPORT ( A : IN STD_LOGIC_VECTOR(3 DOWNTO 0); LED7S : OUT STD_LOGIC_VECTOR(6 DOWNTO 0) ) ;END ;ARCHITECTURE one OF DECL7S ISBEGINPROCESS( A ) BEGINCASE A ISWHEN "0000" => LED7S <= "0111111" ; WHEN "00
19、01" => LED7S <= "0000110" ;WHEN "0010" => LED7S <= "1011011" ; WHEN "0011" => LED7S <= "1001111" ; WHEN "0100" => LED7S <= "1100110" ; WHEN "0101" => LED7S <= "1101101" ; WHEN
20、 "0110" => LED7S <= "1111101" ; WHEN "0111" => LED7S <= "0000111" ; WHEN "1000" => LED7S <= "1111111" ; WHEN "1001" => LED7S <= "1101111" ; WHEN "1010" => LED7S <= "1110111&qu
21、ot; ; WHEN "1011" => LED7S <= "1111100" ; WHEN "1100" => LED7S <= "0111001" ; WHEN "1101" => LED7S <= "1011110" ; WHEN "1110" => LED7S <= "1111001" ; WHEN "1111" => LED7S <= "
22、1110001" ; WHEN OTHERS => NULL ;END CASE ; END PROCESS ; END ;(4) 實驗內(nèi)容 2:引腳鎖定及硬件測試。建議選 GW48 系統(tǒng)的實驗電路模式 6(參考附錄圖 8),用數(shù)碼 8 顯示譯碼輸出(PIO46-PIO40),鍵 8、鍵 7、鍵 6 和鍵 5 四位控制輸入,硬件驗證譯碼器的工作性能。(5) 實驗內(nèi)容 3:用例化語句,按圖 1-5 的方式連接成頂層設(shè)計電路(用 VHDL 表述),圖中的 CNT4B是一個 4 位二進制加法計數(shù)器;模塊 DECL7S 即為例1-4 實體元件,重復(fù)以上實驗過程。注 意圖 1-5 中的
23、tmp 是 4 位總線,led 是 7 位總線。對于引腳鎖定和實驗,建議選電路模式 6,用數(shù)碼 8 顯示譯碼輸出, 用鍵 3 作為時鐘輸入(每按 2 次鍵為 1 個時鐘脈沖),或直接接時鐘信號 clock0。(6) 實驗報告:根據(jù)以上的實驗內(nèi)容寫出實驗報告,包括程序設(shè)計、軟件編譯、仿真分析、硬件測試和實驗過程; 設(shè)計程序、程序分析報告、仿真波形圖及其分析報告。圖1-4 共陰數(shù)碼管及其電路圖 1-5 計數(shù)器和譯碼器連接電路的頂層文件原理圖1-5.8 位數(shù)碼掃描顯示電路設(shè)計 (1) 實驗?zāi)康模簩W(xué)習(xí)硬件掃描顯示電路的設(shè)計。(2) 實驗原理:圖 1-6所示的是 8 位數(shù)碼掃描顯示電路,其中每個數(shù)碼管的
24、 8 個段:h、g、f、e、d、c、b、a(h 是 小數(shù)點)都分別連在一起,8 個數(shù)碼管分別由 8 個選通信號 k1、k2、k8 來選擇。被選通的數(shù)碼管顯示數(shù)據(jù),其余關(guān)閉。如在某一時刻,k3 為高電平,其余選通信號為低電平,這時僅 k3 對應(yīng)的數(shù)碼管顯示來自段信號端的數(shù)據(jù),而其它 7 個 數(shù)碼管呈現(xiàn)關(guān)閉狀態(tài)。根據(jù)這種電路狀況,如果希望在 8 個數(shù)碼管顯示希望的數(shù)據(jù),就必須使得 8 個選通信號 k1、k2、k8 分別被單獨選通,并在此同時,在段信號輸入口加上希望在該對應(yīng)數(shù)碼管上顯示的數(shù)據(jù),于是隨著選通信號的掃變,就 能實現(xiàn)掃描顯示的目的。例 1-5 是掃描顯示的示例程序,其中 clk 是掃描時鐘
25、;SG 為 7 段控制信號,由高位至低位分別接 g、f、e、d、c、b、a 7 個段;BT 是位選控制信號,接圖1-6中的 8 個選通信號:k1、k2、k8 。程序中 CNT8 是一個 3 位計數(shù)器,作 掃描計數(shù)信號,由進程 P2 生成;進程 P3 是 7 段譯碼查表輸出程序,與例1-5 相同;進程 P1 是對 8 個數(shù)碼管選通的掃 描程序,例如當(dāng) CNT8 等于"001" 時,K2 對應(yīng)的數(shù)碼管被選通,同時,A 被賦值 3,再由進程 P3 譯碼輸出"1001111", 顯示在數(shù)碼管上即為“3”;當(dāng) CNT8 掃變時,將能在 8 個數(shù)碼管上顯示數(shù)據(jù):13
26、579BDF 。-【例 1-5】LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY SCAN_LED ISPORT (CLK: IN STD_LOGIC;圖 1-6 8 位數(shù)碼掃描顯示電路END;SG: OUT STD_LOGIC_VECTOR(6 DOWNTO 0); -段控制信號輸出BT: OUT STD_LOGIC_VECTOR(7 DOWNTO 0) );-位控制信號輸出ARCHITECTURE one OF SCAN_LED ISSIGNAL CNT8 : STD_LOGIC_
27、VECTOR(2 DOWNTO 0);SIGNALA : INTEGER RANGE 0 TO 15; BEGINP1:PROCESS( CNT8 )BEGINCASE CNT8 ISWHEN "000" => BT <= "00000001" ; A <= 1 ;WHEN "001" => BT <= "00000010" ; A <= 3 ;WHEN "010" => BT <= "00000100" ; A <= 5
28、 ; WHEN "011" => BT <= "00001000" ; A <= 7 ;WHEN "100" => BT <= "00010000" ; A <= 9 ; WHEN "101" => BT <= "00100000" ; A <= 11 ; WHEN "110" => BT <= "01000000" ; A <= 13 ; WHEN "1
29、11" => BT <= "10000000" ; A <= 15 ; WHEN OTHERS => NULL ;END CASE ;END PROCESS P1; P2:PROCESS(CLK)BEGINIF CLK'EVENT AND CLK = '1' THEN CNT8 <= CNT8 + 1;END IF;END PROCESS P2 ; P3:PROCESS( A ) -譯碼BEGINCASE A ISWHEN 0 => SG <= "0111111" WHEN 1
30、=> SG <= "0000110"WHEN 2 => SG <= "1011011" WHEN 3 => SG <= "1001111" WHEN 4 => SG <= "1100110" WHEN 5 => SG <= "1101101"WHEN 6 => SG <= "1111101" WHEN 7 => SG <= "0000111" WHEN 8 => SG
31、 <= "1111111" WHEN 9 => SG <= "1101111" WHEN 10 => SG <= "1110111" WHEN 11 => SG <= "1111100" WHEN 12 => SG <= "0111001" WHEN 13 => SG <= "1011110" WHEN 14 => SG <= "1111001" WHEN 15 => SG
32、 <= "1110001" WHEN OTHERS => NULL ;END CASE ;END PROCESS P3; END;(3) 實驗內(nèi)容 1:說明例1-5 中各語句的含義,以及該例的整體功能。對該例進行編輯、編譯、綜合、適配、仿真,給出仿真波形。實驗方式:若考慮小數(shù)點,SG 的 8 個段分別與 PIO49、PIO48、PIO42(高位在左)、BT 的 8 個位 分別與 PIO34、PIO35、PIO41(高位在左);電路模式不限,引腳圖參考附錄圖 12。將 GW48EDA 系統(tǒng)左下方的撥 碼開關(guān)全部向上撥,這時實驗系統(tǒng)的8 個數(shù)碼管構(gòu)成圖1-6 的電路
33、結(jié)構(gòu),時鐘CLK 可選擇clock0,通過跳線選擇16384Hz信號。引腳鎖定后進行編譯、下載和硬件測試實驗。將實驗過程和實驗結(jié)果寫進實驗報告。(4) 實驗內(nèi)容 2:修改例 1-5 的進程 P1 中的顯示數(shù)據(jù)直接給出的方式,增加 8 個 4 位鎖存器,作為顯示數(shù)據(jù)緩沖器, 使得所有 8 個顯示數(shù)據(jù)都必須來自緩沖器。緩沖器中的數(shù)據(jù)可以通過不同方式鎖入,如來自 A/D 采樣的數(shù)據(jù)、來自分時 鎖入的數(shù)據(jù)、來自串行方式輸入的數(shù)據(jù),或來自單片機等。1-6. 數(shù)控分頻器的設(shè)計 (1) 實驗?zāi)康模簩W(xué)習(xí)數(shù)控分頻器的設(shè)計、分析和測試方法。(2) 實驗原理:數(shù)控分頻器的功能就是當(dāng)在輸入端給定不同輸入數(shù)據(jù)時,將對輸
34、入的時鐘信號有不同的分頻比,數(shù) 控分頻器就是用計數(shù)值可并行預(yù)置的加法計數(shù)器設(shè)計完成的,方法是將計數(shù)溢出位與預(yù)置數(shù)加載輸入信號相接即可,詳 細設(shè)計程序如例 1-6所示。(3) 分析:根據(jù)圖 1-7 的波形提示,分析例1-6中的各語句功能、設(shè)計原理及邏輯功能,詳述進程 P_REG 和 P_DIV的作用,并畫出該程序的 RTL 電路圖。100.0µs200.0µs300.0µs400.0µs圖 1-7 當(dāng)給出不同輸入值 D 時,F(xiàn)OUT 輸出不同頻率(CLK 周期=50ns)(4) 仿真:輸入不同的 CLK 頻率和預(yù)置值 D,給出如圖 1-7 的時序波形。(5
35、) 實驗內(nèi)容 1:在實驗系統(tǒng)上硬件驗證例 1-6的功能??蛇x實驗電路模式 1(參考附錄圖 3);鍵 2/鍵 1 負責(zé)輸入 8位預(yù)置數(shù) D(PIO7-PIO0);CLK 由 clock0 輸入,頻率選 65536Hz 或更高(確保分頻后落在音頻范圍);輸出 FOUT 接揚聲 器(SPKER)。編譯下載后進行硬件測試:改變鍵 2/鍵 1 的輸入值,可聽到不同音調(diào)的聲音。(6) 實驗內(nèi)容 2:將例1-6 擴展成 16 位分頻器,并提出此項設(shè)計的實用示例,如 PWM 的設(shè)計等。(7) 思考題:怎樣利用 2 個由例 1-6 給出的模塊設(shè)計一個電路,使其輸出方波的正負脈寬的寬度分別由兩個 8 位輸 入數(shù)據(jù)
36、控制?(8) 實驗報告:根據(jù)以上的要求,將實驗項目分析設(shè)計,仿真和測試寫入實驗報告?!纠?1-6】LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY DVF ISPORT (CLK : IN STD_LOGIC;D : IN STD_LOGIC_VECTOR(7 DOWNTO 0);FOUT : OUT STD_LOGIC );END;ARCHITECTURE one OF DVF ISSIGNALFULL : STD_LOGIC;BEGINP_REG: PROCESS(CLK)VARI
37、ABLE CNT8 : STD_LOGIC_VECTOR(7 DOWNTO 0);BEGINIF CLK'EVENT AND CLK = '1' THENIF CNT8 = "11111111" THENCNT8 := D;-當(dāng)CNT8計數(shù)計滿時,輸入數(shù)據(jù)D被同步預(yù)置給計數(shù)器CNT8FULL <= '1' -同時使溢出標志信號FULL輸出為高電平ELSECNT8 := CNT8 + 1; -否則繼續(xù)作加1計數(shù)FULL <= '0'-且輸出溢出標志信號FULL為低電平END IF; END IF;END PR
38、OCESS P_REG ; P_DIV: PROCESS(FULL)VARIABLE CNT2 : STD_LOGIC; BEGINIF FULL'EVENT AND FULL = '1' THENCNT2 := NOT CNT2; -如果溢出標志信號FULL為高電平,D觸發(fā)器輸出取反IF CNT2 = '1' THEN FOUT <= '1' ELSE FOUT <= '0' END IF;END IF;END PROCESS P_DIV ; END;1-7. 在 QuartusII 中用原理圖輸入法設(shè)計 8
39、 位全加器(1) 實驗?zāi)康模菏煜だ?Quartus的原理圖輸入方法設(shè)計簡單組合電路,掌握層次化設(shè)計的方法,并通過一個 8 位 全加器的設(shè)計把握利用 EDA 軟件進行原理圖輸入方式的電子線路設(shè)計的詳細流程。(2) 實驗原理:一個 8 位全加器可以由 8 個 1 位全加器構(gòu)成,加法器間的進位可以串行方式實現(xiàn),即將低位加法器 的進位輸出 cout 與相臨的高位加法器的最低進位輸入信號 cin 相接。(3) 實驗內(nèi)容 1:完成半加器和全加器的設(shè)計,包括原理圖輸入、編譯、綜合、適配、 仿真、實驗板上的硬件測試,并將此全加器電路設(shè)置成一個硬件符號入庫。鍵 1、鍵 2、鍵 3(PIO0/1/2)分別接 a
40、in、bin、 cin;發(fā)光管 D2、D1(PIO9/8)分別接 sum 和 cout。(4) 實驗內(nèi)容 2,建立一個更高層次的原理圖設(shè)計,利用以上獲得的 1 位全加器構(gòu)成 8 位全加器,并完成編譯、綜合、 適配、仿真和硬件測試。建議選擇電路模式 1(附錄圖 3);鍵 2、鍵 1 輸入 8 位加數(shù);鍵 4、鍵 3 輸入 8 位被加數(shù);數(shù)碼6/5 顯示加和;D8 顯示進位 cout。(5) 實驗報告:詳細敘述 8 位加法器的設(shè)計流程;給出各層次的原理圖及其對應(yīng)的仿真波形圖;給出加法器的時序 分析情況;最后給出硬件測試流程和結(jié)果。1-8. 在 QuartusII 中用原理圖輸入法設(shè)計較復(fù)雜數(shù)字系統(tǒng)
41、(1) 實驗?zāi)康模菏煜ぴ韴D輸入法中 74 系列等宏功能元件的使用方法,掌握更復(fù)雜的原理圖層次化設(shè)計技術(shù)和數(shù)字 系統(tǒng)設(shè)計方法。完成 8 位十進制頻率機的設(shè)計。(2) 原理說明:利用2 位計數(shù)器模塊,連接它們的計數(shù)進位,用 4 個計數(shù)模塊就能完成一個 8 位有時鐘 使能的計數(shù)器;對于測頻控制器的控制信號,在仿真過程中應(yīng)該注意它們可能的毛刺現(xiàn)象。(3) 實驗內(nèi)容:首先完成 2 位頻率計的設(shè)計,然后進行硬件測試,建議選擇電路模式 2;數(shù)碼 2 和 1 顯示輸出頻率值, 待測頻率 F_IN 接 clock0;測頻控制時鐘 CLK 接 clock2,若選擇 clock2 = 8Hz,門控信號 CNT_E
42、N 的脈寬恰好為 1 秒。然后建立一個新的原理圖設(shè)計層次,在此基礎(chǔ)上將其擴展為 8 位頻率計,仿真測試該頻率計待測信號的最高頻率,并與 硬件實測的結(jié)果進行比較。(4) 實驗報告:給出各層次的原理圖、工作原理、仿真波形圖和分析,詳述硬件實驗過程和實驗結(jié)果。1-9. 用 QuartusII 設(shè)計正弦信號發(fā)生器(1)實驗?zāi)康模哼M一步熟悉 QuartusII 及其 LPM_ROM 與 FPGA 硬件資源的使用方法。(2)實驗原理:參考本章相關(guān)內(nèi)容。(3)實驗內(nèi)容 1:在 Quartus II 上完成正弦信號發(fā)生器設(shè)計,包括仿真和資源利用情況了解(假設(shè)利用Cyclone 器件)。最后在實驗系統(tǒng)上實測,包
43、括 SignalTap II 測試、FPGA 中 ROM 的在系統(tǒng)數(shù)據(jù)讀寫測試和利用示波器測 試。最后完成 EPCS1 配置器件的編程?!纠?1-9】 正弦信號發(fā)生器頂層設(shè)計LIBRARY IEEE; -正弦信號發(fā)生器源文件USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY SINGT ISPORT ( CLK : IN STD_LOGIC;-信號源時鐘DOUT : OUT STD_LOGIC_VECTOR (7 DOWNTO 0) );-8 位波形數(shù)據(jù)輸出END;ARCHITECTURE DACC OF SI
44、NGT ISCOMPONENT data_rom-調(diào)用波形數(shù)據(jù)存儲器 LPM_ROM 文件:data_rom.vhd 聲明PORT(address : IN STD_LOGIC_VECTOR (5 DOWNTO 0);-6 位地址信號inclock : IN STD_LOGIC ;-地址鎖存時鐘q : OUT STD_LOGIC_VECTOR (7 DOWNTO 0) ); END COMPONENT;SIGNAL Q1 : STD_LOGIC_VECTOR (5 DOWNTO 0); -設(shè)定內(nèi)部節(jié)點作為地址計數(shù)器BEGINPROCESS(CLK )-LPM_ROM 地址發(fā)生器進程BEGINI
45、F CLK'EVENT AND CLK = '1' THEN Q1<=Q1+1; -Q1 作為地址發(fā)生器計數(shù)器END IF; END PROCESS;u1 : data_rom PORT MAP(address=>Q1, q => DOUT,inclock=>CLK);-例化END;信號輸出的 D/A 使用實驗系統(tǒng)上的 DAC0832,注意其轉(zhuǎn)換速率是 1µs,其引腳功能簡述如下:ILE:數(shù)據(jù)鎖存允許信號,高電平有效,系統(tǒng)板上已直接連在5V 上;WR1、WR2:寫信號 1、2,低電平有效;XFER:數(shù)據(jù)傳送控制信號,低電平有效;VREF
46、:基準電壓,可正可負,10V10V;RFB:反饋電阻端;IOUT1/IOUT2: 電流輸出端。D/A 轉(zhuǎn)換量是以電流形式輸出的,所以必須將電流信號變?yōu)殡妷盒盘?;AGND/DGND:模擬地與數(shù)字地。 在高速情況下,此二地的連接線必須盡可能短,且系統(tǒng)的單點接地點須接在此連線的某一點上。建議選擇GW48 系統(tǒng)的電路模式No.5,由附錄對應(yīng)的電路圖可見,DAC0832 的8 位數(shù)據(jù)口D7.0分別與FPGA 的PIO31、30.、24 相連,如果目標器件是 EP1C3T144,則對應(yīng)的引腳是:72、71、70、69、68、67、52、51;時鐘 CLK 接系統(tǒng)的clock0,對應(yīng)的引腳是 93,選擇的時
47、鐘頻率不能太高(轉(zhuǎn)換速率 1µs,)。還應(yīng)該注意,DAC0832 電路須接有+/12V 電 壓:GW48 系統(tǒng)的+/-12V 電源開關(guān)在系統(tǒng)左側(cè)上方。然后下載 SINGT.sof 到 FPGA 中;波形輸出在系統(tǒng)左下角,將示波器的地與 GW48 系統(tǒng)的地(GND)相接,信號端與“AOUT”信號輸出端相接。如果希望對輸出信號進行濾波,將 GW48系統(tǒng)左下角的撥碼開關(guān)的“8”向下?lián)?,則波形濾波輸出,向上撥則未濾波輸出,這可從輸出的波形看出。 基本步驟如下:一、頂層文件設(shè)計1 創(chuàng)建工程和編輯設(shè)計文件正弦信號發(fā)生器的結(jié)構(gòu)由 3 部分組成(圖 1-8):數(shù)據(jù)計數(shù)器或地址發(fā)生器、數(shù)據(jù) ROM 和
48、 D/A。性能良好的正弦信 號發(fā)生器的設(shè)計要求此 3 部分具有高速性能,且數(shù)據(jù) ROM 在高速條件下,占用最少的邏輯資源,設(shè)計流程最便捷,波 形數(shù)據(jù)獲最方便。圖3-1 所示是此信號發(fā)生器結(jié)構(gòu)圖,頂層文件SINGT.VHD 在FPGA 中實現(xiàn),包含2 個部分:ROM 的地址 信號發(fā)生器由5 位計數(shù)器擔(dān)任,和正弦數(shù)據(jù)ROM,拒此,ROM 由LPM_ROM 模塊構(gòu)成能達到最優(yōu)設(shè)計,LPM_ROM 底層是FPGA 中的EAB 或ESB 等。地址發(fā)生器的時鐘CLK 的輸入頻率 f0 與每周期的波形數(shù)據(jù)點數(shù)(在此選擇 64 點),以及 D/A輸出的頻率 f 的關(guān)系是:f = f0 /64圖 1-8 正弦信
49、號發(fā)生器結(jié)構(gòu)圖2 創(chuàng)建工程3 編譯前設(shè)置 在對工程進行編譯處理前,必須作好必要的設(shè)置。具體步驟如下:1、選擇目標芯片;2、選擇目標器件編程配置方式;3、選擇輸出配置;4 編譯及了解編譯結(jié)果5、正弦信號數(shù)據(jù) ROM 定制(包括設(shè)計ROM 初始化數(shù)據(jù)文件)另兩種方法要快捷的多,可分別用 C 程序生成同樣格式的初始化文件和使用 DSP Builder/MATLAB 來生成。6 仿真7 引腳鎖定、下載和硬件測試8 使用嵌入式邏輯分析儀進行實時測試圖 1-9 SignalTapII 數(shù)據(jù)窗的實時信號9 對配置器件 EPCS4/EPCS1 編程10 了解此工程的RTL 電路圖圖 1-10 工程 singt
50、 的 RTL 電路圖實驗內(nèi)容 2:修改例 1-9 的數(shù)據(jù) ROM 文件,設(shè)其數(shù)據(jù)線寬度為 8,地址線寬度也為 8,初始化數(shù)據(jù)文件使用 MIF 格 式,用 C 程序產(chǎn)生正弦信號數(shù)據(jù),最后完成以上相同的實驗。實驗內(nèi)容 3:設(shè)計一任意波形信號發(fā)生器,可以使用 LPM 雙口 RAM 擔(dān)任波形數(shù)據(jù)存儲器,利用單片機產(chǎn)生所需要 的波形數(shù)據(jù),然后輸向 FPGA 中的 RAM(可以利用 GW48 系統(tǒng)上與 FPGA 接口的單片機完成此實驗,D/A 可利用系統(tǒng)上配置的 0832 或 5651 高速器件)。 實驗報告:根據(jù)以上的實驗內(nèi)容寫出實驗報告,包括設(shè)計原理、程序設(shè)計、程序分析、仿真分析、硬件測試和詳細實驗過
51、程。1-10. 8 位 16 進制頻率計設(shè)計 (1) 實驗?zāi)康模涸O(shè)計 8 位 16 進制頻率計,學(xué)習(xí)較復(fù)雜的數(shù)字系統(tǒng)設(shè)計方法。(2) 實驗原理:根據(jù)頻率的定義和頻率測量的基本原理,測定信號的頻率必須有一個脈寬為 1 秒的輸入信號脈沖計 數(shù)允許的信號;1 秒計數(shù)結(jié)束后,計數(shù)值被鎖入鎖存器,計數(shù)器清 0,為下一測頻計數(shù)周期作好準備。測頻控制信號可以由一個獨立的發(fā)生器來產(chǎn)生,即圖1-12 中的 FTCTRL。根據(jù)測頻原理,測頻控制時序可以如圖 1-11 所示。 設(shè)計要求是:FTCTRL 的計數(shù)使能信號 CNT_EN 能產(chǎn)生一個 1 秒脈寬的周期信號,并對頻率計中的 32 位二進制計數(shù)器 COUNTE
52、R32B(圖1-12)的 ENABL 使能端進行同步控制。當(dāng) CNT_EN 高電平時允許計數(shù);低電平時停止計數(shù),并保 持其所計的脈沖數(shù)。在停止計數(shù)期間,首先需要一個鎖存信號 LOAD 的上跳沿將計數(shù)器在前 1 秒鐘的計數(shù)值鎖存進鎖存器 REG32B 中,并由外部的 16 進制 7 段譯碼器譯出,顯示計數(shù)值。設(shè)置鎖存器的好處是數(shù)據(jù)顯示穩(wěn)定,不會由于周期性的清 0 信號而不斷閃爍。鎖存信號后,必須有一清 0 信號 RST_CNT 對計數(shù)器進行清零,為下 1 秒的計數(shù)操作作準備。 (3) 實驗內(nèi)容 1:分別仿真測試模塊例 1-10-1、例 1-10-2 和例 1-10-3,再結(jié)合例 1-10-4完成
53、頻率計的完整設(shè)計和硬件實現(xiàn),并 給出其測頻時序波形及其分析。建議選實驗電路模式 5;8 個數(shù)碼管以 16 進制形式顯示測頻輸出;待測頻率輸入 FIN 由 clock0 輸入,頻率可選 4Hz、256HZ、3Hz.50MHz 等;1HZ 測頻控制信號 CLK1HZ 可由 clock2 輸入(用跳線選 1Hz)。注意,這時 8 個數(shù)碼管的測頻顯示值是 16 進制的。(4) 實驗內(nèi)容 2:參考例 3-22,將頻率計改為 8 位 10 進制頻率計,注意此設(shè)計電路的計數(shù)器必須是 8 個 4 位的 10進制計數(shù)器,而不是 1 個。此外注意在測頻速度上給予優(yōu)化。(5) 實驗內(nèi)容 3:用 LPM 模塊取代例
54、7-8 和例 7-9,再完成同樣的設(shè)計任務(wù)。(6) 實驗內(nèi)容 4:用嵌入式鎖相環(huán) PLL 的 LPM 模塊對實驗系統(tǒng)的 50MHz 或 20MHz 時鐘源分頻率,PLL 的輸出信 號作為頻率計的待測信號。注意 PLL 的輸入時鐘必須是器件的專用時鐘輸入腳 CLKÆpin16(clock5)或 pin17(clock2), 且輸入頻率不能低于 16MHz。(實驗中可以將 50MHz 頻率用線引向 Clock2,但要拔除其上的短路帽)(7) 實驗報告:給出頻率計設(shè)計的完整實驗報告?!纠?-10-1】LIBRARY IEEE; -測頻控制電路USE IEEE.STD_LOGIC_1164.
55、ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY FTCTRL ISPORT (CLKK : IN STD_LOGIC;- 1HzCNT_EN : OUT STD_LOGIC;- 計數(shù)器時鐘使能RST_CNT : OUT STD_LOGIC;- 計數(shù)器清零Load : OUT STD_LOGIC);- 輸出鎖存信號END FTCTRL;ARCHITECTURE behav OF FTCTRL ISSIGNAL Div2CLK : STD_LOGIC; BEGINPROCESS( CLKK ) BEGINIF CLKK'EVENT AND CLKK
56、= '1' THEN- 1Hz時鐘2分頻Div2CLK <= NOT Div2CLK; END IF;END PROCESS;PROCESS (CLKK, Div2CLK) BEGINIF CLKK='0' AND Div2CLK='0' THEN RST_CNT<='1'- 產(chǎn)生計數(shù)器清零信號ELSE RST_CNT <= '0' END IF; END PROCESS;Load <= NOT Div2CLK;CNT_EN <= Div2CLK; END behav;【例1-10-2
57、】LIBRARY IEEE; -32位鎖存器USE IEEE.STD_LOGIC_1164.ALL; ENTITY REG32B ISPORT (LK : IN STD_LOGIC;DIN : IN STD_LOGIC_VECTOR(31 DOWNTO 0); DOUT : OUT STD_LOGIC_VECTOR(31 DOWNTO 0) );END REG32B;ARCHITECTURE behav OF REG32B IS BEGINPROCESS(LK, DIN) BEGINIF LK'EVENT AND LK = '1' THEN DOUT <= DIN
58、; END IF;END PROCESS;END behav;【例1-10-3】LIBRARY IEEE; -32位計數(shù)器USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY COUNTER32B ISPORT (FIN : IN STD_LOGIC;- 時鐘信號CLR : IN STD_LOGIC;- 清零信號ENABL : IN STD_LOGIC;- 計數(shù)使能信號DOUT : OUT STD_LOGIC_VECTOR(31 DOWNTO 0); - 計數(shù)結(jié)果END COUNTER32B;ARCHITECTU
59、RE behav OF COUNTER32B ISSIGNAL CQI : STD_LOGIC_VECTOR(31 DOWNTO 0); BEGINPROCESS(FIN, CLR, ENABL) BEGINIF CLR = '1' THENCQI <= (OTHERS=>'0');- 清零ELSIF FIN'EVENT AND FIN = '1' THENIF ENABL = '1' THEN CQI <= CQI + 1; END IF; END IF;END PROCESS; DOUT <=
60、CQI;END behav;【例1-10-4】LIBRARY IEEE; -頻率計頂層文件LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL; ENTITY FREQTEST ISPORT ( CLK1HZ : IN STD_LOGIC; FSIN : IN STD_LOGIC;DOUT : OUT STD_LOGIC_VECTOR(31 DOWNTO 0) ); END FREQTEST;ARCHITECTURE struc OF FREQTEST IS COMPONENT FTCTRLPORT (CLKK : IN STD_LOGIC;- 1HzCNT_EN : OUT STD_LOGIC;- 計數(shù)器時鐘使能RST_CNT : OUT STD_LOGIC;- 計數(shù)器清零Load : OUT STD_LOGIC);- 輸出鎖存信號END COMPONENT; COMPONENT COUNTER
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 護理安全管理
- 大班家長會活動情況總結(jié)模版
- 山東省濟寧市2025年高考模擬考試英語試題及答案(濟寧三模)
- 淺析藥品GMP修訂草案鄧海根老師-09-08-04
- 小學(xué)開展語言文字工作總結(jié)模版
- 心房內(nèi)傳導(dǎo)阻滯的臨床護理
- 統(tǒng)編人教版三年級語文下冊《口語交際:春游去哪兒玩》公開課教學(xué)課件
- 學(xué)前兒童發(fā)展 課件 第10章 學(xué)前兒童語言的發(fā)展
- 內(nèi)蒙古根河市阿龍山中學(xué)2025屆七年級數(shù)學(xué)第二學(xué)期期末達標檢測模擬試題含解析
- 湖南省鳳凰縣聯(lián)考2025年七下數(shù)學(xué)期末質(zhì)量檢測模擬試題含解析
- 2025+CSCO非小細胞肺癌診療指南解讀課件
- 中學(xué)生學(xué)憲法班會課件
- 醫(yī)院后勤考試試題及答案
- 縣人民醫(yī)院老住院樓裝修改造項目可行性研究報告申請報告編寫
- 腎內(nèi)科健康科普護理
- 第1課 中華文明的起源與早期國家 課件 人教版必修上冊中外歷史綱要
- 互聯(lián)網(wǎng)運營思維
- T∕CACM 1085-2018 中醫(yī)治未病技術(shù)操作規(guī)范 調(diào)神益智針法預(yù)防血管性認知障礙
- 裝修銷售培訓(xùn)課件
- 暗挖開挖技術(shù)交底
- 數(shù)據(jù)治理架構(gòu)試題及答案
評論
0/150
提交評論