北京邮电大学数字电路与逻辑设计实验学院:班级:姓名:学号:班内序号:实验一一、实验名称Quartus II 原理图输出法设计(一)半加器二、实验任务要求用逻辑门设计实现一个半加器,仿真验证其功能,并生成新的半加器图形模块单元。
三、设计思路和过程◎设计思路半加器电路是指对两个输入数据位进行加法,输出一个结果位和进位,不产生进位输入的加法器电路,是实现两个一位二进制数的加法运算电路。
数据输入:被加数AI、加数BI数据输出:半加和SO、进位CO◎设计过程,输出有一个是和SO,另一个是进位CO。
(2)根据真值表写出输出逻辑表达式该电路有两个输出端,属于多输出组合数字电路,电路的逻辑表达式如下:AICO⋅=。
所以,可以用一个两输入异或门和一个两输入与门SO⊕=,BIBIAI实现。
◎实验原理图四、仿真波形图及分析根据仿真波形对比半加器真值表,可以确定电路实现了半加器的功能。
但我们也可以发现输出SO出现了静态功能冒险,要消除该冒险可以加入相应的选通脉冲。
(二)全加器二、实验任务要求用实验内容1中生成的半加器模块和逻辑门设计实现一个全加器,仿真验证其功能,并下载到实验板测试,要求用拨码开关设定输入信号,发光二极管显示输出信号。
三、设计思路和过程 ◎设计思路全加器与半加器的区别在于全加器有一个低进位CI ,从外部特性来看,它是一个三输入两输出的器件。
◎设计过程SO ,向相邻高位进位数为CO 。
(2)根据真值表写出逻辑表达式:CI BI AI SO ⊕⊕=,BI AI CI BI AI CO ⋅+⋅⊕=)(根据逻辑表达式,可以知道只要在半加器的基础上再加入一个异或门、一个两输入与门和两输入或门即可实现全加器。
◎实验原理图四、仿真波形图及分析根据仿真波形对比全加器真值表,可以确定电路实现了全加器的功能。
(三)3线—8线译码器二、实验任务要求用3线—8线译码器(74LS138)和逻辑门设计实现函数CBF+A++=,仿真验证其功能,并下载到实验板测试。
要求用拨CACBABABC码开关设定输入信号,发光二极管显示输出信号。
三、设计思路和过程◎设计思路74LS138是一个3线—8线的译码器,其输出为低电平有效,使能端G1为高电平有效,G2、G3为低电平有效,当其中一个为高电平,输出端全部为1。
在中规模集成电路中译码器的几种型号里,74LS138使用最广泛。
要实现的函数用最小项表示如下:F(C,B,A)=∑m(0,2,4,7)只要将相应输出用一个四输入与非门实现即可。
◎注意(1)74LS138的输出是低电平有效,故实现逻辑功能时,输出端不可接或门及或非门(因为每次仅一个为低电平,其余皆为高电平);(2)74LS138与前面不同的是,其有使能端,故使能端必须加以处理,否则无法实现需要的逻辑功能。
◎实验原理图四、仿真波形图及分析当且仅当ABC 输入为000、010、100、111时,F=1;可知电路实现了函数CBA A B C A B C A B C F +++=。
实验二一、实验名称VHDL 组合逻辑电路设计(一)奇校验器二、实验任务要求用VHDL 语言设计实现一个4位二进制奇校验器,输入奇数个‘1’时,输出为‘1’,否则输出为‘0’,仿真实现验证其功能,并下载到实验板测试。
要求用拨码开关设定输入信号,发光二极管显示输出信号。
三、设计思路和过程 输入元素:a3,a2,a1,a0 输入输出 a3 a2 a1 a0 b 0四、VHDL程序LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY hy_check ISPORT(a: IN STD_LOGIC_VECTOR (3 downto 0);b: OUT STD_LOGIC);end hy_check;ARCHITECTURE hy_arch OF hy_check IS BEGINPROCESS(a)BEGINCASE a ISWHEN"0000" => b <='0';WHEN"0001" => b <='1';WHEN"0010" => b <='1';WHEN"0011" => b <='0';WHEN"0100" => b <='1';WHEN"0101" => b <='0';WHEN"0110" => b <='0';WHEN"0111" => b <='1';WHEN"1000" => b <='1';WHEN"1001" => b <='0';WHEN"1010" => b <='0';WHEN"1011" => b <='1';WHEN"1100" => b <='0';WHEN"1101" => b <='1';WHEN"1110" => b <='1';WHEN"1111" => b <='0';END CASE;END PROCESS;END;五、仿真波形图及分析根据仿真波形对比奇校验码的真值表,可以确定电路实现了奇校验器的功能。
(二)数码管译码器二、实验任务要求用VHDL语言设计实现一个共阴极7段数码管译码器,仿真验证其功能,并下载到实验板测试。
要求用拨码开关设定输入信号,7段数码管显示输出信号。
三、设计思路和过程输入元素:A3—A0输入输出四、VHDL程序LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY hy_encoder1 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 hy_encoder1;ARCHITECTURE encoder_arch OF hy_encoder1 IS BEGINPROCESS(A)BEGINC<="101111";CASE A ISWHEN"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";--7WHEN"1000"=>B<="1111111";--8WHEN"1001"=>B<="1111011";--9WHEN OTHERS=>B<="ZZZZZZZ";END CASE;END PROCESS;END encoder_arch;五、仿真波形图及分析根据仿真波形对比数码管译码器的真值表,可以确定实现了数码管译码器的功能。
(三)8421码到余三码二、实验任务要求用VHDL语言设计实现一个8421码转换为余3码的代码转换器,仿真验证其功能,并下载到实验板测试。
要求用拨码开关设定输入信号,发光二极管显示输出信号。
.三、设计思路和过程输入数据:A3—A0输入输出A3 A2 A1 A0 B3 B2 B1 B00 0 0 0 0 0 1 10 0 0 1 0 1 0 0四、VHDL程序LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY hy_trans1 ISPORT(A:IN STD_LOGIC_VECTOR(3 DOWNTO 0);B:OUT STD_LOGIC_VECTOR(3 DOWNTO 0)); END hy_trans1;ARCHITECTURE trans_ex3 OF hy_trans1 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;五、仿真波形图及分析根据仿真波形对比真值表,可以确定电路实现了8421码到余三码的转换。