版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 《EDA》</b></p><p><b> 課程設(shè)計報告</b></p><p><b> 目 錄</b></p><p> 一、實(shí)驗(yàn)?zāi)康?#183;·········
2、83;·········</p><p> 二、實(shí)驗(yàn)要求····················</p>&l
3、t;p> 三、設(shè)計思路····················</p><p> 四、設(shè)計原理·········
4、183;··········</p><p> 五、設(shè)計仿真····················</p&
5、gt;<p> 1 、十進(jìn)制仿真···················</p><p> 2 、譯碼仿真········
6、3;············</p><p> 3 、頻率控制仿真·················</p>
7、<p> 4 、各功能模塊圖·················</p><p> 六、實(shí)驗(yàn)現(xiàn)象···········
8、83;········</p><p> 七、設(shè)計源碼····················</p><p>
9、; 1 、十進(jìn)制源碼···················</p><p> 2 、譯碼源碼···········
10、;··········</p><p> 3 、頻率控制源碼·················</p><p> 4
11、、掃描模塊源碼·················</p><p> 5 、32位鎖存器源碼·············
12、;··</p><p> 八、設(shè)計體會····················</p><p><b> 一、實(shí)驗(yàn)?zāi)康?lt;/b></p>
13、<p> 1)鞏固這學(xué)期所學(xué)的EDA理論知識,通過實(shí)驗(yàn)的分析、設(shè)計及完成來加深對所學(xué)知識的應(yīng)用。</p><p> 2)提高理論結(jié)合實(shí)際應(yīng)用的能力,學(xué)會活學(xué)活用、查閱資料,并能自己動手設(shè)計簡單的完整電路。</p><p> 3)學(xué)習(xí)設(shè)計8位十進(jìn)制頻率計數(shù)器,掌握其中的設(shè)計思路、原理、方法、步驟,并觀察現(xiàn)象給出體會。</p><p><b&g
14、t; 二、實(shí)驗(yàn)要求</b></p><p> 1) 設(shè)計一個能測量1~99999999Hz 頻率輸入信號的頻率計。</p><p> 2) 輸出結(jié)果在八個十進(jìn)制計數(shù)的數(shù)碼管上掃描顯示。</p><p> 3) 按要求寫好設(shè)計報告。</p><p><b> 三、設(shè)計思路</b></p&g
15、t;<p> 由一位十進(jìn)制計數(shù)計的設(shè)計原理可知,要設(shè)計八位十進(jìn)制必須有的模塊:十進(jìn)制計數(shù)模塊,頻率控制模塊,32位鎖存模塊,掃描模塊,譯碼模塊。又因?yàn)轭l率測量的工作原理是計算每秒鐘內(nèi)測量信號的脈沖數(shù),這就要求頻率計數(shù)模塊的使能信號en 能產(chǎn)生一個1秒脈沖的周期信號,并對頻率計的每一計數(shù)器count10的ena 使能端進(jìn)行同步控制。先輸入1HZ的信號,對其2分頻,且占空比為1:1,則高、低電平各占1 S。當(dāng)en 高電平時,
16、允許計數(shù);低電平時,停止計數(shù),并保持其所計的計數(shù)值。在停止計數(shù)期間,首先需要一個鎖存信號load 的上跳沿將計數(shù)器在前一秒的計數(shù)值鎖存在32位鎖存器reg32b 中,并由外部的7段譯碼器譯出并穩(wěn)定顯示。鎖存信號后,并須有一個清零信號rst-cnt對計數(shù)器清零,為下一秒的計數(shù)操作做準(zhǔn)備。計數(shù)器count 10設(shè)計要求:有一時鐘使能輸入端,用于鎖定計數(shù)值。當(dāng)高、電平時計數(shù)時允許,低電平禁止計數(shù)</p><p> 寄
17、存器的reg 32b 的設(shè)計要求是:若已知32位的BCD碼存在于模塊的輸入口,在鎖存信號load的上升沿即被鎖存到寄存器reg 32b 內(nèi)部,并由reg 32b輸出口輸出,然后由外部的7段譯碼器譯出能在譯碼管譯出并顯示出相應(yīng)的數(shù)值。</p><p><b> 四、設(shè)計原理</b></p><p> 因?yàn)轭l率計的測量思路是一秒內(nèi)的脈沖數(shù)目,則測定信號的頻率必須有一個
18、為1S的輸入信號脈沖計數(shù)允許的信號,1S計數(shù)結(jié)束后,計數(shù)值被鎖存鎖存器,計數(shù)器清零,為下一測量周期做好準(zhǔn)備。測量控制信號可以由一個獨(dú)立的發(fā)生器來產(chǎn)生。</p><p><b> 五、設(shè)計仿真</b></p><p> 1、十進(jìn)制計數(shù)計仿真圖形:</p><p> 2、譯碼模塊仿真圖形:</p><p> 3、頻率
19、控制模塊仿真:</p><p><b> 4、各功能模塊圖:</b></p><p> 十進(jìn)制模塊 32位鎖存器模塊 掃描模塊</p><p> 頻率控制模塊 譯碼模塊</p><p><b> 六、實(shí)驗(yàn)現(xiàn)象&l
20、t;/b></p><p> 1、由實(shí)驗(yàn)原理可知,各模塊的連接的連接電路圖如下所示:</p><p> ?。ㄆ渲衏lk 為輸入信號,clk 1為輸入1Hz 的時鐘信號,clk 2為掃描信號,clr 為復(fù)位信號,A B C D E F G H為數(shù)碼管對應(yīng)輸出管腳,sel 0 sel1 sel2為對數(shù)碼管的選擇信號。 )</p><p><b>
21、 2、引腳鎖定:</b></p><p><b> 3、時序仿真波形:</b></p><p><b> 4、編譯下載:</b></p><p><b> 5、試驗(yàn)箱現(xiàn)象:</b></p><p><b> 七、設(shè)計源碼</b><
22、/p><p> 1 、十進(jìn)制模塊源碼</p><p> library ieee;</p><p> use ieee.std_logic_1164.all;</p><p> entity count10 is</p><p> port(clk: in std_logic;</p><p
23、> clr: in std_logic;</p><p> ena: in std_logic;</p><p> cq : out integer range 0 to 9;</p><p> carry_out: out std_logic);</p><p> end count10;</p><
24、;p> architecture behav of count10 is</p><p> signal cqi: integer range 0 to 9;</p><p><b> begin</b></p><p> process(clr,clk,ena)</p><p><b> be
25、gin</b></p><p> if(clr='1') then </p><p><b> cqi<=0;</b></p><p> elsif(clk'event and clk='1') then</p><p> if(ena='1
26、9;) then</p><p> if(cqi=9) then </p><p><b> cqi<=0;</b></p><p> carry_out<='1';</p><p><b> else </b></p><p> cqi
27、<=cqi+1;</p><p> carry_out<='0';</p><p><b> end if;</b></p><p><b> end if;</b></p><p><b> end if;</b></p>&
28、lt;p> end process;</p><p><b> cq<=cqi;</b></p><p> end behav;</p><p><b> 2 、譯碼器源碼</b></p><p> LIBRARY IEEE;</p><p> USE
29、 IEEE.STD_LOGIC_1164.ALL;</p><p> ENTITY YIMA IS</p><p> PORT(S: IN STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p> A,B,C,D,E,F,G,H: OUT STD_LOGIC);</p><p><b> END YIMA
30、;</b></p><p> ARCHITECTURE BEHAV OF YIMA IS</p><p> SIGNAL DATA:STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p> SIGNAL DOUT:STD_LOGIC_VECTOR(7 DOWNTO 0);</p><p><b>
31、; BEGIN</b></p><p><b> DATA<=S;</b></p><p> PROCESS(DATA)</p><p><b> BEGIN</b></p><p> CASE DATA IS</p><p> WHEN &q
32、uot;0000"=>DOUT<="00111111";</p><p> WHEN "0001"=>DOUT<="00000110";</p><p> WHEN "0010"=>DOUT<="01011011";</p>&
33、lt;p> WHEN "0011"=>DOUT<="01001111";</p><p> WHEN "0100"=>DOUT<="01100110";</p><p> WHEN "0101"=>DOUT<="01101101&qu
34、ot;;</p><p> WHEN "0110"=>DOUT<="01111101";</p><p> WHEN "0111"=>DOUT<="00000111";</p><p> WHEN "1000"=>DOUT<=
35、"01111111";</p><p> WHEN "1001"=>DOUT<="01101111";</p><p> WHEN "1010"=>DOUT<="01110111";</p><p> WHEN "1011&qu
36、ot;=>DOUT<="01111100";</p><p> WHEN "1100"=>DOUT<="00111001";</p><p> WHEN "1101"=>DOUT<="01011110";</p><p> W
37、HEN "1110"=>DOUT<="01111001";</p><p> WHEN "1111"=>DOUT<="01110001";</p><p> WHEN OTHERS=>DOUT<="00000000";</p><p
38、><b> END CASE;</b></p><p> END PROCESS;</p><p> H<=DOUT(7);</p><p> G<=DOUT(6);</p><p> F<=DOUT(5);</p><p> E<=DOUT(4);<
39、;/p><p> D<=DOUT(3);</p><p> C<=DOUT(2);</p><p> B<=DOUT(1);</p><p> A<=DOUT(0);</p><p> END BEHAV;</p><p> 3 、頻率控制器源碼</p>
40、;<p> library ieee;</p><p> use ieee.std_logic_1164.all;</p><p> use ieee.std_logic_unsigned.all;</p><p> entity testctl is</p><p> port(clk : in std_logic;
41、</p><p> tsten : out std_logic;</p><p> clr_cnt : out std_logic;</p><p> load : out std_logic);</p><p> end testctl;</p><p> architecture behav of tes
42、tctl is</p><p> signal div2clk : std_logic;</p><p><b> begin</b></p><p> process(clk)</p><p><b> begin</b></p><p> if(clk'
43、event and clk='1') then </p><p> div2clk<=not div2clk;</p><p><b> end if;</b></p><p> end process;</p><p> process(clk,div2clk)</p>&l
44、t;p><b> begin</b></p><p> if(clk='0' and div2clk='0') then</p><p> clr_cnt<='1';</p><p><b> else</b></p><p>
45、clr_cnt<='0';</p><p><b> end if;</b></p><p> end process;</p><p> load<=not div2clk;</p><p> tsten<=div2clk;</p><p> end
46、behav;</p><p><b> 4 、掃描模塊源碼</b></p><p> library ieee;</p><p> use ieee.std_logic_1164.all;</p><p> use ieee.std_logic_unsigned.all;</p><p>
47、 entity sanmiao is</p><p> port(clk : in std_logic;</p><p> din : in std_logic_vector(31 downto 0);</p><p> daout: out std_logic_vector(3 downto 0);</p><p> sel :
48、out std_logic_vector(2 downto 0));</p><p> end sanmiao;</p><p> architecture behav of sanmiao is</p><p> signal sec : std_logic_vector(2 downto 0);</p><p><b>
49、 begin</b></p><p> process(clk)</p><p><b> begin</b></p><p> if(clk'event and clk='1') then </p><p> if(sec="111") then<
50、/p><p> sec<="000";</p><p><b> else</b></p><p> sec<=sec+1;</p><p><b> end if;</b></p><p><b> end if;</b
51、></p><p> end process;</p><p> process(sec,din(31 downto 0))</p><p><b> begin</b></p><p> case sec is</p><p> when "000"=>
52、daout<=din(3 downto 0);</p><p> when "001"=>daout<=din(7 downto 4);</p><p> when "010"=>daout<=din(11 downto 8);</p><p> when "011"=&
53、gt;daout<=din(15 downto 12);</p><p> when "100"=>daout<=din(19 downto 16);</p><p> when "101"=>daout<=din(23 downto 20);</p><p> when "110
54、"=>daout<=din(27 downto 24);</p><p> when "111"=>daout<=din(31 downto 28);</p><p> when others=>null;</p><p><b> end case;</b></p>
55、<p> end process;</p><p><b> sel<=sec;</b></p><p> end behav;</p><p> 5 、32位鎖存器源碼</p><p> library ieee;</p><p> use ieee.std_lo
56、gic_1164.all;</p><p> entity reg32b is</p><p> port( load : in std_logic;</p><p> rst: in std_logic;</p><p> din: in std_logic_vector(31 downto 0);</p><p
57、> dout:out std_logic_vector(31 downto 0));</p><p> end reg32b;</p><p> architecture behav of reg32b is</p><p> signal data:std_logic_vector(31 downto 0);</p><p>
58、<b> begin</b></p><p> process(rst,load)</p><p><b> begin</b></p><p> if rst='1' then</p><p> data<=(others=>'0');<
59、/p><p> elsif(load'event and load='1') then</p><p> data<=din;</p><p><b> end if;</b></p><p> dout<=data;</p><p> end proce
60、ss;</p><p> end behav;</p><p><b> 八、設(shè)計體會</b></p><p> 經(jīng)過近一周的實(shí)驗(yàn),終于成功的把八位十進(jìn)制頻率計做出來了,成功的喜悅不言而喻。但經(jīng)過這次設(shè)計讓我認(rèn)識了自己的很多不足,理論的缺失和實(shí)驗(yàn)的缺乏讓我在做設(shè)計的時候吃了不少苦頭,開始的幾天一直像只無頭蒼蠅,雖然一直在做,但毫無成果可言
61、。后來看著同學(xué)們陸續(xù)出了結(jié)果,心里更是萬分焦急,但我知道焦急和抱怨是沒有用的,只有靜下心來認(rèn)真分析才能出結(jié)果,經(jīng)過查閱資料及老師和同學(xué)的幫助,我對八位十進(jìn)制頻率計有了清晰的認(rèn)識,再結(jié)合書本一個大致的框圖便出現(xiàn)了,經(jīng)過不斷修改及調(diào)試,最后終于出現(xiàn)了實(shí)驗(yàn)結(jié)果,很是高興!</p><p> 非常感謝*老師及同學(xué)們的幫助!希望自己在以后的學(xué)習(xí)中能真正學(xué)習(xí)到知識,而不是僅僅停留在表層。只有不斷鉆研,才能出成果;只有不斷攀
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 八位十進(jìn)制數(shù)字頻率計基于eda課程設(shè)計
- 課程設(shè)計--八位十六進(jìn)制頻率計
- 基于eda的8位十進(jìn)制頻率計設(shè)計
- 基于eda的8位十進(jìn)制頻率計設(shè)計
- 基于eda的8位十進(jìn)制頻率計設(shè)計
- eda課程設(shè)計--頻率計
- 基于eda技術(shù)的2位頻率計eda課程設(shè)計
- eda頻率計課程設(shè)計報告
- eda專業(yè)課程設(shè)計--用vhdl來實(shí)現(xiàn)八位二—十進(jìn)制異步計數(shù)器
- eda課程設(shè)計報告---頻率計
- eda課程設(shè)計--簡易頻率計設(shè)計
- eda課程設(shè)計--十進(jìn)制加法器
- 電子信息系統(tǒng)課程設(shè)計--基于fpga四位十進(jìn)制數(shù)字頻率計
- eda技術(shù)課程設(shè)計---六位頻率計的設(shè)計
- eda課程設(shè)計---十進(jìn)制加法計數(shù)器
- eda課程設(shè)計--十進(jìn)制加法計數(shù)器
- eda十進(jìn)制計數(shù)加法器課程設(shè)計
- eda課程設(shè)計---數(shù)字頻率計
- 課程設(shè)計---eda數(shù)字頻率計
- eda課程設(shè)計---數(shù)字頻率計
評論
0/150
提交評論