实验二 一位8421BCD码加法器的设计
数字电路课程设计之加减法运算电路设计(1)
设计资料1加减法运算电路设计1.设计内容及要求1.设计一个4位并行加减法运算电路,输入数为一位十进制数,且作减法运算时被减数要大于或等于减数。
2.led 灯组成的七段式数码管显示置入的待运算的两个数,按键控制运算模式,运算完毕,所得结果亦用数码管显示。
3.提出至少两种设计实现方案,并优选方案进行设计2.结构设计与方案选择2.1电路原理方框图电路原理方框图如下→ →图1-1二进制加减运算原理框图如图1-1所示,第一步置入两个四位二进制数(要求置入的数小于1010),如(1001)2和(0111)2,同时在两个七段译码显示器上显示出对应的十进制数9和7;第二步通过开关选择运算方式加或者减;第三步,若选择加运算方式,所置数送入加法运算电路进行运算,同理若选择减运算方式,则所置数送入减法运算电路运算;第四步,前面所得结果通过另外两个七段译码器显示。
即:若选择加法运算方式,则(1001)2+(0111)2=(10000)2 十进制9+7=16置数开关选择运算方式加法运算电路减法运算电路译码显示计算结果显示所置入的两个一位十进制数并在七段译码显示器上显示16.若选择减法运算方式,则(1001)2-(0111)2=(00010)2十进制9-7=2 并在七段译码显示器上显示02.2.2加减运算电路方案设计2.2.1加减运算方案一如图2-2-1所示:通过开关S2——S9接不同的高低电平来控制输入端所置的两个一位十进制数,译码显示器U13和U15分别显示所置入的两个数。
数A 直接置入四位超前进位加法器74LS283的A4——A1端,74LS283的B4——B1端接四个2输入异或门。
四个2输入异或门的一输入端同时接到开关S1上,另一输入端分别接开关S6——S9,通过开关S6——S9控制数B的输入。
当开关S1接低电平时,B与0异或的结果为B,通过加法器74LS283完成两个数A和B的相加。
当开关S1接高电平时,B与1异或的结果为B非,置入的数B在74LS283的输入端为B的反码,且74LS283的进位信号C0为1,其完成S=A+B (反码)+1,实际上其计算的结果为S=A-B完成减法运算。
数字电子技术典型题选
数字电⼦技术典型题选数字电⼦技术典型题选⼀、填空题1.在数字电路中,逻辑变量的值只有个值,即和。
2.在逻辑函数的化简中,合并最⼩项的个数必须是2n 个。
3.组合逻辑电路的输出仅取决于该电路当前的输⼊信号,与电路原来的状态。
4.TTL三态门的输出有三种状态:⾼电平、低电平和⾼阻态状态。
5.基本的逻辑关系有,,。
6.组成计数器的各个触发器的状态,能在时钟信号到达时同时翻转,它属于同步计数器。
7. A/D转换器的转换过程包括,,,四个步骤。
8.施密特触发器有 2 个稳定状态.,单稳态触发器有 1 个稳定状态.,多谐振荡器有0 个稳定状态。
9.随机存储器RAM的电路结构主要由、和三部分组成。
为构成4096×8的RAM,需要⽚1024×4的RAM芯⽚,并需要⽤位地址码以完成寻址操作。
10. 8位移位寄存器,串⾏输⼊时经个CP脉冲后,将得到8位数据的并⾏输出;欲将其串⾏输出,需经个CP脉冲后,数码才能全部输出。
11.(93)10= ( ) 16= ( ) 8= ( ) 2 。
12.寻址1M×16的内存单元需要⽤根地址线,根数据线。
13.RS触发器的特性⽅程为,其约束条件为。
14. D触发器的特性⽅程T触发器的特性⽅程。
15.正逻辑中,⾼电平表⽰,低电平表⽰。
16.时序逻辑电路通常由和两部分组成。
17.共阴极的LED数码管应与输出电平有效的显⽰译码器匹配。
18.共阳极的LED数码管应与输出电平有效的显⽰译码器匹配。
19.某逻辑函数F的卡诺图如图所⽰,则F= 。
20.单稳态触发器的特点是电路有⼀个和⼀个。
21.“逻辑相邻”是指两个最⼩项因⼦不同,⽽其余因⼦。
22..在数字系统中,所有的运算都可以分解成和两种操作。
23..TTL电路如图,则F1= F2=F3=24. CMOS电路的阈值电压为。
25. 现场可编程门阵列FPGA 主要由IOB CLB 互连资源和SRAM组成。
25. A/D转换过程包括,,,等步骤。
8421BCD码加法器
电子线路课程设计(报告)题目8421BCD码加法器院系物理与电子工程学院专业光电信息科学与工程班级Z052132 学号052513212学生姓名李晓刚指导教师徐竞日期2015年6月目录一题目要求与方案论证 (1)1.1 8421BCD码加法器 (1)1.1.1题目要求 (1)1.1.2 方案论证 (1)二电子线路设计与实现 (3)2.1 8421BCD码加法器的设计 (3)三结果与分析 (8)3.1 8421BCD码加法器的实现 (8)四总结与体会 (10)参考文献 (11)附录 (12)一题目要求与方案论证1.1 8421BCD码加法器1.1.1题目要求通过开关J1~J8分别设置2个4位8421BCD码输入,通过全加器,实现相加后的输出,结果采用数码管观察。
主要芯片:2个全加器(4008BD)、开关、数码管(2个),其他元件、门电路任选1.1.2 方案论证表1.1 4008BD功能表表1.2 74HC85AD的真值表表1.3 74LS48功能表由真值表可知:两个四位8421BCD码通过4008BD全加器相加后得到的是一个四位的8421码或五位的168421码,故不能直接通过两个数码管来显示出运算结果,所以要把计算结果转换为10进制,然后将个位和十位的数字分别由对应的8421BCD码通过译码器芯片74LS48,把运算结果用数码管显示出来。
如下表所示:表1.4 数制转换二电子线路设计与实现2.1 8421BCD码加法器的设计一、数据的产生与输入通过J1~J8八个单刀双掷开关在+5V和GND之间的切换来产生两个4位8421BCD码作为输入的数据,当开关打到+5V时输入数据1,打到GND时输入数据0。
其中J1~J4分别为数据A0~A3,J5~J8分别为数据B0~B3,且A3~A0、B3~B0的位权依次降低。
其电路图如下所示:图2.1.1 数据产生电路二、加法电路把上面得到的两个四位8421BCD码分别输入4008BD全加器的输入端A3~A0、B3~B0,同时CIN输入端接低电平。
8421BCD码加法器
电子线路课程设计(报告)题目8421BCD码加法器院系物理与电子工程学院专业光电信息科学与工程班级Z052132 学号052513212学生姓名李晓刚指导教师徐竞日期2015年6月目录一题目要求与方案论证 (1)1.1 8421BCD码加法器 (1)1.1.1题目要求 (1)1.1.2 方案论证 (1)二电子线路设计与实现 (3)2.1 8421BCD码加法器的设计 (3)三结果与分析 (8)3.1 8421BCD码加法器的实现 (8)四总结与体会 (10)参考文献 (11)附录 (12)一题目要求与方案论证1.1 8421BCD码加法器1.1.1题目要求通过开关J1~J8分别设置2个4位8421BCD码输入,通过全加器,实现相加后的输出,结果采用数码管观察。
主要芯片:2个全加器(4008BD)、开关、数码管(2个),其他元件、门电路任选1.1.2 方案论证表1.1 4008BD功能表表1.2 74HC85AD的真值表表1.3 74LS48功能表由真值表可知:两个四位8421BCD码通过4008BD全加器相加后得到的是一个四位的8421码或五位的168421码,故不能直接通过两个数码管来显示出运算结果,所以要把计算结果转换为10进制,然后将个位和十位的数字分别由对应的8421BCD码通过译码器芯片74LS48,把运算结果用数码管显示出来。
如下表所示:表1.4 数制转换二电子线路设计与实现2.1 8421BCD码加法器的设计一、数据的产生与输入通过J1~J8八个单刀双掷开关在+5V和GND之间的切换来产生两个4位8421BCD码作为输入的数据,当开关打到+5V时输入数据1,打到GND时输入数据0。
其中J1~J4分别为数据A0~A3,J5~J8分别为数据B0~B3,且A3~A0、B3~B0的位权依次降低。
其电路图如下所示:图2.1.1 数据产生电路二、加法电路把上面得到的两个四位8421BCD码分别输入4008BD全加器的输入端A3~A0、B3~B0,同时CIN输入端接低电平。
简易加减计算器设计(数电)
电子技术课程设计电气与信息工程学院建筑电气与智能化专业题目:简易加减计算器设计姓名:徐雪娇学号:094412110指导教师:祁林简易加减计算器设计一、设计目的1、在前导验证性认知实验基础上,进行更高层次的命题设计实验.2、在教师指导下独立查阅资料、设计、特定功能的电子电路。
3、培养利用数字电路知识,解决电子线路中常见实际问题的能力.4、积累电子制作经验,巩固基础、培养技能、追求创新、走向实用。
5、培养严肃认真的工作作风和严谨的科学态度。
二、设计要求1、用于两位一下十进制的加减运算。
2、以合适方式显示输入数据及计算结果。
三、总体设计第一步置入两个四位二进制数。
例如(1001)2,(0011)2和(0101)2,(1000)2,同时在两个七段译码显示器上显示出对应的十进制数9,3和5,8。
第二步通过开关选择加(减)运算方式;第三步若选择加运算方式所置数送入加法运算电路进行运算;同理若选择减运算方式,则所置数送入减法运算电路运算;第四步前面所得结果通过另外两个七段译码器显示。
即:方案一通过开关J1-J8接不同的高低电平来控制输入端所置的两个一位十进制数,译码显示器U10和U13分别显示所置入的两个数。
数A直接置入四位超前进位加法器74LS283的A4-A1端,74LS283的B4-B1端接四个2输入异或门。
四个2输入异或门的一输入端同时接到开关S1上,另一输入端分别接开关J5-J8,通过开关J5-J8控制数B的输入。
当开关S1接低电平时,B与0异或的结果为B,通过加法器74LS283完成两个数A和B的相加。
当开关J1接高电平时,B与1异或的结果为B非,置入的数B在74LS283的输入端为B的反码,且74LS283的进位信号C0为1,其完成S=A+B(反码)+1,实际上其计算的结果为S=A-B完成减法运算。
由于译码显示器只能显示0-9,所以当A+B>9时不能显示,我们在此用另一片芯片74LS283完成二进制码与8421BCD码的转换,即S>9(1001)时加上6(0110)2,产生的进位信号送入译码器U12来显示结果的十位,U11 2显示结果的个位。
实验二一位8421BCD码加法器的设计
实验⼆⼀位8421BCD码加法器的设计实验⼆⼀位8421BCD码加法器的设计⼀、实验⽬的1. 理解四位加法器7483和四位⽐较器7485的⼯作原理及使⽤2. 掌握⼀位8421BCD码加法器的⼯作过程3. 进⼀步熟悉Quartus软件的使⽤,了解设计的全过程,⼆、实验内容1.采⽤画原理图的⽅法设计⼀位8421BCD码加法器。
要求使⽤四位加法器7483和四位⽐较器7485及必要的逻辑门电路。
三、分析过程7483是四位⼆进制加法器,其进位规则是逢16进1。
⽽8421BCD 码表⽰的是⼗进制数,进位规则是逢10进1。
⽤7483将两个1位BCD码相加时,当和⼩于等于9时,结果正确;当和⼤于9时,需加6进⾏修正。
实验中要求使⽤7483、7485及必要的逻辑门完成。
由于7483通过输出引脚C4 S3 S2 S1 S o输出⼆进制的和,7485是四位⽐较器,关键在于如何通过7483及7485的输出判断何时应对结果修正以及如何修正。
由于两个1位⼗进制数相加时,和的取值范围是0—18,将该范围内各数值对应的⼆进制数和8421BCD码列表,以便寻找何时应对结果修正以及如何修正从表中分析可得出如下结论:当7483输出的⼆进制数的和为0---9时,即S3 S2 S1 SO W 9时结果正确,不需修正;当和为10-----15时S3 S2 S1 S)> 9时,需加6 修正,此种情况可将7483的输出S3 S2 S1 S0送⼊7485的输⼊引脚A3 A2 A1 A0 ,将1001(即⼙9)送⼊7485另⼀组输⼊引脚B3 B2 B1 B0, 若7485的输出A> B=1,则说明需加6修正;当和为16、17、18时,结果需加6修正。
此种情况7483的输出S3 S2 S1 S)v 9,但C4=1。
综合以上分析,当7483输出的⼆进制数的和S3 S2 S1 S)> 9或C4=1时结果需修正。
此修正的条件可通过7485的输出A> B和7483 输出的C4通过逻辑或门(OR1获得。
8421BCD码加法器
电子线路课程设计(报告)题目8421BCD码加法器系别物理与电子科学系专业电子科学与技术班级08电科(4)班学号*********学生姓名吴迪指导教师徐竞日期2010.7.10~2010.7.15目录一题目要求与方案论证 (2)1.1设计题目 (2)1.1.1题目要求 (2)1.1.2 方案论证 (2)二电子线路设计与实现 (4)2.18421BCD加法器的设计 (4)2.28421BCD加法器的构成 (5)三结果与分析 (9)3.1两个四位8421BCD码加法的实现 (9)3.2调试注意事项 (10)四总结与体会 (11)参考文献 (12)附录 (13)一题目要求与方案论证1.1设计题目8421BCD码加法器1.1.1题目要求通过开关J1~J8分别设置2个4位8421BCD码输入,通过全加器,实现相加后的输出,结果采用数码管观察。
主要芯片:2个全加器(4008BD)、开关、数码管(2个),其他元件、门电路任选1.1.2 方案论证表1.1 4008BD功能表表1.2 74HC4511功能表有真值表可知:两个四位8421BCD码相加后得到的是一个四位或五位的二进制数,不好直接通过两个数码管来显示运算结果,所以要考虑用两个4008BD全加器来把计算结果转换为8421BCD码来输入显示译码器,从而实现把运算结果用数码管显示出来。
如下表所示:表1.3 数制转换二电子线路设计与实现2.1 8421BCD加法器的设计一、根据题目要求得到其功能表如下:二、由表我们可以算出Y的表达式由前16项有(1)3210321032103210321032103231Y S S S S S S S S S S S S S S S S S S S S S S S S S S S S =+++++=+(2)由后10项有1O Y C ==由(1)(2)有Y=C O +S 3S 2+S 3S 1三、理论图图2.1 逻辑电路图2.2 8421BCD 加法器的构成一、数据的产生与输入通过J1~J8八个单刀双掷开关在+5V 和GND 之间的切换来产生两个4位8421BCD 码作为输入的数据,当开关打到+5V 时输入数据1,打到GND 时输入数据0。
数电复习资料
数字电子技术典型题选一、填空题〔根底型〕1.在数字电路中,逻辑变量的值只有2个。
2.在逻辑函数的化简中,合并最小项的个数必须是2^n 个。
3.化简逻辑函数的方法,常用的有公式和卡诺图。
4.逻辑函数A 、B 的同或表达式为A ⊙B= /A/B+AB 。
T 触发器的特性方程Q n+1= T/Qn+/TQn 。
5.函数C A B A Y +=,反函数Y = 〔A+/B 〕*/〔/A+C 〕,对偶式Y ’= 〔/A+B 〕*/〔A+/C 〕 。
6.4线—10线译码器又叫做2-10进制译码器,它有4个输入端和个输出端, 6个不用的状态。
7.组合逻辑电路的输出仅取决于该电路当前的输入信号,与电路原来的状态有关。
8.TTL 三态门的输出有三种状态:高电平、低电平和高阻态状态。
9.组成计数器的各个触发器的状态,能在时钟信号到达时同时翻转,它属于同步 计数器。
10.四位双向移位存放器74LS194A 的功能表如表所示。
由功能表可知,要实现保持功能,应使,当 RD=1;S1=1,S0=0时 ,电路 实现功能。
74LS194A 的功能表如下:S 1 S 0工作状态11.假设要构成七进制计数器,最少用个触发器,它有个无效状态。
12.根据触发器构造的不同,边沿型触发器状态的变化发生在CP 边沿时,其它时刻触发器保持原态不变。
13.用中规模集成计数器构成任意进制计数器的方法通常有三种,它们是级连法,和。
14.由555定时器构成的单稳态触发器,假设电阻R=500KΩ,电容C=10μF,则该单稳态触发器的脉冲宽度tw≈。
15.在555定时器组成的施密特触发器、单稳态触发器和多谐振荡器三种电路中,电路能自动产生脉冲信号,其脉冲周期T≈。
16. 用555定时器组成的三种应用电路如下图,其中图〔a〕、〔b〕、〔c〕分别对应的电路名称是〔a〕,〔b〕,〔c〕17. A/D转换器的转换过程包括,,,四个步骤。
一、填空题〔综合提高型〕1.施密特触发器有2个稳定状态.,单稳态触发器有1个稳定状态.,多谐振荡器有0个稳定状态。
《EDA技术实用教程》习题解答
习题 5-6 根据图 5-23,写出顶层文件 MX3256.VHD 的 VHDL 设计文件。
第 1 章 概述
9
图 5-21 习题 5-4 图
解: VHDL 设计文件内容如下:
library ieee; use ieee.std_logic_1164.all;
entity exen is
port ( cl
: in std_logic;
clk0 : in std_logic;
out1 );
: out std_logic
out1 <= not tmp; end hdlarch; ⊕习题 5-5 给出 1 位全减器的 VHDL 描述。要求: (1) 首先设计 1 位半减器,然后用例化语句将它们连接起来,图 5-22 中 h_suber 是半减器,diffr 是输出差, s_out 是借位输出,sub_in 是借位输入。
解:
图 5-19 4 选 1 多路选择器
图 5-20 双 2 选 1 多路选择器
architecture hdlarch of MUXK is
signal tmp : std_logic;
begin
process(s0,a2,a3) begin
if s0 = '0' then
tmp <= a2;
else
解:用同步计数器来实现。(事实上要求设计的是一个袼雷码计数器)
考虑不同状态时,对应的 DFF 输入端的值:
BCD码加法器
+ 7 → + 0111
………… …………
13 1011
1101在8421BCD码中是非法码,结果错误,如果加6修正后,则产生了进位信号,且本位
1101
+ 0110
…………
1,0011
“0011”也是正确的。
③若和产生进位,则结果错误,也需加6修正。如
8 1000
+ 9 → + 1001
卓越工程师班第一次大作业
用四位全加器构成
一位BCD码加法器
班级:001111
作者:00111116 江新远
实现方式一:器件
一、问题
用四位二进制全加器74LS283构成一位8421BCD码加法电路
二、74LS283介绍
74LS283是TTL双极型并行4位全加器,,特点是先行禁卫,因此运算速度很快,其外形为双列直插。它有两组4位二进制数输入 ,一位低位向本位的进位输入 ,有一组二进制输出 ,一个最高位的进位输出,改器件所完成的4位二进制加法如图所示。
由于S是二进制的,所以最后取S的后四位加6就好。但是为防止S的后四位加6,仍然大于10,故先用S1等于S的后四位加6,然后再取S1的后四位。
附代码:
library ieee;
use fhomework1 is
port(a,b:in std_logic_vector(3 downto 0);
c:outbit;
………… …………
17 1,0001
虽产生了进位,但本位和不正确,若加6修正
1,0001
+ 0110
…生错误的原因是8421BCD码为十进制,逢十进一,而四位二进制数是逢十六进一,故二者进位关系不同。其中刚好相差6,故需加6进行修正。
项目二一位十进制加法计算器的逻辑电路设计与制作课件.ppt
任务二 译码器逻辑电路设计与制 作
【知识链接2:LED数码管及其驱动电路】
LED数码管(也称发光二极管数码管)是用显示数字、文字 和符号的常用器件。如图2-8所示。
LED数码管根据管内PN结的连接方式不同,可分为共阴数码 管和共阳数码管两种。共阴数码管就是管内所有PN结的阴极 都连在一起,如图2-9(a)所示。使用时应将共阴端接低电 平,阳极接显示译码器的哥哥输出端。共阳数码管就是管内 所有PN结的阳极都连在一起,如图2-9(b)所示。使用时应 将共阳端接高电平,阴极接显示译码器的各个输出端。
Li Ai Bi
Gi Ai Bi AiBi Ai Bi AiBi Mi AiBi
根据上面的表达式可画出如图2-21所示的逻辑电路图。
上一页 返 回
仿真演练一 七段数码管显示电路
【技能目标】 (1)学会用字信号发生器。 (2)学会编码七段数码管。 (3)进一步会用逻辑分析仪。 【知识目标】 (1)掌握数码管的编码方法。 (2)掌握字信号发生器的使用方法。
4.活动提示
(1)为保证课堂效率,建议学生将前两次任务中制作的电路 保留并在此次任务中直接使用。
(2)此设计为组合逻辑,用集成逻辑门实现,设计方法可见 后面的知识链接。
上一页 下一页
任务三 一位十进制加法器的逻辑 电路设计与制作
【知识链接1:半加器与全加器的基本知识 】
1.一位加法器 (1)半加器。 半加器的真值表如表2-7所示。表中的A和B分别表示两个相
3.实践活动要求
要求每人用逻辑门设计BCD编码器的控制电路,并在焊接板( 或面包板)上将设计的电路搭建起来,然后调试并实现所要求 的功能。
4.实践仪器与元件
万用表、电烙铁、按钮开关10只,红色LED4只,集成逻辑门 若干,电阻、电容若干,导线,焊接板(或面包板),焊锡丝
2位BCD码加法器设计
2位BCD码加法器设计一、源程序module adder(A0,A1,B0,B1,a0,a1,b0,b1,s0,s1,s2); //模块名为adder和端口列表input[3:0]A0,A1,B0,B1;//定义模块的输入端口,分别表示数A的个位、十位,数B的个位、十位。
output[6:0]a0,a1,b0,b1,s0,s1,s2;//定义模块的输出端口,分别表示数码管输出的加数,被加数,和的各位。
reg[6:0]a0,a1,b0,b1,s0,s1,s2;reg[4:0]T0,T1;reg[3:0]Z0,Z1;reg c1,c2,S2;//定义S2为和的百位,其他均为中间变量。
reg[3:0]S0,S1;//定义S0为和的个位。
S1为和的百位。
alwaysbeginT0 = A0 + B0;if(T0 > 9)//判断十位是否有进位,有则c1=1,没有c1=0。
beginZ0 = 10;c1 = 1;endelsebeginZ0 = 0;c1 = 0;endS0 = T0-Z0;//和个位的算法。
T1 = A1 + B1 + c1;if (T1 > 9)//判断百位是否有进位,有则c2=1,没有c2=0。
Z1 = 10;c2 = 1;endelsebeginZ1 = 0;c2 = 0;endS1 = T1-Z1;//和十位的算法。
S2 = c2;//和百位的算法。
End//利用case语句分别让数码管显示加数,被加数,和的各位。
always @(A0)begincase(A0)4'd0:a0=7'b0000001;4'd1:a0=7'b1001111;4'd2:a0=7'b0010010;4'd3:a0=7'b0000110;4'd4:a0=7'b1001100;4'd5:a0=7'b0100100;4'd6:a0=7'b0100000;4'd7:a0=7'b0001111;4'd8:a0=7'b0000000;4'd9:a0=7'b0000100;default: a0=7'bx;endalways @(A1) begincase(A1)4'd0:a1=7'b0000001; 4'd1:a1=7'b1001111; 4'd2:a1=7'b0010010; 4'd3:a1=7'b0000110; 4'd4:a1=7'b1001100; 4'd5:a1=7'b0100100; 4'd6:a1=7'b0100000; 4'd7:a1=7'b0001111; 4'd8:a1=7'b0000000; 4'd9:a1=7'b0000100; default: a1=7'bx; endcaseendalways @(B0)begincase(B0)4'd0:b0=7'b0000001; 4'd1:b0=7'b1001111; 4'd2:b0=7'b0010010; 4'd3:b0=7'b0000110; 4'd4:b0=7'b1001100; 4'd5:b0=7'b0100100;4'd7:b0=7'b0001111; 4'd8:b0=7'b0000000; 4'd9:b0=7'b0000100; default: b0=7'bx; endcaseendalways @(B1)begincase(B1)4'd0:b1=7'b0000001; 4'd1:b1=7'b1001111; 4'd2:b1=7'b0010010; 4'd3:b1=7'b0000110; 4'd4:b1=7'b1001100; 4'd5:b1=7'b0100100; 4'd6:b1=7'b0100000; 4'd7:b1=7'b0001111; 4'd8:b1=7'b0000000; 4'd9:b1=7'b0000100; default: b1=7'bx; endcaseendalways @(S0)begincase(S0)4'd0:s0=7'b0000001;4'd2:s0=7'b0010010; 4'd3:s0=7'b0000110; 4'd4:s0=7'b1001100; 4'd5:s0=7'b0100100; 4'd6:s0=7'b0100000; 4'd7:s0=7'b0001111; 4'd8:s0=7'b0000000; 4'd9:s0=7'b0000100; default: s0=7'bx; endcaseendalways @(S1) begincase(S1)4'd0:s1=7'b0000001; 4'd1:s1=7'b1001111; 4'd2:s1=7'b0010010; 4'd3:s1=7'b0000110; 4'd4:s1=7'b1001100; 4'd5:s1=7'b0100100; 4'd6:s1=7'b0100000; 4'd7:s1=7'b0001111; 4'd8:s1=7'b0000000; 4'd9:s1=7'b0000100; default: s1=7'bx; endcaseendalways @(S2) begincase(S2)4'd0:s2=7'b0000001; 4'd1:s2=7'b1001111; 4'd2:s2=7'b0010010; 4'd3:s2=7'b0000110; 4'd4:s2=7'b1001100; 4'd5:s2=7'b0100100; 4'd6:s2=7'b0100000; 4'd7:s2=7'b0001111; 4'd8:s2=7'b0000000; 4'd9:s2=7'b0000100; default: s2=7'bx; endcaseendendmodule二、仿真结果能够完成从1到99的加法运算,并且正常显示。
项目二一位十进制加法计算器的逻辑电路设计及制作
根据以上逻辑表达式可以绘制出8421BCD码编码器的逻辑电 路,如图2-3所示。 返 回 上一页
任务二 译码器逻辑电路设计与制 作
【技能目标】 能设计并使用译码器。
【知识目标】 (1)掌握编码技术。 (2)掌握集成LED译码器的使用方法。
下一页
任务二 译码器逻辑电路设计与制 作
【实践活动】 1.实践活动任务描述
【实践活动】 5.活动提示
(1)LED正、负板间加正向电压时导通,一般电压大于2V 时发光,不加电压或加反向电压时不导通,LED不亮,应与 LED串联一100~1000 Ω的电阻保护LED不致因过流而损坏。 (2)10个按钮开关代表0~9这10个十进制数,输出4个信号 控制4个LED的显示。 (3)此设计为组合逻辑,用集成逻辑门实现,设计方法可见 后面的知识链接。
【技能目标】 能设计并制作BCD码编码器。 【知识目标】 掌握编码技术。 【实践活动】 1.实践活动内容
BCD编码器实验。
下一页
任务一 BCD编码器的逻辑电路设 计与制作
【实践活动】 2.实践活动任务描述
在电路输入端按下代表0~9的任何一个按钮开关,在输出端, LED就会显示与该十进制数对应的二进制数值。任何时刻只允 许输入一个有效信号。
上一页
下一页
任务三 一位十进制加法器的逻辑 电路设计与制作
【知识链接2:数据选择器、数据分配器及 数值比较器】
3.数值比较器 数据比较器是用来判断输入数据大小的逻辑器件,数值比较 器可以按位数分为一位数值比较器和多位数值比较器,首先 简要介绍一位数值比较器的功能和特点。 其真值表如表2-11所示。由真值表可以得到下列逻辑表达 式: Li Ai Bi
实验一(2)、加法器及译码显示电路分析
实验一(2)、加法器及译码显示电路
一、实验目的
1.掌握二进制加法运算。 2.掌握全加器的逻辑功能。 3.熟悉集成加法器及其使用方法。 4.掌握七段译码器和数码管的使用。
二、设计任务与要求
1. 电子技术综合实验箱; 2.集成电路:74LS83,74LS86,74LS00,
74LS47。 3.共阴极LED数码管。
五、实验内容及步骤
1.按基本设计任务与要求设计出的电路,若需要仿 真,则用Multisim 7进行软件仿真。
2.在实验仪上安装电路,检查实验电路接线无误之 后接通电源。
3.测试全加器的功能。记录实验结果。 4.测试转换器的功能。
原理图; 4. 对实验结果进行分析; 5. 思考题。
七、思考题
1.用74LS83能否实现8421码转换为余3 码的转换?
2.画出用74LS48和共阴极LED数码管实 现一个译码显示电路。
器件引脚图
74LS00
74LS86
74LS83
74LS47
加余 数三
码 被 加 数
A3 A2 A1
A0
5
1 3 8 10
B3 B2
16 4
B1 7
VCC
W
15
2X Y
6
9Z
B0 11 13 12
D6 C2
B1 A7
译码器
74LS83
13 12 11 10
9
15
14Leabharlann a b c d e f g
8
共阴数码管
二、设计任务与要求
2.扩展内容(仿真) 设计一个4位BCD码加法器 注意:在计满10时即进位。画出逻辑图, 列出元件清单。仿真加法器用CMOS 4008
2位BCD码加法器
2位BCD码加法器一、实验内容:利用V erilog HDL语言,编写一个2为BCD码加法器程序,并在DE2板是实现功能的运用。
A0、A1,B0、B1分别是2个输入数字,S0-S2为输出,经过BCD加法器的运算,能实现BCD码加法功能。
设计思路:A0、B0分别是A、B的低位,相加的值T0=A0+B0,若T0>10,则Z0赋值为10,同时进位C0=1,和值低位S0=T0-Z0;同理,高位A1、B1,T1=A1+B1+C0,若T1>10,则Z1=10,进位C1=1,和值高位S1=T1-Z1;S2=C1。
二、实验源程序:1)BCD加法器module BCDadder(A0,A1,B0,B1,S0,S1,S2,clear); //定义输入模块input [3:0]A0; //考虑到A0、B0、A1、B1的值可能input [3:0]A1; 超过十进制数8,顾定义长度为4位;input [3:0]B0;input [3:0]B1;input clear;output S0;output S1;output S2;reg [3:0]S0;reg [3:0]S1;reg [3:0]S2;reg [4:0]C0;reg [4:0]C1;reg [4:0]T0; //低位和值可能超过16,所以定义T0、T1长reg [4:0]T1; 度为5;reg [4:0]Z0;reg [4:0]Z1;always @(posedge clear) //以每一次复位上升沿到来开始计算和值;beginT0=A0+B0; //低位相加和值赋T0;if(T0>9)beginZ0=10; //如果低位相加有进位,则赋值Z0=10;C0=1; //如果T0>9,则有进位,此时C0=1;endelsebeginZ0=0;C0=0;endbeginT1=A1+B1+C0; //高位为A1加B1再加进位C0,赋值给T1;if(T1>9)beginZ1=10;C1=1;endelsebeginZ1=0;C1=0;endendbeginS0=T0-Z0; //和值S0到S1赋值;S1=T1-Z1;S2=C1;endendendmodule2)输入数A0、A1、B0、B1显示module indisplay(A0,A1,B0,B1,displayA0,displayA1,displayB0,displayB1); input [3:0]A0;input [3:0]A1;input [3:0]B0;input [3:0]B1;output [6:0]displayA0;output [6:0]displayA1; //定义7段数码管的输出;output [6:0]displayB0;output [6:0]displayB1;reg [6:0]displayA0;reg [6:0]displayA1; //定义其类型为寄存器类型;reg [6:0]displayB0;reg [6:0]displayB1;always@(A0 or A1 or B0 or B1) //当输入A、B中任何一位变化,即执行输入显示程序;begincase(A0) //输入A0显示4'd0:displayA0=7'b1000000;4'd1:displayA0=7'b1111001;4'd2:displayA0=7'b0100100;4'd3:displayA0=7'b0110000;4'd4:displayA0=7'b0011001;4'd5:displayA0=7'b0010010;4'd6:displayA0=7'b0000010;4'd7:displayA0=7'b1011000;4'd8:displayA0=7'b0000000;4'd9:displayA0=7'b0010000;default: displayA0=7'b1000000; //默认时,数码管显示数字“0”;endcasecase(A1) //输入A1显示4'd0:displayA1=7'b1000000;4'd1:displayA1=7'b1111001;4'd2:displayA1=7'b0100100;4'd3:displayA1=7'b0110000;4'd4:displayA1=7'b0011001;4'd5:displayA1=7'b0010010;4'd6:displayA1=7'b0000010;4'd7:displayA1=7'b1011000;4'd8:displayA1=7'b0000000;4'd9:displayA1=7'b0010000;default:displayA1=7'b1000000; //默认时,数码管显示数字“0”;endcasecase(B0) //输入B0显示4'd0:displayB0=7'b1000000;4'd1:displayB0=7'b1111001;4'd2:displayB0=7'b0100100;4'd3:displayB0=7'b0110000;4'd4:displayB0=7'b0011001;4'd5:displayB0=7'b0010010;4'd6:displayB0=7'b0000010;4'd7:displayB0=7'b1011000;4'd9:displayB0=7'b0010000;default:displayB0=7'b1000000; //默认时,数码管显示数字“0”;endcasecase(B1) //输入B1显示4'd0:displayB1=7'b1000000;4'd1:displayB1=7'b1111001;4'd2:displayB1=7'b0100100;4'd3:displayB1=7'b0110000;4'd4:displayB1=7'b0011001;4'd5:displayB1=7'b0010010;4'd6:displayB1=7'b0000010;4'd7:displayB1=7'b1011000;4'd8:displayB1=7'b0000000;4'd9:displayB1=7'b0010000;default:displayB1=7'b1000000; //默认时,数码管显示数字“0”;endcaseendendmodule3)输出显示module display(S0,S1,S2,display1,display2,display3);input[3:0] S0;input[3:0] S1;input[3:0] S2;output[6:0] display1;output[6:0] display2;output[6:0] display3;reg[6:0] display1;reg[6:0] display2;reg[6:0] display3;always @(S0 or S1 or S2) //当和值S中的任何一位变化,就开始执行显示程序;begincase(S0) //和值第一位S0显示;4'd0:display1=7'b1000000;4'd1:display1=7'b1111001;4'd2:display1=7'b0100100;4'd3:display1=7'b0110000;4'd4:display1=7'b0011001;4'd5:display1=7'b0010010;4'd6:display1=7'b0000010;4'd7:display1=7'b1011000;4'd8:display1=7'b0000000; //默认时,数码管显示数字“0”;default: display1=7'b1000000; //默认时,数码管显示数字“0”;endcasecase(S1) //和值第二位S1显示;4'd0:display2=7'b1000000;4'd1:display2=7'b1111001;4'd2:display2=7'b0100100;4'd3:display2=7'b0110000;4'd4:display2=7'b0011001;4'd5:display2=7'b0010010;4'd6:display2=7'b0000010;4'd7:display2=7'b1011000;4'd8:display2=7'b0000000;4'd9:display2=7'b0010000;default:display2=7'b1000000; //默认时,数码管显示数字“0”;endcasecase(S2) //和值第三位S2显示;4'd0:display3=7'b1000000;4'd1:display3=7'b1111001;4'd2:display3=7'b0100100;4'd3:display3=7'b0110000;4'd4:display3=7'b0011001;4'd5:display3=7'b0010010;4'd6:display3=7'b0000010;4'd7:display3=7'b1011000;4'd8:display3=7'b0000000;4'd9:display3=7'b0010000;default:display3=7'b1000000; //默认时,数码管显示数字“0”;endcaseendendmodule4)模块连接三、实验仿真与实现1)BCD加法器仿真输入A为24,B为48,当clear复位后,和值S为72,与理论一致,故BCD加法器正常;输入A为06,B为14,在clear的上升沿来到是计算和值,display得出相应值,从仿真结果可以看出程序正常实现BCD码加法器功能。
数字电路课程设计之BCD加法器设计
注意 C4 并不需要等待 C3,实际上 C4,C3,C2,C1 同时传输 超前进位产生的电路逻辑图
2
3
4
1
5
6
2 3
1 4 5
2
3
1
4
1
3
P3
2
G3
2 3
1 4 5
2
3
1
4
1
3
P2
2
G2
2
3
4
1
C4
5
6
2
3
1
C3
4
5
2
3
1
4
1
3
P1
2
G1
2
3
1
C2
4
P0
G0 C0
带超前进位的四位加法器
B3 A3
B2 A2
guan
tian liang
参考文献: 1.数字设计与 Verilog 实现 M.Morris Mano 著 第五版
Half_Add H1(.a(A[0]),.b(B[0]),.s(v2),.c(v1));
Half_Add H2(.a(A[1]),.b(B[1]),.s(v4),.c(v3));
Half_Add H3(.a(A[2]),.b(B[2]),.s(v6),.c(v5));
Half_Add H4(.a(A[3]),.b(B[3]),.s(v8),.c(v7));
制数中的 0~9 这 10 个数码。是一种二进制的数字编码形式,用二进制编码的十进制代码。8421 BCD 码是
最基本和最常用的 BCD 码,它和四位自然二进制码相似,各位的权值为 8、4、2、1,故称为有权 BCD 码。
实验BCD码加法器
实验二 文本输入方式设计数字逻辑电路一、实验目的:1、 掌握VHDL 语言的基本语法和设计文件的基本结构。
2、 掌握组合逻辑电路的特性及设计和调试方法。
3、 掌握时序逻辑电路的特性及设计和调试方法。
4、 掌握常用的组合逻辑电路和时序逻辑电路的设计方法。
二、实验的硬件要求:1、 EDA/SOPC 实验箱。
2、 计算机。
三、实验原理数字逻辑电路可分为两类:组合逻辑电路和时序逻辑电路。
组合逻辑电路中不包含记忆单元(触发器、锁存器等),主要由逻辑门电路构成,电路在任何时刻的输出只和当前时刻的输入有关,而与以前的输入无关。
时序电路则是指包含了记忆单元的逻辑电路,其输出不仅跟当前电路的输入有关,还和输入信号作用前电路的状态有关。
1、组合逻辑电路①组合逻辑电路的定义通常组合逻辑电路可以用图1.1所示结构来描述。
其中,X0、X1、…、Xn 为输入信号, L0、L1、…、Lm 为输出信号。
输入和输出之间的逻辑函数关系可用式1.1表示: ②组合逻辑电路的设计方法组合逻辑电路的设计任务是根据给定的逻辑功能,求出可实现该逻辑功能的最合理组 合电路。
理解组合逻辑电路的设计概念应该分两个层次:(1)设计的电路在功能上是完整的,能够满足所有设计要求;(2)考虑到成本和设计复杂度,设计的电路应该是最简单的,设计最优化是设计人员必须努力达到的目标。
在设计组合逻辑电路时,首先需要对实际问题进行逻辑抽象,列出真值表,建立起逻辑模型;然后利用代数法或卡诺图法简化逻辑函数,找到最简或最合理的函数表达式;根据简化的逻辑函数画出逻辑图,并验证电路的功能完整性。
设计过程中还应该考虑到一些实际的工程问题,如被选门电路的驱动能力、扇出系数是否足够,信号传递延时是否合乎要求等。
组合电路的基本设计步骤可用图1.2来表示。
③组合逻辑电路的特点及设计时的注意事项a)组合逻辑电路的输出具有立即性,即输入发生变化时,输出立即变化。
(实际电路中图 2.1 组合逻辑电路框图L0=F0(X0,X1,···Xn) · · ·Lm=F0(X0,X1,···Xn)(1.1)图 2.2 组合电路设计步骤示意图图还要考虑器件和导线产生的延时)。
8421加法器设计
题目二8421加法器程序`timescale 1ns / 1psmodule d_8421(a,b,sum,co);input [3:0] a;input [3:0] b;output reg [3:0] sum;output reg co;reg [4:0] add;always @(a,b)beginadd=a+b;if(add>9){co,sum}=a+b+6;else{co,sum}=a+b;endendmodule仿真`timescale 1ns / 1psmodule sim_8421();reg [3:0] a;reg [3:0] b;wire [3:0] sum;wire co;d_8421 u1(a,b,sum,co);initialbegina=4'b0000;b=4'b0000;end;always #5 {a,b}={a,b}+1;endmodule约束set_property PACKAGE_PIN F3 [get_ports a[3]]set_property IOSTANDARD LVCMOS33 [get_ports a[3]] set_property PACKAGE_PIN H4 [get_ports a[2]]set_property IOSTANDARD LVCMOS33 [get_ports a[2]] set_property PACKAGE_PIN N4 [get_ports a[1]]set_property IOSTANDARD LVCMOS33 [get_ports a[1]] set_property PACKAGE_PIN R2 [get_ports a[0]]set_property IOSTANDARD LVCMOS33 [get_ports a[0]] set_property PACKAGE_PIN R3 [get_ports b[3]]set_property IOSTANDARD LVCMOS33 [get_ports b[3]] set_property PACKAGE_PIN P4 [get_ports b[2]]set_property IOSTANDARD LVCMOS33 [get_ports b[2]] set_property PACKAGE_PIN R5 [get_ports b[1]]set_property IOSTANDARD LVCMOS33 [get_ports b[1]] set_property PACKAGE_PIN P6 [get_ports b[0]]set_property IOSTANDARD LVCMOS33 [get_ports b[0]]set_property PACKAGE_PIN T5 [get_ports sum[3]]set_property IOSTANDARD LVCMOS33 [get_ports sum[3]] set_property PACKAGE_PIN R7 [get_ports sum[2]]set_property IOSTANDARD LVCMOS33 [get_ports sum[2]] set_property PACKAGE_PIN R8 [get_ports sum[1]]set_property IOSTANDARD LVCMOS33 [get_ports sum[1]] set_property PACKAGE_PIN P9 [get_ports sum[0]]set_property IOSTANDARD LVCMOS33 [get_ports sum[0]] set_property PACKAGE_PIN E3 [get_ports co]set_property IOSTANDARD LVCMOS33 [get_ports co]输入最左边四个为8421码输入,5-8位为另一个数字的8421输入。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验二一位8421BCD码加法器的设计
一、实验目的
1.理解四位加法器7483和四位比较器7485的工作原理及使用
2.掌握一位8421BCD码加法器的工作过程
3.进一步熟悉Quartus软件的使用,了解设计的全过程,
二、实验内容
1.采用画原理图的方法设计一位8421BCD码加法器。
要求使用四位
加法器7483和四位比较器7485及必要的逻辑门电路。
三、分析过程
7483是四位二进制加法器,其进位规则是逢16进1。
而8421BCD 码表示的是十进制数,进位规则是逢10进1。
用7483将两个1位BCD码相加时,当和小于等于9时,结果正确;当和大于9时,需加6进行修正。
实验中要求使用7483、7485及必要的逻辑门完成。
由于7483通过输出引脚C4 S3 S2 S1 S0输出二进制的和,7485是四位比较器,关键在于如何通过7483及7485的输出判断何时应对结果修正以及如何修正。
由于两个1位十进制数相加时,和的取值范围是0—18,将该范围内各数值对应的二进制数和8421BCD码列表,以便寻找何时应对结果修正以及如何修正
从表中分析可得出如下结论:
当7483输出的二进制数的和为0---9时,即S3 S2 S1 S0≤9时结果正确,不需修正;当和为10-----15时S3 S2 S1 S0>9时,需加6修正,此种情况可将7483的输出S3 S2 S1 S0送入7485的输入引脚A3 A2 A1 A0,将1001(即9)送入7485另一组输入引脚B3 B2 B1 B0,若7485的输出A>B=1,则说明需加6修正;当和为16、17、18时,结果需加6修正。
此种情况7483的输出S3 S2 S1 S0<9,但C4=1。
综合以上分析,当7483输出的二进制数的和S3 S2 S1 S0>9或C4=1时结果需修正。
此修正的条件可通过7485的输出A>B和7483输出的C4通过逻辑或门(OR1)获得。
当OR1输出为1时需修正,当OR1输出为0时不需修正。
(分析出何时应对结果修正)
需再使用一片7483实现加6修正,将第一片7483输出的二进制数的和S3 S2 S1 S0送入第二片7483的输入引脚A3 A2 A1 A0,第二片7483的输入引脚B3 B2 B1 B0接入0、OR1输出、OR1输出、0。
由于不需修正时,OR1输出为0,需修正时OR1输出为1,实现加6修正。
(分析了如何实现修正)
分析BCD码十位获得,当第一片7483输出的二进制数的和为0—16时,BCD码十位由第二片7483输出的C4获得,当第一片7483输出的二进制数的和为16、17、18时,BCD码十位由第一片7483输出的C4获得。
因此,BCD码十位由两片7483的C4经过逻辑或门(OR2)获得。
四、原理图(粘贴QUARTUS中绘制的原理图)
五、功能仿真的波形图及说明(包含不需修正以及修正的情况)
六、实验体会与收获
说明发现问题以及解决的方法。