EDA课程设计 十进制加法器
电子设计自动化EDA技术实验四报告模板-10进制计数器设计
南京工程学院自动化学院实验报告课程名称电子设计自动化EDA技术实验项目名称10进制计数器设计实验学生班级实验学生姓名同组学生姓名实验时间实验地点实验成绩评定指导教师签字年月日24其中D 表示输入初始计数值,Sta 为计数开始,Q 表示当前计数值;LD 表示预制计数值,LD 为“0”,初始计数值打入器件;UD 表示计数方向,UD 为‘0’,计数器加计数,UD 为‘1’,计数器减计数;C 表示器件工作态,C 为‘0’,表示计数器正在计数;C 为‘1’,表示计数器计数结束;CP 为计数脉冲。
四、实验方案设计、实验方法 1. 实验方案10进制计数器的VHDL 描述有多种方法,设计过程中可以采用计数脉冲CP 作为敏感量,CP 的每个上升沿,计数值Q 加‘1’或减‘1’,加到‘9’后回‘0’或减到‘0’后回‘9’,语句可采用case …when 、with …select 、if …then 以及加减运算等多种结构实现。
也可以首先设计基本的触发器、锁存器等元件,而后通过元件的互联实现。
本实验中根据真值表用if-then 结构实现10进制计数器 2. 实验方法首先根据前文所述,对照真值表的列出的不同输入逻辑状态,分情况依次输出于输入的对应关系,而后编译综合,由开发系统自行实现电路功能。
五、实验步骤1. 设计输入 利用FILE\New 菜单输入VHDL 源程序,创建源文件D0 D1 D2 D3 CP Sta LD UDQ0 Q1 Q2 Q3 C62. 器件及管脚逻分配图管脚分配情况如图,所选器件为EPM7032AELCC44-43. 仿真波形10进制计数器的仿真波形如下图,从波形可以得出,输入输出满足前文真值表,设计电路功能达到设计要求4. 时序分析图上述时间分析可以得到,输出信号存在3ns的时间延迟,它主要与器件速度、表达逻辑的合理性有关,选用速度更高器件、优化设计可以使该值降低。
8。
十进制加减法电路设计
燕山大学课程设计说明书题目:十进制加法器学院(系):电气工程学院年级专业:学号:学生姓名:指导教师:教师职称:燕山大学课程设计(论文)任务书院(系):电气工程学院基层教学单位:电子实验中心说明:此表一式四份,学生、指导教师、基层教学单位、系部各一份。
年月日目录第一章设计说明 (3)1.1设计思路 (3)1.2模块介绍 (3)第二章电路原理图 (8)第三章波形图 (10)第四章管脚锁定 (11)第五章电路扩展 (12)1.1设计思路 (12)1.2模块介绍 (12)1.3扩展电路原理图 (15)1.4管脚锁定 (17)第六章总结 (18)参考文献 (19)燕山大学课程设计评审意见表 (20)第一章设计说明1.1设计思路:先分别用两个7485数值比较器,将加数及被加数分别与9比较,输出的结果再与输入值分别相与,便可设置加数和被加数,当加数和被加数超过9时均按0处理,此时用两个数码管显示加数与被加数。
用得到的加数和被加数通过一个全加器74283相加,74283得出的结果小于9时可以直接输出,大于9时则需要进行加6修正,按照该要求设计一个逻辑电路,将结果与第一个74283的结果通过第二个74283的求和,得出最终,然后将最终结果通过两个数码管分别显示十位和个位,这样便可得到所要求的十进制加法器。
1.2模块介绍:1.数值比较器:功能介绍:A1-A4,B1-B4为加数,被加数的二进制表示。
B0-B3(1001)为十进制数9。
7485为四位数值比较器。
7485比较器功能表及数值比较真值表为1,7485输出端通过一个或门输出为1,再同输入值相与,最右端所接的数码管则可显示该值;若输入值大于9,则ALBO和AEBO都为0.,通过或门输出为0,再同输入值相与,最右端所接的数码管显示为0。
2. 加数+被加数显示部分:功能介绍:比较器输出的数值分别赋予“1L1”“1L2”“1L3”“1L4”,“2L1”“2L2”“2L3”“2L4”,通过译码后输出到“DS4C”、“DS3C”数码管而显示。
《EDA课程设计2位十进制四则运算电路》
《电子设计自动化》课程设计题目:2位十进制四则运算器电路院(系)信息科学与工程学院专业通信工程届别2011级班级1班学号1115102040姓名韦桂任课老师彭盛亮摘要本次课程设计主要内容是采用VHDL语言实现2位十进制数四则运算编程,用Quartus II 软件实现功能仿真,并完成硬件测试。
本次试验目的是:输入任意两个两十进制位数(0~99),选择计算模式(加减乘除),输出它们的计算结果,利用四个数码 LED 分别显示输入的两个两位数,利用四个发光二极管显示计算模式(每次只有一个二极管发光),利用另外四个数码管显示计算结果;实现方法是:将整个系统分为输入模块,计算模块和输出模块三个部分组成。
输入模块由3个脉冲键,2个复位键和2个使能端组成;计算模块分别为加法器,减法器,乘法器,除法器;输出模块通过8个数码管和4个发光二极管分别显示运算数值,运算结果和运算模式。
经过多次修改,波形仿真和硬件测试均成功。
设置两个计数器的复位键,以便于输入比较大的数之后,想进行比较小的数字的运算可以按复位键,以减少按键5或键6的次数,设置模块时,为使电路看起来更加简洁,应减少使用电路模块,如:都除以10取余时,把除数端口都连接在同一个常数端。
目录第一部分系统设计 (4)1.1设计要求: (4)1.2系统设计方案: (4)1.2.1设计总思路: (4)1.2.2实验的主要方法: (4)1.2.3电路设计: (4)1.2.4实验电路图: (4)(1)总电路 (5)(2)输入模块: (5)(3)计算模块 (5)(4)输出模块: (6)1.2.5:总体方法的论证与比较: (7)第二部分软件设计 (7)2.1软件设计平台 (7)2.2程序流程图 (7)2.3实验相关程序 (7)2.3.1clkA与clkB中需要用的100进制计数器cnt100: (7)2.3.2.四进制计数器cnt4程序: (8)2.3.3.nu15_add中需用的加法程序: (9)2.3.4.nu15_sub中需要用的减法程序: (9)2.3.5.nu15_mod程序: (10)2.4 总电路波形仿真 (11)2.5 管脚分配 (11)(1)Input: (11)(2)Output: (11)第三部分系统测试 (12)3.1 软件测试结构综合结果 (12)3.2仪器设备名称、型号 (12)3.3功能测试方法、步骤: (12)第四部分结论及收获 (13)4.1结论 (13)4.2致谢 (13)4.3 参考文献 (13)第一部分系统设计1.1设计要求:输入两个2位十进制数(0~99),输出它们的四则运算(加减乘除)结果;发光二极管显示运算模式;可调用LPM_MULT及LPM_DIVIDE模块。
10进制加法计数器课程设计
10进制加法计数器课程设计⽬录第1章前⾔ (1)1.1 摘要 (1)1.2 设计⽬的 (1)1.3 设计内容及要求 (1)第2章设计⽅案 (2)2.1 系统框图 (2)2.2主要芯⽚功能介绍 (2)2.2.1 四位⼆进制计数器74191介绍 (2)2.2.2七段显⽰译码器7448介绍 (3)2.3 ⼯作原理 (4)第3章硬件设计 (5)3.1 单元电路设计 (5)3.2 总硬件电路图 (7)第4章仿真与试验 (8)4.1 仿真结果 (8)4.2 调试中遇到的问题 (8)第5章结论和体会 (9)第6章参考⽂献 (10)第1章前⾔1.1 摘要在数字电路技术的课程中,计数器的功能是记忆脉冲的个数,它是数字系统中应⽤最⼴泛的基本时序逻辑构件。
计数器在微型计算机系统中的主要作⽤就是为CPU和I/O设备提供实时时钟,以实现定时中断、定时检测、定时扫描、定时显⽰等定时控制,或者对外部事件进⾏计数。
⼀般的微机系统和微机应⽤系统中均配置了定时器/计数器电路,它既可当作计数器作⽤,⼜可当作定时器使⽤,其基本的⼯作原理就是"减1"计数。
计数器:CLK输⼊脉冲是⼀个⾮周期事件计数脉冲,当计算单元为零时,OUT输出⼀个脉冲信号,以⽰计数完毕。
本⼗进制加法计数器是基于74191芯⽚⽽设计的,其有两个按钮,⼀个起加⼀的作⽤,另⼀个起清零的作⽤,还有⼀个两位的数字管显⽰。
当检测到有加⼀键按下时,会⾃动加⼀,并将在数码管上显⽰。
当检测到有清零键按下时,数码管上显⽰清零。
该⼗进制加法计数器⽤途⼴泛,在各种⽐赛中能够当计分器使⽤,这样⽐赛得分更加清晰1.2 设计⽬的1、综合运⽤相关课程中所学到的理论知识去独⽴完成某⼀设计课题;2、学习⽤集成触发器构成计数器的⽅法;3、进⼀步熟悉常⽤芯⽚和电⼦器件的类型及特性,并掌握合理选⽤器件的原则;5、初步了解电路设计、仿真的过程和⽅法;4、锻炼分析问题解决问题的能⼒;1.3 设计内容及要求1、具有10进制计数功能;2、设置外部操作开关,控制计数器的直接清零、加⼀功能;3、计时器为10进制加法计数,加⼀键每按⼀次加⼀;4、具有显⽰功能;5、并⽤相关仿真软件对电路进⾏仿真。
EDA实验二 含异步清零和同步使能的十进制加减法计数器
EDA实验二 含异步清零和同步使能的十进制加减法计数器一、实验目的1.了解加减计数器的工作原理。
2.进一步熟悉QUARTUSII 软件的使用方法和VHDL 输入。
3.熟悉仿真时序设定。
二、实验设备1.PC机 一台;四、实验内容完成一个0~99计数器,有四个输入信号:复位reset、使能enable、时钟clk和加减选择sel,三路输出信号:计数值、进位和借位信号。
要求每来一个时钟信号,加或减1(sel=‘0’时执行加,sel=‘1’时执行减);计数值为99时再加1,输出进位信号,并且计数值归零;计数值为0时再减1,输出借位信号,并且计数值变成99(即0~99循环计数);复位信号reset有效时(低电平有效)计数值清0,使能信号enable有效时(高电平有效)计数器才进行工作,否则不进行累加或累减。
五、实验步骤1.打开QUARTUSII 软件,新建一个VHDL文件。
2.输入程序代码,点击保存时,系统会提示建立一个新的工程(Project),按照QUARTUSII的提示建立好工程;3.按照实验原理和自己的想法,在VHDL 编辑窗口调整完成VHDL 程序;4.对自己编写的VHDL 程序进行编译,对程序的错误进行修改;5.进行仿真,附录:电路实体定义可参照如下:ENTITY counter ISPORT( clk, reset, enable ,sel : IN STD_LOGIC; --定义时钟、异步复位、同步使能、选择信号cq : OUT STD_LOGIC_VECTOR(6 downto 0); --计数值c1out : OUT STD_LOGIC; --进位信号c2out : OUT STD_LOGIC --借位信号);END counter;VHDL程序代码如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY counter ISPORT( clk, reset, enable ,sel : IN STD_LOGIC; --定义时钟、异步复位、同步使能、选择信号cq : OUT STD_LOGIC_VECTOR(6 downto 0); --计数值c1out : OUT STD_LOGIC; --进位信号c2out : OUT STD_LOGIC --借位信号);END counter;ARCHITECTURE counter99 OF counter ISBEGINPROCESS(clk, reset, enable ,sel)VARIABLE cot :STD_LOGIC_VECTOR(6 downto 0);BEGINIF reset='0' THEN cot:=(OTHERS=>'0');ELSIF clk'EVENT AND clk ='1' THENIF enable='1' THENIF sel='0' THEN c2out<='0';IF cot<99 THEN cot:=cot+1;c1out<='0';ELSE cot:=(OTHERS=>'0');c1out<='1';END IF;ELSIF sel='1' THEN c1out<='0';IF cot>0 THEN cot:=cot-1;c2out<='0';ELSE cot:="1100011";c2out<='1';END IF;END IF;END IF;END IF;cq<=cot;END PROCESS; END counter99;仿真结果如下:。
太原理工大学EDA实验报告-2位十进制加法器
实验报告课程名称:EDA技术与FPGA应用设计课设题目:2位十进制计数器实验地点:信息学院楼CPLD实验室专业班级:学号:学生姓名:指导教师:张文爱2016年4月1日实验二2位十进制计数器一、实验目的1.熟悉ispDesignEXPERT System、QuartusII的原理图设计流程的全过程。
2.学习简单时序电路的设计方法。
3.学习EDA设计的仿真和硬件测试方法。
二、实验原理2位十进制计数器参考原理图如图1所示,也可以采用其他元件实现。
图1.用74LS390设计一个有时钟使能的2位十进制计数器三、实验任务(1)设计2位十进制计数器电路。
(2)在EDA环境中输入原理图。
(3)对计数器进行仿真分析、引脚锁定、硬件测试。
四、实验步骤1、设计电路原理图设计含有时钟使能及进位扩展输出的十进制计数器。
可以选用双十进制计数器74LS390或者十进制计数器74LS160和其他一些辅助元件来完成。
2、计数器电路的实现。
绘制过程中应特别注意图形设计规则中信号标号和总线的表达方式。
若将一根细线变成一粗线显示的总线,可以先单机使其变红,再选Option选项中的Line Style;若在某线上加信号标号,也应该点击该线某处使其变成红色,然后键入标号名称,标有相同标号的线段可视为连接线段,不必直接连接。
总线可以以标号方式进行连接。
3、编程测试。
五、实验结果图2.用74LS390设计一个有时钟使能的2位十进制计数器六、实验感想通过本次实验学会了简单时序电路的设计方法。
学会了使用QuartusII软件调用元器件库进行原理图设计的方法和设计流程。
这次实验让我学会了用FPGA设计电路并且学会了FPGA的设计过程和实现方法。
提高了动手能力,加深了对所学知识的理解。
这次EDA实验,提高了动手能力,加深了对所学知识的理解。
十进制加减法数字电路课程设计报告
设计名称:设计一个一位十进制加减法器 设计内容:1、0-9十个字符和“+”“-”分别对应一个按键,用于数据输入。
2、用一个开关控制加减法器的开关状态。
3、要求在数码显示管上显示结果。
设计目的与要求:1、学习数字逻辑等电路设计方法,熟知加减法器、编码器、译码显示的工作原理及特点;2、培养勤奋认真、分析故障和解决问题的能力。
设计环境或器材、原理与说明:环境:利用多功能虚拟软件Multism8进行电路的制作、调试,并生成文件。
器材:74LS283或者4008, 4个异或门(一片74LS86)(减法);74LS08,3输入或门(加法)设计原理:图1分析:如图1所示,第一步置入两个四位二进制数(要求置入的数小于1010),如(1001)2和(0111)2,同时在两个七段译码显示器上显示出对应的十进制数9和7;第二步通过开关选择运算方式加或者减;第三步,若选择加运算方式,所置数送入加法运算电路进行运算,同理若选择减运算方式,则所置数送入减法运算电路运算;第四步,前面所得结果通过另外两个七段译码器显示。
设计过程(步骤)或程序代码: 实验电路:1:减法电路的实现:(1):原理:如图1所示(如下),该电路功能为计算A-B 。
若n 位二进制原码为N 原,则与它相对应的补码为N 补=2n -N 原,补码与反码的关系式为N 补=N 反+1,A-B=A+B补-2n=A+B反+1-2n(2):因为B○+1= B非,B○+0=B,所以通过异或门74LS86对输入的数B求其反码,并将进位输入端接逻辑1以实现加1,由此求得B的补码。
加法器相加的结果为:A+B反+1,(3):由于2n=24=(10000)2,相加结果与相2n减只能由加法器进位输出信号完成。
当进位输出信号为1时,它与2n的差为0;当进位输出信号为0时,它与2n差值为1,同时还要发出借位信号。
因为设计要求被减数大于或等于减数,所以所得的差值就是A-B差的原码,借位信号为0。
十进制加法计数器课程设计
实验十九 计数、译码、显示电路一、实验目的1、掌握中规模集成计数器74LS90的逻辑功能。
2、学习使用74LS48、BCD译码器和共阴极七段显示器。
3、熟悉用示波器测试计数器输出波形的方法。
二、 实验原理计数、译码、显示电路是由计数器、译码器和显示器三部分电路组成的,下面分别加以介绍。
1、计数器:计数器是一种中规模集成电路,其种类有很多。
如果按各触发器翻转的次序分类,计数器可分为同步计数器和异步计数器两种;如果按照计数数字的增减可分为加法计数器、减法计数器和可逆计数器三种;如果按计数器进位规律可分为二进制计数器、十进制计数器、可编程N进制计数器等多种产品。
常用计数器均有典型产品,不须自己设计,只要合理选用即可。
本实验选用74LS90二—五进制计数器,其功能如下表所示。
6263(1) R 0(1)和R 0(2)为直接复位端,R 9(1)和R 9(2)为直接置位端,可以预置数字“9”(Q D = Q A = 1,Q B = Q C = 0)。
(2) A 为二分频计数器的输入,Q A 的输出频率为CP A 的1/2。
B 为五进制计数器的输入,把Q A 输出作为五进制计数器B 的输入,即构成8421BCD 码十进制计数器。
2、 译码器:这里所说的译码器是将二进制数译成十进制数的器件。
我们选用的74LS48是BCD 码七段译码器兼驱动器。
其外引线排列图和功能表如下所示。
1234567891011121314GNDVCC 74LS48B1615CLTBI/RBORBIDAgabcdef十进制数 或功能输 入LT RBI D C B A 0123H H H H H X X X L L L L L L L H L L H L L L H H BI/RBO H H H H 输 出a b c d e f g H H H H H H L L H H L L L L H H L H H L H H H H H L L H 字 型注4567H H H H X X X X L H L L L H L H L H H L L H H H H H H H L H H L L H H H L H H L H H L L H H H H H H H H L L L L H H H X X X H L L L H L L H H L H L H H H H H H H H H H H H H L L H H L L L H H L H L L H H L L H 891011H X H L H H H H H H X X X H H L L H H L H H H H L H H H L H L L L H H H L L H L H H L L L H H H H L L L L L L L 12131415H X H H H H H 1BI RBI LTX H LX XL X X X X X X X XL L L L L L HL L L L L L L L L L L L L L H H H H H H H2 34(1) 要求输出数字0~15时,“灭灯输入”(BI )必须开路或保持高电平。
加法计数器实验EDA
实验四加法计数器的设计一、实验目的熟悉利用QuartusII的VHDL文本输入方法设计简单时序电路,掌握异步、同步电路的设计的方法,并通过一个十进制加法计数器的设计,掌握边沿触发(或电平触发)的描述方法等。
二、实验要求和内容1、根据【例5-15】(课本132页),将其修改成一个异步清0,同步时钟使能,同步数据加载的十进制加法计数器:包括VHDL程序输入、编译、综合、适配、仿真。
(1)为此工程新建一个文件夹。
启动QuartusII软件工作平台,新建工程设计文件名为CNT10.vhd。
在新建的VHDL模型窗口下编写源程序代码如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT10 ISPORT (CLK,EN,RST,LOAD: IN STD_LOGIC;DATA : IN STD_LOGIC_VECTOR(3 DOWNTO 0); DOUT :OUT STD_LOGIC_VECTOR(3 DOWNTO 0);COUT : OUT STD_LOGIC );END CNT10;ARCHITECTURE behav OF CNT10 ISBEGINPROCESS(CLK,RST,EN,LOAD)VARIABLE Q:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINIF RST='0' THEN Q:=(OTHERS=>'0');ELSIF CLK'EVENT AND CLK='1' THENIF EN='1' THENIF (LOAD='0') THEN Q:=DATA;ELSE IF Q<9 THEN Q:=Q+1;ELSE Q:=(others=>'0');END IF;END IF;END IF;END IF;IF Q="1001" THEN COUT<='1';ELSE COUT<='0'; END IF; DOUT<=Q;END PROCESS;END behav;(2)创建工程及全程编译。
EDA课设十进制加法器课程设计报告书
燕山大学课程设计说明书题目:十进制加法器学院(系):电气工程学院年级专业: 11级应用电子学号:学生姓名:指导教师:李建霞吕宏诗教师职称:实验师实验师燕山大学课程设计(论文)任务书院(系):电气工程学院基层教学单位:电子实验中心目录第一章引言 (3)第二章设计说明 (5)2.1 设计思路 (5)2.2 模块介绍 (5)2.2.1 蜂鸣器 (5)2.2.2 双色点阵显示 (6)2.2.3 动态数码管显示 (7)第三章 Verilog HDL源程序 (8)第四章波形仿真图 (28)4.1 输入错误时波形 (29)4.2 输入正确时波形 (31)第五章管脚锁定及硬件连线 (32)5.1 管脚锁定 (32)5.2 硬件连接 (33)第六章总结 (34)参考文献 (34)第一章引言面对当今飞速发展的电子产品市场,电子设计人员需要更加实用、快捷的EDA工具,实用统一的集成设计环境,改变传统设计思路,即优先考虑具体物理实现方式,而将精力集中到设计构思、方案比较和寻找最优化设计等方面,以最快的速度开发出性能优良、质量一流的电子产品。
今天的EDA工具将向着功能强大、简单易学、使用方便的方向发展。
数字电路主要是基于两个信号(我们可以简单的说是有电压和无电压),用数字信号完成对数字量进行算术运算和逻辑运算的电路我们称之为数字电路,它具有逻辑运算和逻辑处理等功能,数字电路可分为组合逻辑电路和时序逻辑电路。
1. EDA介绍EDA技术,就是以大规模可编程逻辑器件为设计载体,以硬件描述语言为系统逻辑描述的主要表达方式,以计算机、大规模可编程逻辑器件的可开发软件及实验开发系统为设计工具,通过有关的开发软件,自动完成用软件的方式设计的电子系统到硬件系统的逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化、逻辑布局布线、逻辑仿真,直至完成对于特定目标芯片的适配编译、逻辑映射、编程下载等工作,最终形成集成电子系统或专用集成芯片的一门新技术。
eda实验报告十进制计数器设计流程
eda实验报告十进制计数器设计流程下载温馨提示:该文档是我店铺精心编制而成,希望大家下载以后,能够帮助大家解决实际的问题。
文档下载后可定制随意修改,请根据实际需要进行相应的调整和使用,谢谢!并且,本店铺为大家提供各种各样类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,如想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by theeditor.I hope that after you download them,they can help yousolve practical problems. The document can be customized andmodified after downloading,please adjust and use it according toactual needs, thank you!In addition, our shop provides you with various types ofpractical materials,such as educational essays, diaryappreciation,sentence excerpts,ancient poems,classic articles,topic composition,work summary,word parsing,copy excerpts,other materials and so on,want to know different data formats andwriting methods,please pay attention!EDA实验报告:十进制计数器设计流程详解一、实验背景与目的在电子设计自动化(EDA)领域,计数器是一种常见的数字逻辑电路,用于实现数字系统的计数功能。
EDA实验三 含异步清0和同步时钟使能的十进制
实验三含异步清0和同步时钟使能的十进制加法法计数器一、实验目的:学习时序电路的设计、仿真和硬件测试,进一步熟悉VHDL设计技术。
二、实验原理实验图1是一含计数使能、异步复位十进制加法计数器,例1是其VHDL描述。
由实验图1所示,图中间是4位锁存器;rst是异步清信号,高电平有效;clk是锁存信号;D[3..0]是4位数据输入端。
当ENA为'1'时,多路选择器将加1器的输出值加载于锁存器的数据端;当ENA为'0'时将"0000"加载于锁存器。
图1 含计数使能、异步复位十进制加法计数器三、实验内容在MAX+plusII上参照例1(4位二进制计数器)进行设计、编辑、编译、综合、适配、仿真。
说明例中各语句的作用,详细描述示例的功能特点,给出其所有信号的时序仿真波形。
1.设计LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT4B ISPORT (CLK : IN STD_LOGIC;RST : IN STD_LOGIC;LOAD : IN STD_LOGIC;D:IN STD_LOGIC_VECTOR(3 DOWNTO 0);OUTY : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);COUT : OUT STD_LOGIC );END CNT4B;ARCHITECTURE behav OF CNT4B ISSIGNAL CQI : STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINP_REG: PROCESS(CLK, RST, LOAD)BEGINIF RST = '1' THEN CQI <= "0000";ELSIF CLK'EVENT AND CLK = '1' THENIF LOAD = '1' THEN CQI <= D;IF CQI="1001" THEN CQI<="0000";ELSIF CQI<=CQI+1 THENEND IF;END IF;END IF;OUTY <= CQI;END PROCESS P_REG ; --进位输出COUT<=CQI(0) AND NOT(CQI(1))AND NOT(CQI(2))AND CQI(3); END behav;2.编辑(如图)3.编译(如图)4.四、引脚锁定以及硬件下载测试。
EDA实验报告:十进制计数器
Select SEG7 O/P Q : buffer STD_LOGIC_VECTOR( 3 DOWNTO 0); --
3
重庆三峡学院实验报告纸
Number Display Signal M : OUT STD_LOGIC_VECTOR(3 DOWNTO 0)
); END jishuqi; ARCHITECTURE a OF jishuqi IS
A. 时钟信号(CLK)为上升沿时,计数一次; B. 十进制数计数 0~9,满 9 进 1; 2.D 触发器是 CMOS 数字集成电路单元中时序逻辑电路中的重要组成部 分之一;D 触发器属于时钟控制触发,时钟信号为高电平时触发器改变 输出状态。 3.当时钟信号(CLK)为高电平,且 CLR 也为高电平时,计数清 0,CLR 是高电平清 0 还是低电平清 0 是由程序指定; 4.当使能信号 EN 为低电平的时候,保持;EN 是高电平还是低电平保持 是由程序指定;
重庆三峡学院实验报告纸当时钟信号clk为高电平且clr也为高电平时计数清0并重新开始计数
实验报告
课程名称
EDA 原理及应用
实验名称
十进制计数器
实验类型 验证 系别 年级班别 级 班 学生姓名 实验教师 编号
学时 专业 开出学期 学号 成绩
2 第期
年月 日
一、实验目的
重庆三峡学院实验报告纸
1. 熟悉数码管的工作原理;
6
重庆三峡学院实验报告纸
2. 将未分配的管脚置为三态输入: 【Assignments】→【Device…】 →【Device】 →【Device & Pin
Options…】 →【Unused Pins】 →【Reserve all unused pins : AS input tri-stated】。 四、实验总结 1.通过本次实验了解十进制同步加载、异步复位计数器的工作原理:
Cadence210进制加减计数器设计报告
Cadence2-10进制加减计数器设计报告一、实验目的:一、把握2-10进制加减CMOS计数器的逻辑设计;二、了解和把握利用Cadence进行集成电路的设计进程。
二、实验要求:用Cadence软件设计一个模十加减可逆计数器,其设计要求如下:(1)D触发器实现,上降沿有效;(2)S操纵加减计数器之间的切换,S=0,加计数器;S=1,减计数器;(3)RD=0时,清零功能;(4)KEEP=0时,维持功能;(5)SET=0时,置数功能。
(6)CY=1时,进位功能。
三、预备工作:1.画出模十加减可逆计数器的真值表和电路图;2 . 列出模十所需的单元模块。
(a) inv 反相器;(b) an2 两输入与门;an3 三输入与门; an4 四输入与门;(c)or2 两输入或门;or3 三输入或门;(d)DFF D触发器;(f)模十加法计数器部份;模十减计数器部份;(g)MUX2 二选一数据选择器。
四、实验内容:利用Cadence软件设计模十加减可逆计数器步骤:1 依照功能表和波形图绘制真值表和状态转移表;2 由所选用的触发器的函数,利用卡诺图进行逻辑简化;3 依照逻辑简化的最终结果及所选用触发器的内部电路图,在Cadence软件中绘制出计数器的电路总图;4 对电路的各个功能进行仿真验证。
五、实验原理:加减可逆计数器可由一个模十加计数器、一个模十减计数器和一个数据选择器组合组成。
1、加计数器真值表与卡诺图计数脉冲CP的顺序现态次态驱动信号0000000010001100010010001020010001100113001101000100401000101010150101011001106011001110111701111000100081000100110019100100000000101010X X X X X X X X111011X X X X X X X X121100X X X X X X X X131101X X X X X X X X141110X X X X X X X X151111X X X X X X X X加计数器真值表Q1Q0Q3Q200011110 000 0 0 001 0 0 1 011 x x x x10 1 0 x xQ1Q0Q3Q200011110 000 0 1 001 1 1 0 1 11 x x x x10 0 0 x xQ1Q0Q3Q2 00011110 000 1 0 101 0 1 0 1 11 x x x x10 0 0 x xQ1Q0Q3Q200011110 001 0 0 101 1 0 0 1 11 x x x x10 1 0 x x加计数器卡诺图减计数器真值表0 0 0 0 0 1 0 0 1 1 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 2 0 0 1 0 0 0 0 1 0 0 0 1 3 0 0 1 1 0 0 1 0 0 0 1 0 4 0 1 0 0 0 0 1 1 0 0 1 1 5 0 1 0 1 0 1 0 0 0 1 0 0 6 0 1 1 0 0 1 0 1 0 1 0 1 7 0 1 1 1 0 1 1 0 0 1 1 0 8 1 0 0 0 0 1 1 1 0 1 1 1 9 1 0 0 1 1 0 0 0 1 0 0 0 10 1 0 1 0 X X X X X X X X 11 1 0 1 1 X X X X X X X X 12 1 1 0 0 X X X X X X X X 131 10 1 X X X X XX X X 14 1 1 1 0 XX X X X X X X 1511 11 X X X X XX XX 计数脉冲 CP 的顺序现 态次 态 驱 动 信 号 Q1Q0 Q3Q2 00 01 11 10 00 1 0 0 0 01 0 0 0 0 11 x x x x 101xxQ1Q0Q3Q200011110 000000 010111 11x x x x 1010x xQ1Q0Q3Q200011110 000010 011010 11x x x x 1010x xQ1Q0Q3Q200011110 001001 011001 11x x x x 1010x x减计数器卡诺图六、实验步骤1.登录操作界面.2.进入主操作界面,选择N Terminal。
EDA课程设计--2位十进制四则运算器电路
《电子设计自动化》课程设计题目:2位十进制四则运算器电路院(系)专业届别班级学号姓名任课老师摘要本次设计的目的是通过QuartusII软件实现输入两个2位十进制数(0~99),输出它们的四则运算(加减乘除)结果(发光二极管显示运算模式;调用LPM_MULT、LPM_CONSTANT及LPM_DIVIDE模块)。
实现的方法是利用四则运算的规律进行初步设计,然后进行调整和修改。
最终结果要求:随机的输入两个数,经过加法、减法、乘法和除法的运算,可以得到正确的运算结果。
主要分为4大部分:一、2位十进制数模块;二、加减乘除四则运算四个小模块;三、加减乘除四则运算的选择模块;四、处理输出结果的模块。
目录1 系统设计 (4)2 单元电路设计 (5)3 软件设计 (5)4 系统测试 (14)5 结论 (14)6 参考文献 (14)1、系统设计一、设计要求:输入两个2位十进制数(0~99),输出它们的四则运算(加减乘除)结果;发光二极管显示运算模式;可调用LPM_MULT及LPM_DIVIDE模块。
二、系统设计方案:(1)系统设计思路要完成2位十进制四则运算器电路,首先,需要生成2个两位的十进制数,其次,需要加减乘除四个运算,然后,四种运算的选择,最后,对输出结果的处理。
2个2位十进制模块:法一,用两个100进制计数器构成;法二,用4个10进制计数器构成。
因为add1模块(后面详细介绍)只有两个输入口,所以选择法一比较方便。
加减乘除四则运算:①加法:写一个加法程序,制成模块,再分别取出它的各位、十位、百位。
②减法:写一个减法程序,用调用LPM的方法制成一个模块,在分别取出它的各位、十位和符号位。
③乘法:直接调用内部LPM,制成乘法模块。
④除法:直接调用内部LPM,制成除法模块。
加减乘除运算的选择:写一个4路选择器,分别选择加减乘除。
对输出结果的处理:写一个程序,对应不同选择下的不同输出,注意位数(加法:输出在0~198之间,需3个LED灯来显示;减法:输出在0~99之间,需3个LED灯(其中一个符号位);乘法:输出在0~9801之间,需4个LED灯;除法:输出在0~99之间,需2个LED灯。
EDA课程设计方案之2位十进制四则运算器电路四则运算器
《电子设计自动化》课程设计题目: 2位十进制四则运算器电路院(系)信息科学与工程学院专业通信工程届别 2011级班级学号姓名任课老师彭盛亮摘要本设计是利用EDA技术实现的2位十进制四则运算器,是基于QuartusII7.2软件,利用其强大、直观、便捷和操作灵活的原理图输入设计的功能来完成本次设计的。
此设计利用QuartusII7.2中的EP2C5T144C8芯片来控制整个程序的运行,用七段数码管显示各个输入和输出,用LED灯的亮灭来显示运算模式,而软件部分则是由VHDL 语言来编写的,是通过精心的设计和合理的规划而完成的设计。
设计完成后的运算器不仅能实现数据的加减乘除运算,而且还能使数据及其计算结果在数码管上显示出来,能够实现0-99的十进制数字四则运算。
目录第一章系统设计 (1)1.1设计要求 (1)1.2系统设计方案 (1)1.2.2总体方案的论证 (2)1.2.4各功能块的划分和组成 (3)第二章单元电路设计 (4)2.1 输入模块 (4)2.2加法模块 (5)2.3减法模块 (5)2.4乘法模块 (6)2.5 除法模块 (7)2.6 模式选择模块 (8)2.7输出模块 (8)第三章软件设计 (9)3.1 软件设计平台、开发工具和实现方法 (9)3.2程序的流程方框图 (9)3.3实现的功能及程序清单 (10)3.3.1百进制计数器 (10)3.3.2四选一数据选择器 (11)3.3.3加法模块: (12)3.3.4减法模块 (12)3.3.5乘法模块 (13)3.3.6除法模块 (13)3.3.7输出模块 (13)第四章系统测试 (15)4.1 功能的测试方法、步骤 (15)4.2 仪器设备 (16)第五章结论 (16)参考文献 (16)附录A 电路图图纸 (17)附录B 软件程序 (20)第一章系统设计1.1设计要求输入两个2位十进制数(0~99),输出它们的四则运算(加减乘除)结果;发光二极管显示运算模式;可调用LPM_MULT及LPM_DIVIDE模块。
eda10进制计数器实验报告
eda10进制计数器实验报告1B计算机组成原理教学实验箱一台,排线若干。
2) PC机一台。
3、实验步骤与源程序l) 根据该模型机的指令系统,编写一段程序。
这里给出两个参考程序。
参考程序一:本程序从输入设备(数码开关)取入数据,保存在内存单元08,然后从08单元送到输出设备(LED数码管)进行显示。
然后程序停止(请实验者考虑:如何修改程序,使程序不断从输入设备取出数据,送到输出设备显示。
每次循环过程中,可以使输入设备数据改变,考察输出显示的结果。
)。
设计机器指令程序如下(机器码为十六进制数据)。
地址内容助记符说明00 00 IN;输入开关数据→R00120 STA [08H] ;R0→[08]02 08 ;地址03 30 OUT [08H] ;[08H] →BUS04 08 ;地址05 40 JMP [00H] ;00H→PC06 00 ;跳转地址参考程序二:本程序从输入设备(数码开关)读入数据,与0A单元的数据相加,然后送到输出设备(LED数码管)进行显示。
本程序不断地循环运行,在运行中可改变输入开关(INPUT)的值,观察输出显示的变化。
设计机器指令程序如下(机器码为十六进制数据)。
地址内容助记符说明00 00 IN;输入开关数据→R0,采集数据0110 ADD [0AH] ;R0+[0AH]→R0,输入数据与指定数据相加02 0A ;地址0320 STA [0BH] ;R0→[0B]04 0B ;地址05 30 OUT [0BH] ;[0BH] →BUS,输出显示06 0B ;地址07 40 JMP [00H] ;00H→PC08 00 ;跳转地址0A 01 ;加数,可自定0B ;求和结果保存在0B单元2) 按图1连接实验线路。
3) 写程序:对于本实验箱可以用两种方法来写入程序。
方法一:手动写入(1)先将机器指令对应的微代码正确地写入2816中,由于在实验1.6微程序控制器的组成与微程序设计实验中已将微代码写入E2PR0M芯片中,对照表2—2校验正确后就可使用。
4位十进制频率计的设计.EDA课程设计
EDA 课程设计报告书课题名称 4位十进制频率计的设计姓 名 刘智 学 号 0812201-45 院 系 物理与电信工程系 专 业 电子信息工程 指导教师周来秀讲师2011年 6月10日※※※※※※※※※ ※※※※ ※※※※※※※※※※※2008级学生EDA 课程设计4位十进制频率计的设计刘智(湖南城市学院物理与电信工程系电子信息工程专业,湖南益阳,41300)1设计目的1)学习掌握频率计的设计方法。
2)掌握动态扫描输出电路的实现方法。
3)学习较复杂的数字系统设计方法。
2设计的主要内容和要求4位十进制频率计外部接口设计,顶层文件设计,包含4个模块,Tctl,Reg16,scan_led和一个x4cnt10(4个十进制计数器)。
3 整体设计方案根据频率计的定义和频率测量的基本原理:频率计即是指单位时间1秒内输入脉冲个数并显示出来的电路。
因为要显示被测信号的,只要限制计数器的计数过程为一秒则计数器的结果即为被测信号的频率。
频率值为:Fx=N,N为一秒内计数器所计脉冲个数。
因为是4位十进制频率计计数器是模为9999的十进制加法计数器,可以由4个模为10的十进制计数器级联而成,所以可以显示的频率范围是1-9999HZ。
因此,频率计的功能分割成四个模块:计数器,测频控制信号发生器和输出锁存器,。
各个模块均用VHDL语言描述。
待测信号的转速必须有一个脉宽为1秒的输入信号脉冲计数允许的信号;1秒计数结束后,计数值锁入锁存器的锁存信号,并有为下一测频计数周期作准备的计数器清零信号。
这三个信号可以由一个测频控制信号发生器产生。
当系统正常工作时,标准信号提供频率为1 Hz的输入信号,经过测频控制信号发生器进行信号变换,产生计数信号,将被测信号当做脉冲信号送入计数器模块,计数模块对输入的脉冲个数进行计数数结束后,将计数结果送入锁存器中,保证系统可以稳定显示数据,计数结果能够显示在七段数码显示管上。
根据系统设计要求,要实现一个4位十进制数字频率计,则要设计测频控制信号发生器模块tct1、四位十进制加法计数器模块x4cnt10、reg16锁存器模块, 七段译码显示模块scan_led 其原理框图如下图所示。
基于EDA的三位十进制计数器
基于EDA的三位十进制计数器三位十进制计数器一、设计目的采用文本输入法设计三位十进制加法计数器。
编写VHDL源代码,得出正确的仿真波形,并在实验开发系统上进行硬件演示。
二、设计内容设计一个三位10进制计数器,对计数器相关的理论进行分析、归纳和总结;三位10进制计数器的结构组成及原理分析。
程序代码(含注释);给出程序中主要函数或者语句的功能说明和使用说明;给出程序仿真运行结果和图表、以及实验结果分析和总结。
三、计数器设计原理计数器的输入信号是计数信号(CLK),门控信号是手动清零信号(RESET)、手动允许计数(ENA)。
清零信号Rest为1时,保持在清零状态,计数脉冲上升沿无效;允许计数端为0时,为保持状态,这时保持至最后一个计数,计数脉冲上升沿无效;清零信号为0,允许计数信号为1时,计数器上升沿脉冲计数。
计数器是在数字系统中使用最多的时序电路,它不仅能用于对时钟脉冲计数,还可以用于分频,定时,产生节拍脉冲和脉冲序列以及进行数字运算等。
计数器是一个典型的时序电路,分析计数器就能更好地了解时序电路的特性。
三位十进制计数显示器的设计分三步完成。
先设计十进制计数电路,再设计显示译码电路,最后建立一个顶层文件将两者连接起来。
四、设计程序代码1)三位十进制计数程序:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY COU10 ISPORT(CLK,RESET,CIN :IN STD_LOGIC;CO :OUT STD_LOGIC;BCDAP :OUT STD_LOGIC_VECTOR(3 DOWNTO 0); BCDBP :OUT STD_LOGIC_VECTOR(3 DOWNTO 0); BCDCP :OUT STD_LOGIC_VECTOR(3 DOWNTO 0) );END COU3;ARCHITECTURE BEHAVE OF COU3 ISSIGNAL BCDAN:STD_LOGIC_VECTOR(3 DOWNTO 0); SIGNAL BCDBN:STD_LOGIC_VECTOR(3 DOWNTO 0); SIGNAL BCDCN:STD_LOGIC_VECTOR(3 DOWNTO 0); BEGINBCDAP<=BCDAN;BCDBP<=BCDBN;BCDCP<=BCDCN;KK1:PROCESS(CLK)BEGINIF(CLK'EVENT AND CLK='1')THENIF(RESET='0')THENBCDAN<="0000";ELSIF(CIN='1')THENIF(BCDAN="1001")THENBCDAN<="0000";ELSEBCDAN<=BCDAN+'1';END IF;END IF;END IF;END PROCESS KK1;KK2:PROCESS(CLK)BEGINIF(CLK'EVENT AND CLK='1')THENIF(RESET='0')THENBCDBN<="0000";ELSIF(CIN='1') AND (BCDAN="1001")THENIF(BCDBN="1001")THENBCDBN<="0000";ELSEBCDBN<=BCDBN+'1';END IF;END IF;END IF;END PROCESS KK2;KK3:PROCESS(CLK)BEGINIF(CLK'EVENT AND CLK='1')THENIF(RESET='0')THENBCDCN<="0000";ELSIF(CIN='1') AND (BCDBN="1001") AND (BCDAN="1001")THENIF(BCDCN="1001")THENBCDCN<="0000";ELSEBCDCN<=BCDCN+'1';END IF;END IF;END IF;END PROCESS KK3;END BEHAVE;2)显示译码器程序:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY YIMAQI ISPORT(II:IN STD_LOGIC_VECTOR(3 DOWNTO 0); Y :OUT STD_LOGIC_VECTOR(6 DOWNTO 0)); END SEG7;ARCHITECTURE BEHAVE OF SEG7 ISSIGNAL INDATA:STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN INDATA<=II;PROCESS(INDATA)BEGINCASE INDATA ISWHEN"0000"=> Y<="0000001";WHEN"0001"=> Y<="1001111";WHEN"0010"=> Y<="0010010";WHEN"0011"=> Y<="0000110";WHEN"0100"=> Y<="1001100";WHEN"0101"=> Y<="0100100";WHEN"0110"=> Y<="0100000";WHEN"0111"=> Y<="0001111";WHEN"1000"=> Y<="0000000";WHEN"1001"=> Y<="0000100";WHEN"1010"=> Y<="0001000";WHEN"1011"=> Y<="1100000";WHEN"1100"=> Y<="0110001";WHEN"1101"=> Y<="1000010";WHEN"1110"=> Y<="0110000";WHEN"1111"=> Y<="0111000";WHEN OTHERS=>Y<="XXXXXXX";END CASE;END PROCESS;END BEHAVE;3)顶层文件:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY DINGCEN ISPORT(CLK,RESET,ENA:IN STD_LOGIC;SEG1: OUT STD_LOGIC_VECTOR(6 DOWNTO 0); SEG2: OUT STD_LOGIC_VECTOR(6 DOWNTO 0); SEG3: OUT STD_LOGIC_VECTOR(6 DOWNTO 0)); END COU37SEG;ARCHITECTURE X37 OF COU37SEG IS COMPONENT SEG7PORT(II:IN STD_LOGIC_VECTOR(3 DOWNTO 0);Y :OUT STD_LOGIC_VECTOR(6 DOWNTO 0)); END COMPONENT;COMPONENT COU3PORT(CLK,RESET,CIN:IN STD_LOGIC;BCDAP: OUT STD_LOGIC_VECTOR(3 DOWNTO 0); BCDBP: OUT STD_LOGIC_VECTOR(3 DOWNTO 0); BCDCP: OUT STD_LOGIC_VECTOR(3 DOWNTO 0)); END COMPONENT;SIGNAL A,B,C:STD_LOGIC_VECTOR(3 DOWNTO 0); BEGINU0:COU3 PORT MAP(CLK,RESET,ENA,A,B,C);U1:SEG7 PORT MAP(A,SEG1);U2:SEG7 PORT MAP(B,SEG2);U3:SEG7 PORT MAP(C,SEG3);END X37;五、程序设计步骤1)打开ispEXPERT软件,建立一个新的工程cnt10;1 单击菜单File→New Project2 输入工程路径,工程名2)建立VHDL文件单击File→New菜单项,选择VHDL File选项,单击OK按钮以建立VHDL文件,分别建立十进制计数程序的vhd文件COU10.vhd,显示译码器vhd文件YIMAQI.vhd和顶层文件DINGNGCEN.vhd 3)然后设定管脚4)最后保存编译运行,生成可下载到板子里面的jed文件5)器件下载6)波形仿真结果六、设计结果与分析三位十进制加法计数器实现了从000到999的计数,当计数到999时,计数器的输出置0,下一次又从0到999计数。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
燕山大学课程设计说明书题目:十进制加法计数器学院(系):电气工程学院年级专业:学号:学生姓名:指导教师:教师职称:燕山大学课程设计(论文)任务书院(系):电气工程学院基层教学单位:电子实验中心说明:此表一式四份,学生、指导教师、基层教学单位、系部各一份。
目录第1章摘要 (4)第2章十进制加法器设计说明 (5)2.1 设计思路 (5)2.2 流程图 (5)2.3 模块介绍 (6)2.4 真值表 (6)第3章原理图分析 (11)3.1 整体原理图 (11)3.2 输入转换部分设计 (12)3.3 蜂鸣器部分 (12)3.4 加法器部分 (13)3.5 B-BCD(二进制转换为BCD码) (13)3.6 动态数码管部分 (14)第4章波形仿真图及结果分析 (16)第5章管脚锁定及硬件连线 (21)第6章总结 (22)参考文献 (23)燕山大学评审意见表 (24)摘要十进制加法器可由BCD码(二-十进制码)来设计,它可以在二进制加法器的基础上加上适当的“校正”逻辑来实现,该校正逻辑可将二进制的“和”改变成所要求的十进制格式。
n位BCD码行波式进位加法器由n级组成,每一级将一对4位的BCD数字相加,并通过一位进位线与其相邻级连接。
在十进制运算时,当相加二数之和大于9时,便产生进位。
用BCD码完成十进制数运算时,当和数大于9时,必须对和数进行加6修正,由加法器和比较器完成功能的实现。
加法器的加数和被加数若大9则蜂鸣器警报5秒,数码管显示为0,由比较器和计数器控制。
动态数码管由计数器、数据选择器、译码器完成显示功能。
关键词:十进制加法器、动态数码管显示、蜂鸣器警报第二章十进制加法器设计说明2.1 设计思路根据项目要求设计的十进制加法器有两个输入,及加数和被加数,分别是用四个拨码开关表示的四位二进制数,即输入的范围为0到15;有一个输出,即两个加数相加的结果。
加数、被加数和结果都需要显示在动态数码管上,并且,加数或被加数若大于9,则蜂鸣器报警5秒钟,且显示为0.根据要求,设计加数和被加数的合法范围为0到9,故当输入的加数大于9的时候需要将其统一变换成0。
这里我们使用7485四位数字比较器和相应的组合逻辑电路,将输入的加数和1001B(即9)做比较,如果其小于9,就输出原数作为加数;如果其大于9,就输出0000B(即0)作为新的加数。
处理过的加数、被加数分别接入74283四位超前进位加法器的各个引脚,相加后的四位输出结果SUM1-SUM4连同进位输出cout,是一个五位的二进制数,cout是其高位。
输出的五位二进制数需要转换成为八位BCD码才能显示,故需要添加转换环节。
使用一片7485比较器和一片74283四位超前进位加法器即可实现从五位二进制数到五位BCD码的转换。
加数、被加数和运算结果,通过由十进制加法计数器74160接成的4进制加法计数器的循环与两片双四选一数据选择器74153的控制,分时输出数值,经过BCD七段译码器7448译码即可接入动态数码管进行显示,动态数码管的片选也由同一四进制加法计数器控制,实现数据的显示。
2.2 流程图2.3 模块介绍1、输入转换部分:利用两片7485和相应的组合逻辑电路,将输入的加数通过7485和9做比较,如果加数小于等于9,即从或门输出一个高电平1和输入加数的各个位相与,即输入各位不变;如果加数大于9,即从或门输出一个低电平0和输入加数的各个位想与,相与后各位都为0,即实现了当输入加数、被加数大于9时统一按作0处理。
2、蜂鸣器部分:利用十进制加法器74160进行计时,若设置时钟脉冲信号周期为一秒,则循环0000、0001、0010、0011、1000五个状态,在1001暂态停止,及实现了5秒定时功能。
定时器输入部分由两7458 AGBO引线加或门控制ENT/ENP使能端何时工作。
输出部分通过一定逻辑门电路控制输出端口,从而控制蜂鸣器工作与否。
3、加法器部分:将得到两个处理后的数的各位依次接入74283的各个引脚,就可以在74283的输出端得到相加后的结果,其中SUM1-SUM4连同进位信号cout共同构成一个五位二进制数, cout是高位。
4、B-BCD(二进制转换为BCD码):我们通过一片7485和一片74283来实现这个功能。
观察二进制转换到BCD码的真值表,可以发现两者的最后一位是完全相等的(真值表加黑部分),故可以直接将结果的最后一位直接作为得数的最低位进行输出。
当结果不大于9时(对于前四位是不大于4时),前四位是完全相等的;大于9时,对前四位来说,二进制数与BCD码总是相差0011B(即3)。
我们利用一片7485、一片74283和相应的逻辑电路实现转换的功能。
在得到得数后,将其最低位直接作为最低位输出,而将高四位分别接入一个7485的各个引脚,将其与4做比较,当其小于等于4时,或门输出一个低电平信号0输入74283的B1、B2位,和二进制结果的前四位相加(即加上0000B),结果不变;当其大于4时,或门输出一个高电平信号1输入74283的B1、B2位,和二进制结果的前四位相加(即加上0011B),即可得到相应的BCD码。
5、动态数码管部分:通过一片十进制加法器74160,两片双四选一数据选择器74153和一片BCD七段译码器7448完成控制。
74160的作用是对数据选择器和动态数码管进行选择,74160输出端QA、QB加与非门连接到LDN端,完成四进制循环,QA、QB、QC分别连接动态数码管的片选端SS0、SS1、SS2,进行片选。
74153片选信号由74160输出端QA、QB控制,对应连接;数据输入部分0端接加数各引脚,1端接被加数各引脚,2端由高到低分别接0、0、0、sum4,3端分别接第二片74283的输出低三位和第一片74283最低位;输出部分第一片74153 Y1、Y2,第二片74153 Y1、Y2分别接7884译码器输入端。
译码器7448输出端a、b、c、d、e、f、g对应连接8个共阴数码管的并行段位引线输入信号端,完成动态数码管的显示。
2.4 真值表(1)、B-BCD转换真值表(2)、四位二进制加法真值表(3)、各芯片真值表①BCD七段译码器7448真值表②四位数字比较器7485真值表③双四选一数据选择器74153真值表④十进制加法计数器74160真值表⑤四位超前进位全加器74283真值表第三章原理图分析3.1 整体原理图3.2 输入转换部分设计输入A、B的控制完全相同。
控制原理图如下所示。
3.3、蜂鸣器部分3.4、加法器部分3.5、B-BCD(二进制转换为BCD码)3.6、动态数码管部分译码器7448输出端a、b、c、d、e、f、g对应连接8个共阴数码管的并行段位引线输入信号端,完成动态数码管的显示。
第4章波形仿真图及结果分析4.1、9+8=17分析:加数A为1001B(十进制数为9),被加数为1000B(十进制数为8)。
相加结果数码管显示为17。
其中,l3 l2 l1表示数码管片选:000时显示加数9,001时显示被加数8,010时显示结果高位1,011时显示结果地位7,循环显示。
由于加数和被加数均在合法范围(小于等于9),所以蜂鸣器一直为低电平,不发生警报。
4.2、7+2=9分析:加数A为0111B(十进制数为7),被加数为0010B(十进制数为2)。
相加结果数码管显示为9。
其中,l3 l2 l1表示数码管片选:000时显示加数7,001时显示被加数2,010时显示结果高位0,011时显示结果地位9,循环显示。
由于加数和被加数均在合法范围(小于等于9),所以蜂鸣器一直为低电平,不发生警报。
4.3、8+0=8分析:加数A为1000B(十进制数为8),被加数为0000B(十进制数为0)。
相加结果数码管显示为8。
其中,l3 l2 l1表示数码管片选:000时显示加数8,001时显示被加数0,010时显示结果高位0,011时显示结果地位8,循环显示。
由于加数和被加数均在合法范围(小于等于9),所以蜂鸣器一直为低电平,不发生警报。
4.4、7+12=7分析:加数A为0111B(十进制数为7),被加数为1100B(十进制数为12)。
相加结果数码管显示为7,因为1100B为大于9非法数字,计算时记为0。
其中,l3 l2 l1表示数码管片选:000时显示加数7,001时显示被加数0,010时显示结果高位0,011时显示结果地位7,循环显示。
由于被加数不在在合法范围(大于9),所以蜂鸣器五个周期为高电平,每周期一秒,发生五秒警报。
4.5、0+4=4分析:加数A为0000B(十进制数为0),被加数为0100B(十进制数为4),相加结果数码管显示为4。
其中,l3 l2 l1表示数码管片选:000时显示加数0,001时显示被加数4,010时显示结果高位0,011时显示结果地位4,循环显示。
由于加数和被加数均在合法范围(小于等于9),所以蜂鸣器一直为低电平,不发生警报。
4.6、8+12=8分析:加数A为1000B(十进制数为8),被加数为1100B(十进制数为12),相加结果数码管显示为8,因为1100B为大于9非法数字,计算时记为0。
其中,l3 l2 l1表示数码管片选:000时显示加数,8,001时显示被加数0,010时显示结果高位0,011时显示结果地位8,循环显示。
由于被加数不在在合法范围(大于9),所以蜂鸣器五秒为高电平,发生五秒警报,第二次警报正常,可重启动。
4.7、8+8=16分析:加数A为1000B(十进制数为8),被加数为1000B(十进制数为8),相加结果数码管显示为16。
其中,l3 l2 l1表示数码管片选:000时显示加数8,001时显示被加数8,010时显示结果高位1,011时显示结果地位6,循环显示。
由于加数和被加数均在合法范围(小于等于9),所以蜂鸣器一直为低电平,不发生警报。
第5章管脚锁定及硬件连线第6章总结本次EDA(Electric Design Automation)课程设计,是我第一次深入接触电路设计和工程设计的内容。
作为一个测控专业的学生,我在过去的两年半中学习了专业的各方面知识,包括电路原理、模拟电路、数字电路等等,而这周的EDA课设,将我们学过的各方面电学知识和现代电路设计方法结合起来,应用计算机软件进行课题项目设计,不单夯实了我们的理论知识和对数字电路的理解,更极大的锻炼了我们实际动脑、动手能力。
我的设计题目是十进制加法计数器,通过拨码开关输入两个十以内的数(大于9的时候按0处理),将输入的数通过动态数码管显示,相加后的结果也通过两个动态数码管显示出来。
在输入非法数字时,蜂鸣器发生五秒警报。
该设计具有实际意义,它包含了从教材上截取的精华,比如比较器与9比较,四位二进制全进位加法器实现两位数加法计算,二进制数字向BCD码的转换。