第一篇:北郵數(shù)字電路與邏輯設(shè)計實驗報告
北京郵電大學數(shù)字電路與邏輯
設(shè)計實驗報告
學院: 班級:
姓名:
學號:
實驗一 Quartus II原理圖輸入法設(shè)計與實現(xiàn)
一、實驗目的:
(1)熟悉Quartus II原理圖輸入法進行電路設(shè)計和仿真;(2)掌握Quartus II 圖形模塊單元的生成與調(diào)用;(3)熟悉實驗板的使用;
二、實驗所用器材:
(1)計算機;
(2)直流穩(wěn)壓電源;
(3)數(shù)字系統(tǒng)與邏輯設(shè)計實驗開發(fā)板。
三、實驗任務(wù)要求
(1)用邏輯門設(shè)計實現(xiàn)一個半加器,仿真驗證其功能,并生成新的半加器圖形模塊單元。
(2)用(1)中生成的半加器模塊和邏輯門設(shè)計實現(xiàn)一個全加器,仿真驗證其功能,并下載到實驗板測試,要求用撥碼開關(guān)設(shè)定輸入信號,發(fā)光二極管顯示輸出信號。
(3)用3線-8線譯碼器(74LS138)和邏輯門設(shè)計實現(xiàn)函數(shù) ,仿真驗證其功能,并下載到實驗板測試。要求用撥碼開關(guān)設(shè)定輸入信號,發(fā)光二極管顯示輸出信號。
四、實驗原理圖及仿真波形圖
(1)半加器
半加器原理圖
仿真波形
仿真波形圖分析:根據(jù)仿真波形對比半加器真值表,可以確定電路實現(xiàn)了半加器的功能。但我們也可以發(fā)現(xiàn)輸出SO出現(xiàn)了靜態(tài)功能冒險,要消除該冒險可以加入相應(yīng)的選通脈沖。
(2)全加器
全加器原理圖
仿真波形
仿真波形圖分析 :根據(jù)仿真波形對比半加器真值表,可以確定電路實現(xiàn)了全加器的功能
(2)
74138 3線-8線譯碼器 原理圖
仿真波形圖
仿真波形圖分析;當且僅當ABC輸入為000、010、100、111時,F(xiàn)=1,可知電路實現(xiàn)了函數(shù)。
實驗二 用VHDL設(shè)計與實現(xiàn)組合邏輯電路
一、實驗目的:
(1)熟悉用VHDL語言設(shè)計時序邏輯電路的方法;(2)熟悉用Quartus II文本輸入法進行電路設(shè)計;(3)熟悉不同的編碼及其之間的轉(zhuǎn)換。
二、實驗所用器材:
(1)計算機;
(2)直流穩(wěn)壓電源;
(3)數(shù)字系統(tǒng)與邏輯設(shè)計實驗開發(fā)板。
三、實驗任務(wù)要求
(1)用 VHDL語言設(shè)計實現(xiàn)一個共陰極7段數(shù)碼管譯碼器;(2)用VHDL語言設(shè)計一個8421碼轉(zhuǎn)余三碼的代碼轉(zhuǎn)換器;(3)用VHDL語言設(shè)計設(shè)計一個四位2進制奇校驗器。
四、實驗代碼及仿真波形圖
數(shù)碼管譯碼器 LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY shumaguanyimaqi IS
PORT(A:IN STD_LOGIC_VECTOR(3 DOWNTO 0);
B:OUT STD_LOGIC_VECTOR(6 DOWNTO 0);
C:OUT STD_LOGIC_VECTOR(5 DOWNTO 0));END shumaguanyimaqi;
ARCHITECTURE encoder_arch OF shumaguanyimaqi IS BEGIN
PROCESS(A)BEGIN
C<=“011111”;CASE A IS
WHEN“0000”=> B<=“1111110”;--0 WHEN“0001”=> B<=“0110000”;--1 WHEN“0010”=> B<=“1101101”;--2 WHEN“0011”=> B<=“1111001”;--3 WHEN“0100”=> B<=“0110011”;--4 WHEN“0101”=> B<=“1011011”;--5 WHEN“0110”=> B<=“1011111”;--6 WHEN“0111”=> B<=“1110000”;--7 WHEN“1000”=> B<=“1111111”;--8 WHEN“1001”=> B<=“1111011”;--9 WHEN OTHERS=> B<=“ZZZZZZZ”;END CASE;END PROCESS;END encoder_arch;仿真波形圖
仿真波形分析:A是輸入,A0-A3是由低位到高位變化,B是數(shù)碼管的各個部分,隨著A輸入的變化,B數(shù)碼管對應(yīng)譯碼出相應(yīng)的數(shù)字顯示出來。
8421碼轉(zhuǎn)余三碼 LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY jxhyusanma IS PORT(A:IN STD_LOGIC_VECTOR(3 DOWNTO 0);
B:OUT STD_LOGIC_VECTOR(3 DOWNTO 0));END jxhyusanma;
ARCHITECTURE trans_ex3 OF jxhyusanma IS BEGIN
PROCESS(A)BEGIN CASE A IS
WHEN“0000”=> B<=“0011”;WHEN“0001”=> B<=“0100”;WHEN“0010”=> B<=“0101”;WHEN“0011”=> B<=“0110”;WHEN“0100”=> B<=“0111”;WHEN“0101”=> B<=“1000”;WHEN“0110”=> B<=“1001”;WHEN“0111”=> B<=“1010”;WHEN“1000”=> B<=“1011”;WHEN“1001”=> B<=“1100”;WHEN OTHERS=> B<=“ZZZZ”;END CASE;END PROCESS;END trans_ex3;仿真波形圖
仿真波形分析:8421碼轉(zhuǎn)換余三碼,由0111轉(zhuǎn)換成為了1010可以看出功能已經(jīng)實現(xiàn),仿真驗證了代碼功能正確。奇校驗
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;ENTITY jxhjijiaoyan IS PORT(A:STD_LOGIC;
B:STD_LOGIC;
C:STD_LOGIC;
D:STD_LOGIC;
F:OUT STD_LOGIC);END jxhjijiaoyan;
ARCHITECTURE one OF jxhjijiaoyan IS
SIGNAL n1,n2 : STD_LOGIC;BEGIN
n1<=A XOR B;
n2<=n1 XOR C;
F<=n2 XOR D;END one;仿真波形圖
仿真波形分析:當ABCD為1111時,輸出F為0,ABCD為1110時,輸出F為1,可見奇校驗功能得以實現(xiàn)。
實驗三 用VHDL設(shè)計與實現(xiàn)時序邏輯電路
一、實驗目的:
(1)熟悉用VHDL語言設(shè)計時序邏輯電路的方法;(2)熟悉用Quartus II文本輸入法進行電路設(shè)計;(3)熟悉不同的編碼及其之間的轉(zhuǎn)換。
二、實驗所用器材:
(1)計算機;
(2)直流穩(wěn)壓電源;
(3)數(shù)字系統(tǒng)與邏輯設(shè)計實驗開發(fā)板。
三、實驗任務(wù)要求
(1)用 VHDL語言設(shè)計實現(xiàn)一個8421十進制計數(shù)器;(2)用VHDL語言設(shè)計一個分頻器;(3)將(1)、(2)和數(shù)碼管譯碼器3個電路進行連接,并下載到實驗板顯示計數(shù)結(jié)果。
四、實驗代碼及仿真波形圖
8421十進制計數(shù)器 LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY jxhshijinzhijishuqi IS PORT(clk,reset:IN STD_LOGIC;q:OUT STD_LOGIC_VECTOR(3 DOWNTO 0));END jxhshijinzhijishuqi;ARCHITECTURE a OF jxhshijinzhijishuqi IS SIGNAL q_temp:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGIN PROCESS(clk,reset)BEGIN IF reset='0' THEN q_temp <=“0000”;ELSIF clk'EVENT AND clk='1' THEN IF q_temp=“1001” THEN q_temp <=“0000”;ELSE q_temp <=q_temp+1;END IF;END IF;END PROCESS;q<= q_temp;END a;仿真波形圖
仿真波形圖分析:8421十進制計數(shù)器隨著時鐘的信號進行計數(shù),restart是復位,當復位為零的時候計數(shù)器重新計數(shù)。根據(jù)仿真結(jié)果來看,8421十進制計數(shù)器功能得以實現(xiàn)。
分頻器
LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY jxhfenpinqi IS PORT(clk:IN STD_LOGIC;clear:IN STD_LOGIC;clk_out:OUT STD_LOGIC);END jxhfenpinqi;ARCHITECTURE a OF jxhfenpinqi IS SIGNAL temp:INTEGER RANGE 0 TO 11;BEGIN p1:PROCESS(clear,clk)BEGIN IF clear='0'THEN temp<=0;ELSIF clk'EVENT AND clk='1' THEN IF temp=11 THEN temp<=0;ELSE temp<=temp+1;END IF;END IF;END PROCESS p1;p2:PROCESS(temp)BEGIN IF temp<6 THEN clk_out<='0';ELSE clk_out<='1';END IF;END PROCESS p2;END a;仿真波形
仿真波形分析:分頻器將頻率分開,置零端正常工作,根據(jù)仿真波形可以看出來,分頻器的功能得以正常實現(xiàn)。
組合電路
LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY jxhfenpinqi IS PORT(clk:IN STD_LOGIC;clk_out:OUT STD_LOGIC);END jxhfenpinqi;ARCHITECTURE behave OF jxhfenpinqi IS SIGNAL temp:INTEGER RANGE 0 TO 24999999;SIGNAL clktmp:STD_LOGIC;BEGIN
PROCESS(clk)
BEGIN
IF clk'event AND clk='1' THEN
IF temp=24999999 THEN
temp<=0;clktmp<=NOT clktmp;
ELSE
temp<=temp+1;
END IF;
END IF;
END PROCESS;
clk_out<=clktmp;END behave;
LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY jxhshijinzhi IS
PORT(CLK,CLEAR:IN STD_LOGIC;
Q: OUT STD_LOGIC_VECTOR(3 DOWNTO 0));
END jxhshijinzhi;
ARCHITECTURE A OF jxhshijinzhi IS SIGNAL Q_TEMP:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGIN PROCESS(CLK,clear)BEGIN IF CLEAR='1'THEN
Q_TEMP<=“0000”;elsIF(CLK'EVENT AND CLK='1')THEN
IF Q_TEMP=“1001”THEN
Q_TEMP<=“0000”;
ELSE
Q_TEMP<=Q_TEMP+1;
END IF;END IF;END PROCESS;Q<=Q_TEMP;END A;
LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY jxhshumaguan IS PORT(a:IN STD_LOGIC_VECTOR(3 DOWNTO 0);
b:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);
c:OUT STD_LOGIC_VECTOR(5 DOWNTO 0));
END jxhshumaguan;ARCHITECTURE seg7_arch OF jxhshumaguan IS BEGIN PROCESS(a)BEGIN c<=“011111”;CASE a IS WHEN“0000”=>b<=“01111110”;--0 WHEN“0001”=>b<=“00110000”;--1 WHEN“0010”=>b<=“01101101”;--2 WHEN“0011”=>b<=“01111001”;--3 WHEN“0100”=>b<=“00110011”;--4 WHEN“0101”=>b<=“01011011”;--5 WHEN“0110”=>b<=“01011111”;--6 WHEN“0111”=>b<=“01110000”;--7 WHEN“1000”=>b<=“01111111”;--8 WHEN“1001”=>b<=“01111011”;--9 WHEN OTHERS=>b<=“00000000”;END CASE;END PROCESS;END seg7_arch;
LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY jxhzuhedianlu IS PORT(ain:IN STD_LOGIC;bin:IN STD_LOGIC;cout:OUT STD_LOGIC_VECTOR(7 downto 0);cat:OUT STD_LOGIC_VECTOR(5 downto 0));end jxhzuhedianlu;ARCHITECTURE behave OF jxhzuhedianlu IS COMPONENT jxhfenpinqi PORT(clk:IN STD_LOGIC;clk_out:OUT STD_LOGIC);END COMPONENT;COMPONENT jxhshijinzhi PORT(clk,clear:IN STD_LOGIC;q:OUT STD_LOGIC_VECTOR(3 downto 0));END COMPONENT;COMPONENT jxhshumaguan PORT(a:IN STD_LOGIC_VECTOR(3 downto 0);b:OUT STD_LOGIC_VECTOR(7 downto 0);c:OUT STD_LOGIC_VECTOR(5 downto 0));end COMPONENT;SIGNAL d:STD_LOGIC;SIGNAL f:STD_LOGIC_VECTOR(3 downto 0);BEGIN u1:jxhfenpinqi PORT MAP(clk=>ain,clk_out=>d);u2:jxhshijinzhi PORT MAP(clk=>d,clear=>bin,q=>f);u3:jxhshumaguan PORT MAP(a=>f,b=>cout,c=>cat);END behave;端口的綁定:
端口分析:Ain是時鐘信號的輸入綁定了18串口,bin是置零信號綁定了20 串口,cat5-0是每個數(shù)碼管各自的綁定,根據(jù)板子上的串口數(shù)字綁定,cout7-0是數(shù)碼管的每一個亮的部分,根據(jù)板子上的提示串口進行綁定,根據(jù)編程可以實現(xiàn)讓數(shù)碼管顯示不同的數(shù)字。電路圖:
代碼中是使用PORT MAP 進行連接的
u1:jxhfenpinqi PORT MAP(clk=>ain,clk_out=>d);u2:jxhshijinzhi PORT MAP(clk=>d,clear=>bin,q=>f);u3:jxhshumaguan PORT MAP(a=>f,b=>cout,c=>cat);在此圖中可以看出ain接分頻器的clk,分頻器的clk_out接十進制譯碼器的CLK,bin接十進制譯碼器的CLEAR,十進制譯碼器的Q接數(shù)碼管的a,數(shù)碼管的b,c分別接count和cat。
實驗四 數(shù)碼管掃描顯示控制器設(shè)計與實現(xiàn)
一、實驗目的:
1.掌握VHDL語言的語法規(guī)范,掌握時序電路描述方法。
2.掌握多個數(shù)碼管動態(tài)掃描現(xiàn)實的原理及設(shè)計方法。
二、實驗所用器材:
1.計算機:裝有Quartus軟件,為VHDL語言提供操作場所。
2.直流穩(wěn)壓電源:通過USB接口實現(xiàn),為實驗開發(fā)板提供穩(wěn)定電源。3.數(shù)字系統(tǒng)與邏輯設(shè)計實驗開發(fā)板:使試驗結(jié)果下載到開發(fā)板上,實現(xiàn)整個實驗的最終結(jié)果。
三、實驗任務(wù)要求
1.用VHDL語言設(shè)計并實現(xiàn)六個數(shù)碼管串行掃描電路,要求同時顯示0、1、2、3、4、5這6個不同的數(shù)字圖形到6個數(shù)碼管上。
2.用VHDL語言設(shè)計并實現(xiàn)六個數(shù)碼管滾動顯示電路。
(1)循環(huán)左滾動,始終點亮6個數(shù)碼管,左出右進。狀態(tài)為:012345→123450→234501→345012→450123→501234→012345(2)向左滾動,用全滅的數(shù)碼管填充右邊,直至全部變滅,然后再一次從右邊一個一個的點亮。狀態(tài)為012345→12345X→2345XX→345XXX→45XXXX→5XXXXX→XXXXXX→XXXXX0→XXXX01→XXX012→XX0123→X01234→012345,其中“X”表示數(shù)碼管不顯示。
四、實驗原理
多個數(shù)碼管動態(tài)掃描顯示,是將所有數(shù)碼管的相同段并聯(lián)在一起,通過選通信號分時控制各個數(shù)碼管的公共端,循環(huán)依次點亮多個數(shù)碼管,利用人眼的視覺暫留現(xiàn)象,只要掃描的頻率大于50HZ,將看不到閃爍現(xiàn)象。如下圖10-1,是多個數(shù)碼管動態(tài)掃描顯示的電路連接圖。
當閃爍顯示的發(fā)光二極管閃爍頻率較高時我們將觀察到持續(xù)點亮的現(xiàn)象。同理,當多個數(shù)碼管依次顯示,當切換速度夠快時,我們將觀察到所有數(shù)碼管都是同事在顯示。一個數(shù)碼管要穩(wěn)定顯示要求顯示頻率>50hz,那么6個數(shù)碼管則需要50*6=300hz以上才能看到持續(xù)穩(wěn)定點亮的現(xiàn)象。
cat1~cat6是數(shù)碼管選通控制信號,分別對應(yīng)于6個共陰極數(shù)碼管的公共端,當catn=’0’時,其對應(yīng)的數(shù)碼管被點亮。因此,通過控制cat1~cat6,就可以控制6個數(shù)碼管循環(huán)依次點亮。
五、代碼及仿真波形圖
1.實現(xiàn)六個數(shù)碼管串行掃描電路的思路及代碼: 串行數(shù)碼管 library ieee;
use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity jxhchuanxing is port(clear,clk_in:in std_logic;
num:out std_logic_vector(6 downto 0);
cat:out std_logic_vector(5 downto 0));end jxhchuanxing;
architecture one of jxhchuanxing is
signal status:integer range 0 to 6;begin
process(clk_in)begin
if clear='0' then status<=0;
elsif(clk_in'event and clk_in='1')then
if status=6 then status<=1;
else status<=status+1;
end if;
end if;
end process;
process(status)
begin case status is
when 1 => num<=“1111110”;cat<=“011111”;
when 2 => num<=“0110000”;cat<=“101111”;
when 3 => num<=“1101101”;cat<=“110111”;
when 4 => num<=“1111001”;cat<=“111011”;
when 5 => num<=“0110011”;cat<=“111101”;
when 6 => num<=“1011011”;cat<=“111110”;
when others =>num<=“0000000”;cat<=“000000”;
end case;
end process;
end one;仿真波形:
仿真波形分析:由仿真波形可以看出數(shù)碼管的串行顯示得以實現(xiàn),置零正常。隨著時鐘輸入的變化,數(shù)碼管進行串行顯示。電路圖:
端口連接:
Clk_in接18口,是時鐘輸入,cat5-0是每個數(shù)碼管各自的綁定,根據(jù)板子上的串口數(shù)字綁定,num7-0是數(shù)碼管的每一個亮的部分,根據(jù)板子上的提示串口進行綁定,根據(jù)編程可以實現(xiàn)讓數(shù)碼管顯示不同的數(shù)字。
2.六個數(shù)碼管滾動電路的思路及代碼: 數(shù)碼管滾動顯示 library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity jxhgundong is port(clk:in STD_LOGIC;en: out STD_LOGIC_VECTOR(5 downto 0);z: out STD_LOGIC_VECTOR(6 downto 0));end jxhgundong;architecture quanmiegundong of jxhgundong is signal a:INTEGER RANGE 0 to 6;signal b:INTEGER RANGE 0 to 20;signal c:INTEGER RANGE 0 to 3000;signal d:INTEGER RANGE 0 to 3000;begin
p1:process(a)begin case a is when 0=>en<=“011111”;b<=c mod 12;when 1=>en<=“101111”;b<=(1+c)mod 12;when 2=>en<=“110111”;b<=(2+c)mod 12;when 3=>en<=“111011”;b<=(3+c)mod 11;when 4=>en<=“111101”;b<=(4+c)mod 12;when 5=>en<=“111110”;b<=(5+c)mod 12;when others=>null;end case;end process p1;
p2:process(clk)begin if clk'event and clk='1'then if a=5 then
a<=0;d<=1+d;else
a<=a+1;end if;if d=2999 then
d<=0;c<=c+1;end if;end if;end process p2;
p3:process(b)begin case b is when 0=> z<=“1111110”;--0 when 1=> z<=“0110000”;--1 when 2=> z<=“1101101”;--2 when 3=> z<=“1111001”;--3 when 4=> z<=“0110011”;--4 when 5=> z<=“1011011”;--5 when others=>z<=“0000000”;
end case;end process p3;
end;仿真波形:
仿真波形分析:有圖可以看出,數(shù)碼管滾動顯示功能得以正常實現(xiàn)。隨著時鐘的輸入,數(shù)碼管的輸出進行著滾動式變化。電路圖:
端口連接圖:
Clk接18口,是時鐘輸入,en5-0是每個數(shù)碼管各自的綁定,根據(jù)板子上的串口數(shù)字綁定,z6-0是數(shù)碼管的每一個亮的部分,根據(jù)板子上的提示串口進行綁定,根據(jù)編程可以實現(xiàn)讓數(shù)碼管顯示不同的數(shù)字。
五、故障及問題分析
實驗一
在本次實驗中,由于實驗較為簡單,只要認真聽老師講課,細心實驗,基本沒有大的故障出現(xiàn)。出現(xiàn)的問題主要為 當輸入頻率較高時,輸出結(jié)果易受器件延遲時間影響。此外,對于多輸入的電路,靜態(tài)功能冒險還是會存在的,在某些情況下應(yīng)該加入選通脈沖來消除靜態(tài)功能冒險。實驗二
1.注意VHDL文件名與實體名一致,會導致編譯的錯誤。我在實驗的過程中發(fā)生過這種錯誤。2.在仿真波形的時候,沒有合適的取好輸入信號的周期,導致最終的波形超過了一個半有效周期,經(jīng)老師指出進行了修改。
3.下載到板子上程序之前需要綁定串口,綁定完串口之后需要二次編譯,否則功能不能實現(xiàn)。實驗三
1.每次實驗中都應(yīng)該注意到VHDL的文件名應(yīng)與實體名一致,如果不一致編譯會報錯。我在實驗過程中雖然原理圖設(shè)計名與工程名相同,但在其后某程序名上犯了錯誤,導致出錯。2.在仿真波形的觀察中,一定要調(diào)節(jié)好zoom一選項,縮放出便于觀察的波形。3.在命名過程一定要注意規(guī)范,不要出現(xiàn)非法字符。4.在做10進制計數(shù)器時,由于板的固有頻率為晶振的頻率50兆赫茲,所以當以微秒級的時鐘去自動跳變太快根本無法看清,應(yīng)該加一段程序令時鐘在微秒級跳變25兆次時外部時鐘輸出,從而令外部時鐘變?yōu)槊爰壍模拍芸匆娮詣犹儸F(xiàn)象。實驗四
1.注意VHDL文件名和各個名字一致否則會出現(xiàn)編譯錯誤。
2.板子的固有頻率是50m,所以需要進行分頻,數(shù)碼管的實驗的時候頻率的高低會導致數(shù)碼管顯示結(jié)果的不同,要根據(jù)實際情況適當?shù)恼{(diào)高調(diào)低。我在做實驗的時候頻率選擇不合適,數(shù)碼管顯示不好。
3.時鐘信號是高頻有效還是低頻有效,需要注意,我實驗的時候沒有太搞清楚。
4.數(shù)碼管的滾動顯示的時候總是出錯,經(jīng)過檢查,是下載之前綁定串口有誤,還有分頻并不合適。最終實驗時候時間有限,驗收的是數(shù)碼管的串行。
六、總結(jié)和結(jié)論
總結(jié):
實驗一:實驗一是進行了簡單的圖形連接來進行電路的實現(xiàn),總體來說較為簡單,但是要注意元器件的調(diào)用,還有連接的規(guī)范,使得連接出來的電路清晰明了,簡單美觀。仿真的時候注意總時間的選取和輸入變量的周期。
實驗二:實驗二是第一次進行VHDL編程,需要注意的是文件名和各個實體名一致否則會導致編譯的錯誤。然后在仿真的時候注意總時間的選取和輸入變量的周期,還有就是要會看出來自己的仿真波形是否是正確的。在下載到板子上程序之前注意串口的綁定和綁定之后逇二次編譯,這次實驗讓我們了解了VHDL語言以及其數(shù)字電路的實現(xiàn)。
實驗三:實驗三是十進制計數(shù)器和分頻器,這兩個實驗較為簡單,由于有之前的基礎(chǔ)在,所以比較容易實現(xiàn),就是注意文件名要一致,仿真的時候注意總時間的選擇以及各個變量的周期。而最后的組合電路比較難,注意上層的設(shè)置。將三個分別得電路組合在一起注意連接函數(shù)PORT MAP,還有各個端口的連接,最后下載到板子上注意串口的綁定,還有綁定之后的二次編譯。最后實現(xiàn)功能的時候要知道時鐘信號的有效頻率還有就是復位。
實驗四:經(jīng)過之前的基礎(chǔ),實驗四比較難,代碼需要更加用心的編寫。還有頻率的設(shè)定需要經(jīng)過實驗時候的情況進行調(diào)整。這次實驗我做的并不是那么的順利,經(jīng)過反省,我了解數(shù)碼管有關(guān)的知識,還有串行和滾動的代碼,經(jīng)過努力,可以實現(xiàn)實驗的內(nèi)容。在實驗的時候注意文件名的一致,仿真時候的總時間和各個變量的周期,最后下載的時候注意串口的綁定還有綁定之后的二次編譯。這次最終的實驗收獲良多,還要虛心進行學習。老師的指責也是正確的,要對實驗嚴謹認真。
結(jié)論: 數(shù)電實驗是有關(guān)于模塊的鏈接,VHDL的編程能力的鍛煉,經(jīng)過這次試驗,我了解了Quartus II的使用,圖形工具的使用以及VHDL的編程能力得到了很好的歷練。
在這個實驗課程中,經(jīng)過老師的悉心教導,我們學習到了軟件的使用,經(jīng)過四次的實驗,我們可以較為熟練的運用Quartus II的圖形和VHDL語言編程來設(shè)計電路,并可以通過仿真來驗證我們的電路是否正確。我們通過綁定串口之后把程序下載到板子上可以實現(xiàn)我們的電路的功能,在下載之前注意要進行二次編譯。而且在實驗三里的第三個實驗,我們在驗收的時候,要熟練地可以撥動開關(guān)實現(xiàn)零到九的變換。
老師雖然對我們很嚴厲,但是我們這樣才能學習到更多的東西,有了更多的進步空間。
第二篇:數(shù)字電路與邏輯設(shè)計實驗報告
實驗 報告書
課程名稱
數(shù)字電路與邏輯設(shè)計
專
業(yè)
計算機科學與技術(shù)
班
級
姓
名
劉
騰
飛
學
號
09030234
指導教師
王
丹
志
成績
2010年 年 11月 月 10 日
實驗題目:
譯碼器、數(shù)據(jù)選擇器及其應(yīng)用
一、實驗目的 1、掌握中規(guī)模集成譯碼器與數(shù)據(jù)選擇器的邏輯功能與使用方法
2、熟悉數(shù)碼管的使用 3、學習用數(shù)據(jù)選擇器構(gòu)成組合邏輯電路的方法 二、實驗原理 1 1、中規(guī)模集成譯碼器 74 LS 138
74LS138是集成3線-8線譯碼器,在數(shù)字系統(tǒng)中應(yīng)用比較廣泛。圖-1是其引腳排列。其中 A2、A1、A0為地址輸入端,0Y~ 7Y為譯碼輸出端,S1、2S、3S為使能端。
圖-1 74LS138真值表圖-2如下:
圖-2 74HC138工作原理為:當S1=1,S— 2+S — 3=0時,器件使能,電路完成譯碼功能,輸出低電平有效。當S=0,S— 2+S — 3=X時,或S1=1, S— 2+S — 3=1,譯碼器被禁止,所有輸出同時為1 2 2、雙4 4 選1 1 數(shù)據(jù)選擇器
74LS153 ?
所謂雙4選1數(shù)據(jù)選擇器就是在一塊集成芯片上有兩個4選1數(shù)據(jù)選擇器。引腳排列如圖-3所示,功能表如圖-4所示。
圖-3
輸入 輸出 S—
A1 A0 Q 1 0 0 0 0 X 0 0 1 1 X 0 1 0 1 0 D0 D1 D2 D3 圖-4
1S—、2S — 為兩個獨立的使能端;A1、A0為兩個公用的地址輸入端;1D0~1D3和2D0~2D3分別為兩個4選1數(shù)據(jù)選擇器的數(shù)據(jù)輸入端;Q1、Q2為兩個輸出端。
當使能端1S—(2S —)=1時,多路開關(guān)被禁止,無輸出,Q=0。
當使能端1S—(2S —)=0時,多路開關(guān)正常工作,根據(jù)地址碼A1、A0的狀態(tài),將相應(yīng)的數(shù)據(jù)D0~D3送到輸出端Q。3、8 8 選1 1 數(shù)據(jù)選擇器 74LS151
74LS151為互補輸出的8選1數(shù)據(jù)選擇器,引腳排列如圖-5所示,功能表如圖-6所示。
圖-5
圖-6 選擇控制端(地址端)為A2~A0,按二進制譯碼,從8個輸入數(shù)據(jù)D0~D7中,選擇一個需要的數(shù)據(jù)送到輸出端Q,S— 為使能端,低電平有效。
使能端S— =1時,不論A2~A0狀態(tài)如何,均無輸出,多路開關(guān)被禁止。
使能端S— =0時,多路開關(guān)正常工作,根據(jù)地址碼A2、A1、A0的狀態(tài)選擇D0~D7中某一個通道的數(shù)據(jù)輸送到輸出端Q。
三、實驗設(shè)備及器件 ●
硬件:PC機一臺 ●
軟件:QuartusⅡ5.0集成開發(fā)環(huán)境 四、實驗內(nèi)容 1.使用74LS138實現(xiàn)邏輯函數(shù) F=A’B’C’+AB’C’+ABC 2.使用74LS151實現(xiàn)邏輯函數(shù) F=AB’+A’B+AB 3.使用74LS153實現(xiàn)邏輯函數(shù) F=A’BC+AB’C+ABC’+ABC
五、實 驗過程 1、使用74LS138實現(xiàn)邏輯函數(shù) F=A’B’C’+AB’C’+ABC ① 由74LS138功能表(圖-1)可知電路圖連接如圖-7所示
圖-7 ② 經(jīng)編譯檢查無錯(圖-8)
圖-8
③ 對其進行仿真,設(shè)置好一定仿真時間區(qū)域與輸入波形后啟動仿真器得仿真結(jié)果如圖-9
圖-9 2、使用74LS151實現(xiàn)邏輯函數(shù)F=AB’+A’B+AB
①將輸入變量C、B、A作為8選1數(shù)據(jù)選擇器的地址碼A2、A1、A0。使8選1數(shù)據(jù)選擇器的各個數(shù)據(jù)輸入D0~D7分別與函數(shù)F的輸出值一一對應(yīng),即A2A1A0=CBA、D0=D2=D3=0、D0=D4=D5=D6=D7=1則輸出Q便實現(xiàn)了函數(shù)AB’+A’B+AB接線圖如圖-10
圖-10 ②經(jīng)編譯檢查無錯(圖-11)
圖-11 ③對其進行仿真,設(shè)置好一定仿真時間區(qū)域與輸入波形后啟動仿真器得仿真結(jié)果如圖-12
圖-12 3、使用74LS153實現(xiàn)邏輯函數(shù) F=A’BC+AB’C+ABC’+ABC
①函數(shù)F有3個輸入變量A、B、C,而數(shù)據(jù)選擇器有2個地址端A1、A0少于數(shù)據(jù)函數(shù)輸入變量個數(shù),在設(shè)計時可任選A接A1,B接A0。接線如圖-13
圖-13
②經(jīng)編譯檢查無錯如圖-14
圖-14 ③對其進行仿真,設(shè)置好一定仿真時間區(qū)域與輸入波形后啟動仿真器得仿真結(jié)果如圖-15
圖-15 六、實驗心得 通過這次試驗,我熟練掌握了74LS138譯碼器、74LS151和74LS153數(shù)據(jù)選擇器的使用特點和方法。加強了對這些知識的了解,熟練掌握了QuartusⅡ5.0集成開發(fā)環(huán)境的使用。
第三篇:數(shù)字電路與邏輯設(shè)計教學大綱
《數(shù)字電路與邏輯設(shè)計》教學大綱
適用專業(yè):通信工程、信息工程、自動化、測控技術(shù)與儀器、電氣工程及其自動化 課程類別:專業(yè)基礎(chǔ)課 先修課程:電路原理 總 學 時:66 學
分:3 考核方式:考試
一、課程的性質(zhì)與任務(wù)
本課程是信息工程、通信工程、自動化、測控技術(shù)與儀器和電氣工程及其自動化專業(yè)學生必修的技術(shù)基礎(chǔ)課程,是一門實踐性很強的課程。通過本課程的學習,使學生掌握數(shù)字邏輯和數(shù)字系統(tǒng)的基礎(chǔ)知識、基本分析方法和設(shè)計方法,培養(yǎng)使用標準邏輯器件的能力,初步了解可編程器件的知識,為深入學習后續(xù)課程和從事數(shù)字技術(shù)實際工作打下良好基礎(chǔ)。
二、課程內(nèi)容、基本要求與學時分配
1、緒論(2學時)
了解數(shù)字信號與模擬信號的定義與區(qū)別; 掌握各種數(shù)制間的轉(zhuǎn)換; 了解常用的各種碼制; 了解數(shù)字電路的分類;
2、邏輯函數(shù)及其化簡(6學時)掌握布爾代數(shù)的運算規(guī)則;
掌握邏輯變量與邏輯函數(shù)的表示方法; 掌握邏輯函數(shù)的公式法化簡法;
掌握卡諾圖的繪制方法和用圖解法化簡邏輯函數(shù);
3、集成邏輯門(6學時)
了解晶體管的開關(guān)特性;
了解TTL集成邏輯門的外部特性; 了解CMOS集成邏輯門的外部特性;
4、組合邏輯電路(8學時)掌握組合邏輯電路的分析方法;
掌握用邏輯門電路設(shè)計組合邏輯電路的方法; 掌握用中規(guī)模集成電路設(shè)計組合邏輯電路的方法; 了解組合邏輯電路的冒險現(xiàn)象;
5、觸發(fā)器(8學時)
掌握各類觸發(fā)器的特征方程和功能描述方法; 掌握基本觸發(fā)器和鐘控觸發(fā)器的工作原理; 了解主從觸發(fā)器和邊沿觸發(fā)器的工作原理;
6、時序邏輯電路(8學時)
掌握同步、異步時序邏輯電路的分析方法; 了解常用集成時序邏輯器件的使用方法;
掌握用小規(guī)模IC器件和中規(guī)模IC器件設(shè)計同步時序邏輯電路的方法; 了解異步時序邏輯電路的設(shè)計方法。
7、半導體存儲器(2學時)
了解隨機存取存儲器和只讀存儲器的工作原理; 掌握隨機存儲器的擴展方法;
了解用只讀存儲器設(shè)計組合邏輯函數(shù)的方法;
8、可編程邏輯器件及其應(yīng)用(2學時)
初步了解可編程邏輯陣列、通用陣列邏輯(GAL)、復雜可編程邏輯器件(CPLD)、現(xiàn)場可編程門陣列(FPGA)的結(jié)構(gòu)特點和工作原理
9、脈沖單元電路(2學時)了解自激多諧振蕩器的工作原理; 了解單穩(wěn)觸發(fā)器的功能;
了解555時基電路的結(jié)構(gòu)特點和應(yīng)用;
10、模數(shù)轉(zhuǎn)換器和數(shù)模轉(zhuǎn)換器(4學時)了解數(shù)模轉(zhuǎn)換器和模數(shù)轉(zhuǎn)換器的基本原理; 了解常用數(shù)模轉(zhuǎn)換器和模數(shù)轉(zhuǎn)換器的特性
本課程的理論教學時數(shù)為48學時,2.5學分。
三、課程的其他教學環(huán)節(jié)
本課程安排有實驗教學環(huán)節(jié)18學時,0.5學分。
四、參考教材
1、《數(shù)字電子技術(shù)》龐學民主編 清華大學出版社 2005年
2、《數(shù)字電路邏輯設(shè)計》王毓銀主編 高等教育出版社 1999年
3、《電子技術(shù)基礎(chǔ)》數(shù)字部分(第四版)康華光主編 高等教育出版社 2000年
4、《數(shù)字邏輯與數(shù)字系統(tǒng)》白中英、岳怡、鄭巖編著 科學出版社 1998年
五、說明
本課程在教學方法上采用講授理論與實驗動手相結(jié)合的形式進行,以便學生更好的理解所學的理論知識。在理論教學過程中,要注重方法的講解,以提高學生分析問題、解決問題的能力。
大綱執(zhí)筆人:劉煒
大綱審定人:張廣忠 2006年3月31日
第四篇:《數(shù)字電路與邏輯設(shè)計》考試大綱
《數(shù)字電路與邏輯設(shè)計》考試大綱
(一)基本要求
1.掌握二進制、八進制、十進制、十六進制及其轉(zhuǎn)換方法,掌握常用編碼及其表示十進制數(shù)的方法,掌握邏輯代數(shù)的邏輯運算、公式和規(guī)則,掌握邏輯函數(shù)及其表示方法,掌握邏輯函數(shù)的化簡方法;
2.掌握TTL、CMOS邏輯門的邏輯功能、電氣特性、應(yīng)用和使用注意事項;
3.掌握組合邏輯電路的特點,掌握用傳統(tǒng)方法分析和設(shè)計組合邏輯電路,重點掌握常見中規(guī)模組合邏輯器件(MSI)(譯碼器、數(shù)據(jù)選擇器、運算電路)的邏輯功能和應(yīng)用,了解組合邏輯電路中的冒險現(xiàn)象;
4.掌握觸發(fā)器的分類和邏輯功能,重點掌握主從型、邊沿型觸發(fā)器的特點和應(yīng)用;
5.掌握時序邏輯電路的特點,掌握時序邏輯電路的分析方法和設(shè)計方法,重點掌握常見中規(guī)模時序邏輯器件(MSI)(CT74160、CT74161、CT74163、CT7490、CT74194)的邏輯功能和用SSI、MSI器件構(gòu)成任意模值計數(shù)分頻器的方法;
6.熟悉半導體存儲器(SAM、ROM、RAM)的結(jié)構(gòu)特點、工作原理和擴展方法,掌握ROM、PROM陣列在組合邏輯設(shè)計中的應(yīng)用;了解可編程邏輯陣列(PLA)實現(xiàn)組合和時序邏輯的方法;
7.掌握脈沖信號和脈沖電路的特點,掌握施密特觸發(fā)器,單穩(wěn)態(tài)觸發(fā)器和多諧振蕩器等脈沖電路的應(yīng)用,掌握用555定時器構(gòu)成的施密特觸發(fā)器,單穩(wěn)態(tài)觸發(fā)器和多諧振蕩器等脈沖電路的工作原理、波形分析及主要參數(shù)的估算。
(二)指定參考書:
《數(shù)字電路與邏輯設(shè)計》 鄒虹主編 人民郵電出版社 2008
第五篇:《數(shù)字電路與邏輯設(shè)計》(網(wǎng)絡(luò))教學大綱
《脈沖與數(shù)字電路》教學大綱(計算機類)
一、課程性質(zhì)、地位和作用
《脈沖與數(shù)字電路》是通信專業(yè)、電子工程專業(yè)的一門重要專業(yè)技術(shù)基礎(chǔ)課,屬核心必修課。本課程理論嚴謹、實踐性和應(yīng)用性強。其任務(wù)在于研究數(shù)字邏輯電路和脈沖電路的基本概念、基本理論和電路的分析與設(shè)計方法,為后續(xù)課程提供必要的理論基礎(chǔ),并為學生畢業(yè)后從事日新月異發(fā)展的數(shù)字電子科學技術(shù)提供一定的適應(yīng)能力與基礎(chǔ)。
二、課程教學對象、目的和要求
計算機類專業(yè)課程教學目的及要求:
(一)從內(nèi)容上,應(yīng)使學生牢固掌握各種進制數(shù)的相互轉(zhuǎn)換;數(shù)字系統(tǒng)中常用的編碼;邏輯代數(shù)的基本公式、定理及運算規(guī)則;邏輯函數(shù)的公式法和卡諾圖法化簡;中小規(guī)模組合邏輯電路、時序邏輯電路的分析與設(shè)計方法。了解常用集成邏輯器件、可編程邏輯器件、存儲器及模數(shù)與數(shù)模轉(zhuǎn)換器的功能及其應(yīng)用等內(nèi)容。
(二)從能力方面,應(yīng)使學生在學習本課程理論知識的同時,重視和加強實踐訓練,注重應(yīng)用能力的培養(yǎng),使理論和實踐緊密結(jié)合,在實踐訓練中逐步學會分析、查尋和排除故障的方法,培養(yǎng)正確選用集成器件進行邏輯設(shè)計和解決實際問題的能力。
(三)從教學方法上,著重基本概念的解釋,引導學生正確應(yīng)用所學知識,分析和解決實際問題。
三、相關(guān)課程及關(guān)系
本課程的先修課程包括“電路分析基礎(chǔ)”、“電子線路”等,本課程的學習應(yīng)在學生掌握一定電子電路知識的基礎(chǔ)上進行。與此同時,本課程為后續(xù)的“單片機”、“EDA”、“微機接口技術(shù)”、“數(shù)字信號處理”等課程打下了必要的理論基礎(chǔ)。
四、課程內(nèi)容及學時分配(*表示不作主要要求)
總學時:56學時
(一)數(shù)制與編碼:3學時
1、數(shù)的各種進制及相互轉(zhuǎn)換
2、數(shù)子系統(tǒng)中的常用編碼
—1—
3、二進制數(shù)的負數(shù)表示法(原碼、反碼、補碼)
要求學生掌握:不同數(shù)制間的相互轉(zhuǎn)換、常用編碼及二進制數(shù)的負數(shù)表示法。
(二)邏輯代數(shù)基礎(chǔ):10學時
1、邏輯代數(shù)的基本公式和運算規(guī)則
2、邏輯函數(shù)及其表示方法
3、邏輯函數(shù)的公式化簡法
4、邏輯函數(shù)的卡洛圖化簡法
要求學生理解:最小項和相鄰項的意義;最大項與最小項關(guān)系及性質(zhì);任意項、約束項、無關(guān)項的概念。掌握:邏輯代數(shù)中的基本邏輯運算、基本定律、基本公式和用卡諾圖。重點掌握:邏輯函數(shù)的公式法和卡洛圖法化簡。
(三)集成邏輯門:4學時
1、基本邏輯門電路
2、TTL集成邏輯門
3、*CMOS集成邏輯門
4、*TTL電路與CMOS電路的接口
要求學生了解:二極管、三極管的開關(guān)特性及分立元件門電路;各類集成邏輯門電路使用中應(yīng)注意的問題。掌握:TTL集成邏輯門的邏輯功能、外特性及相關(guān)參數(shù);CMOS集成門邏輯門的邏輯功能及特點。
(四)組合邏輯電路:10學時
1、組合邏輯電路分析(SSI、MSI)
2、組合邏輯電路設(shè)計(SSI、MSI)
3、常用集成組合邏輯器件
4、*組合電路的競爭冒險
要求學生了解:組合邏輯電路的競爭冒險產(chǎn)生的原因和消除的方法;掌握:組合邏輯電路分析(SSI、MSI);常用集成組合邏輯器件的功能、應(yīng)用及函數(shù)表達式;SSI設(shè)計組合邏輯電路的方法(輸入端只允許有原變量,器件數(shù)最少(補充))。重點掌握:MSI設(shè)計組合邏輯電路的方法(比較法、擴展法、降維圖法(補充))。
(五)集成觸發(fā)器::8學時
1、基本觸發(fā)器(同步R-S、D、J-K、T、T?)
—2—
2、主從觸發(fā)器(R-S、J-K)
3、邊沿觸發(fā)器(R-S、D;J-K;傳輸門構(gòu)成的邊沿觸發(fā)器)
4、不同類型觸發(fā)器的相互轉(zhuǎn)換
要求學生深刻理解:同步觸發(fā)器的空翻現(xiàn)象;同步清零與異步清零;主從JK觸發(fā)器的一次翻轉(zhuǎn)現(xiàn)象;不同類型觸發(fā)器的工作原理及各自的特點。牢固掌握:同步、主從、邊沿觸發(fā)器的邏輯功能、特性表、特性方程、狀態(tài)圖及時序波形的畫法。
(六)時序邏輯電路:12學時
1、時序邏輯電路概述
2、時序邏輯電路分析(同步、異步)
3、同步時序邏輯電路設(shè)計
4、*異步時序邏輯電路設(shè)計
5、*序列信號發(fā)生器
要求學生深刻理解:數(shù)碼寄存器、移位寄存器、加法計數(shù)器、減法計數(shù)器、移存型計數(shù)器的定義及工作原理。牢固掌握:同步、異步時序電路的特點、功能描述和分析方法;同步時序電路的設(shè)計,中規(guī)模集成器件實現(xiàn)任意模值計數(shù)(分頻)器)。
(七)數(shù)模和模數(shù)轉(zhuǎn)換器:4學時
1、D/A轉(zhuǎn)換器
2、A/D轉(zhuǎn)換器
要求學生了解:D/A、A/D轉(zhuǎn)換器的電路結(jié)構(gòu)、工作原理及性能指標。
(八)半導體存儲器:4學時
1、順序存取存貯器(SAM)
2、隨機存取存儲器(RAM)
3、只讀存儲器(ROM)
要求學生了解:各類存儲器的電路結(jié)構(gòu)和工作原理;用ROM 實現(xiàn)組合邏輯函數(shù)的方法。掌握:存儲器容量的字擴展和位擴展方法。
(九)可編程邏輯器件:2學時
1、可編程邏輯器件(PAL)
2、通用陣列邏輯(GAL)
3、*現(xiàn)場可編程門陣列(FPGA)
—3—
4、*在系統(tǒng)可編程邏輯器件(ISP-PLD)
要求學生了解:可編程邏輯器件的基本結(jié)構(gòu)和工作原理。
五、實踐教學環(huán)節(jié)
《脈沖與數(shù)字電路》單獨開設(shè)實驗課,本大綱僅適用于理論課程。
六、作業(yè)(習題)要求
要求每章節(jié)結(jié)束后布置相應(yīng)的作業(yè),作業(yè)量以中等程度學生在二小時左右完成為宜。
七、考核
本科課程采用閉卷考試,內(nèi)容包括教學大綱所列全部內(nèi)容,以大綱所列重點為主。
八、教材與主要參考書
(一)推薦使用教材: 楊志忠主編
《數(shù)字電子技術(shù)基礎(chǔ)》
高等教育出版社
(二)主要參考書目: 閻石主編
《數(shù)字電子技術(shù)基礎(chǔ)》
高等教育出版社
王毓銀編
《數(shù)字電路邏輯設(shè)計》
高等教育出版社 劉寶琴編
《數(shù)字電路與系統(tǒng)》
清華大學出版社
—4—