十六进制加减可逆计数器设计
十六进制加减计数器实验报告

本科生实验报告十六进制加减计数器电路实验专业名称:课程名称:数据逻辑与EDA指导教师:学生学号:学生姓名:二○一九年十一月1、实验目的1.1了解时序逻辑电路的基本功能1.2掌握时序逻辑电路的设计方法1.3熟悉时序逻辑电路的工作过程2、实验原理2.1定义:在逻辑电路中,任何时刻的稳定输出不仅取决于该时刻的输入,且与过去的输入相关。
2.2类型:边沿触发器、电平触发器、加法计数器、减法计数器、可逆计数器、序列检测器、采样控制器等。
3、实验设备:3.1 PC机3.2 教学实验箱3.3 通信线4、实验内容:4.1任务:设计一个两位16进制加减可逆的计数器,具有内部脉冲和手动计数功能,结果在7段数码管上显示。
4.2接线:(1)用插线连接插孔24,32,25到实验台的1HZ,10HZ和100HZ上,作为CLK1HZ,CLK10HZ,CLK100kHZ,三个频率的输入端;(2)用插线将实验台上的6个数码管的七段码a-h连接到插孔40,41,42,43,44,45,47,48上,作为七段码输出端;(3)七段数码管的位码S(0)-S(5)接到实验台的插孔51,52,53,55,57,58上,作为七段码位码输出端;(4)实验台上的开关K0接到插孔26上,作为en的输入开关。
en=1时手动,en=0时为自动;(5)手动脉冲按键din接单脉冲,然后接在28脚上输入;(6)复位键rst接K1开关连接在27脚输入;(7)加减控制键rev接K2开关连接在31脚输入4.3硬件描述语言源代码:module cnt(clk100khz,clk1hz,clk10hz,rst,en,din,scan,dout,rev);input rst;//复位键input rev;//加减控制器input en;//手动或自动计数开关input din;//手动计数脉冲input clk100khz,clk1hz,clk10hz;//分别为数码管刷新,自动计数,手动计数频率output[7:0]dout;//数码管七段码output[5:0]scan;//数码管位码reg[7:0]dout;reg[5:0]scan;reg f1,f2,c;//数码管个位和十位敏感信号;c为手动计数参数reg[2:0]cnt;//数码管扫描参数reg[3:0]dat;//数码管位码扫描参数reg[3:0]data1,data2;//个位和十位计数参数always@(posedge clk10hz) //设置自动计数和手动计数begin if(!din) c<=1; //din为1时,c=0;din为0时,c=1。
加减可逆计数器实训报告

一、实训目的本次加减可逆计数器实训旨在通过实际操作,加深对数字电路原理和计数器设计方法的理解,提高动手能力和实践技能。
通过本次实训,使学生掌握加减可逆计数器的设计原理、电路实现方法,并能够熟练运用相关工具进行电路仿真和测试。
二、实训环境1. 实验设备:数字电路实验箱、示波器、万用表、计算机等。
2. 实验软件:Multisim、Proteus等电路仿真软件。
三、实训原理加减可逆计数器是一种能够实现加法、减法、保持和异步清零的计数器。
它由加法计数器、减法计数器、保持电路和异步清零电路组成。
在加法计数器中,计数器的状态每增加1,输出端的状态也相应增加1;在减法计数器中,计数器的状态每减少1,输出端的状态也相应减少1;保持电路使计数器在需要保持状态时保持原有状态;异步清零电路可以在任意时刻使计数器清零。
四、实训过程1. 设计加减可逆计数器电路原理图。
2. 利用Multisim或Proteus等电路仿真软件搭建加减可逆计数器电路。
3. 设置电路参数,进行仿真测试。
4. 分析仿真结果,验证电路功能。
5. 利用数字电路实验箱搭建实物电路。
6. 测试实物电路,验证电路功能。
五、实训结果与分析1. 仿真结果分析通过仿真测试,验证了加减可逆计数器电路的功能。
在加法计数模式下,计数器能够实现从0到9的计数;在减法计数模式下,计数器能够实现从9到0的计数;在保持模式下,计数器能够保持原有状态;在异步清零模式下,计数器能够快速清零。
2. 实物电路测试结果分析利用数字电路实验箱搭建的实物电路,经过测试,验证了电路的功能。
在加法计数模式下,计数器能够实现从0到9的计数;在减法计数模式下,计数器能够实现从9到0的计数;在保持模式下,计数器能够保持原有状态;在异步清零模式下,计数器能够快速清零。
六、实训总结1. 通过本次实训,加深了对数字电路原理和计数器设计方法的理解。
2. 提高了动手能力和实践技能,学会了使用电路仿真软件进行电路设计和测试。
十六进制加减可逆计数器设计

