搜档网
当前位置:搜档网 › VHDL 8421码十进制计数器

VHDL 8421码十进制计数器

VHDL  8421码十进制计数器
VHDL  8421码十进制计数器

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

entity count is

port(

clk,clear:in std_logic;

q:out std_logic_vector(3 downto 0));

end count;

architecture a of count is

signal q_temp:std_logic_vector(3 downto 0); begin

process(clk,clear)

begin

if (clear='0') then

q_temp<="1111";

elsif (clk'event and clk='1') then

q_temp<=q_temp-1;

end if;

end process;

q<=q_temp;

end a;

实验一 两位十进制计数器

实验一两位十进制计数器 一实验目的 二实验要求 三实验内容及步骤 (1)两位十进制计数器项目的建立 1 新建一个文件夹作为工程项目的记录 2 创建工程项目 运行QUARTUS2软件,建立工程,方法是选择file菜单下执行new project wizard 命令(2)基于QUARTUS2的两位十进制计数器的原理图设计 建立原理图文件 1 运行QUARTUS2软件,选择file菜单执行new。。的命令 2 选择block diagram/schematic file 流程图和原理图文件,单击ok进入原理图编辑界面,即建立一个空的原理图文件 3元件的选择和放置 在原理图编辑区单击鼠标右键或双击鼠标左键,在对应的Name输入相应的名字,即可调出。选择Repeat-insert mode 即可重复调用 4修改输入输出元件(引脚)属性双击任意一个元件,即可修改元件参数 5 电路图连线 注意网络标号的放置,用鼠标单击线条,则该线处于选中状态,再按右键,选择properties,即可填入网络标号 6 保存原理图文件 Ctrl+s 或点击file菜单中的save保存,就生成了原理图文件 7原理图 基于QUARTUS2的两位十进制计数器的编译 QUARTUS2的编译方法是选中processing菜单的start compliation 项或者单击快捷键按钮进行编译 基于QUARTUS2两位十进制计数器的功能测试 1 新建波形文件 选择菜单file中的new。。命令,选择verification/debugging中的vector waveform file方式后单击ok按键,进入QUARTUS2波形编辑器 在name栏下的空白处双击鼠标,出现insert node or bus对话框,单击node finder 按钮,选择引脚 2 设置仿真时间区域 在edit菜单中选择end time 项,在弹出的,设置整个仿真的时间,单击ok 执行edit菜单中的grid size 。。命令,设置时间的栅格,点击ok 3设置输入信号波形 选中clk时钟信号,选择时钟设置键,设置时钟周期为1us 设置clr信号 设置en信号

实验一-加法器的设计与实现讲解

实验项目二:简单计算器设计与实现基本要求: 1. 能够实现加减运算 2. 能够实现乘法运算 扩展要求: 1.能够实现除法运算 一、实验目的 利用原件例化语句完成一个8位加法器的设计。 二、实验环境 Quartus II 开发系统 三、实验内容 1、掌握层次化设计的方法; 2、掌握一位全加器工作原理; 3、掌握用VHDL文本输入法设计电子线路的详细流程; 4、掌握元件例化语句用法; 5、熟悉软硬件设计验证方法。 四、实验过程 设计思想: 8位二进制加法器可以由8个全加器通过级联的方式构成。根据全加器级联的原理,用VHDL设计一个8位二进制数的加法器,可以先设计一个一位全加器,然后利用一位全加器采用元件例化的方式实现加法器。 实验步骤: 1、设计一个全加器 新建工程,建立源文件,输入VHDL设计文件,如下图所示:

完成设计文件输入后,保存文件,对文件进行编译、仿真,以下是仿真结果,如图所示: 由图可知仿真结果正确。 2、元件例化 把VHDL设计文件转为原理图中使用的元件。在文件菜单File中选择Creat/Update选项,单击Create Symbol File for Current File 选项,系统自动生成相应的元件标号。 重复新建文件的操作,选择Block Diagram/Schmatic File 选项,新建一个原理图文件,在添加元件列表中可以看到自动生成的元件,选择full_adder这个元件添加到原理图中,如下图所示:

3、完成顶层图的设计 用生成的元件标号,完成顶层图的设计。这里有两种方法,一种是直接用原理图设计,根据原理图设计工具的使用方法,完成顶层文件的设计,这个方法比较复杂,所以这里选择另一种方法,通过VHDL设计文件。 继续建立源文件,输入VHDL设计文件,如下图所示: 依照上述步骤,保存文件,对文件进行编译、仿真,以下是仿真结果,如图所示:

全加器构成十进制加法器

上海 xxx 学院 《硬件系统设计》上机实验报告(五) 姓名:学号:班级:成绩: 实验名称:全加器及其应用实验地点: 实验设备:(计算机型号)(生产商)设备号: 使用软件: Multisim 10.0 实验时间:年月日星期,时分至时分 一、实验原理:(简述----用自己的理解) 两个一位十进制数相加,若考虑低位来的进位,其和应为0~19,8421BCD 码加法器 的输入、输出都采用8421BCD 码表示,其进位规律为逢十进一,而74HC283D 是按两个 四位二进制数进行运算的,其进位规律为逢十六进一,故二者的进位关系不同,当和数 大于9时,8421BCD 码应产生进位,而十六进制还不可能产生进位。为此应对结果进行 修正,当结果大于9 时,需要加6(0110B)修正。故修正电路应含一个判9 电路,当结果 大于9 时对结果加0110,小于等于9 时加0000。 大于9 的数是最小项的m10~m15,除了上述情况大于9 时外,如相加结果产生了进 位位,其结果必定大于9,因此大于9 的条件为 F = C + SUM4? SUM3+ SUM4? SUM2 = C ? SUM4? SUM3? SUM4? SUM2 全加器74HC283D 的A4A3A2A1、B4B3B2B1 为两个四位二进制数输入端,SUM1、SUM2、 SUM3、SUM4 为相加的和,C0 为低位来的进位,C4 为向高位产生的进位。

二、实验内容(步骤): 选择一个74HC283D_2v,二输入与非门7400N和三输入与非门7410N芯片,Word Genvertor(字信号发生器),构成8421BCD 码加法电路,电路图如下: 对Genvertor(字信号发生器)进行相关设置如下: 在Controls 中选择Cycle 按钮,选择循环输出方式。在Trigger 区,点击按钮Internal,选择内部触发方式。在Controls-Setting 按钮填出的选项卡中,Pre-set Patterns 中选择在Up Counter 选项,即按逐个加1 递增的方式进行编码。在Display Type 中选择Hex,在Buffer Size 中输入0009,在Initial Pattern 中选择00000000。

数的产生、十进制计数法.doc

数的产生、十进制计数法 教学内容: 人教版小学数学四年级上册课本第16---18页内容。 教学目标: 1.让学生认识“数”的产生和发展历史。 2.让学生体会“数”是随着人类生活、生产及社会的发展逐步发展和完善 的过程。 3.认识自然数的概念与特点,感受数学文化的内涵。 4.认识亿级的计数单位,以及相邻两个计数单位之间的关系。 5.让学生“扩建”数位顺序表,总结出“十进制计数法”。 教学重点: 1.认识自然数的概念与特点。 2.认识计数单位与数位、数级的知识,及相邻两个计数单位之间的关系。 3.了解“十进制计数法”的意义。 教学难点: 理解“十进制计数法”的意义。 教学模式: 导、学、议、练 教法学法: 先学后教,当堂训练 教学过程: 一、导 1.谈话导入 师:同学们,通过前几节课的学习,我们认识了生活中的大数,看来有关“数”的知识真不少,我们的生活也和数字密不可分。今天,我们就来研究数是怎样产生的和有关数的其他知识。 (板书课题:数的产生和十进制计数法) 2.出示学习目标 (1)认识“数”的产生和发展历史。

(2)认识自然数的概念与特点。 (3)理解十进制记数法。 二、学、议 1.出示自学提示(一) 师:请同学们带着以下问题自学课本 16 页。 (1)数是何时产生的? (2)对于古人用这样的方法记数你有什么想法? (3)各个国家曾采用什么样的符号记数,有哪些好处和不足? (4)现在通用的数字是什么? 2.议 师:同学们,这些内容是不是很有趣,你找到答案了吗? 谁来跟大家讲一讲你了解的内容。 (1)学生汇报问题 1: 古时候,人们在生产劳动中,逐渐有了记数的需要,所以产生了数。 师追问:古时候有什么记数的方法? 学生回答:用实物记数结绳记数刻道记数 师:你觉得这些方法怎么样? (2)学生汇报问题 2: 用起来不方便,记录小数还可以,较大的数就很麻烦了。 师:所以各个国家都有了自己的记数方法,你觉得他们的方法都怎么样? (3)学生汇报问题 3: 没有统一的方法也不方便互相交流。 师:那现在呢? (4)学生汇报问题 4: 经过很长时间才逐步统一成现在用的阿拉伯数字。就像我们现在用的: 1、2、3、4 师小结:同学们真棒,我们了解了数的产生,那你觉得阿拉伯数字用着方便吗?(方便)它有什么特点你想知道吗? 3.出示自学提示(二) 课本第 17 页有我们想知道的秘密:

电子设计-两位自动计数器

课程作业 题目:《电子设计》 ——两位自动计数器 姓名:李XX 学院:物理机电与工程学院 系:电子科学系 专业:信电 年级: 学号: 指导教师: 年月日

两位自动计数器 一、两位自动计数器的功能工作原理 两位自动计数器两位数码管自动显示0-99,数字可清零。电路主要由NE555,4518,4511实现。上电后,电路自动计数.由0增至99,不断循环计数.数字上升速度快慢由NE555振荡频率决定.S1为计数清零按键.NE555构成时钟信号发生器,CD4518为二/十进制加法计数器,CD4511为译码驱动器,调节R17可调节NE555的振荡频率.C1为充放电电容,电容容量愈大,充电时间愈长,,则振荡频率愈低。 原理图: 二、元器件的选择 编号名称型号数量 R1、R2 电阻10KΩ 2 R3—R16 电阻1KΩ14 R17 可变电阻0—100KΩ 1 C1 极性电容10UF 1 C2 电容10^3 1 C3 电容10^4 1 U1 芯片NE555 1 U2A、U2B 芯片4518 2 U3、U4 芯片4511 2 ——八段数码管—— 2 S1 计数清零按键—— 1 三、芯片的功能 (1)NE555构成的是时钟信号发生器

(2)CD4518为二/十进制加数器

CD4518/CC4518是二、十进制(8421编码)同步加计数器,内含两个单元的加计数器,其功能表如真值表所示。每单个单元有两个时钟输入端CLK和EN,可用时钟脉冲的上升沿或下降沿触发。由表可知,若用ENABLE信号下降沿触发,触发信号由EN端输入,CLK 端置“0”;若用CL℃K信号上升沿触发,触发信号由CL℃K端输入,ENABLE端置“1”。RESET端是清零端,RESET端置“1”时,计数器各端输出端Q1~Q4均为“0”,只有RESET 端置“0”时,CD4518才开始计数。 CD4518采用并行进位方式,只要输入一个时钟脉冲,计数单元Q1翻转一次;当Q1为1,Q4为0时,每输入一个时钟脉冲,计数单元Q2翻转一次;当Q1=Q2=1时,每输入一个时钟脉冲Q3翻转一次;当Q1=Q2=Q3=1或Q1=Q4=1时,每输入一个时钟脉冲Q4翻转一次。这样从初始状态(“0”态)开始计数,每输入10个时钟脉冲,计数单元便自动恢复到“0”态。若将第一个加计数器的输出端Q4A作为第二个加计数器的输入端ENB的时钟脉冲信号,便可组成两位8421编码计数器,依次下去可以进行多位串行计数。 CD4518功能: CD4518是一个双BCD同步加计数器,由两个相同的同步4级计数器组成。 CD4518引脚功能(管脚功能)如下: 1CP、2CP:时钟输入端。1CR、2CR:清除端。 1EN、2EN:计数允许控制端。1Q0~1Q3:计数器输出端。 2Q0~2Q3:计数器输出端。Vdd:正电源。Vss:地。 CD4518是一个同步加计数器,在一个封装中含有两个可互换二/十进制计数器,其功能引脚分别为1~7和9~{15}.该CD4518计数器是单路系列脉冲输入(1脚或2脚;9脚或10脚),4路BCD码信号输出(3脚~6脚;{11}脚~{14}脚)。 CD4518控制功能:CD4518有两个时钟输入端CP和EN,若用时钟上升沿触发,信号由CP输入,此时EN端为高电平(1),若用时钟下降沿触发,信号由EN输入,此时CP端为低电平(0),同时复位端Cr也保持低电平(0),只有满足了这些条件时,电路才会处于计数状态.否则没办法工作。 CD4518采用并行进位方式,只要输入一个时钟脉冲,计数单元Q1翻转一次;当Q1为1,Q4为0时,每输入一个时钟脉冲,计数单元Q2翻转一次;当Q1=Q2=1时,每输入一个时钟脉冲Q3翻转一次;当Q1=Q2=Q3=1或Q1=Q4=1时,每输入一个时钟脉冲Q4翻转一次。这样从初始状态(“0”态)开始计数,每输入10个时钟脉冲,计数单元便自动恢复到“0”态。若将第一个加计数器的输出端Q4A作为第二个加计数器的输入端ENB的时钟脉冲信号,便可组成两位8421编码计数器,依次下去可以进行多位串行计数。 清零原理:就是将CD4518的清零端连在一起,接一个开关,按下开关就会清零,但是如果直接连在一起前级的低电平会对后级的清零有影响,因此需要接一个二极管,因为二极管具有单向导电性,因此不会对后级有影响。 (3)CD4511为译码驱动器

四位二进制加法器课程设计

课题名称与技术要求 课题名称: 四位二进制加法器设计 技术要求: 1)四位二进制加数与被加数输入 2)二位数码管显示 摘要 本设计通过八个开关将A3,A2,A1,A0和B3,B2,B1,B0信号作为加数和被加数输入四位串行进位加法器相加,将输出信号S3,S2,S1,S0和向高位的进位 C3通过译码器Ⅰ译码,再将输出的Y3,Y2,Y1,Y0和X3,X2,X1,X0各自分别通过一个74LS247译码器,最后分别通过数码管BS204实现二位显示。 本设计中译码器Ⅰ由两部分组成,包括五位二进制译码器和八位二进制输出器。信号S3,S2,S1,S0和向高位的进位C3输入五位二进制-脉冲产生器,将得到的n(五位二进制数码对应的十进制数)个脉冲信号输入八位二进制输出器,使电路的后续部分得以执行。 总体论证方案与选择 设计思路:两个四位二进制数的输入可用八个开关实现,这两个二进制数经全加器求和后最多可以是五位二进制数。本题又要求用两个数码管分别显示求和结果的十进制十位和各位,因此需要两个译码器Ⅱ分别译码十位和

