当前位置:文档之家› 北邮数电实验报告

北邮数电实验报告

北京邮电大学实验报告实验名称:数电电路与逻辑设计实验学院:信息与通信工程学院班级:姓名:学号:班内序号:日期:一. 实验一:Quartus II 原理图输入法设计1. 实验名称和实验任务要求(1)用逻辑门设计实现一个半加器,仿真验证其功能,并生成新的半加器图形模块 元。

(2)用(1)中生成的半加器模块和逻辑门设计实现一个全加器,仿真验证其功能,并下载到实验板测试,要求用拨码开关设定输入信号,发光二极管显示输出信号入信号。

(3)用3线-8线译码器(74LS138)和逻辑门设计实现函数F=A B C +A B C +AB C +A B C 。

2. 实验原理图及波形图(1)半加器(2)全加器(3)74LS383.仿真波形图分析(1)半加器:输入为a,b,输出S,CO(进位)。

当ab都为0时,半加和s=0,进位端co=0。

当ab都为1时,半加和s=0,进位端co=1。

当a=1,b=0或a=0,b=1时,半加和s=1,进位端co=0。

(2)全加器:输入a,b,输出S,CO(进位),ci(低进位)。

当a=0,b=0,ci=0,输出s=0,co=0。

当a=0,b=1或a=1,b=0又 ci=0,输出s=1,co=0。

当a=0,b=0,ci=1,输出s=1,co=0。

(3)74LS138输入A,B,C,输出为3。

四个输出对应F中的四个最小项,Y0、Y2、Y4、Y7,以实现函数功能。

二.实验二:用 VHDL 设计与实现组合逻辑电路1.实验名称和实验任务要求(1)用VHDL语言设计实现一个共阴极7段数码管译码器,仿真验证其功能。

要求用拨码开关设定输入信号,7段数码管显示输出信号。

(2) 用VHDL语言设计实现一个8421码转换为余3码的代码转换器,仿真验证其功能。

要求用拨码开关设定输入信号,发光二极管显示输出信号。

(3) 用VHDL语言设计实现一个4位二进制奇校验器,输入奇数个’1’时,输出为’1’,否则输出’0’,仿真验证其功能。

要求用拨码开关设定输入信号,发光二极管显示输出信号。

2.实验代码及波形图(1)共阴极7段数码管译码器LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY GUAN ISPORT(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 GUAN;ARCHITECTURE encoder_arch OF GUAN ISBEGINPROCESS(A)BEGINC<="011111";CASE A ISWHEN"0000"=> B<="1111110";--0WHEN"0001"=> B<="0110000";--1WHEN"0010"=> B<="1101101";--2WHEN"0011"=> B<="1111001";--3WHEN"0100"=> B<="0110011";--4WHEN"0101"=> B<="1011011";--5WHEN"0110"=> B<="1011111";--6WHEN"0111"=> B<="1110000";--7WHEN"1000"=> B<="1111111";--8WHEN"1001"=> B<="1111011";--9WHEN OTHERS=> B<="ZZZZZZZ";END CASE;END PROCESS;END encoder_arch;(2)8421码转换为余3码LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY YUSAN ISPORT(A:IN STD_LOGIC_VECTOR(3 DOWNTO 0);B:OUT STD_LOGIC_VECTOR(3 DOWNTO 0)); END YUSAN;ARCHITECTURE trans_ex3 OF YUSAN ISBEGINPROCESS(A)BEGINCASE A ISWHEN"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;(3)4位二进制奇校验器LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY JIOU ISPORT(a,b,c,d:IN STD_LOGIC;y:OUT STD_LOGIC);END JIOU;ARCHITECTURE behav OF JIOU ISBEGINPROCESS(a,b,c,d)V ARIABLE comb:STD_LOGIC_VECTOR(3 DOWNTO 0); BEGINcomb:=a&b&c&d;CASE comb ISWHEN"0000" =>y<='0';WHEN"0001" =>y<='1';WHEN"0010" =>y<='1';WHEN"0011" =>y<='0';WHEN"0100" =>y<='1';WHEN"0101" =>y<='0';WHEN"0110" =>y<='0';WHEN"0111" =>y<='1';WHEN"1000" =>y<='1';WHEN"1001" =>y<='0';WHEN"1010" =>y<='0';WHEN"1011" =>y<='1';WHEN"1100" =>y<='0';WHEN"1101" =>y<='1';WHEN"1110" =>y<='1';WHEN"1111" =>y<='0';WHEN OTHERS =>y<='0';END CASE;END PROCESS;END behav;3.仿真波形分析(1)8421码转为余三码:输出在输入基础上加011(2)四位二进制奇校验码:当输入有奇数个一时,输出1,偶数个一时,输出0。

三.实验三:用 VHDL 设计与实现组合逻辑电路1.实验名称和实验任务要求(1)用VHDL语言设计实现一个带异步复位的8421码十进制计数器,仿真验证其功能,并下载到实验版测试。

要求用按键设定输入信号,发光二极管显示输出信号;(2)用VHDL语言设计实现一个分频系数为12,分频输出信号占空比为50%的分频器,仿真验证其功能;(3)将(1),(2)和数码管译码器3个电路进行链接,并下载到实验板显示计数结果。

2.实验代码及波形图(1)8421码十进制计数器LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY jishuqi ISPORT(clk,reset:IN STD_LOGIC;q:OUT STD_LOGIC_VECTOR(3 DOWNTO 0));END jishuqi;ARCHITECTURE a OF jishuqi ISSIGNAL q_temp:STD_LOGIC_VECTOR(3 DOWNTO 0); BEGINPROCESS(clk,reset)BEGINIF reset='0' THENq_temp<="0000";ELSIF clk'EVENT AND clk='1' THENIF q_temp="1001" THENq_temp<="0000";ELSE q_temp<=q_temp+1;END IF;END IF;END PROCESS;q<= q_temp;END a;(2)分频器LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY fenpinqi ISPORT(clk:IN STD_LOGIC;clear:IN STD_LOGIC;clk_out:OUT STD_LOGIC);END fenpinqi;ARCHITECTURE a OF fenpinqi IS SIGNAL temp:INTEGER RANGE 0 TO 6; BEGINp1:PROCESS(clear,clk)BEGINIF clear='0'THENtemp<=0;ELSIF clk'EVENT AND clk='1' THENIF temp=11 THENtemp<=0;ELSE temp<=temp+1;END IF;END IF;END PROCESS p1;p2:PROCESS(temp)BEGINIF temp<6 THENclk_out<='0';ELSE clk_out<='1';END IF;END PROCESS p2;END a;3.模块端口说明(1)带异步复位的四位二进制减计数器(2)分频器(3)三个连接4. 波形分析(1)8421 十进制计数器由波形图可见,随着时钟不停的变化,输出也从0——9不停的显示。

相关主题