实验五:十六进制加/减可逆计数器设计
一、实验目的
练习时序逻辑电路的Verilog实现。
二、实验要求
实现一个具有加减可逆计数功能的十六进制计数器,用一位控制信号,控制加/减两种计数模式。
三、程序
module jsq(d,clk,clr,load,qd,qout);
input clk,clr,load,qd;
input [3:0] d;
output [3:0] qout;
reg [3:0] cnt;
assign qout=cnt;
always@(posedge clk)
begin
if(!clr)
cnt<=4'b0000;
else if(load)
cnt<=d;
else if(qd)
cnt<=cnt+1;
else
cnt<=cnt-1;
end
endmodule
四、仿真结果
五、实验总结
在实验的开始,不知道怎么编写十六进制加/减可逆计数器,只记得
老师上课讨论过十六进制加计数器,而书上也只有三十二进制加/减可逆计数器,将三十二进制的看懂之后,将原程序改成十六进制的加/减可逆计数器,得到波形图之后对于波形时间设置却有了问题。
问了同学之后,才知道我之前的load和clr的设置有问题。
根据程序clr是低电平有效,而load是高电平有效。
经过更改之后输出成功。
通过本次试验,我了解了自己对计数器的学习还不是很深入,以至于我的这次实验做得不是很顺利。
所以之后的学习我要做好预习工作。
十六进制计数器

在数字电路中,将能够实现计数逻辑功能的器件称为计数器,计数器计数的脉冲信号是触发器输入的CP信号。
数字电路所接触到的计数器种类繁多,对计数器按进制来分有二进制,十进制和任意进制的计数器;按触发方式来分有同步和异步计数器;按计数的规则来分有加法和减法计数器等。
描述计数器的一个重要参数称为计数器的计数容量。
计数器计数器容量的定义是:计数器所能够记忆的输入脉冲个数。
因例4-1所分析的时序逻辑电路能够记忆的输入脉冲个数是5,所以,例4-1所示电路的计数容量为5,又称为5进制加法同步计数器。
因例4-2所示的电路能够记忆的输入脉冲个数是4,所以,例4-2所示电路的计数容量是4。
又因为该电路计数的规则是加法或减法可逆的,所以,例4-2所示的电路为同步4进制加/减计数器。
因例4-3所示的电路能够记忆的输入脉冲个数是10,所以,该电路的计数容量是10。
又因为该电路的触发信号是异步的,所以,例4-3所示的电路又称为十进制加法异步计数器。
计数器的容量又称为计数器的长度或模,简称计数容量。
由上面的分析可见,计数容量描述了计数器电路所能够输出的有效状态数。
若用n表示计数器输出的二进制数的位数,则该计数器的最大计数容量M为2n。
例4-1,例4-2和例4-3详细的介绍了时序逻辑电路的分析方法,研究时序逻辑电路的问题也是分析和设计,下面以计数器为例子来介绍时序逻辑电路的设计方法。
设计时序逻辑电路的方法与设计组合逻辑电路的方法相似,第一步都是进行逻辑问题的抽象。
在组合逻辑电路的设计中,将具体的逻辑问题抽象成真值表,而在时序逻辑电路的设计中,应将具体的逻辑问题抽象成状态转换图。
第二步都是画出卡诺图,并利用卡诺图进行逻辑函数式的化简。
在组合逻辑电路的设计中,化简所得到的结果为最简与或式,而在时序逻辑电路的设计中,化简所得到的结果为时序逻辑电路中触发器的状态方程。
第三步都是选择器件搭电路,在组合逻辑电路的设计中,通常用得.摩根定理处理最简与或式,将最简与或式转化成与非-与非式来搭电路;在时序逻辑电路的设计中,应先选定所用的触发器器件,然后根据化简得到的触发器状态方程列出相应的驱动方程,根据驱动方程来搭建电路。
模可变16位加法计数器

