得在后面又重新来建立新的工程。
八、问题及思考
试设计一由8 位二进制加法器为基本元件构成的8位减法器。 源程序 library ieee;
use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity adder8 is port(c8: in std_logic;
a8: in std_logic_vector(7 downto 0); b8: in std_logic_vector(7 downto 0); s8: out std_logic_vector(7 downto 0); co8: out std_logic); end entity adder8; architecture art of adder8 is component adder4 is port(c4: in std_logic; a4: in std_logic_vector(3 downto 0); b4: in std_logic_vector(3 downto 0); s4: out std_logic_vector(3 downto 0); co4: out std_logic); end component adder4; signal sc:std_logic; begin u1:adder4 port map(c4=>c8,a4=>a8(3 downto 0),b4=>b8(3 downto 0),s4=>s8(3 downto 0),co4=>sc);
u2:adder4
port map(c4=>sc,a4=>a8(7 downto 4),b4=>b8(7 downto 4),s4=>s8(7 downto 4),co4=>co8);
end architecture art;
电路图
仿真波形
实验二 用七段LED显示8421BCD码的VHDL设计
一、预习内容
1、 结合附录一了解EDA实验箱的原理; 2、 七段LED显示原理; 3、 怎样用VHDL实现8421BCD码在七段LED数码管上显示。
二、实验目的
1. 了解VHDL进行EDA设计的基本步骤; 2. 学会用QuartusⅡ进行时序仿真; 3. 了解EDA实验箱的基本功能;
三、实验器材
PC机一台、EDA教学实验系统一台、下载电缆一根(已接好)、导线若干
四、实验要求
1. 用VHDL设计具有清除端、使能端,计数范围为0-999的计数器设计。输出为8421BCD码;
2. 用VHDL设计七段LED译码显示电路; 3. QuartusⅡ进行时序仿真; 4. 下载该程序验证程序是否正确;
5. 请事先准备一个优盘,本实验程序需要保存,后面实验需要用到。
五、实验原理与内容
1、 8421BCD编码 在数字系统中常用四位二进制代码来表示一位十进制数字0、1、2、﹒﹒﹒、9,称之为二-十进制代码,即BCD码。将十进制数编成BCD码的电路,称为称二-十进制(BCD)编码器。二-十进制编码的方案很多,若BCD编码器采用8421编码方案,称为8421BCD编码器。 2、 七段译码器 下图为译码器逻辑图,请按图进行连线。其中A,B,C,D 接拨号开关,a,b,c,d,e,f,g 接数码显示接口,管脚映射均为I/O 口,映射后,通过拨号开关改变输入二进制码,则输出数码管上显示相应的数值。 3、 译码器真值表 数 输入 值 A B C 0 0 0 0 1 0 0 0 2 0 0 1 3 0 0 1 4 0 1 0 5 0 1 0 6 0 1 1 7 0 1 1 D 0 1 0 1 0 1 0 1 a 1 0 1 1 0 1 1 1 b 1 1 1 1 1 0 0 1 c 1 1 0 1 1 1 1 1 输出 d 1 0 1 1 0 1 1 0 e 1 0 1 0 0 0 1 0 f 1 0 0 0 1 1 1 0 g 0 0 1 1 1 1 1 0
8 9 A B C D E F 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 1 1 1 0 1 0 1 1 1 1 1 0 0 1 0 0 1 1 1 1 0 1 0 0 1 1 0 1 1 1 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 六、实验步骤
1、写出七段译码器和具有清除端、使能端,计数范围为0-999的计数器的VHDL源程序,编译通过; 2、进行波形仿真;
3、选定器件、映射管脚、编译、下载。 七、实验报告
1、写出实验源程序,画出仿真波形; 三、各模块VHDL程序 1、0-9计数器
2、0-999计数器
3、译码显示模块