个位。综上所述,需要设计一个译码器Ⅰ,能将求和得到的五位二进制数译成八位,其中四位表示这个五位二进制数对应十进制数的十位,另四位表示个位。而译码器Ⅱ有现成的芯片可选用,此处可选74LS247,故设计重点就在译码器Ⅰ。 加法器选择 全加器:能对两个1位二进制数进行相加并考虑低位来的进位,即相当于3个1位二进制数相加,求得和及进位的逻辑电路称为全加器。或:不仅考虑两个一位二进制数相加,而且还考虑来自低位进位数相加的运算电路,称为全加器。 1)串行进位加法器 构成:把n位全加器串联起来,低位全加器的进位输出连接到相邻的高位全加器的进位输入。 优点:电路比较简单。 最大缺点:进位信号是由低位向高位逐级传递的,运算速度慢。 2)超前进位加法器 为了提高运算速度,必须设法减小或消除由于进位信号逐级传递所消耗的时间,于是制成了超前进位加法器。 优点:与串行进位加法器相比,(特别是位数比较大的时候)超前进位加法器的延迟时间大大缩短了。 缺点:电路比较复杂。 综上所述,由于此处位数为4(比较小),出于简单起见,这里选择串行进位加法器。 译码器Ⅱ选择 译码是编码的逆过程,将输入的每个二进制代码赋予的含意“翻译”过来,给出相应的输出信号。译码器是使用比较广泛的器材之一,主要分为:变量译码器和码制译码器,其中二进制译码器、二-十进制译码器和显示译码器三种最典型,使用十分广泛。显示译码器又分为七段译码器和八段