《EDA设计》报告题目:模可变16位加法计数器设计专业班级:学生姓名:指导教师:武汉理工大学信息工程学院2014 年 1 月 6 日课程设计任务书学生姓名:专业班级:指导教师:工作单位:信息工程学院题目: 模可变16位加法计数器设计初始条件:可用仪器: PC机(Quartus II软件)硬件:EDA-IV型实验箱。
要求完成的主要任务:(1)设计任务设计一个模可变16位加法计数器。
(2)设计指导设计可变16位加法计数器,可通过3个选择位M2、M1、M0实现最多8种不同模式的计数方式,例如可构成5、10、16、46、100、128、200、256进制,共8种计数模式。
(3)时间安排:2013.12.23 课程设计任务布置、选题、查阅资料2013.12.24 设计,软件编程、仿真和调试2013.12.29 实验室检查仿真结果,验证设计的可行性和正确性2013.12.30 设计的硬件调试2014.01.05 机房检查设计成果,提交设计说明书及答辩指导教师签名:年月日系主任(或责任教师)签名:年月日目录摘要 (I)Abstract........................................................... I I1 绪论 (1)2 Quartus II简介 (2)3 计数器的工作原理 (3)4 设计原理 (4)4.1 整体设计原理 (4)4.2 单元模块的设计 (5)4.3 顶层模块(整体电子线路系统)的设计 (8)5 电路系统的功能仿真 (10)6 硬件调试 (12)7 个人小结 (14)参考文献 (15)摘要计数器是数字电子技术中应用的最多的时序逻辑电路。
计数器不仅能用于对时钟脉冲计数,还可以用于分频、定时、产生节拍脉冲和脉冲序列以及进行数字运算等。
但是并无法显示计算结果,一般都是要通过外接LCD 或LED屏才能显示。
计数器的种类按照计数器中的触发器是否同时翻转分类,可将计数器分为同步计数器和异步计数器两种,如果按照计数过程中数字增减分类,又可将计数器分为加法计数器、减法计数器和可逆计数器,随时钟信号不断增加的为加法计数器,不断减少的为减法计数器,可增可减的叫做可逆计数器,另外还有很多种分类不一一列举,但是最常用的是第一种分类,因为这种分类可以使人一目了然,知道这个计数器到底是什么触发方式,以便于设计者进行电路的设计。
16进制同步加法计数器

目录1加法计数器 (2)1.1题目内容 (2)1.2状态图 (2)1.3选择触发器,求时钟方程,输出方程和状态方程 (2)1.4求驱动方程 (5)1.5画逻辑电路图 (6)2序列脉冲发生器 (7)2.1题目内容 (7)2.2状态图 (7)2.3选择触发器,求时钟方程,输出方程和状态方程 (8)2.4求驱动方程 (9)2.5画逻辑电路图 (10)3总结 (11)4参考文献 (11)1 加法计数器1.1题目内容设计一个十六进制同步加法计数器,具有清零和置位功能1.2状态图根据二进制递增计数的规律,可画出如图1所示的十六进制加法讣数器的状态图。
/ 0 / 0 / 0 / 0 / 0 / 0 /oOOOO«^OOO1^^OO1O«^OO11^^O1OO^^O1O1—^0110^^0111/o / 0111" 1110・ 110" 1100・ 1011・1010・ 100" 1000/ 0 / 0 / 0 / 0 / 0 / 0 / 0 /c排列:CF Q: Q: Qo图1十六进制同步加法计数器的状态图1.3 选择触发器,求时钟方程,输出方程和状态方程选择触发器山于JK触发器功能齐全,使用灵活,故选用4个时钟下降沿触发的边沿JK触发器。
求时钟方程III于要求构成的是同步计数器,显然各个触发器的时钟信号都应使用输入计数脉冲CP,即CPo=CPi=CP2=CP3=CP求输出方程山图1所示状态图可直接得到C二Q? Q: QiQo求状态方程根据图1所示状态图的规定,可画出如图2所示的计数器次态卡诺图。
\ Q-Qo Q3Q2 \ 00 01 11 100001001001000011010101101000011111011110000011111001101011001011图2十六进制同步加法计数器次态的卡诺图把图2所示卡诺图分解开,便可得到如图3所示各个触发器次态的卡诺图。
电子设计自动化大作业_模可变16位加法计数器_2012301889韩博文

