一個(gè)簡(jiǎn)單的vhdl模板_第1頁(yè)
一個(gè)簡(jiǎn)單的vhdl模板_第2頁(yè)
一個(gè)簡(jiǎn)單的vhdl模板_第3頁(yè)
一個(gè)簡(jiǎn)單的vhdl模板_第4頁(yè)
一個(gè)簡(jiǎn)單的vhdl模板_第5頁(yè)
已閱讀5頁(yè),還剩9頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、沈陽(yáng)理工大學(xué)課程設(shè)計(jì)專用紙目錄引言11.系統(tǒng)的設(shè)計(jì)要求12.系統(tǒng)分析32.1 系統(tǒng)構(gòu)成32.2系統(tǒng)實(shí)現(xiàn)過(guò)程33.具體模塊設(shè)計(jì)43.1倍頻器模塊43.2主程序模塊53.3波形顯示模塊53.4頻率顯示模塊54.程序設(shè)計(jì)64.1主程序模塊64.2倍頻器模塊74.3頻率顯示模塊94.4 波形顯示模塊105.運(yùn)行結(jié)果與分析126.結(jié)束語(yǔ)12參考文獻(xiàn)13引言 隨著現(xiàn)代社會(huì)的發(fā)展,搶答器被廣泛的運(yùn)用于很多的娛樂(lè)節(jié)目,其作用也是越來(lái)越大。近年來(lái),隨著社會(huì)的迅猛發(fā)展,搶答器得到了廣泛的運(yùn)用。很多的電視臺(tái)都會(huì)播放一些娛樂(lè)節(jié)目,在節(jié)目過(guò)程中都會(huì)添加一些娛樂(lè)節(jié)目,尤其是互動(dòng)性的競(jìng)爭(zhēng)游戲,這樣都會(huì)使用到搶答器,這樣使得

2、對(duì)搶答器的要求也越來(lái)越高,當(dāng)然也更進(jìn)一步體現(xiàn)了搶答器的價(jià)值。結(jié)合這種的背景,結(jié)合一些娛樂(lè)節(jié)目的實(shí)際情況,并發(fā)出真正適合我們特點(diǎn)的智能顯示控制系統(tǒng)已經(jīng)成為當(dāng)前的主要任務(wù),智能控制的效果能直接影響到大家對(duì)此娛樂(lè)節(jié)目的認(rèn)可,同時(shí)好的智能控制也能為大家?guī)?lái)很多方便。通過(guò)對(duì)搶答器基本原理的了解,我們可以設(shè)計(jì)多路搶答器,讓節(jié)目可以有更多得人參與。同時(shí)我們可以全面熟悉、掌握VHDL語(yǔ)言基本知識(shí),掌握利用VHDL語(yǔ)言對(duì)常用的的組合邏輯電路和時(shí)序邏輯電路編程,把編程和實(shí)際結(jié)合起來(lái),熟悉編制和調(diào)試程序的技巧,掌握分析結(jié)果的若干有效方法,進(jìn)一步提高上機(jī)動(dòng)手能力,培養(yǎng)使用設(shè)計(jì)綜合電路的能力,養(yǎng)成提供文檔資料的習(xí)慣和規(guī)

3、范編程的思想。1. 系統(tǒng)的設(shè)計(jì)要求 信號(hào)發(fā)生器是一種能夠產(chǎn)生多種波形,如三角波、方波、鋸齒波、正弦波的儀器。信號(hào)發(fā)生器在電路實(shí)驗(yàn)和設(shè)備檢測(cè)以及通信、雷達(dá)、導(dǎo)航、宇航等領(lǐng)域有廣泛的應(yīng)用。正因?yàn)槠湓谏钪袘?yīng)用的重要性,人們它做了大量的研究,總結(jié)出了許多實(shí)現(xiàn)方式。可以基于FPGA 、VHDL、單片機(jī)、DOS技能、數(shù)字電路等多種方法實(shí)現(xiàn)。正弦波信號(hào)發(fā)生器是信號(hào)發(fā)生器的一種??梢詫?shí)現(xiàn)信號(hào)發(fā)生器的一些基本功能。在本次課程設(shè)計(jì)中所要求的是采用VHDL來(lái)實(shí)現(xiàn)正弦波信號(hào)發(fā)生器。設(shè)計(jì)的正弦波信號(hào)發(fā)生器所具有的功能如下:(1)電路的外部頻率為40MHz,自己所設(shè)計(jì)的正弦信號(hào)發(fā)生器可產(chǎn)生0-1KHz、1KHz10KH

