北邮大二下数电实验报告

  • 格式:doc
  • 大小:276.50 KB
  • 文档页数:22

北邮大二下数电实验报告 北京邮电大学 数字电路与逻辑设计实验 学院: 班级: 姓名: 学号: 班内序号: 实验一 一、实验名称 Quartus II 原理图输出法设计 (一)半加器 二、实验任务要求 用逻辑门设计实现一个半加器,仿真验证其功能,并生成新的半加器图形模块单元。 三、设计思路和过程 ◎设计思路 半加器电路是指对两个输入数据位进行加法,输出一个结果位和进位,不产 生进位输入的加法器电路,是实现两个一位二进制数的加法运算电路。 数据输入:被加数AI、加数BI 数据输出:半加和SO、进位CO ◎ 设计过程 (1)列出真值表 输入 输出 AI BI SO CO 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 *表中两个输入是加数AI和BI,输出有一个是和SO,另一个是进位CO。 (2)根据真值表写出输出逻辑表达式 该电路有两个输出端,属于多输出组合数字电路,电路的逻辑表达式如下:SO,AI,BICO,AI,BI,。所以,可以用一个两输入异或门和一个两输入与门实现。 ◎实验原理图

四、仿真波形图及分析 根据仿真波形对比半加器真值表,可以确定电路实现了半加器的功能。但我们也可以发现输出SO出现了静态功能冒险,要消除该冒险可以加入相应的选通脉冲。 (二)全加器 二、实验任务要求 用实验内容1中生成的半加器模块和逻辑门设计实现一个全加器,仿真验证其功能,并下载到实验板测试,要求用拨码开关设定输入信号,发光二极管显示输出信号。 三、设计思路和过程 ◎设计思路 全加器与半加器的区别在于全加器有一个低进位CI,从外部特性来看,它是一个三输入两输出的器件。 ◎设计过程 (1)全加器的真值表如下 输入 输出 AI BI CI SO CO 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1 *其中AI为被加数,BI为加数,CI为相邻低位来的进位数。输出本位和为SO,向相邻高位进位数为CO。 (2)根据真值表写出逻辑表达式: SO,AI,BI,CI, CO,(AI,BI),CI,AI,BI 根据逻辑表达式,可以知道只要在半加器的基础上再加入一个异或门、一个两输入与门和两输入或门即可实现全加器。 ◎实验原理图

四、仿真波形图及分析 根据仿真波形对比全加器真值表,可以确定电路实现了全加器的功能。 (三)3线—8线译码器 二、实验任务要求 8线译码器(74LS138)和逻辑门设计实现函数 用3线— F,CBA,CBA,CBA,CBA,仿真验证其功能,并下载到实验板测试。要求用拨 码开关设定输入信号,发光二极管显示输出信号。 三、设计思路和过程 ◎设计思路 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;可知电路实现了函数。 F,CBA,CBA,CBA,CBA 实验二 一、实验名称 VHDL组合逻辑电路设计 (一)奇校验器 二、实验任务要求 用VHDL语言设计实现一个4位二进制奇校验器,输入奇数个‘1’时,输出为‘1’,否则输出为‘0’,仿真实现验证其功能,并下载到实验板测试。要求用拨码开关设定输入信号,发光二极管显示输出信号。 三、设计思路和过程 输入元素:a3,a2,a1,a0 输出元素:b 输入 输出 a3 a2 a1 a0 b 0 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 0 1 0 0 1 0 1 0 1 0 0 1 1 0 0 0 1 1 1 1 1 0 0 0 1 1 0 0 1 0 1 0 1 0 0 1 0 1 1 1 1 1 0 0 0 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 四、VHDL程序 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY hy_check IS PORT( a: IN STD_LOGIC_VECTOR (3 downto 0); b: OUT STD_LOGIC ); end hy_check; ARCHITECTURE hy_arch OF hy_check IS BEGIN PROCESS(a) BEGIN CASE a IS WHEN"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 输出元素:B6—B0,C5—C0 输入 输出 A3 A2 A1 A0 B6 B5 B4 B3 B2 B1 B0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 1 0 1 1 0 0 0 0 0 0 1 0 1 1 0 1 1 0 1 0 0 1 1 1 1 1 1 0 0 1 0 1 0 0 0 1 1 0 0 1 1 0 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 0 1 1 1 1 1 1 0 0 0 0 1 0 0 0 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 0 1 1 *真值表由数码管显示的原理确定。 四、VHDL程序 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY hy_encoder1 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 hy_encoder1; ARCHITECTURE encoder_arch OF hy_encoder1 IS BEGIN PROCESS(A) BEGIN C<="101111"; 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; 五、仿真波形图及分析

根据仿真波形对比数码管译码器的真值表,可以确定实现了数码管译码器的 功能。 (三)8421码到余三码 二、实验任务要求 用VHDL语言设计实现一个8421码转换为余3码的代码转换器,仿真验证 其功能,并下载到实验板测试。要求用拨码开关设定输入信号,发光二极管显示 输出信号。. 三、设计思路和过程 输入数据:A3—A0 输出数据:B3—B0 输入 输出 A3 A2 A1 A0 B3 B2 B1 B0