版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 課程設(shè)計報告</b></p><p> 摘要:本次課程設(shè)計是設(shè)計一個模7加法器,并用VHDL在結(jié)構(gòu)化層面對其進行描述,然后利用modelsim進行仿真,并得到期望的效果。</p><p><b> 正文:</b></p><p> 第一章:實驗任務(wù)及原理。</p><
2、p><b> ?。?)任務(wù)指標(biāo):</b></p><p> 通過模7加法器的設(shè)計,第一,加深對數(shù)字電路相關(guān)知識的理解,學(xué)會應(yīng)用,第二,初步掌握VHDL這種不同于C語言的硬件描述語言,第三,了解并熟悉modelsim仿真軟件的使用方法。</p><p><b> (2)功能需求:</b></p><p> 設(shè)計模
3、7加法器,并用VHDL在結(jié)構(gòu)層面上對其進行描述,通過仿真驗證其可行性。</p><p><b> (3)原理闡述:</b></p><p> 模7加法器的實現(xiàn)電路框圖在后面部分給出,這里主要從VHDL描述的層面給出大致原理。先建立一個半加器實體,然后用半加器構(gòu)造全加器實體,再用全加器構(gòu)造3bit加法器實體,最后用3bit加法器構(gòu)造模7加法器實體。</p>
4、;<p> 第二章:設(shè)計思路方法及方案。</p><p> 由于考慮到這次課程設(shè)計并不復(fù)雜,因此在設(shè)計方法上采用自頂向下和自底向上方法的結(jié)合。自頂向下,即先確定模7加法器的輸入端口輸出端口的功能屬性。自底向上,即從最低層的功能模塊開始設(shè)計,比如說,我這次就先設(shè)計半加器,然后用半加器構(gòu)造全加器,之后再用全加器構(gòu)造3bit加法器,最終由全加器加上一部分組合邏輯電路形成模7加法器。這種方式,層次結(jié)構(gòu)清
5、晰,便于描述。</p><p> 第三章:原理框圖及波形仿真。</p><p><b> 原理圖:</b></p><p><b> 波形仿真:</b></p><p> 以上是對所有情況的輸入進行了遍歷,發(fā)現(xiàn)結(jié)果都是與預(yù)期的結(jié)果一致,說明仿真成功,達到了課程設(shè)計的要求。</p>
6、<p><b> 第四章:結(jié)束語。</b></p><p> 雖然這個課程設(shè)計比較簡單,但是由于初次接觸VHDL,在用它描述設(shè)計好的模7加法器時仍然感覺非常的不順手,但是通過連續(xù)幾天的學(xué)習(xí)VHDL語言,我還是掌握的VHDL描述電路的一些基本方法,當(dāng)然要徹底掌握好VHDL還是需要大量的實踐才行。</p><p> 在這次課程設(shè)計中,我寫了四個實體,分
7、別是半加器,全加器,3bit加法器,模7加法器,但是我只寫了模7的test bench。后來知道老師給我指出了只寫一個test bench的不足之處。比如說,在寫一個比較大的系統(tǒng)時,如果只對最終的系統(tǒng)進行仿真,而且出了問題,我們就不知道到底是哪個地方出錯,很難找出錯誤。而,我們要是對每一個模塊或者實體都寫一個test bench的話,那么我們在進行仿真是就能很快發(fā)現(xiàn)錯誤,提高設(shè)計效率。雖然這次我只寫一個test bench也仿真成功了,
8、但我明白,這只是因為這次課程設(shè)計比較簡單,以后我們真正遇到大的設(shè)計任務(wù)時,這種方法肯定不行,一定要養(yǎng)成對每一個模塊寫test bench的習(xí)慣才行。</p><p><b> 附加代碼:</b></p><p><b> (1)半加器</b></p><p> library ieee;</p><
9、;p> use ieee.std_logic_1164.all;</p><p> entity half_adder is</p><p> port(A,B:in std_logic;S,C:out std_logic);</p><p> end entity;</p><p> architecture behave
10、of half_adder is</p><p><b> begin</b></p><p> S1:process(A,B)is</p><p><b> begin</b></p><p> S<=A xor B;</p><p> end proces
11、s S1;</p><p> C1:process(A,B)is</p><p><b> begin</b></p><p> C<=A and B;</p><p> end process C1;</p><p> end architecture behave;</p
12、><p><b> ?。?)全加器:</b></p><p> library ieee;</p><p> use ieee.std_logic_1164.all;</p><p> entity full_adder is</p><p> port(Cin,A,B:in std_logi
13、c;S,Cout:out std_logic);</p><p> end entity full_adder;</p><p> architecture behave of full_adder is</p><p> component half_adder</p><p> port(A,B:in std_logic;S,C:
14、out std_logic);</p><p> end component;</p><p> signal stemp:std_logic;</p><p> signal ctemp:std_logic;</p><p> signal ctemp2:std_logic;</p><p><b>
15、; begin</b></p><p> u1:half_adder</p><p> port map(A=>A,B=>B,S=>stemp,C=>ctemp);</p><p> u2:half_adder</p><p> port map(A=>Cin,B=>stemp,C=&
16、gt;ctemp2,S=>S);</p><p> Cout<=ctemp or ctemp2;</p><p> end architecture;</p><p> (3)3bit加法器:</p><p> library ieee;</p><p> use ieee.std_logic_1
17、164.all;</p><p> entity bit_3_adder is</p><p> port(A:in std_logic_vector(2 downto 0);</p><p> B:in std_logic_vector(2 downto 0);</p><p> Cin:in std_logic;</p>
18、;<p> S:out std_logic_vector(2 downto 0);</p><p> Cout:out std_logic);</p><p> end entity bit_3_adder;</p><p> architecture behave of bit_3_adder is</p><p>
19、 component full_adder</p><p> port(A,B,Cin:in std_logic;</p><p> S,Cout:out std_logic);</p><p> end component;</p><p> signal ctemp0,ctemp1:std_logic;</p>&l
20、t;p><b> begin</b></p><p> u1:full_adder</p><p> port map(A=>A(0),B=>B(0),Cin=>Cin,Cout=>ctemp0,S=>S(0));</p><p> u2:full_adder</p><p>
21、 port map(A=>A(1),B=>B(1),Cin=>ctemp0,Cout=>ctemp1,S=>S(1));</p><p> u3:full_adder</p><p> port map(A=>A(2),B=>B(2),Cin=>ctemp1,Cout=>Cout,S=>S(2));</p>&
22、lt;p> end architecture behave;</p><p><b> ?。?)模7加法器:</b></p><p> library ieee;</p><p> use ieee.std_logic_1164.all;</p><p> entity mod_7_adder is<
23、/p><p> port(A,B:in std_logic_vector(2 downto 0);S:out std_logic_vector(2 downto 0));</p><p> end entity mod_7_adder;</p><p> architecture behave of mod_7_adder is</p><p&
24、gt; component bit_3_adder</p><p> port(A:in std_logic_vector(2 downto 0);</p><p> B:in std_logic_vector(2 downto 0);</p><p> Cin:in std_logic;</p><p> S:out std_lo
25、gic_vector(2 downto 0);</p><p> Cout:out std_logic);</p><p> end component;</p><p> signal ctemp0,ctemp1:std_logic_vector(2 downto 0);</p><p> signal control,contro
26、l1:std_logic;</p><p><b> begin</b></p><p> u1:bit_3_adder</p><p> port map(A=>A,B=>B,Cin=>'0',S=>ctemp0,Cout=>control);</p><p> u
27、2:bit_3_adder</p><p> port map(A(0)=>control,A(1)=>'0',A(2)=>'0',Cin=>'0',B=>ctemp0,S=>ctemp1,Cout=>open);</p><p> control1<=ctemp1(0)and ctemp1
28、(1)and ctemp1(2);</p><p> Zmux: S<="000" when control1='1'else</p><p> ctemp1; </p><p> end architecture behave;</p><p> ?。?)test bench:<
29、/p><p> library ieee;</p><p> use ieee.std_logic_1164.all;</p><p> entity test_bench is</p><p> end entity;</p><p> architecture behave of test_bench is&
30、lt;/p><p> component mod_7_adder is</p><p> port(A,B:in std_logic_vector(2 downto 0);S:out std_logic_vector(2 downto 0));</p><p> end component;</p><p> signal A,B,S:s
31、td_logic_vector(2 downto 0);</p><p><b> begin</b></p><p> u0:mod_7_adder port map(A=>A,B=>B,S=>S);</p><p><b> process</b></p><p><
32、;b> begin</b></p><p> A<="000"; wait for 5 ns;</p><p> A<="001"; wait for 5 ns;</p><p> A<="010"; wait for 5 ns;</p><p
33、> A<="011"; wait for 5 ns;</p><p> A<="100"; wait for 5 ns;</p><p> A<="101"; wait for 5 ns;</p><p> A<="110"; wait for 5
34、ns;</p><p> A<="111"; wait for 5 ns; </p><p> wait on B;</p><p> end process;</p><p><b> process</b></p><p><b> begin&l
35、t;/b></p><p> B<="000"; wait for 40 ns;</p><p> B<="001"; wait for 40 ns;</p><p> B<="010"; wait for 40 ns;</p><p> B<=
36、"011"; wait for 40 ns;</p><p> B<="100"; wait for 40 ns;</p><p> B<="101"; wait for 40 ns;</p><p> B<="110"; wait for 40 ns;</
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 加法器課程設(shè)計---數(shù)字加法顯示電路
- 課程設(shè)計---可控加法器的設(shè)計
- 加法器課程設(shè)計---數(shù)字加法顯示電路
- eda課程設(shè)計--十進制加法器
- eda十進制計數(shù)加法器課程設(shè)計
- eda課程設(shè)計報告---四位加法器設(shè)計
- eda課程設(shè)計報告--四位加法器設(shè)計
- eda技術(shù)課程設(shè)計---8位加法器設(shè)計
- 余數(shù)系統(tǒng)模加法器與模乘法器設(shè)計.pdf
- 加法器電路的設(shè)計
- 四位二進制加法器課程設(shè)計
- 3.2.5 加法器
- 組成原理課程設(shè)計-余三碼十進制加法器
- 數(shù)字邏輯課程設(shè)計---全加器的多位加法器電路系統(tǒng)
- 一種高速加法器-前置進位加法器研究與設(shè)計.pdf
- cmos加法器設(shè)計畢業(yè)設(shè)計
- 加法器及交通信號燈數(shù)電課程設(shè)計
- 浮點數(shù)加法器的設(shè)計
- 設(shè)計高性能浮點加法器.pdf
- 位超前進位加法器設(shè)計
評論
0/150
提交評論