4、z、10KHz1MHz三檔頻率的信號(hào);(2)具有頻率段選擇的功能;(3)在同一頻率檔內(nèi),可實(shí)現(xiàn)頻率的加減;(4)在顯示波形的同時(shí)能夠進(jìn)行頻率的調(diào)節(jié);(5)能夠顯示正弦波(6)能夠顯示頻率值;(7)可用示波器進(jìn)行波形的觀測(cè)。 2.系統(tǒng)分析2.1 系統(tǒng)構(gòu)成正弦波中間信號(hào)初始化定義分頻進(jìn)程有顯示頻率功能頻率范圍選擇頻率范圍調(diào)節(jié)頻率值顯示波形輸出圖1智能搶答器功能模塊劃分圖該正弦波發(fā)生器分為六個(gè)個(gè)模塊,分別為:頻率控制模塊、相位累加器、波形rom、D/A轉(zhuǎn)換器、濾波電路、和顯示模塊。2.2系統(tǒng)實(shí)現(xiàn)過(guò)程1.電路的外部頻率為40MHz,自己所設(shè)計(jì)的正弦信號(hào)發(fā)生器可產(chǎn)生0-1KHz、1KHz10KHz、10

5、KHz1MHz三檔頻率的信號(hào);2.具有頻率段選擇的功能;3.在同一頻率檔內(nèi),可實(shí)現(xiàn)頻率的加減;4.在顯示波形的同時(shí)能夠進(jìn)行頻率的調(diào)節(jié);5.能夠顯示正弦波6.能夠顯示頻率值;7.可用示波器進(jìn)行波形的觀測(cè)。3.具體模塊設(shè)計(jì)3.1倍頻器模塊圖 4.1 倍頻模塊原理圖 由于要求簡(jiǎn)易正弦波信號(hào)發(fā)生器輸出頻率達(dá)到1MHZ;所以實(shí)驗(yàn)箱上的20MHZ的輸出過(guò)低;無(wú)法達(dá)到要求。此時(shí)可以采用一個(gè)倍頻器將20MHZ的頻率輸出加倍成為128MHZ的頻率輸出。具體通過(guò)Quartus II 9.0軟件所做的模塊原理圖如圖4.13.2主程序模塊主程序用來(lái)實(shí)現(xiàn)系統(tǒng)的主要功能;包括波形定義分頻、頻段選擇、頻率調(diào)節(jié)以及頻率輸出等

6、。主程序見(jiàn)附錄1。主程序原理圖如圖4.2所示: 圖 4.2主程序模塊原理圖 其中clk信號(hào)為20MHZ的信號(hào)經(jīng)過(guò)加倍后的128MHZ的頻率。Key1、key2為頻率調(diào)節(jié)按鈕;key1接按鍵;當(dāng)按動(dòng)key1頻率值加1或者減1;key2接撥碼開(kāi)關(guān);用來(lái)加減選擇;當(dāng)key2=1時(shí)為加;當(dāng)key2=0時(shí)為減。sel_p1.0為頻段選擇信號(hào);當(dāng)sel_p1.0=00、01、10時(shí);其頻段分別為0HZ-1KHZ、1KHZ-10KHZ、10KHZ-1MHZ。3.3波形顯示模塊轉(zhuǎn)換模塊zhuanhuan如圖4所示,把波形顯示部分使用的是實(shí)驗(yàn)箱上的D/A轉(zhuǎn)換器;將主程序模塊的dout7.0八位二進(jìn)制輸出接D/A

