文档介绍:数字电路与逻辑设计
实验报告
专业:通信工程
班级:2013211123
姓名:
学号:
班内序号:
指导老师:
实验一:QuartusⅡ原理图输入法设计与实现
实验目的:
熟悉用QuartusⅡ原理图输入法进行电路设计和仿真;
掌握QuartusⅡ图形模块单元的生成与调用;
熟悉实验板的使用。
实验内容:
用逻辑门设计实现一个半加器,仿真验证其功能,并生成新的半加器图形模块单元;
用实验内容1中生成的半加器模块和逻辑门设计实现一个全加器,仿真验证其功能,并下载到实验板测试,要求用拨码开关设定输入信号,发光二极管显示输出信号;
用3线-8线译码器(74LS138)和逻辑门设计实现函数F=,仿真验证其功能,并下载到实验板测试。要求用拨码开关设定输入信号,发光二极管显示输出信号。
原理图及仿真波形图:
半加器
原理图:
仿真波形图:
分析:S=ab;C=ab
其中a,b为输入端,C为进位端,S为本位和,当ab=‘00’‘01’‘10’时不用进位,故C=‘0’,当ab=‘11’时需要进位使得C=‘1’,S=‘0’。
(2)全加器
原理图:
仿真波形图:
分析:Si=AiBiCi-1;Ci=AiBi+Ci-1(AiBi)
全加器与半加器的不同在于,全加器需要考虑低位的进位,而半加器不需要。因而对于全加器,Ai、Bi为加数和被加数,Ci-1为低位的进位,Ci为进位,Si为本位和,实质上相当于Ai+Bi+Ci-1,满2进1,Ci为进位,Si为本位和。
(3)译码器
原理图:
仿真波形图:
分析:又有要实现的功能为F=,又根据74LS138的使用原理可得图示的连接方法。
实验二:用VHDL设计与实现组合逻辑电路
实验目的:
熟悉用VHDL语言设计组合逻辑电路的方法;
熟悉用QuartusⅡ文本输入法进行电路设计;
熟悉不同的编码及其之间的转换。
实验内容:
用VHDL语言设计实现一个共阴极7段数码管译码器,仿真验证其功能,并下载到实验板测试。要求用拨码开关设定输入信号,7段数码管显示输出信号;
用VHDL语言设计实现一个8421码转换为余3码的代码转换器,仿真验证其功能,并下载到实验板测试。要求用拨码开关设定输入信号,发光二极管显示输出信号;
用VHDL语言设计实现一个4位二进制奇校验器,输入奇数个‘1’时,输出为‘1’,否则输出为‘0’,仿真验证其功能,并下载到实验板测试。要求用拨码开关设定输入信号,发光二极管显示输出信号。
VHDL代码及仿真波形图:
数码管译码器
VHDL代码:
LIBRARY IEEE;
USE ;
ENTITY seg7_1 IS
PORT(
a:IN STD_LOGIC_VECTOR(3 downto 0);
b:OUT STD_LOGIC_VECTOR(6 downto 0)
);
end seg7_1;
ARCHITECTURE seg7_1_arch OF seg7_1 IS
BEGIN
PROCESS(a)
BEGIN
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 <="0000000";
END CASE;
END PROCESS;
END;
仿真波形图:
分析:数码管译码器主要运用case语句,将每一种情况罗列出来,而仿真波形图既是每一种情况的一种直观体现
(2)8421码转换为余3码的代码转换器
VHDL代码:
library ieee;
use ;
entity TWO is
port(
a:in std_logic_vector(3 downto 0);
b:out std_logic_vector(3 downto 0)
);
end TWO;
archite