十进制加法器

十进制加法器 十进制加法器可由BCD码(二-十进制码)来设计,它可以在二进制加法器的基础上加上适当的 “校正”逻辑来实现,该校正逻辑可将二进制的“和”改变成所要求的十进制格式。 n位BCD码行波式进位加法器的一般结构如图2.3(a)所示,它由n级组成,每一级将一对4位的 BCD数字相加,并通过一位进位线与其相邻级连接。而每一位十进制数字的BCD 加法器单元的逻辑 结构示于图2.3(b)。 图2.3 十进制加法器 在十进制运算时,当相加二数之和大于9时,便产生进位。可是用BCD码完成十进制数运算时,

当和数大于9时,必须对和数进行加6修正。这是因为,采用BCD码后,在二数相加的和数小于等于 9时,十进制运算的结果是正确的;而当相加的和数大于9时,结果不正确,必须加6修正后才能得 出正确的结果。因此,当第一次近似求值时,可将它看成每一级是一个4位二进制加法器来执行, 就好像x i 和y i 是普通4位二进制数一样。设S' i 代表这样得到的4位二进制数 和,C' i+1 为输出 进位,而S i 代表正确的BCD和,C i+1 代表正确的进位,那么当x i +y i +C i <10时, S i =S' i 当X i +Y i +C i ≥10时, S i =S' i +6 显然,当C' i+1=1或S' i ≥10时,输出进位C i+1=1。因此,可利用C i+1的状态来产 生所要求的 校正因子:C i+1=1时校正因子为6;C i+1 =0时校正因子为0。在图2.3(b)中,4位 行波式进位的二 进制加法器计算出和S' i ,然后S' i 经过第二级二进制加法器加上0或6,则产生最 终结果S i 。

