1、项目4 加法器,一任务1:四位加法器1任务分析能对两个1位二进制数进行相加而求得和及进位的逻辑电路称为半加器。能对两个1位二进制数进行相加并考虑低位来的进位,即相当于3个1位二进制数的相加,求得和及进位的逻辑电路称为全加器。实现多位二进制数相加的电路称为加法器。按照进位方式的不同,加法器分为串行进位加法器和超前进位加法器两种。串行进位加法器电路简单、但速度较慢,超前进位加法器速度较快、但电路复杂。加法器除用来实现两个二进制数相加外,还可用来设计代码转换电路、二进制减法器和十进制加法器等。,四位加法器真值表,2任务实施 完成四位加法器的文本编辑: LIBRARY IEEE; USE IEEE.S
2、TD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY plus IS PORT ( a,b: IN STD_LOGIC_VECTOR(3 DOWNTO 0); cin: IN STD_LOGIC; s: OUT STD_LOGIC_VECTOR(3 DOWNTO 0); cout: OUT STD_LOGIC); END ENTITY plus;,ARCHITECTURE behav OF plus IS SIGNAL number :STD_LOGIC_VECTOR(4 DOWNTO 0); BEGIN number = a+b
3、+cin; cout = number(4); s = number(3 DOWNTO 0); END behav;,仿真测试,在开发系统上进行硬件测试。主芯片MAX3000A/EPM3064ALC44-4;1个开关;2个拨码开关; 5个LED。,二任务2:8421 BCD码转换为余3码电路1任务分析只要在8421码上加常数3即可得到余3码。BCD码+0011=余3码即电路输入8421码加上3(0011)输出余3码,8421 BCD码转换为余3码电路真值表,2任务实施完成8421 BCD码转换为余3码电路的文本编辑,LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY BCD_3 IS PORT ( a: IN STD_LOGIC_VECTOR(3 DOWNTO 0); s: OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END ENTITY BCD_3;ARCHITECTURE behav OF BCD_3 IS BEGIN s = a + 0011;END behav;,仿真测试,在开发系统上进行硬件测试。主芯片MAX3000A/EPM3064ALC44-4;1个拨码开关; 4个LED。,