版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、數(shù)字電路與邏輯設(shè)計·實驗報告北京郵電大學實 驗 報 告實驗名稱:數(shù)電實驗 學 院:信息與通信工程學院 班 級: 姓 名: 學 號: 日 期:2015年5月 目錄1、 實驗一.4 (1)實驗名稱和任務要求.4 (2)原理圖.4 (3)仿真波形及分析.52、 實驗二 .5 (1)實驗名稱和任務要求.5 (2)VHDL代碼.6 (3)模塊連接圖.8 (4)仿真波形及分析.83、 實驗三.9 (1)實驗名稱和任務要求.9 (2)VHDL代碼.10 (3)連接VHDL代碼.11 (4)圖形模塊.12 (5)仿真波形及分析.12 (6)端口說明.134、 實驗四.13 (1)實驗名稱和任務要求.
2、13 (2)VHDL代碼.13 (3)圖形模塊.16 (4)仿真波形及分析.18 (5)端口說明.215、 故障及問題分析.216、總結(jié).21一:實驗一1、 實驗名稱和任務要求實驗名稱: Quartus2原理圖輸入法設(shè)計 實驗目的: 1、熟悉用Quartus2原理圖輸入法進行電路設(shè)計和仿真2、掌握Quartus2圖形模塊單元的生成與調(diào)用 3 、熟悉實驗板的使用實驗內(nèi)容: 1 、用邏輯門設(shè)計實現(xiàn)一個半加器,仿真驗證其功能,并生成新的半加器圖 形模塊單元。 2 、用實驗內(nèi)容1中生成的半加器模塊和邏輯門設(shè)計實現(xiàn)一個全加器,仿真 驗證其功能,并下載到實驗板測試,要求用撥碼開關(guān)設(shè)定輸入信號,發(fā)光二 極管
3、顯示輸出信號。 3 、用3線-8線譯碼器(74LS138)和邏輯門設(shè)計實現(xiàn)函數(shù) F=/C/B/A+/CB/A+C/B/A+CBA,仿真驗證其功能,并下載到實驗板測試。要 求用撥碼開關(guān)設(shè)定輸入信號,發(fā)光二極管顯示輸出信號。 2、原理圖 (1)半加器 (2)全加器 (3)譯碼器3、仿真波形及分析 仿真波形: (1)全加器 (2)譯碼器 分析: (1)全加器:當全加器2個輸入端都為0時,即a=b=0時,若低位進位輸入cnp=0,則Si=0,進位輸出端cn=0。若低位進位輸入cnp=1,則Si=1,進位輸出端cn=0. 當全加器2個輸入端有一個為1時,即a =0,b=1或a=1,b=0時,若低位 進位
4、 輸入cnp=0,則Si=1,進位輸出端cn=0。若低位進位輸入cnp=1,則S=0,進位輸出端cn=1.當全加器2個輸入端都為1時,即a=b=1時,若低位進位輸入cnp=0,則Si=0,進位輸出端cn=1。若低位進位輸入cnp=1,則Si=1,進位輸出端cn=1. (2)譯碼器:當輸入zhi=0時,譯碼器不工作,當輸入為1時,譯碼器正常工作;當輸入信號a2a1a0=000,010,100,111時輸出f=1;其他情況f=0。二:實驗二1、實驗名稱和任務要求實驗名稱: VHDL組合邏輯電路設(shè)計 實驗目的: 1、熟悉用VHDL語言設(shè)計組合邏輯電路的方法2、 熟悉用Quartus2文本輸入法進行電
5、路設(shè)計3、 熟悉不同的編碼及其之間的轉(zhuǎn)換 實驗內(nèi)容: 1 、用VHDL語言設(shè)計實現(xiàn)一個共陰極7段數(shù)碼管譯碼器,仿真驗證其功能, 并下載到實驗板測試。要求用撥碼開關(guān)設(shè)定輸入信號,7段數(shù)碼管顯示輸出信 號。 2 、用VHDL語言設(shè)計實現(xiàn)一個8421碼轉(zhuǎn)換為余3碼的代碼轉(zhuǎn)換器,仿真驗證 其功能,并下載到實驗板測試,要求用撥碼開關(guān)設(shè)定輸入信號,發(fā)光二極管顯 示輸出信號。 3 、用VHDL語言設(shè)計實現(xiàn)一個4位二進制奇校檢驗器,輸入奇數(shù)個1 時,輸出為1,否則輸出為0,仿真驗證其功能,并下載到實驗板測 試,要求用撥碼開關(guān)設(shè)定輸入信號,發(fā)光二極管顯示輸出信號。2、VHDL代碼 (1)數(shù)碼管library i
6、eee;use ieee.std_logic_1164.all;entity seg isport(a:in std_logic_vector (3 downto 0);b:out std_logic_vector (6 downto 0);end seg;architecture sega of seg isbeginprocess(a)begin case a iswhen "0000"=>b<="1111110"-0when "0001"=>b<="0110000"-1when &qu
7、ot;0010"=>b<="1101101"-2when "0011"=>b<="1111001"-3when "0100"=>b<="0110011"-4when "0101"=>b<="1011011"-5when "0110"=>b<="1011111"-6when "0111"=>b<="11100
8、00"-7when "1000"=>b<="1111111"-8when "1001"=>b<="1111011"-9when others =>b<="0000000"end case;end process;end;(2)8421碼轉(zhuǎn)換為余3碼library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity guo is port (a:in std_l
9、ogic_vector (3 downto 0);b:out std_logic_vector (3 downto 0);end;architecture guoa of guo isbeginprocess(a)begin if a<"1010"then b<=a+"0011" else b<="0000" end if;end process;end;(3)奇校檢驗器library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;e
10、ntity jing isport(a:in std_logic_vector (3 downto 0);b:out std_logic);end jing;architecture jinga of jing isbeginprocess(a)begin if a ="0001" then b<='1'elsif a = "0010"then b<='1'elsif a ="0100" then b<='1'elsif a ="1000"then
11、b<='1'elsif a ="1110" then b<='1'elsif a ="1101" then b<='1'elsif a ="1011"then b<='1'elsif a ="0111" then b<='1'else b<='0'end if;end process;end;3、模塊連接圖4、仿真波形及分析分析: 8421碼轉(zhuǎn)余3碼:當輸入a3a2a1a0小于或等于1
12、001時,輸出b3b2b1b0=a3a2a1a0+0011,其余情況輸出為0000; 奇校檢驗器:當輸入a3a2a1a0為0001,0010,0100,1000,0111,1011,1101,1110時,輸出b=1,其余輸出為0; 數(shù)碼管:利用輸出b7與offset、offset4、offset5、offset6、offset7控制只有一個數(shù)碼管亮,當輸入a3a2a1a0=0000時 輸出b6b5b4b3b2b1b0=1111110;a3a2a1a0=0010時 輸出b6b5b4b3b2b1b0=0110000;a3a2a1a0=0011時 輸出b6b5b4b3b2b1b0=1101101;a
13、3a2a1a0=0100時 輸出b6b5b4b3b2b1b0=1111001;a3a2a1a0=0101時 輸出b6b5b4b3b2b1b0=0110011;a3a2a1a0=0110時 輸出b6b5b4b3b2b1b0=1011011;a3a2a1a0=0111時 輸出b6b5b4b3b2b1b0=1110000;a3a2a1a0=1000時 輸出b6b5b4b3b2b1b0=1111111;a3a2a1a0=1001時 輸出b6b5b4b3b2b1b0=1111011;其他情況輸出為0000000。三:實驗三1、實驗名稱和任務要求實驗名稱: VHDL時序邏輯電路設(shè)計 實驗目的: 1、熟悉用
14、VHDL語言設(shè)計時序邏輯電路的方法 2、熟悉計數(shù)器的設(shè)計與應用 3、熟悉用Quartus2文本輸入法進行電路設(shè)計4、 熟悉不分頻器懂的設(shè)計方法 實驗內(nèi)容: 1 、用VHDL語言設(shè)計實現(xiàn)一個帶異步復位的8421碼十進制計數(shù)器,仿真驗證 其功能,并下載到實驗板測試。要求用撥碼開關(guān)設(shè)定輸入信號,發(fā)光二極管顯 示輸出信號。 2 、用VHDL語言設(shè)計實現(xiàn)一個分頻系數(shù)為12,分頻輸出信號占空比為50%的 分頻器。要求在Quartus2平臺上設(shè)計程序并仿真驗證設(shè)計。2、 VHDL代碼(1) 計數(shù)器LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_
15、LOGIC_UNSIGNED.ALL; ENTITY guo IS PORT( CLK,CLEAR:IN STD_LOGIC; Q:OUT STD_LOGIC_VECTOR(3 DOWNTO 0) ); END guo;ARCHITECTURE a OF guo IS SIGNAL temp:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINPROCESS(CLK,CLEAR)BEGINIF CLEAR='1' THEN temp<="0000" ELSIF(CLK'EVENT AND CLK='1') THE
16、N IF temp<"1001" THEN temp<=temp+1; ELSE temp<="0000" END IF;END IF;END PROCESS;Q<=temp;END a;(2)分頻器library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity jing isport(clk:in std_logic;clear:in std_logic;q:out std_logic);end jing;architecture j
17、inga of jing issignal b :integer range 0 to 5;signal cl:std_logic;beginprocess(clear,clk)beginif clear='1' thenb<=0;cl<='0'elsif clk' event and clk='1' thenif b=5 then b<=0;cl<=not cl;elseb<=b+1;end if;end if;end process;q<=cl;end jinga;3、連接VHDL代碼LIBRARY
18、 IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY feng IS PORT(feng_clear,feng_rest,feng_clk:in STD_LOGIC; feng_out:out STD_LOGIC_VECTOR(6 DOWNTO 0); feng:out STD_LOGIC_VECTOR(5 DOWNTO 0); END feng; ARCHITECTURE abc OF feng ISCOMPONENT jing PORT(clk:IN STD_LOGIC; clear:IN STD_
19、LOGIC; q:OUT STD_LOGIC); END COMPONENT;COMPONENT guoPORT(clk,clear:IN STD_LOGIC; q:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END COMPONENT;COMPONENT segPORT(a:IN STD_LOGIC_VECTOR(3 DOWNTO 0); b:OUT STD_LOGIC_VECTOR(6 DOWNTO 0); END COMPONENT;SIGNAL x:STD_LOGIC;SIGNAL y:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGIN u1:j
20、ing PORT MAP(clear=>feng_clear,clk=>feng_clk,q=>x); u2:guo PORT MAP(clk=>x,clear=>feng_rest,q=>y); u3:seg PORT MAP(a=>y,b=>feng_out); feng<="111110"END abc;4、圖形模塊5、仿真波形及分析(1)計數(shù)器(2)分頻器(3)組合分析: 計數(shù)器:當clear=1時,輸出置0;當clear=0時,計數(shù)器開始計數(shù),從0000計數(shù)到1001,當輸出為1001時,輸出0000; 分頻器
21、:當clear=1時,輸出為0;當clear為0時,每6個時鐘變換一次狀態(tài)。6、端口說明feng_clear:分頻器置0端feng_rest:計數(shù)器復位端feng_clk:時鐘feng_out:輸出到數(shù)碼管feng:控制數(shù)碼管端四:實驗四1、實驗名稱和任務要求實驗名稱: 數(shù)碼管掃描顯示控制器設(shè)計與實現(xiàn) 實驗目的: 1、掌握VHDL語言的語法規(guī)范,掌握時序電路描述方法 2、掌握多個數(shù)碼管動態(tài)掃描顯示的原理及設(shè)計方法 實驗內(nèi)容: 1、用VHDL語言設(shè)計并實現(xiàn)六個數(shù)碼管串行掃描電路,要求同時顯示0,1,2,3,4,5這六個不同的數(shù)字圖形到六個數(shù)碼管上,仿真下載驗證其功能。 2、用VHDL語言設(shè)計并實
22、現(xiàn)六個數(shù)碼管滾動顯示電路。(1)循環(huán)滾動,始終點亮6個數(shù)碼管,左出右進。狀態(tài)為:012345123450234501345012450123501234012345(2)向左滾動,用全滅的數(shù)碼管充右邊,直至全部變滅,然后再依次從右邊一個一個地點亮。狀態(tài)為:01234512345X2345XX345XXX45XXXX5XXXXXXXXXXXXXXXX0XXXX01XXX012XX0123X01234012345,其中X表示數(shù)碼管不顯示。2、VHDL代碼1、library ieee;use ieee.std_logic_1164.all;entity shu isport(clk:in std_l
23、ogic;a:out std_logic_vector (5 downto 0);b:out std_logic_vector (6 downto 0);end shu;architecture shua of shu issignal i: integer range 1 to 6;beginprocess(clk)begin if (clk' event and clk='1')then if i=6 then i<=1;else i<=i+1;end if ;end if;end process;process(i)begin case i iswhe
24、n 1=>b<="0110000"a<="111110"-1when 2=>b<="1101101"a<="111101"-2when 3=>b<="1111001"a<="111011"-3when 4=>b<="0110011"a<="110111"-4when 5=>b<="1011011"a<="101111&
25、quot;-5when 6=>b<="1011111"a<="011111"-6end case;end process;end;2、(1)library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity shum is port ( clk,start:in std_logic; cat:out std_logic_vector(5 downto 0); outlight:out std_logic_vector (6 downto 0) )
26、; end shum; architecture a of shum is signal count:integer range 0 to 6; signal lightline:integer range 0 to 5; begin process(clk) variable countlight:integer range 0 to 300000; begin if (start='1')then if (clk'event and clk='1') then case count is when 0=> cat<="01111
27、1"lightline<=(countlight/50000)mod 6); when 1=> cat<="101111"lightline<=(countlight/50000 +1)mod 6); when 2=> cat<="110111"lightline<=(countlight/50000 +2)mod 6); when 3=> cat<="111011"lightline<=(countlight/50000 +3)mod 6); when 4=>
28、; cat<="111101"lightline<=(countlight/50000 +4)mod 6); when 5=> cat<="111110"lightline<=(countlight/50000 +5)mod 6); when others => cat<="111111"lightline<=0; end case; count <= count+1; countlight:= countlight+1; end if; if (count=6) then cou
29、nt<=0; end if; if (countlight=300000)then countlight:=0; end if; end if; case lightline is when 0=> outlight<="1111110" when 1=> outlight<="0110000" when 2=> outlight<="1101101" when 3=> outlight<="1111001" when 4=> outlight<=&
30、quot;0110011" when 5=> outlight<="1011011" when others => outlight<="0000000" end case; end process; end;2、(2)library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity shuma is port ( start,clk:in std_logic; cat:out std_logic_vector(5 downto
31、 0); outlight:out std_logic_vector (6 downto 0) ); end shuma; architecture a of shuma is signal count:integer range 0 to 6; signal lightline:integer range 0 to 12; begin process(clk) variable countlight:integer range 0 to 300000; begin if (start='1') then if (clk'event and clk='1'
32、;) then case count is when 0=> cat<="011111"lightline<=(countlight/50000)mod 12); when 1=> cat<="101111"lightline<=(countlight/50000 +1)mod 12); when 2=> cat<="110111"lightline<=(countlight/50000 +2)mod 12); when 3=> cat<="111011&qu
33、ot;lightline<=(countlight/50000 +3)mod 12); when 4=> cat<="111101"lightline<=(countlight/50000 +4)mod 12); when 5=> cat<="111110"lightline<=(countlight/50000 +5)mod 12); when others => cat<="111111"lightline<=6; end case; count <= count+
34、1; countlight := countlight+1; end if; if (count=6) then count<=0; end if; if (countlight=300000)then countlight:=0; end if; case lightline is when 0=> outlight<="1111110" when 1=> outlight<="0110000" when 2=> outlight<="1101101" when 3=> outligh
35、t<="1111001" when 4=> outlight<="0110011" when 5=> outlight<="1011011" when others => outlight<="0000000" end case; end if; end process; end; 3、圖形模塊 1、2、 (1)2、(2) 4、仿真波形及分析1、2、(1)2、 (2)分析:1、六個數(shù)碼管串行掃描,b分別對應著數(shù)碼管的7段,數(shù)碼管高電平為亮,低電平暗。a為低電平時,數(shù)字n即通
36、過b顯示。比如,數(shù)字5,a為“111110”b=“0110000”。只要數(shù)碼管閃爍頻率足夠高,就可以看到六個數(shù)碼管分別顯示16六個不同的數(shù)字。2、(1)因為要實現(xiàn)的是循環(huán)左滾動,且狀態(tài)轉(zhuǎn)移的順序是012345->123450->234501->345012->450123->501234->012345共六個狀態(tài),仿真圖截取了其中前三個狀態(tài)及 發(fā)光二極管管腳的變化情況.輸入時鐘信號后,6個數(shù)碼管的選通控制端在同一時刻始終保持一個低電平其余高電平,在0-5對應的數(shù)碼管上輸出實驗設(shè)定的數(shù)字并且由地位向高位依次循環(huán)移動. 2、(2)仿真圖中截取了前三個狀態(tài),當時鐘clk變化5000周期之后,波形就轉(zhuǎn)到下一個狀態(tài);狀態(tài)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)療單位防火門專項管理制度
- 把鹽析出來說課稿
- 餐廚垃圾處理可行性報告
- 21直線的傾斜角與斜率-2022-2023學年高二數(shù)學教材學案(人教A版2019選擇性)
- 陳列設(shè)計崗位招聘面試題及回答建議
- 企業(yè)戰(zhàn)略管理經(jīng)典案例
- 2024年度知識產(chǎn)權(quán)質(zhì)押貸款合同
- 資源、經(jīng)驗與制度:新世紀以來高校工程實踐教學改革隱憂及其破解
- 2024年度五個股東就網(wǎng)絡游戲開發(fā)的合作協(xié)議書
- 2023年北京市西城初三一模物理試卷及答案
- 正余弦定理知識點權(quán)威總結(jié)18頁
- 國企紀檢監(jiān)察嵌入式監(jiān)督的探索與實踐
- 淺議小升初數(shù)學教學銜接
- 設(shè)備安裝應急救援預案
- 深基坑工程降水技術(shù)及現(xiàn)階段發(fā)展
- 暫堵壓裂技術(shù)服務方案
- 《孔乙己》公開課一等獎PPT優(yōu)秀課件
- 美的中央空調(diào)故障代碼H系列家庭中央空調(diào)(第一部分多聯(lián)機)
- 業(yè)主委員會成立流程圖
- (完整版)全usedtodo,beusedtodoing,beusedtodo辨析練習(帶答案)
- 廣聯(lián)達辦公大廈工程施工組織設(shè)計
評論
0/150
提交評論