vhdl通用十进制加法器

湖南人文科技学院 课程设计报告 课程名称:VHDL语言与EDA课程设计 设计题目:通用十进制加法器 系别:通信与控制工程系 专业:电子信息工程 班级: 学生姓名: 学号: 起止日期: 指导教师: 教研室主任:

指导教师评语: 指导教师签名:年月日 成绩评定 项目权重 成绩 1、设计过程中出勤、学习态度等方面0.2 2、课程设计质量与答辩0.5 3、设计报告书写及图纸规范程度0.3 总成绩 教研室审核意见: 教研室主任签字:年月日教学系审核意见: 主任签字:年月日

摘要 随着科技的发展,通用十进制加法器的应用已广泛融入到现实生活中。EDA 技术的应用引起电子产品及系统开发的革命性变革。本文采用EDA技术设计,并以VHDL语言为基础制作的通用十进制加法器。该系统借助于强大的EDA工具和硬件描述语言可实现两个一位以上的十进制数的加法,在输入两个十进制数之后,给出两个数的相加结果。本设计充分利用VHDL“自顶向下”的设计优点以及层次化的设计概念,提高了设计的效率。设计主要步骤:首先利用QUARTUS‖来编辑、编译、仿真各个模块;然后以原理图为顶层文件建立工程,再进行引脚锁定、编译、下载,最后采用杭州康芯电子有限公司生产的GW48系列/SOPC/EDA实验开发系统,进行硬件测试。 关键词:通用十进制加法器;EDA技术;VHDL语言; QUARTUS‖

目录 设计要求 (1) 1、方案论证与对比 (1) 1.1方案一 (1) 1.2方案二 (1) 1.3 方案的对比与选择 (2) 2、设计原理 (2) 3、通用十进制加法器的主要硬件模块 (3) 3.1 4位BCD码全加器模块 (3) 3.2八加法器的实现框图 (3) 4、调试与操作 (4) 4.1通用十进制加法器的功能仿真 (4) 4.2模式选择与引脚锁定 (4) 4.2.1模式选择 (4) 4.2.2引脚锁定 (5) 4.3设备与器件明细表 (6) 4.4调试 (6) 4.4.1软件调试 (6) 4.4.2硬件调试 (6) 5、总结与致谢 (7) 5.1总结与思考 (7) 5.2致谢 (7) 附录 (8) 附录一 (8) 附录二 (9) 参考文献 (11)

