

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 《EDA》</b></p><p><b> 課程設計報告</b></p><p><b> 目 錄</b></p><p> 一、實驗目的··········
2、83;·········</p><p> 二、實驗要求····················</p>&l
3、t;p> 三、設計思路····················</p><p> 四、設計原理·········
4、183;··········</p><p> 五、設計仿真····················</p&
5、gt;<p> 1 、十進制仿真···················</p><p> 2 、譯碼仿真········
6、3;············</p><p> 3 、頻率控制仿真·················</p>
7、<p> 4 、各功能模塊圖·················</p><p> 六、實驗現象···········
8、83;········</p><p> 七、設計源碼····················</p><p>
9、; 1 、十進制源碼···················</p><p> 2 、譯碼源碼···········
10、;··········</p><p> 3 、頻率控制源碼·················</p><p> 4
11、、掃描模塊源碼·················</p><p> 5 、32位鎖存器源碼·············
12、;··</p><p> 八、設計體會····················</p><p><b> 一、實驗目的</b></p>
13、<p> 1)鞏固這學期所學的EDA理論知識,通過實驗的分析、設計及完成來加深對所學知識的應用。</p><p> 2)提高理論結合實際應用的能力,學會活學活用、查閱資料,并能自己動手設計簡單的完整電路。</p><p> 3)學習設計8位十進制頻率計數器,掌握其中的設計思路、原理、方法、步驟,并觀察現象給出體會。</p><p><b&g
14、t; 二、實驗要求</b></p><p> 1) 設計一個能測量1~99999999Hz 頻率輸入信號的頻率計。</p><p> 2) 輸出結果在八個十進制計數的數碼管上掃描顯示。</p><p> 3) 按要求寫好設計報告。</p><p><b> 三、設計思路</b></p&g
15、t;<p> 由一位十進制計數計的設計原理可知,要設計八位十進制必須有的模塊:十進制計數模塊,頻率控制模塊,32位鎖存模塊,掃描模塊,譯碼模塊。又因為頻率測量的工作原理是計算每秒鐘內測量信號的脈沖數,這就要求頻率計數模塊的使能信號en 能產生一個1秒脈沖的周期信號,并對頻率計的每一計數器count10的ena 使能端進行同步控制。先輸入1HZ的信號,對其2分頻,且占空比為1:1,則高、低電平各占1 S。當en 高電平時,
16、允許計數;低電平時,停止計數,并保持其所計的計數值。在停止計數期間,首先需要一個鎖存信號load 的上跳沿將計數器在前一秒的計數值鎖存在32位鎖存器reg32b 中,并由外部的7段譯碼器譯出并穩(wěn)定顯示。鎖存信號后,并須有一個清零信號rst-cnt對計數器清零,為下一秒的計數操作做準備。計數器count 10設計要求:有一時鐘使能輸入端,用于鎖定計數值。當高、電平時計數時允許,低電平禁止計數</p><p> 寄
17、存器的reg 32b 的設計要求是:若已知32位的BCD碼存在于模塊的輸入口,在鎖存信號load的上升沿即被鎖存到寄存器reg 32b 內部,并由reg 32b輸出口輸出,然后由外部的7段譯碼器譯出能在譯碼管譯出并顯示出相應的數值。</p><p><b> 四、設計原理</b></p><p> 因為頻率計的測量思路是一秒內的脈沖數目,則測定信號的頻率必須有一個
18、為1S的輸入信號脈沖計數允許的信號,1S計數結束后,計數值被鎖存鎖存器,計數器清零,為下一測量周期做好準備。測量控制信號可以由一個獨立的發(fā)生器來產生。</p><p><b> 五、設計仿真</b></p><p> 1、十進制計數計仿真圖形:</p><p> 2、譯碼模塊仿真圖形:</p><p> 3、頻率
19、控制模塊仿真:</p><p><b> 4、各功能模塊圖:</b></p><p> 十進制模塊 32位鎖存器模塊 掃描模塊</p><p> 頻率控制模塊 譯碼模塊</p><p><b> 六、實驗現象&l
20、t;/b></p><p> 1、由實驗原理可知,各模塊的連接的連接電路圖如下所示:</p><p> (其中clk 為輸入信號,clk 1為輸入1Hz 的時鐘信號,clk 2為掃描信號,clr 為復位信號,A B C D E F G H為數碼管對應輸出管腳,sel 0 sel1 sel2為對數碼管的選擇信號。 )</p><p><b>
21、 2、引腳鎖定:</b></p><p><b> 3、時序仿真波形:</b></p><p><b> 4、編譯下載:</b></p><p><b> 5、試驗箱現象:</b></p><p><b> 七、設計源碼</b><
22、/p><p> 1 、十進制模塊源碼</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> 八、設計體會</b></p><p> 經過近一周的實驗,終于成功的把八位十進制頻率計做出來了,成功的喜悅不言而喻。但經過這次設計讓我認識了自己的很多不足,理論的缺失和實驗的缺乏讓我在做設計的時候吃了不少苦頭,開始的幾天一直像只無頭蒼蠅,雖然一直在做,但毫無成果可言
61、。后來看著同學們陸續(xù)出了結果,心里更是萬分焦急,但我知道焦急和抱怨是沒有用的,只有靜下心來認真分析才能出結果,經過查閱資料及老師和同學的幫助,我對八位十進制頻率計有了清晰的認識,再結合書本一個大致的框圖便出現了,經過不斷修改及調試,最后終于出現了實驗結果,很是高興!</p><p> 非常感謝*老師及同學們的幫助!希望自己在以后的學習中能真正學習到知識,而不是僅僅停留在表層。只有不斷鉆研,才能出成果;只有不斷攀
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 八位十進制數字頻率計基于eda課程設計
- 課程設計--八位十六進制頻率計
- 基于eda的8位十進制頻率計設計
- 基于eda的8位十進制頻率計設計
- 基于eda的8位十進制頻率計設計
- eda課程設計--頻率計
- 基于eda技術的2位頻率計eda課程設計
- eda頻率計課程設計報告
- eda專業(yè)課程設計--用vhdl來實現八位二—十進制異步計數器
- eda課程設計報告---頻率計
- eda課程設計--簡易頻率計設計
- eda課程設計--十進制加法器
- 電子信息系統(tǒng)課程設計--基于fpga四位十進制數字頻率計
- eda技術課程設計---六位頻率計的設計
- eda課程設計---十進制加法計數器
- eda課程設計--十進制加法計數器
- eda十進制計數加法器課程設計
- eda課程設計---數字頻率計
- 課程設計---eda數字頻率計
- eda課程設計---數字頻率計
評論
0/150
提交評論