7、轉(zhuǎn)換器的輸入;從而轉(zhuǎn)化為模擬信號(hào);將D/A轉(zhuǎn)換器的輸出接示波器的輸入;通過(guò)示波器顯示觀察 搶答結(jié)果轉(zhuǎn)化為二進(jìn)制數(shù)。3.4頻率顯示模塊頻率顯示部分使用了一個(gè)二進(jìn)制十六進(jìn)制轉(zhuǎn)化顯示譯碼器;將主程序中輸出的xianshi19.0這20位二進(jìn)制段碼輸出轉(zhuǎn)化為十六進(jìn)制數(shù)顯示在數(shù)碼管上。 圖 4.4 頻率顯示模塊原理圖4.程序設(shè)計(jì)4.1主程序模塊library ieee; use ieee.std_logic_1164.all; entity sin is port(clk:in std_logic; b:in std_logic_vector(15 downto 0); qout:out std_log

8、ic_vector(6 downto 0); sel_out:out std_logic_vector(3 downto 0); q:out std_logic_vector(7 downto 0); end; architecture bhv of sin iscomponent sine port(clk:in std_logic; div_set:in std_logic_vector(15 downto 0); qout:out std_logic_vector(7 downto 0) ); end component; component seg_out port(ins:in st

9、d_logic_vector(3 downto 0); outs:out std_logic_vector(6 downto 0); end component; component sel port(clk:in std_logic; qin:in std_logic_vector(15 downto 0); qout:out std_logic_vector(3 downto 0); sel_out:out std_logic_vector(3 downto 0); end component; signal se:std_logic_vector(3 downto 0); begin u

10、1:sine port map(clk,b,q); u2:seg_out port map(se,qout); u3:sel port map(clk,b,se,sel_out); end;4.2倍頻器模塊 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; use ieee.std_logic_arith.all; entity sine is port(clk:in std_logic; div_set:in std_logic_vector(15 downto 0); qout:out s

11、td_logic_vector(7 downto 0) ); end; architecture bhv of sine is signal addr:std_logic_vector(5 downto 0); signal cnt:std_logic_vector(15 downto 0); signal clk_temp:std_logic; type memory is array(0 to 63) of std_logic_vector(7 downto 0); constantrom:memory:=(10000000,10001100,10011001,10100101,10110

12、001,10111100,11000111,11010001,11011011,11100011,11101011,11110001,11110110,11111010,11111101,11111111,11111111,11111110,11111100,11111000,11110100,11101110,11100111,11011111,11010110,11001100,11000010,10110111,10101011,10011111,10010011,10000110,01111001,01101101,01100000,01010100,01001000,00111101

13、,00110011,00101001,00100000,00011000,00010001,00001011,00000111,00000011,00000001,00000000,00000000,00000010,00000101,00001001,00001110,00010100,00011100,00100100,00101110,00111000,01000011,01001110,01011010,01100110,01110011,01111111); begin fre:process(clk) begin if rising_edge(clk) then if cnt=di

14、v_set then cnt=0000000000000000;clk_temp=1; else cnt=cnt+1;clk_temp=0; end if; end if; end process; p1:process(clk_temp) begin if rising_edge(clk_temp) then if addr=111111 then addr=000000; else addr=addr+1; end if; end if; end process;main:process(addr) variable temp:integer range 0 to 63; begin te

15、mp:=conv_integer(addr); qout=rom(temp); end process; end;4.3頻率顯示模塊library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity sel is port(clk:in std_logic; qin:in std_logic_vector(15 downto 0); qout:out std_logic_vector(3 downto 0); sel_out:out std_logic_vector(3 downto 0); en

16、d; architecture bhv of sel is signal cnt:std_logic_vector(5 downto 0); signal sel_temp:integer range 0 to 4; signal clk_temp:std_logic; signal qin_temp1,qin_temp2:std_logic_vector(15 downto 0); begin p1:process(clk) begin if rising_edge(clk) then if cnt=111111 then cnt=000000;clk_temp=1; else cnt=cn

17、t+1;clk_temp=0; end if; end if; end process; p2:process(clk_temp) begin if sel_temp=4 then sel_temp=0; elsif rising_edge(clk_temp) then sel_tempsel_out=0001;qoutsel_out=0010;qoutsel_out=0100;qoutsel_out=1000;qoutsel_outoutsoutsoutsoutsoutsoutsoutsoutsoutsoutsoutsoutsoutsoutsoutsoutsnull; end case; e

18、nd process; end ;5.運(yùn)行結(jié)果與分析由于程序中計(jì)數(shù)值test比較大;無(wú)法在Quartus II 9.0軟件中顯示完整;所以我們將程序中的test值改為1;這樣可以得到完整的仿真圖;而且不改變程序原理。在實(shí)驗(yàn)時(shí)將;任意所取的頻段如下所示;其中第一頻段的初值設(shè)置為300HZ;第二頻段的初值設(shè)置為3000HZ;第三頻段的初值設(shè)置為30000HZ。 5.1 第一頻段下的正弦波仿真圖 圖 圖 5.2 第二頻段下的正弦波仿真圖 圖 5.3 第三頻段下的正弦波仿真圖6.結(jié)束語(yǔ)本四路搶答器基于FPGA,經(jīng)過(guò)程序設(shè)計(jì)、調(diào)試、仿真、下載和軟硬件聯(lián)合調(diào)試等工作,實(shí)現(xiàn)了搶答功能。本搶答器由鑒別模塊、鎖存器模塊、轉(zhuǎn)換模塊、三選一模塊、倒計(jì)時(shí)模塊、片選模塊

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論