数的产生和十进制计数法教案

数的产生和十进制计数法 一、教学目标 1.通过介绍数的产生,给学生建立自然数的概念,并了解自然数的一些性质和特点;理解掌握十进制计数法的含义,认识含有三级数位的数位顺序表及相应的计数单位。 2.通过探索、思考、总结等活动,让学生体验数的产生过程。 3.使学生了解中国古代数学的伟大成就,激发学生的民族自豪感。 二、教学重点 让学生体验数的产生过程。 三、教学难点 理解掌握十进制计数法的意义。 四、教学用具 计数器、课件。 五、教学过程 (一)教学数的产生动画:数字的产生和演变 1.数的产生。【课件演示】(图片) 教师:很久以前,人们在生产劳动中就有了计数的需要。例如,人们出去打猎的时候,要数一数共出去了多少人,拿了多少件武器;回来的时候,要数一数捕获了多少只野兽等等,这样就产生了数。 2.计数符号、计数方法的产生。 教师出示第19页的主题图让学生看,进一步说明:在远古时代人们虽然有计数的需要,但是开始还不会用一、二、三……这些数词来数物体的个数。只知道“同样多”、“多”或“少”。那时人们只能借助一些其他物品,如在地上摆小石子、在木条上刻道、在绳上打结等方法来计数。比如,出去放牧时,每放出一只羊,就摆一个石子,一共出去了多少只羊,就摆多少个小石子;放牧回来时,再把这些小石子和羊一一对应起来,如果回来的羊的只数和小石子同样多,就说明放牧时羊没有丢。再如,出去打猎时,每拿一件武器,就在木棒上刻一道,一共拿了多少件就在木棒上刻多少道;打猎回来时,再把拿回来的武器和木棒上刻的道一一对应起来,看武器和刻道是不是同样多,如果是,就说明武器没有丢失。结绳计数的道理也是这样。这些计数的基本思想就是把要数的实物和用来

多位十进制数加法器实验-2014

实验三多位十进制数加法器设计 1、实验目的 (1)继续熟练掌握在PC机上建立、汇编、链接、调试和运行8088汇编语言程序的过程; (2)学习数据传送和算术运算指令的用法; (3)掌握子程序设计方法; (4)掌握宏汇编设计方法; (5)掌握键盘输出的DOS功能调用方法。 2、实验内容 (1)将两个多位十进制数相加。要求被加数、加数均以ASCII码形式各自按高位高地址的规律分别顺序存放在以DATAl和DATA2为首的5个内存单元中(低位在前),结果送回结果变量DATA3处,并屏幕显示结果。 (2)在以上程序基础上,设计一个多位十进制数加法器,键盘输入十进制加数和被加数,将输入和输出结果以竖式形式显示在屏幕。 3、提示: (1)算法说明:以42136与12547相加为例,首先将两个数中的每一位都以ASCII码存入相应的内存单元,然后将每一位数都减去30H,并将被加数DATA1和加数DATA2相对应位相加(BCD码加法及其十进制调整,要考虑低位向高位的进位),存入相应的结果DATA3存储单元中,最后将该单元中的每一位数转换成相应的ASCII码,调用DOS系统功能调用的显示字符指令,显示两数相加的结果。 (2)部分程序代码: DATA SEGMENT ;数据段 …;补充必要的代码,定义被加数、加数和结果变量 DATA ENDS STACK SEGMENT STACK ;堆栈段 STA DB 64 DUP(0) SP_TOP DB 0 STACK ENDS CODE SEGMENT ; 代码段 …;补充必要的代码 ;显示回车换行功能用宏定义CRLF实现,放在代码段最前面 CRLF MACRO MOV DL,0DH ;回车(0DH为回车的ASCII 码) MOV AH,02H ; 送DOS 的中断调用功能号 INT 21H ; DOS 的中断调用

实验二 一位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 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时不需修正。(分析出何时应对结果修正)

EDA课程设计 十进制加法器

燕山大学 课程设计说明书题目:十进制加法计数器 学院(系):电气工程学院 年级专业: 学号: 学生姓名: 指导教师: 教师职称:

燕山大学课程设计(论文)任务书 院(系):电气工程学院基层教学单位:电子实验中心 说明:此表一式四份,学生、指导教师、基层教学单位、系部各一份。

目录 第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,由比较器和计数器控制。动态数码管由计数器、数据选择器、译码器完成显示功能。 关键词:十进制加法器、动态数码管显示、蜂鸣器警报

数的产生和十进制计数法教案

数的产生和十进制计 数法教案 Revised on November 25, 2020

《数的产生和十进制计数法》教学设计 一、教学目标 1.通过介绍数的产生,给学生建立自然数的概念,并了解自然数的一些性质和特点;理解掌握十进制计数法的含义,认识含有三级数位的数位顺序表及相应的计数单位。 2.通过探索、思考、总结等活动,让学生体验数的产生过程。 3.使学生了解中国古代数学的伟大成就,激发学生的民族自豪感。 二、教学重点 让学生体验数的产生过程。 三、教学难点 理解掌握十进制计数法的意义。 四、教学用具 计数器、课件。 五、教学过程 (一)教学数的产生 1.数的产生。【课件演示】(图片) 教师:很久以前,人们在生产劳动中就有了计数的需要。例如,人们出去打猎的时候,要数一数共出去了多少人,拿了多少件武器;回来的时候,要数一数捕获了多少只野兽等等,这样就产生了数。 2.计数符号、计数方法的产生。