模可变16位加法计数器1、设计要求:模可变16位计数器,可以构成五进制、十进制、十六进制、四十六进制、一百进制、一百二十八进制、二百进制和二百五十六进制共8种计数模式(这些模式通过3个选择为M2、M1、M0实现)。
2、设计思路:在每个时钟的上升沿检测,当计数到达进制上限时,将计数值清零。
对应不同的模,将计数器进制上限根据M值变化,即可达到可变模的目的。
3、VHDL程序及注释LIBRARY ieee;USE ieee.std_logic_1164.all;USE ieee.std_logic_unsigned.all;ENTITY VHDL1ISPORT(CLK:IN std_logic;M:IN std_logic_vector(2DOWNTO0);Q:BUFFER std_logic_vector(15DOWNTO0));END VHDL1;//与示例程序不同,取名为VHDL1ARCHITECTURE behav OF VHDL1ISBEGINPROCESS(CLK,M)BEGINIF CLK'EVENT AND CLK='1'THENIF M=0THENIF Q<4THEN、//与示例程序不同,Q<5处理则会导致一个时钟周期内出现5这一计数值,即使进制变为6进制,故修改之。
下同。
Q<=Q+1;ELSEQ<="0000000000000000";END IF;ELSIF M=1THENIF Q<9THENQ<=Q+1;ELSEQ<="0000000000000000";END IF;ELSIF M=2THENIF Q<15THENQ<=Q+1;ELSEQ<="0000000000000000";END IF;ELSIF M=3THENIF Q<45THENQ<=Q+1;ELSEQ<="0000000000000000";END IF;ELSIF M=4THENIF Q<99THENQ<=Q+1;ELSEQ<="0000000000000000";END IF;ELSIF M=5THENIF Q<127THENQ<=Q+1;ELSEQ<="0000000000000000";END IF;ELSIF M=6THENIF Q<199THENQ<=Q+1;ELSEQ<="0000000000000000";END IF;ELSIF M=7THENIF Q<255THENQ<=Q+1;ELSEQ<="0000000000000000";END IF;ELSEQ<="0000000000000000";END IF;END IF;END PROCESS;END behav;4、实验仿真电路5、实验波形仿真结果取时钟周期CLK=2us,得到如下结果:5进制时:10进制时:16进制时:由于更高进制条件下,计数次数过多,仿真速度慢,结果密集难以分辨,故不再列出。
16位加法器电路设计

16位加法器电路设计
加法器电路是计算机中常见的数字电路,用于将两个二进制数相加并得出和。
16位加法器电路设计是指设计一个能处理16位二进制数相加的电路。
在设计16位加法器电路时,需要考虑以下几个关键方面:
1. 选择合适的器件:需要选择适合的逻辑门和触发器等数字电路器件。
常用的器件包括AND门、OR门、XOR门、全加器等。
2. 划分模块:将16位加法器电路划分为若干个小模块,简化设计过程。
常见的模块包括单位加法器和级联器。
3. 单位加法器设计:单位加法器是实现加法运算的基本单元。
在16位加法器电路中,每一位均由一个单位加法器完成。
单位加法器由两个输入(被加数位和加数位)和两个输出(和位和进位位)组成。
4. 级联器设计:级联器用于连接多个单位加法器,将进位位从低位传递到高位。
在16位加法器电路中,需要将每一位的进位位和前一位的进位位相连。
5. 测试和验证:设计完成后,需要进行测试和验证,确保16位加法器电路的正确性和性能。
通过以上步骤设计完成的16位加法器电路能够实现对16位二进制数的相加操作。
在实际应用中,可以将多个16位加法器电路级联以实现更大位数的加法运算。
设计一个高效可靠的16位加法器电路是数字电路设计的重要任务之一,对于计算机的性能和功能具有重要影响。
通过仔细考虑各个方面的设计和实施,可以实现一个满足要求的16位加法器电路。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验五:十六进制加/减可逆计数器设计
一、实验目的
练习时序逻辑电路的Verilog实现。
二、实验要求
实现一个具有加减可逆计数功能的十六进制计数器,用一位控制信号,控制加/减两种计数模式。
三、程序
module jsq(d,clk,clr,load,qd,qout);
input clk,clr,load,qd;
input [3:0] d;
output [3:0] qout;
reg [3:0] cnt;
assign qout=cnt;
always@(posedge clk)
begin
if(!clr)
cnt<=4'b0000;
else if(load)
cnt<=d;
else if(qd)
cnt<=cnt+1;
else
cnt<=cnt-1;
end
endmodule
四、仿真结果
五、实验总结
在实验的开始,不知道怎么编写十六进制加/减可逆计数器,只记得
老师上课讨论过十六进制加计数器,而书上也只有三十二进制加/减可逆计数器,将三十二进制的看懂之后,将原程序改成十六进制的加/减可逆计数器,得到波形图之后对于波形时间设置却有了问题。
问了同学之后,才知道我之前的load和clr的设置有问题。
根据程序clr是低电平有效,而load是高电平有效。
经过更改之后输出成功。
通过本次试验,我了解了自己对计数器的学习还不是很深入,以至于我的这次实验做得不是很顺利。
所以之后的学习我要做好预习工作。