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