教师出示第19页的主题图让学生看,进一步说明:在远古时代人们虽然有计数的需要,但是开始还不会用一、二、三……这些数词来数物体的个数。只知道“同样多”、“多”或“少”。那时人们只能借助一些其他物品,如在地上摆小石子、在木条上刻道、在绳上打结等方法来计数。比如,出去放牧时,每放出一只羊,就摆一个石子,一共出去了多少只羊,就摆多少个小石子;放牧回来时,再把这些小石子和羊一一对应起来,如果回来的羊的只数和小石子同样多,就说明放牧时羊没有丢。再如,出去打猎时,每拿一件武器,就在木棒上刻一道,一共拿了多少件就在木棒上刻多少道;打猎回来时,再把拿回来的武器和木棒上刻的道一一对应起来,看武器和刻道是不是同样多,如果是,就说明武器没有丢失。结绳计数的道理也是这样。这些计数的基本思想就是把要数的实物和用来计数的实物一个对一个地对应起来,也就是现在所说的一一对应。以后,随着语言的发展逐渐出现了数词,随着文字的发展又发明了一些记数符号,也就是最初的数字。各个国家和地区的记数符号是不同的。 【课件演示】(阿拉伯数字产生) 阿拉伯数字,其实并不是阿拉伯人发明的,而是由印度人发明的,公元八世纪前后,由印度传入阿拉伯,公元十二世纪又从阿拉伯传入欧洲,人们就误认为这些数字是阿拉伯人发明的,后来就叫做“阿拉伯数字”。随着社会的发展,人们的交流也越来越多,但各个地区数学不同,交流起来很不方便,以后就逐渐统一成现行的阿拉伯数字。后来人类对数的认识逐渐增加,数认得也越来越大,如

二位十进制计数器

EDA技术及应用讲座作业 题目:基于EDA的二位十进制计数器 学校:中南大学 学科专业:生物医学工程 学生: 学号: 0405080704 任课教师: 完成日期: 2011 年 5 月 19日

基于EDA的二位十进制计数器 一实验目的 1了解QuartusII软件及基本操作; 2熟悉图形编辑器 Graphic Editor File 的设计方法; 3熟悉VHDL 语言设计方法; 4掌握简单计数器的图形设计方法和VHDL语言设计方法。 二任务要求 用两种EDA设计方法设计一个二位十进制计数器,具体要求如下: 1能累加计时; 2能循环计时(当计时到我们所需的数值时,能清零继续计数); 3能通过一个开关来选择计数器进制数; 4要求分别用图形设计方法和VHDL语言两种方法实现该设计; 5分析比较两种设计方法。 三计数器原理及其EDA实现方法 计数是一种最简单基本的运算,计数器就是实现这种运算的逻辑电路,计数器在数字系统中主要是对脉冲的个数进行计数,以实现测量、计数和控制的功能,同时兼有分频功能,计数器是由基本的计数单元和一些控制门所组成,计数单元则由一系列具有存储信息功能的各类触发器构成,这些触发器有RS触发器、T触发器、D触发器及JK触发器等。 在EDA设计中,可以采用两种方法来实现简单的计数器。采用图形设计方法,设计者可以调用设计软件提供的库元件,如基本的逻辑器件与门、或门、四位十进制计数器74160等等,并将这些元件以一定方式连接,从而构成目标计数器;采用VHDL语言设计方法,设计者只要根据VHDL语言规则定义目标计数器的管脚,并描述目标计数器的功能,然后设计软件便可以自动综合出目标计数器,采用这种设计方法,设计者不用考虑实际可用硬件的构成方式,因此很灵活方便。 本作业将利用Alter公司的设计软件Quartus II 9.1分别采用以上两种方法来实现一个二位十进制计数器,该计数器有两个可选进制24进制和12进制,可以通过一个开关来改变进制。该计数器在输入时钟的驱动下可以在00到24(或12)间循环计数,并将当前计数的十位和个位以BCD码输出。 四具体方案 4.1 图形设计方法 1设计思路 我采用了两个同步十进制计数器74160来实现二位十进制计数器,其原理图如图1所示。 图1中将个位计数器ONES的输出H0[0]-H0[3]通过一个或非门连接到十位计数器TENS的时钟输入,从而实现个位到十位的进位。当H0[0]-H0[3],由“1001”变为“0000时”,或非门将产生一个上升沿,从而触发十位数计数器加1。 74160具有一个异步清零脚(CLRN)和一个同步置数脚(LDN),我采用了同步置数脚来实现该计数器的循环计数。图1中24进制计数情况下,当两个计数器的输出为23(即“00100011”)时,通过一个与非门产生一个下降沿并输入到两个计数器的同步置数端,从而实现了循环计数。12进制计数时,只要输出为

一位十进制加法器设计报告

一位十进制加法器设计报告成员:

一位十进制加法器 一、实验目的: 1、进一步学习组合逻辑电路的设计方法; 2、学习相关芯片的使用; 3、学一位十进制加法器的原理,并设计一个一位十进制加法电路。 二、设计原理: 利用74HC283芯片,可以实现4为二进制数的相加运算,因此,对两个一位十进制数进行加运算时,应先把十进制数转化成二进制数,即进行编码,然后进行加运算,编码采用了两个8线-3线编码器串联组成的16线-4线编码器。对求和结果进行输出时,当结果是一位十进制数时,可以直接输出,而求和结果为二位十进制数时,需要将结果分成十位数字和个位数字,分别显示在两个七段数码显示器上,这就需要对输出结果进行处理,设计时用对要输出结果加六,并取后四位作为个位输出,十位输出为1。 下面分介绍电路各个部分的设计方法与功能。 1、译码部分: 电路设计如图一,CD4532为8线-3线译码器,输入和输出端均为高电平有效,即可以把0~7的十进制数转化为相应的二进制数输出。设计时用两片CD4532组成16线-4线译码器,当要是入一个十进制数时,在相应的输入端加高电平即可。 图一 2、求和部分: 求和部分电路设计如图二,74HC283为四位二进制加法器,输入和输出端均为高电平有效,可以对输入的两个十进制数转化为的二进制数进行求和,其中,C4为进位输出端,当输出结果超过15时,输出高电平。

图二 3、结果处理输出部分: 结果处理输出部分电路设计如图三,CD4585为四位二进制比较电路,输入和输出端均为高电平有效,用两片CD4585组成8位二进制比较电路,将求和结果与9比较。当结果小于9时,输出端输出为低电平,即输出为零,利用74HC283,将结果直接输出;当大于9时输出为1,对输出结果加6,并取后四位作为个位输出。当输出结果为10~15时,用作加六运算的74HC283的C4端输出为1;当结果为16~18时,用作求和的电路C4端输出为1;当结果为0~9时,二者输出均为0;以此可以控制十位输出1还是0。 图三 4、显示部分:

8位二进制加法器

8位二进制加法器 1.摘要: 本次设计主要是如何实现8位二进制数的相加,即两个000到255之间的数相加,由于在实际中输入的往往是三位十进制数,因此,被加数和加数是两个三位十进制数,范围在000到255之间,通过六个二-十进制编码器(即74LS147)分别将加数和被加数的个位、十位、百位转换为8421BCD码,于是得到了两个12位字码,将它们接入三个四位超前进位并行加法器(即74LS283),其中原加数三位十进制数的个位转换得到的四位BCD码与被加数三位十进制数的个位转换得到的四位BCD码相加,串入到第一个74LS283的接线端,得到一个四位8421BCD码。同理,原加数和被加数的十位转换得到的四位BCD码相加也得到一个8421BCD码。同理,百位也是如此。需要注意的是:由于这12位BCD码是由三位十进制数转换过来的,因此在用加法器相加时,要逢10进一。于是通过一些与非门、非门和加法器构成一个新的加法器,使该加法器能对这十二位BCD码进行计算,并且逢10进1,这样得到一个十二位BCD码,即相加结果三位十进制数所对应的BCD码,再通过7447数字显示译码器将这十二位8421BCD码还原成一个三位十进制数,用数码管显示出来,得到一个三位十进制数,即为所求的结果。另外,本次设计不仅可以适用加数和被加数是000到255的数字,同时也适用于加数和被加数是000到999的任何一个数,这是本次设计的创新之处。2.关键字: 二-十进制编码器、四位超前进位并行加法器、7447七段数码显示译码器、逢十进一、数码管。 3.设计要求: 1.八位二进制加数与被加数的输入; 2.三位数码管显示; 3.三位十进制加数与被加数的输入。 4.正文: 第一章系统概述 本次设计的目的是实现两个八位二进制数的相加,那么我们如何实现呢?通常在实际中输入的是三位十进制数,而要求是八位二进制数,八位二进制数换算成三位十进制数最大为

4位二进制加法器课程设计

长安大学 电工与电子技术课程设计 题目:4位二进制加法器学院:汽车学院 专业:汽车运用工程 班级: 姓名: 学号: 指导老师:李三财

目录 一、课题名称与技术要求··························· 二、摘要········································· 三、总体设计方案论证及选择······················· 1、方案论证与选择······························ 2、加法器的选取································ 3、译码器的选取································ 4、数码管的选取································ 四、设计方案的原理框图、总体电路原理图及说明····· 1、原理框图···································· 2、总体电路原理图······························ 3、说明········································ 五、单元电路设计、主要元器件选择及电路参数计算··· 1、单元电路设计································ 2、主要元器件选择······························ 六、收获与体会及存在的问题······················· 七、参考文献····································· 八、附件·········································

十进制计数器设计

实验四十进制计数器设计 ——综合性实验(一) 一、实验目的 1、学生在掌握所学知识(模拟电路、数字电路、VHD语言等)的基础之上,通过进行该实 验可将有关知识的连贯起来,提高自己本身的综合能力。 2、该实验的参考程序有逻辑错误,学生通过该实验修改程序可以深入的了解和掌握VHDL 语言。 二、实验要求 1、编写十进制计数器程序。 2、利用波形分析进行验证十进制计数器功能正确性。 三、实验设备 1、计算机一台 2、EDA——Ⅳ实验箱一台 四、实验提示 1.输入信号:计数信号(Cn)。 2.门控信号:手动清零(Rest)、手动允许计数(EN)。 3.输出总线信号:二进制——BCD码输出(Dout); 4.输出信号:进位信号(cy); 五、实验主要步骤 1.建立项目文件 2.建立程序文件 3.归属项目文件 4.输入程序 5.程序编译 6.建立波形文件 7.归属项目文件 8.调入引脚信息 9.编辑并编译波形文件 10.波形仿真 六、实验报告要求 1、分别叙述计数器工作原理和设计原理。

2、 绘制它们的程序流程图并进行程序分析。 3、 详细叙述和总结实验过程并进行仿真实验。 4、 进行十进制计数器波形分析与验证。 七、实验波形分析参考 图4.1为修改后的正确波形 图4.2实验指导书提供的计数波形分析 图4.3——6实验指导书提供的计数波形分析 图4.2 实验指导书提供的计数波形分析(不可计数) 图4.3 修改后的计数波形分析(计数不正确) 图4.4 修改后的计数波形分析(无进位) 图4.5 修改后的计数波形分析(十一进制) 图4.1 正确的计数波形分析

图4.6 修改后的计数波形分析(起始位不是零) 八、参考程序: ――******************************************* ――十进制计数器程序 ――适用环境实验教学 ――软件设计:孙晓明/ 自动控制实验室 ――设计时间:2005-02-18 ――最后修改时间:2006-02-7 ――******************************************* library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; ENTITY cntA is --Cn 计数脉冲 --Rest 清零信号 -- En 允许计数信号 --Dout[3..0] 十进制BCD码 -- Cy 进位码 port(Cn,Rest,EN :in std_logic; Dout : out std_logic_VECTOR ( 3 Downto 0 ); Cy : out std_logic); end cntA ; architecture sun1 of cntA is begin Process (Cn,Rest,EN) Variable Cqi : std_logic_VECTOR ( 3 Downto 0 ); Begin If Rest ='1' Then Cqi :=(Others =>'0'); cy<='0'; Elsif Cn'Event and Cn='1' then If EN='1' then If Cqi < "1001" then Cqi :=Cqi+1; --学生“If Cqi < "1010" then Cqi :=Cqi;” cy<='0'; --学生无 elsif cqi="1001" then cy<='1'; --学生无 Cqi :=(others =>'0');

设计示例432位先行进位加法器的设计

设计示例4:32位先行进位加法器的设计 1、功能概述: 先行进位加法器是对普通的全加器进行改良而设计成的并行加法器,主要是针对普通全加器串联时互相进位产生的延迟进行了改良。超前进位加法器是通过增加了一个不是十分复杂的逻辑电路来做到这点的。 设二进制加法器第i位为A i,B i,输出为S i,进位输入为C i,进位输出为C i+1,则有:S i=A i⊕B i⊕C i (1-1) C i+1 =A i * B i+ A i *C i+ B i*C i =A i * B i+(A i+B i)* C i(1-2) 令G i = A i * B i , P i = A i+B i,则C i+1= G i+ P i *C i 当A i和B i都为1时,G i = 1,产生进位C i+1 = 1 当A i和B i有一个为1时,P i = 1,传递进位C i+1= C i 因此G i定义为进位产生信号,P i定义为进位传递信号。G i的优先级比P i高,也就是说:当G i = 1时(当然此时也有P i = 1),无条件产生进位,而不管C i是多少;当G i=0而P i=1时,进位输出为C i,跟C i之前的逻辑有关。 下面推导4位超前进位加法器。设4位加数和被加数为A和B,进位输入为C in,进位输出为C out,对于第i位的进位产生G i = A i·B i ,进位传递P i=A i+B i , i=0,1,2,3。于是这各级进位输出,递归的展开Ci,有: C0 = C in C1=G0 + P0·C0 C2=G1 + P1·C1 = G1 + P1·G0 + P1·P0?C0 C3=G2 + P2·C2 = G2 + P2·G1 + P2·P1·G0 + P2·P1·P0·C0 C4=G3 + P3·C3 = G3 + P3·G2 + P3·P2·G1 + P3·P2·P1·G0 + P3·P2·P1·P0·C0 (1-3) C out=C4 由此可以看出,各级的进位彼此独立产生,只与输入数据Ai、Bi和Cin有关,将各级间的进位级联传播给去掉了,因此减小了进位产生的延迟。每个等式与只有三级延迟的电路对应,第一级延迟对应进位产生信号和进位传递信号,后两级延迟对应上面的积之和。实现上述逻辑表达式(1-3)的电路称为超前进位部件(Carry Lookahead Unit),也称为CLA 部件。通过这种进位方式实现的加法器称为超前进位加法器。因为各个进位是并行产生的,所以是一种并行进位加法器。 从公式(1-3)可知,更多位数的CLA部件只会增加逻辑门的输入端个数,而不会增加门的级数,因此,如果采用超前进位方式实现更多位的加法器,从理论上讲,门延迟不变。但是由于CLA部件中连线数量和输入端个数的增多,使得电路中需要具有大驱动信号和大扇入门,这会大大增加门的延迟,起不到提高电路性能的作用。因此更多位数的加

相关主题