可逆计数器的设计

合集下载

可编程可逆计数器

可编程可逆计数器

自动化专业电子课程设计报告题目:可编程可逆计数器设计姓名王振学号0808020231指导教师:廖晓纬评阅成绩等次:电气信息工程系2010-2011 第二学期摘要:本课程设计是基于Altera公司开发的QuartusⅡ软件进行的设计,利用QuartusⅡ设计软件的元件库所提供的集成器件来实现任意进制计数器的设计,此软件是学习EDA(电子设计自动化)技术的重要软件。

其中硬件使用高性价比的FPGA/CPLD(元件可编程逻辑闸阵列/复杂可编程逻辑器件)器件,软件利用VHDL(超高速集成电路硬件描述语言)语言,计数器电路的功能取决于硬件描述语言对设计对象建模的描述,经过精心调试使可编程器件的芯片利用效率达到最优,较之以往的数字电路设计和单片机功能设计具有灵活简便的优势,特别是在对复杂计数器设计,可大大减少调试时间,优化系统设计。

关键词:EDA;任意进制计数器;QuartusⅡ;VHDL目录前言 (3)一、设计的任务与要求 (4)1.1 设计任务 (4)1.2 设计要求 (4)二、总体设计和系统框图 (4)2.1计数器方案 (4)2.2 数码管驱动显示方案 (4)2.3 N进制设定设计方案 (5)2.4电路系统总体设计 (5)三、硬件设计 (6)3.1计数器部分设计硬件连接方式 (6)3.2 驱动译码部分设计 (7)3.3进制输入部分设计 (7)3.4整体电路部分 (7)四、软件设计(系统仿真) (9)4.1程序工作流程图 (9)4.2 仿真步骤及结果 (10)五、设计结果分析 (12)5.1 系统能实现的功能 (12)5.2 系统所选用软件及芯片型号 (12)六、设计总结和体会 (12)6.1设计总结 (12)6.2设计的收获及体会 (12)6.3 设计的完善 (13)致谢 (13)参考文献 (13)程序代码 (14)前言随着电子技术、计算机技术和EDA技术的不断发展,利用FPGA/CPLD 进行数字系统的开发已被广泛应用于通信、航天、医疗电子、工业控制等领域。

设计一个异步四位二进制计数器实验报告捞金版

设计一个异步四位二进制计数器实验报告捞金版

/广西大学实验报告纸姓名:曾宪金0802100513 电气工程学院电气自动化类专业085 班2009年12月18日实验内容________________________________ 指_ 导老师宋春宁【实验名称】设计一个异步四位二进制可逆计数器【实验目的】学习用集成触发器构成计数器的方法。

【设计任务】用D 触发器(74LS74 )设计一个异步四位二进制可逆计数器。

要求使用的集成电路芯片种类不超过3 种。

(提供器件:74LS74、CC4030)【实验用仪器、仪表】数字电路实验箱、万用表、74LS74、CC4030等。

【设计过程】用四个D 触发器串接起来可以构成四位二进制加法计数器(每个D 触发器连接为T'触发器)。

计数器的每级按逢二进一的计数规律,由低位向高位进位,可以对输入的一串脉冲进行计数,并以16 为一个计数值环。

其累计的脉冲数等于2n(n 为计数的位数)。

减法计数器的计数原理与加法计数器的计数原理相反。

1. 根据题意列出状态表,如表1。

令A=0 时,计数器为加法计数器;A=1 时,计数器为减法计数器12. 根据状态表画卡诺图确定各触发器的时钟信号方程:由卡诺图化简可得各触发器的时钟信号方程为:CP3 AQ2n AQ2n A Q2nCP2 AQ1n AQ1n A Q1nCP1 AQ0n AQ0n A Q0nCP0 为输入脉冲信号。

各触发器的输出信号为:各触发器的激励方程为:CP3 Q2n A0101110CP1 Q0n01A001110Q2n 1D2 Q2nQ3、Q2、Q1、Q0Q1n 1D1 Q1n各触发器的状态方程为:Q 3n 1D 3CP 3 Q 3nCP 3 Q 3nCP 3 Q 3nCP 3Q 2n 1D 2CP 2 Q 2nCP 2 Q 2nCP 2 Q 2nCP 2Q 1n 1D 1CP 1 Q 1nCP 1 Q 1nCP 1 Q 1nCP 1Q 0n 1D 0CP 0 Q 0nCP 0 Q 0nCP 0 Q 0nCP 0作状态转换图:Q 3Q 2Q 1Q0000 01 0001 01 0010 10 001111 1110作逻辑电路图:Q3Q Q10 111111 01 1 01010 10 1001 0 10000 0101010111101 1 0 011 011100 0 10110 1 0111运用EWB5.0仿真平台仿真电路:该电路已在EWB5.0平台仿真通过。

两位同步十进制可逆计数器的设计综述

两位同步十进制可逆计数器的设计综述

湖北师范学院文理学院信息工程系2010级电子信息工程专业综合课程设计(一)文理学院综合课程设计(一)Integrated Curriculum Design(1)两位同步十进制可逆计数器的设计1 设计目的(1)熟悉各种触发器的使用及时序逻辑电路的设计方法;(2)掌握中规模集成十进制可逆计数器74LS192的逻辑功能和使用方法;(3)了解计数器的功能扩展及显示器的应用和它们的运行过程中是如何实现相关功能的。

2 设计思路第一步:将两片74LS192进行级联,用“反馈清零法”设计一个两位十进制加法计数器,反馈清零信号取自输出端Q0 ~Q3 ;第二步:将两片74LS192进行级联,用“反馈置数法”设计一个两位十进制减法计数器,反馈置数信号取自计数器最高位的借位端TCD;第三步:将上述加、减计数器电路结合起来,即初步构成一个加/减两位十进制可逆计数器。

余下的问题就是在加/减可逆计数条件下,如何切换计数器最低位的计数脉冲输入端CPD、CPU的信号。

经过分析,这一功能通过单刀双掷开关即可实现。

整个可逆计数器电路(不包括数字显示部分)的设计框图如下图图1(可逆计数器设计框图)3 设计过程整个设计可分为三个部分,具体如下:第一部分:提供持续的脉冲信号;第二部分:计数单元的设计;第三部分:用两个74LS192组成两位十进制可逆计数器。

其中第二部分由74LS192双十钟方式的可逆计数器组成,其引脚图如下图2所示,功能表如下表1所示:图2(74LS192的引脚图)表1(74LS192的功能表)第三部分的设计框图如下图3所示:图3(两个74LS192组成十进制可逆计数器)低位计数器的CPU 端与计数脉冲输入端相连,进位输出端与高一位计数器的CPU 端相连3.1方案论证通过仿真软件进行实际验证,改变脉冲信号进行计数,通过开关控制,看是否能实现相关功能,论证方案:将线路处于工作状态,调节开关置零,然后进行置数,将输入端置为0111,拨动开关使电路进行加计数,当加到99时自动置零,然后将开关调置另一边进行减计数。

用verilog HDL语言设计可逆计数器。

用verilog HDL语言设计可逆计数器。

西安邮电学院
实验报告书
系部名称:电子工程学院学生姓名:xxx
专业名称:xxxx
班级:xxxx
实验时间:2011 年11月17日
1、掌握可逆计数器的工作原理。

2、学习用verilog HDL语言设计可逆计数器。

二、实验设备:
计算机一台,TD-EDA实验箱一台
三、实验内容:
用verilog HDL语言设计可逆计数器并进行仿真、引脚分配及下载到电路开发板进行功能验证。

四、实验程序:
module keni8(clk,enable,sum,col);
input clk,enable;
output[7:0] sum;
reg[7:0] sum;
output col;
reg col;
always @(posedge clk )
if(enable==1)
sum=sum+1;
else if(enable==0)
sum=sum-1;
else if(sum >= 8)
begin
sum=0;
col=1;
end
endmodule
五、运行结果:
1、在编程过程中,需小心谨慎,特别是注意标点符号的标注。

2、实验结果有一定的延时。

3、实验前需对TD-EDA实验箱进行了解,这样可以使实验更有效率。

可逆计数器设计

可逆计数器设计

安康学院HDL数字系统课程设计报告书课题名称:可逆计数器设计姓名:学号:2009222407院系:电子与信息工程系专业:电子信息工程指导教师:时间:2011-12-19课程设计项目成绩评定表设计项目成绩评定表课程设计报告书目录设计报告书目录一、设计目的 (1)二、设计思路 (1)三、设计过程 (1)3.1、系统方案论证 (1)3.2、模块电路设计 (2)四、系统调试与结果 (5)五、主要元器件与设备 (5)六、课程设计体会与建议 (5)6.1、设计体会 (5)6.2、设计建议 (6)七、参考文献 (6)一、设计目的1、熟悉modelsim的基本操作和功能。

2、掌握modelsim实现仿真的流程。

3、掌握可逆计数器的设计思路。

4、了解可逆计数器的组成及工作原理。

5、熟悉可逆计数器的设计和制作。

二、设计思路1、设计抢答器电路。

2、设计可预置时间的定时电路。

3、设计报警电路。

4、设计时序控制电路。

三、设计过程3.1、系统方案论证数字抢答器总体方框图如图1所示。

图 1 数字抢答器框图其工作原理为:接通电源后,主持人将开关拨到“清除”状态,抢答器处于禁止状态,编号显示器灭灯,定时器显示设定时间;主持人将开关置于“开始”状态,宣布“开始”抢答器工作。

定时器倒计时,扬声器给出声响提示。

选手在定时时间内抢答时,抢答器完成:优先判断、编号锁存、编号显示、扬声器提示。

当一轮抢答之后,定时器停止、禁止二次抢答、定时器显示剩余时间。

如果再次抢答必须由主持人再次操作“清除”和“开始”状态开关。

3.2、模块电路设计抢答器电路如图2所示。

图2 数字抢答器电路该电路完成两个功能:一是分辨出选手按键的先后,并锁存优先抢答者的编号,同时译码显示电路显示编号;二是禁止其他选手按键操作无效。

工作过程:开关S 置于“清除”端时,RS 触发器的R 端均为0,4个触发器输出置0,使74LS148的ST =0,使之处于工作状态。

当开关S 置于“开始”时,抢答器处于等待工作状态,当有选手将键按下时(如按下S5),74LS148的输出,010012=Y Y Y ,0=EX Y 经RS 锁存后,1Q=1,BI =1,74LS48处于工作状态,4Q3Q2Q=101,经译码显示为“5”。

模M的可逆计数器

模M的可逆计数器

西安邮电学院FPGA实验报告-模M可逆计数器系部名称:电工院学生姓名:何慧敏(28)(04084041)专业名称:微电子班级:0802模M的可逆计数器的设计一、实验目的本实验实现模M可逆计数器的设计仿真,M为参数,完成RTL的设计和功能仿真。

二、功能定义模M可逆计数器实现的功能是:此计数器可以实现任意模M的可加可减的计数器。

任意模M定义为参数,可以通过改变M的值来实现所计的数;而可逆计数器指的是这个计数器通过某一输入来实现可加可减的计数。

三、端口说明四、时序波形上图为计数器实现加运算的计数波形上图为计数器实现减运算的计数波形五、模块框图六、仿真验证针对本实验的功能要求,我用V erilog仿真程序对主模块进行实例化来仿真验证并输出波形。

通过验证,与预想结果一致。

当in为1时,实现减法计数器;当in=0时,实现加法计数器。

七、V erilog 代码主模块:module jishu(clk,load,in,count);input clk,in,load;output count;parameter M=4;reg [M:0] count;always @(posedge clk or posedge load)if(in)beginif(load)count<=M-1;elsebeginif(count)count<=count-1;elsecount<=M-1;endendelsebeginif(load)count<=0;elsebeginif(count!=(M-1))count<=count+1;elsecount<=0;endendendmodule激励模块:module stimulate;reg clk,in,load;wire count;jishu a1(.clk(clk),.in(in),.load(load),.count(count)); initialbeginclk=1'b0;forever #5 clk=~clk;endinitialbeginin=1'b0;#200 in=1'b1;endinitialbeginload=1'b1;#8 load=1'b0;#125 load=1'b1;#133 load=1'b0;endendmodule八、设计及仿真环境设计环境及仿真环境:modelsim。

单片机课题设计(可预置可逆4位计数器)

单片机课题设计(可预置可逆4位计数器)

可预置可逆4位计数器1.实验任务利用AT89S51单片机的P1.0-P1.3接四个发光二极管L1-L4,用来指示当前计数的数据;用P1.4-P1.7作为预置数据的输入端,接四个拨动开关K1-K4,用P3.6/WR和P3.7/RD端口接两个轻触开关,用来作加计数和减计数开关。

具体的电路原理图如下图所示2.电路原理图图4.12.13.系统板上硬件连线(1.把“单片机系统”区域中的P1.0-P1.3端口用8芯排线连接到“八路发光二极管指示模块”区域中的L1-L4上;要求:P1.0对应着L1,P1.1对应着L2,P1.2对应着L3,P1.3对应着L4;(2.把“单片机系统”区域中的P3.0/RXD,P3.1/TXD,P3.2/INT0,P3.3/INT1用导线连接到“四路拨动开关”区域中的K1-K4上;(3.把“单片机系统”区域中的P3.6/WR,P3.7/RD用导线连接到“独立式键盘”区域中的SP1和SP2上;4.程序设计内容(1.两个独立式按键识别的处理过程;(2.预置初值读取的问题(3.LED输出指示5.程序框图图4.12.26.汇编源程序COUNT EQU 30HORG 00HSTART: MOV A,P3ANL A,#0FHMOV COUNT,AMOV P1,ASK2: JB P3.6,SK1LCALL DELY10MSJB P3.6,SK1INC COUNTMOV A,COUNTCJNE A,#16,NEXT MOV A,P3ANL A,#0FHMOV COUNT,A NEXT: MOV P1,AWAIT: JNB P3.6,WAIT LJMP SK2SK1: JB P3.7,SK2LCALL DELY10MSJB P3.7,SK2DEC COUNTMOV A,COUNTCJNE A,#0FFH,NEX MOV A,P3ANL A,#0FHMOV COUNT,A NEX: MOV P1,AWAIT2: JNB P3.7,WAIT2 LJMP SK2DELY10MS: MOV R6,#20MOV R7,#248D1: DJNZ R7,$DJNZ R6,D1RETEND7.C语言源程序#include <AT89X51.H>unsigned char curcount;void delay10ms(void){unsigned char i,j;for(i=20;i>0;i--)for(j=248;j>0;j--);}void main(void){curcount=P3 & 0x0f;P1=~curcount;while(1){if(P3_6==0){delay10ms();if(P3_6==0){if(curcount>=15) {curcount=15; }else{curcount++; }P1=~curcount;while(P3_6==0); }}if(P3_7==0){delay10ms();if(P3_7==0){if(curcount<=0) {curcount=0; }else{curcount--; }P1=~curcount;while(P3_7==0); }}}}。

行业分析报告.13可逆计数器设计

行业分析报告.13可逆计数器设计

一.实验代码module My13(mr,load,en,up,clk,d,qn,c);input mr,load,en,up,clk;input [3:0]d;output reg [3:0]qn;output reg c;always@(posedgeclk or posedgemr)if(mr==1) beginqn<=4'b0000;c<=0;endelse if(load==0) beginqn<=d;c<=0;endelse if(en==0) qn<=qn;else if(up==0)beginqn<=qn+1;if(qn+1==4'b1111) c<=1'b1;else c<=1'b0;endelsebeginqn<=qn-1;if(qn-1==4'b0000) c<=1'b1;else c<=1'b0;endendmodule二.仿真波形三.电路图四.管脚配置NET "mr" LOC="T9";NET "en" LOC="T5";NET "clk" LOC="T10";NET "load" LOC="V8";NET "qn[0]" LOC="T11";NET "qn[1]" LOC="R11";NET "qn[2]" LOC="N11";NET "qn[3]" LOC="M11";NET "d[0]" LOC="U8";NET "d[1]" LOC="N8";NET "d[2]" LOC="M8";NET "d[3]" LOC="V9";NET "c" LOC="V15";五.思考与探究问题主要出现在怎样让计数器输出值为0000时,co=1;后来通过查阅书籍发现阻塞赋值语句在同一个always语句中是并行执行的,于是需要在if函数中的判断语句这样写:qn+1==4'b1111。

可逆计数器的设计

可逆计数器的设计

EDA设计基础实验课程论文题目可逆计数器的设计学院电子工程学院专业班级通信081班学生姓名王力宏指导教师大力会2013年6月12日摘要本设计介绍了Verilog-HDL语言在可逆计数器的具体应用,给出了仿真波形并下载到FPGA开发板上实际验证。

说明了实现电子电路的自动化设计(EDA)过程和EDA技术在现代数字系统中的重要地位及作用.关键词:Verilog-HDL EDA FPGA开发板仿真AbstractThis design describes the Verilog-HDL language in reversible counter the specific application, the simulation waveforms downloaded to the FPGA development board and the actual verification. Illustrates the realization of electronic circuit design automation (EDA) process and EDA technology in the modern digital systems in an important position and role. Keywords: State Machine Verilog-HDL EDA FPGA development board Simulation目录摘要 (I)Abstract (I)第1章绪论 (2)1.1 概述 (2)1.1.2 EDA的发展趋势 (2)1.2 硬件描述语言 (3)1.3 FPGA介绍 (4)第2章可逆计数器设计的基本理论 (6)2.1 设计原理 (6)2.2 电路设计系统仿真 (6)2.2.1 编辑文件 (6)2.3.2 创建工程 (6)2.3.2 仿真 (7)第3章系统的仿真结果 (9)3.1 编译成功 (9)3.2 波形图 (10)3.3 原理图 (11)第4章心得体会 (12)结论 (13)参考文献 (14)附录1 (15)致谢 (17)第1章绪论1.1 概述EDA是电子设计自动化(Electronic Design Automation)的缩写,在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。

8位可逆循环计数器

8位可逆循环计数器

一、概述随着科技的日益进步,计数器得到了越来越广泛的应用,发展的也越快。

在数字系统中使用的最多时序逻辑电路要算是计数器了。

计数器不仅能用于对时钟脉冲计数,还可以用于分频、定时、产生节拍脉冲和脉冲序列以及进行数字运算等。

本次实验的思路主要是设计一个8位可逆循环计数器,该计数器加计数到最大值(11111111)时输出一个周期的高电平信号(表示计数器达到最大值)并自动变为减计数,减计数到最小值(00000000)是输出一个周期的高电平信号(表示计数器达到最小值)并自动变为加计数。

如此循环往复。

要求设计层次化。

实验中用到的器件主要包括74LS191D、7段显示器、555组成的多谐振荡电路和多个门电路。

二、方案论证为了实现本实验的主要内容,首先要利用555定时器制成一个多谐振荡电路作为时间脉冲为同步十六进制加/减计数器74LS191D提供时间信号,并且要将多谐振荡电路的频率设为HZ,即周期为秒。

因为要实现计数器加到最大值(11111111)(或最小值(00000000))时输出一个周期的高电平信号,故需要加入多个门电路和灯泡,同时要求加数器数器自动变为减数器(或减数器自动变为加数器)故利用T触发器实现该功能,并能够实现循环往复的功能。

其原理框图如图1所示。

图1 电路的原理框图脉冲信号直流稳压电源滤波、整波555时钟信号脉冲电路74LS191D十六进制计数器74LS191D十六进制计数器数码管显示输出一个周期的高电平信号计数器自动的由加数器转换为减数器或相反三、电路设计1.直流稳压电源电路直流稳压电源包括电源电容电阻;其组成电路如图2所示。

图2 直流稳压电源电路2. 时钟信号脉冲电路555定时器是一种多用途的数字—模拟混合电路,利用它能极方便的构成多谐振荡器,且成本低,只需外接几个电阻、电容,就可以实现多谐振荡来产生时钟信号用来计时。

电容C2通过R3和R4开始充电,充到1/3Vcc时,输出上升为高电平,电容继续充电,直到2/3Vcc时,输出又降为低电平,电容向R3放电,放到1/3Vcc时,又开始充电,一直循环,就形成了脉冲。

《设计一个四位可逆二进制计数器》的实验报告

《设计一个四位可逆二进制计数器》的实验报告

实验七设计一个四位可逆二进制计数器一、实验目的
掌握中规模集成计数器的使用方法及功能测试方法。

二、实验内容及要求
用D触发器设计一个异步四位二进制可逆计数器。

三、设计过程
(1)根据题意列出加计数状态表和驱动表,如下表所示。

(2)用卡诺图化简,如下图所示。

求得各位触器的驱动信号的表达式
11Q D
00Q D =
(2)用卡诺图化简,如下图所示。

求得各位触器的时钟方程的表达式
23Q CP =
12Q CP =
01Q CP =
CP
CP
(3)根据题意列出减计数状态表和驱动表,如下表所示。

33Q D =
22Q D =
11Q D =
00Q D =
(2)用卡诺图化简,如下图所示。

求得各位触器的时钟方程的表达式
23Q CP =
12Q CP =
01Q CP =
CP CP =0
由上分析可知:加减计数只在于时钟CP 的不同,若要使一个电路能够可逆计数,增设一控制开关,就可实现。

设K =1时为加计数,设K =0时为减计数,
加法:CP n = 1-n Q K 减法:CP n = 1-n Q K 则有:CP n =1-⊕n Q K
(或如 K=0时为加法: CP n =1-∙n Q K
K=1时为 减法: CP n =
1-n KQ =1
-n Q K 则有:
CP n =1-⊕n Q K

四、可逆计数器逻辑图如下:
四、实验用仪器、仪表
数字电路实验箱、万用表、74LS74、CC4030 五、实验步骤 六、实验数据。

可逆计数器设计报告

可逆计数器设计报告

一、题目(二)2、加/减可逆计数器二、要求:.设计一个4位二进制加/减可逆计数器。

控制信号为1时,加计数;0时,减计数。

要求写出Verilog代码,给出仿真波形(能反映出所有工作状态)。

三、思路方法:题目要求的计数器是一个带有低电平负载和清零输入端的同步4位二进制计数器。

内部应该像‘163一样采用D触发器而非T触发器,这样便于实现载入和清零功能。

每个D触发器的输入由一个2输入多路复用器驱动,这个复用器由1个或门和2个与门构成。

如果输入信号CLR_L有效,多路复用器的输出就为0。

反之,如果输入信号LD_L有效,上面那个与门就把输入数据传送到输出端。

如果CLR_L和LD_L都无效,下面的与门就把”异-或-非”门(XNOR)的输出传送到多路复用器的输出端。

它的二进制计数顺序既可以按升序进行也可以按降序进行,由输入信号UP/DN的值来控制。

当UP/DN为1时,按升序计数;当UP/DN为0时,按降序计数。

四、仿真结果及分析1、Verilog代码module _counter(CLK,CLR_L,LD_L,ENP_L,ENT_L,UPDN,D,Q,RCO_L);input CLK,CLR_L,LD_L,ENP_L,ENT_L,UPDN;input [3:0]D ;output [3:0]Q;output RCO_L;reg [3:0]Q;reg RCO_L;always @ (posedge CLK) //Creat the counter f-f behaviorif (!CLR_L) Q <= 4'b0;else if(!LD_L) Q <= D;else if(!ENT_L && !ENP_L && UPDN) Q <= Q+1;else if(!ENT_L && !ENP_L && !UPDN) Q <= Q-1;else Q <=Q;always @ (Q or ENT_L or UPDN) //Creat RCO_L combinational outputif (!ENT_L && UPDN && (Q == 4'd15)) RCO_L = 0;else if (!ENT_L && !UPDN && (Q == 4'd0)) RCO_L = 0;else RCO_L = 1;endmodule2、所有功能的仿真结果(1)加计数:计数器工作再自由计数模式且UPDN=1,计数器从0000加计数到1111时,RCO_L输出一个周期的低电平,然后计数器跳回0000重新开始计数。

余三码设计可逆计数器

余三码设计可逆计数器

电子综合设计第二次设计作业(VHDL语言部分)(一)以余3码设计一模43的可逆计数器,并将结果以十进制输出。

(设工作频率为20MHz)。

1、程序如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY f ISPORT(clk,clr,updn:STD_LOGIC;bcdn:OUT STD_LOGIC_VECTOR(6 DOWNTO 0));END ENTITY f;ARCHITECTURE rtl OF f ISSIGNAL count_7:STD_LOGIC_VECTOR(6 DOWNTO 0);SIGNAL bcd1n:STD_LOGIC_VECTOR(6 DOWNTO 0);BEGINbcd1n<=count_7;B:PROCESS(count_7,clr,clk)ISBEGINIF(clr='1')THENcount_7<=(OTHERS=>'0');ELSIF(clk'EVENT AND clk='1')THENIF(updn='1'AND count_7=126)THENcount_7<="0000000";elsecount_7<=count_7+3;END IF;IF(updn='0')THENcount_7<=count_7-3;END IF;END IF;CASE bcd1n ISWHEN"0000000"=>bcdn<="0000000";WHEN"0000011"=>bcdn<="0000001";WHEN"0000110"=>bcdn<="0000010";WHEN"0001001"=>bcdn<="0000011";WHEN"0001100"=>bcdn<="0000100";WHEN"0001111"=>bcdn<="0000101";WHEN"0010010"=>bcdn<="0000110";WHEN"0010101"=>bcdn<="0000111";WHEN"0011000"=>bcdn<="0001000";WHEN"0011011"=>bcdn<="0001001";WHEN"0011110"=>bcdn<="0001010";WHEN"0100001"=>bcdn<="0001011"; WHEN"0100100"=>bcdn<="0001100"; WHEN"0100111"=>bcdn<="0001101"; WHEN"0101010"=>bcdn<="0001110"; WHEN"0101101"=>bcdn<="0001111"; WHEN"0110000"=>bcdn<="0010000"; WHEN"0110011"=>bcdn<="0010001"; WHEN"0110110"=>bcdn<="0010010"; WHEN"0111001"=>bcdn<="0010011"; WHEN"0111100"=>bcdn<="0010100"; WHEN"0111111"=>bcdn<="0010101"; WHEN"1000010"=>bcdn<="0010110"; WHEN"1000101"=>bcdn<="0010111"; WHEN"1001000"=>bcdn<="0011000"; WHEN"1001011"=>bcdn<="0011001"; WHEN"1001110"=>bcdn<="0011010"; WHEN"1010001"=>bcdn<="0011011"; WHEN"1010100"=>bcdn<="0011100"; WHEN"1010111"=>bcdn<="0011101"; WHEN"1011010"=>bcdn<="0011110"; WHEN"1011101"=>bcdn<="0011111"; WHEN"1100000"=>bcdn<="0100000"; WHEN"1100011"=>bcdn<="0100001"; WHEN"1100110"=>bcdn<="0100010"; WHEN"1101001"=>bcdn<="0100011"; WHEN"1101100"=>bcdn<="0100100"; WHEN"1101111"=>bcdn<="0100101"; WHEN"1110010"=>bcdn<="0100110"; WHEN"1110101"=>bcdn<="0100111"; WHEN"1111000"=>bcdn<="0101000"; WHEN"1111011"=>bcdn<="0101001"; WHEN"1111110"=>bcdn<="0101010"; WHEN OTHERS=>bcdn<="XXXXXXX"; END CASE;END PROCESS;END ARCHITECTURE rtl;2、仿真图:3、设计思想:定义输入端口,Clk 为时钟脉冲,clr 为清零端,高电平有效,updn 的高低电平分别对应加减计数。

五进制可逆计数器设计方法及过程

五进制可逆计数器设计方法及过程

五进制可逆计数器设计方法及过程
五进制可逆计数器是一种能够在五个状态之间进行计数的计数器,这五个状态分别是0、1、2、3和4。

设计一个五进制可逆计数器的方法及过程如下:
步骤1:确定计数器的位数
首先需要确定计数器所需的位数。

根据需求确定计数器的位数,例如确定一个3位的计数器。

步骤2:确定计数器的状态转移规则
在五进制计数器中,数位的值从0递增到4,然后再次回到0。

因此,确定计数器的状态转移规则如下:
当计数器的当前状态为4时,下一个状态为0;
当计数器的当前状态为0、1、2或3时,下一个状态为当前状态加1。

步骤3:设计计数器的电路
根据上述状态转移规则,设计计数器的电路。

可以使用触发器、逻辑门等组合逻辑电路来实现计数器。

步骤4:测试计数器
完成电路设计后,进行计数器的测试。

可以通过提供不同的输入信号,观察计数器的输出是否按照预期进行计数。

步骤5:添加可逆功能
五进制可逆计数器是指这个计数器可以在正向和逆向两个方向上进行计数。

为了实现可逆功能,可以在电路中添加一个控制信号,用来控制计数器的计数方向。

通过以上步骤,就可以设计一个五进制可逆计数器。

在实际的设计过程中,可能需要根据具体的需求对电路进行优化和调整。

M进制可逆计数器的设计、仿真及实验

M进制可逆计数器的设计、仿真及实验

课题三模M的十进制加/减可逆计数器设计、仿真与实验学习目标:熟悉常用MSI集成计数器的功能和应用,掌握利用集成计数器构成任意进制计数器的一般设计方法;学会利用EDA软件(Proteus)对模M的可逆计数器电路进行仿真;掌握可逆计数器电路的安装及调试方法。

一、任务与要求设计具有手控和自动方式实现模M的十进制加/减可逆计数功能的电路,利用数码管显示计数器的值。

掌握用“反馈清零法”和“反馈置数法”构成任意进制计数器的设计方法;用Proteus软件仿真;实验测试电路的逻辑功能。

具体要求如下:(1)手控方式模M的十进制加/减可逆计数器。

即控制端E=1时,进行模M的加法计数;控制端E=0时,进行模M的减法计数;(2)自动方式模M的十进制加/减可逆计数器。

即加法计数到最大值时,自动进行减法计数;减法计数到最小值时,自动进行加法计数。

(3)M可为2位数或3位数,集成计数器采用74LS192。

(4)写出设计步骤,画出设计的逻辑电路图。

(5)对设计的电路进行仿真、修改,使仿真结果达到设计要求。

(6)安装并测试电路的逻辑功能。

二、课题分析及设计思路(1)手控方式模M的十进制加/减可逆计数器的设计思路以M=125为例,即125进制加/减可逆计数器。

分析以上设计任务与要求,设计思路如下:第一步:将三片74LS192进行级联,用“反馈清零法”设计一个125进制加法计数器,反馈清零信号取自计数器的输出端Q0 ~Q3;第二步:将三片74LS192进行级联,用“反馈置数法”设计一个125进制减法计数器,反馈置数信号取自计数器最高位的借位端TCD。

第三步:将上述加、减计数器电路结合起来,即初步构成一个加/减125进制可逆计数器。

余下的问题就是在加/减可逆计数条件下,如何切换计数器最低位的计数脉冲输入端CP D、CP U的信号。

经过分析,它们应实现如下功能:这一功能通过一片数据选择器即可实现。

整个可逆计数器电路(不包括数字显示部分)的设计框图如下:图1 手控可逆计数器电路的设计框图(2)自动方式模M 的十进制加/减可逆计数器的设计思路仍以M=125为例进行分析和设计。

可逆加减计数器课程设计

可逆加减计数器课程设计

可逆加减计数器课程设计一、课程目标知识目标:1. 学生能理解可逆加减计数器的基本概念和原理;2. 学生掌握可逆加减计数器在数学运算中的应用;3. 学生能运用可逆加减计数器进行千位数的加减运算。

技能目标:1. 学生能够独立操作可逆加减计数器进行加减运算;2. 学生通过实际操作,提高解决问题的能力和逻辑思维能力;3. 学生通过小组合作,培养团队协作能力和沟通技巧。

情感态度价值观目标:1. 学生对数学产生兴趣,增强自信心,形成积极的学习态度;2. 学生在操作可逆加减计数器的过程中,体验数学的趣味性和实用性;3. 学生培养细心、耐心和专注的学习品质,养成良好的学习习惯。

课程性质:本课程为数学学科操作实践课,结合学生年级特点,注重理论知识与实际操作相结合。

学生特点:四年级学生对数学运算有一定的了解,但操作能力有限,需要通过具体实践提高操作技巧。

教学要求:教师需引导学生通过操作可逆加减计数器,将抽象的数学运算具体化,激发学生兴趣,提高学生的实际操作能力。

在教学过程中,关注学生的个体差异,给予个性化指导,确保课程目标的实现。

二、教学内容1. 引入可逆加减计数器的基本概念,通过实物展示和图解,让学生直观了解计数器结构及其功能;2. 讲解可逆加减计数器的工作原理,结合课本第四章第二节内容,阐述计数器在数学运算中的优势;3. 通过案例教学,让学生掌握千位数加减运算的技巧,结合课本例题,进行实际操作演练;4. 制定详细的教学大纲,教学内容安排如下:a. 计数器的基本结构及其功能(第一课时)b. 可逆加减计数器的工作原理(第二课时)c. 千位数加减运算的实际操作(第三至第五课时)d. 小组讨论与总结,分享操作经验(第六课时)5. 教学进度:共计6课时,每课时40分钟,确保学生在规定时间内完成教学内容;6. 教材章节:本课程内容主要关联课本第四章第二节《可逆加减计数器的使用》。

教学内容注重科学性和系统性,结合课本内容,使学生在掌握理论知识的基础上,提高实际操作能力。

五位可编程可逆计数器的设计

五位可编程可逆计数器的设计

自动化专业电子课程设计报告题目:五位可编程可逆计数器的设计指导教师:评阅成绩等次:电气信息工程系2010-2011 第二学期摘要自动计数器在日常生活中屡见不鲜,它是根据不同的情况设定的,能够通过技术功能实现一些相应的程序,如通过自动计数器来实现自动打开和关闭各种电器设备的电源。

广泛用于路灯,广告灯,电饭煲等领域。

自动计数器给人们生产生活带来了极大的方便,而且大大地扩展了自动计数器的功能。

诸如自动定时报警器、按时自动打铃、时间程序自动控制、定时广播、自动启闭电路,定时开关烤箱、甚至各种定时电器的自动启用等,所有这些,都是以自动计数器为基础的。

由于它的功能强劲,用途广泛,方便利用,所以在这个电子科技发展的时代,它是一个很好的电子产品。

如在洗衣机的定时控制以及路灯等一些人们不能再现场控制的操控。

都可以利用自动计数器来完成这样的功用。

可见此系统所能带来的方便和经济效益是相当远大的。

因此,研究自动计数器及扩大其应用,有着非常现实的意义。

本次课设设计是检验理论学习水平、实践动手能力及理论结合实际的能力,要求具有一定的分析处理问题能力和自学能力的一个比较重要得实践课程。

通过这样的过程,使我们的论文及实践水平有一次较为全面的检查,同时也使我们硬件方面的能力有所提高,对以后的学习有这非常重要的意义。

关键词:可编程可逆计数器;单片机AT89C52;7SEG-MPX2-CA目录一、设计的任务与要求...................... 错误!未定义书签。

1.1 设计任务............................ 错误!未定义书签。

1.2 设计要求............................ 错误!未定义书签。

二、总体设计和系统框图 .................... 错误!未定义书签。

2.1 可编程可逆计数器方案................ 错误!未定义书签。

2.2 数码管显示方案...................... 错误!未定义书签。

100进制复位触发可逆计数器

100进制复位触发可逆计数器

可编程逻辑器件应用项目报告书项目名称:一个带计数允许和复位端和可逆的100进制计数器一、设计要求---------------------------------------------------3二、设计目的---------------------------------------------------3三、设计方案----------------------------------------------------3四、设计程序-----------------------------------------------------4五、管脚分配-----------------------------------------------------8六、硬件下载实现现象描述---------------------------------------------9七、体会与收获------------------------------------------------------9 一、设计要求(1)设计带计数允许和复位输入和可逆位的100进制计数器。

(2)进行功能仿真;(3)下载并验证计数器功能;(4)按上述步骤设计100进制计数器;二、设计目的(1)设计一个带计数允许和复位端的100进制计数器。

(2)熟练掌握各种计数器类型模块的描述方法。

(3)能用计数器构成十进制、六十进制、十二进制等所需进制的计数器。

(4)体会EDA技术的优点。

三、设计方案这个设计总共需要7个进程,主要由两个分频,2个数码管位置扫描,1个计数器,一个段显示和一个译码进程。

(一)、分频模块,分别是1kHZ和2HZ的分频,一个进行数码管扫描,一个计数提供数码管段显示。

(二)、数码管位扫描,利用位选的方式产生对显示数码管的动态扫描。

(三)、计数器,结合分频模块产生的2HZ时钟频率实现计时器以0.5s 的速度递加或递减。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

EDA设计基础实验课程论文题目可逆计数器的设计学院电子工程学院专业班级通信081班学生姓名王力宏指导教师大力会2013年6月12日摘要本设计介绍了Verilog-HDL语言在可逆计数器的具体应用,给出了仿真波形并下载到FPGA开发板上实际验证。

说明了实现电子电路的自动化设计(EDA)过程和EDA技术在现代数字系统中的重要地位及作用.关键词:Verilog-HDL EDA FPGA开发板仿真AbstractThis design describes the Verilog-HDL language in reversible counter the specific application, the simulation waveforms downloaded to the FPGA development board and the actual verification. Illustrates the realization of electronic circuit design automation (EDA) process and EDA technology in the modern digital systems in an important position and role. Keywords: State Machine Verilog-HDL EDA FPGA development board Simulation目录摘要 (I)Abstract (I)第1章绪论 (2)1.1 概述 (2)1.1.2 EDA的发展趋势 (2)1.2 硬件描述语言 (3)1.3 FPGA介绍 (4)第2章可逆计数器设计的基本理论 (6)2.1 设计原理 (6)2.2 电路设计系统仿真 (6)2.2.1 编辑文件 (6)2.3.2 创建工程 (6)2.3.2 仿真 (7)第3章系统的仿真结果 (9)3.1 编译成功 (9)3.2 波形图 (10)3.3 原理图 (11)第4章心得体会 (12)结论 (13)参考文献 (14)附录1 (15)致谢 (17)第1章绪论1.1 概述EDA是电子设计自动化(Electronic Design Automation)的缩写,在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。

EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言VHDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。

1.1.1EDA技术的优势1.用HDL对数字系统进行抽象的行为与功能描述到具体的内部线路结构,从而可以在电子设计的各个阶段、各个层次进行计算机模拟验证,保证设计过程的正确性,可以大大降低设计成本,缩短设计周期。

2.EDA工具之所以能够完成各种自动设计过程,关键是有种类库的支持,如逻辑仿真时的模拟库、逻辑综合时的综合库、版图综合时的版图库、测试综合时的测试库等。

3.某些HDL本身也是文档型的语言(如VHDL),极大地简化了设计文档的管理。

4.EDA中最为瞩目的功能,最具现代化电子设计技术特征的功能,是日益强大的逻辑设计仿真测试技术。

极大地提高了大规模系统电子设计的自动化程度。

1.1.2 EDA的发展趋势1.超大规模集成电路的集成度和工艺水平不断提高,深亚微米(Deep-Submicron)工艺,如0.13um、90nm已经走向成熟,在一个芯片上完成的系统级的集成已经成为可能。

2.由于工艺不断减小,在半导体材料上的许多寄生效应已经不能简单地补码忽略,这就对EDA工具提出了更高的要求。

同时,也使得IC生产线的投资更为巨大。

3.高性能的EDA工具得到长足的发展,其自动化和智能化程度不断提高,为嵌入式系统设计提供了功能强大的开发环境。

4.市场对电子产品提出了更高的要求,从而也对系统的集成度不断提出更高的要求。

同时,设计的效率也成了一个产品能否成功的因素,促使EDA工具应用更为广泛。

1.2 硬件描述语言硬件描述语言(Hardware Description Language )是硬件设计人员和电子设计自动化(EDA)工具之间的界面。

其主要目的是用来编写设计文件,建立电子系统行为级的仿真模型。

即利用计算机的巨大能力对用Verilog HDL 或 VHDL 建模的复杂数字逻辑进行仿真,然后再自动综合以生成符合要求且在电路结构上可以实现的数字逻辑网表(Netlist),根据网表和某种工艺的器件自动生成具体电路,然后生成该工艺条件下这种具体电路的延时模型。

仿真验证无误后,用于制造 ASIC 芯片或写入 CPLD 和 FPGA 器件中。

随着 PC 平台上的 EDA 工具的发展,PC 平台上的 Verilog HDL 和 VHDL 仿真综合性能已相当优越,这就为大规模普及这种新技术铺平了道路。

目前国内只有少数重点设计单位和高校有一些工作站平台上的 EDA 工具,而且大多数只是做一些线路图和版图级的仿真与设计,只有个别单位展开了利用 Verilog HDL 和 VHDL 模型(包括可综合和不可综合)的进行复杂的数字逻辑系统的设计。

随着电子系统向集成化、大规模、高速度的方向发展,HDL 语言将成为电子系统硬件设计人员必须掌握的语言。

1.2.1 VHDL 语言VHDL(Very High Speed Integrated Circuit Hardw are Description Language,超高集成电路硬件描叙语言)诞生于 1982 年,是由美国国防部开发的一种快速设计电路的工具,目前已经成为 IEEE(The Institute of Electrical and Electronics)的一种工业标准硬件描叙语言。

VHDL 主要用于描述数字系统的结构、行为、功能和接口,非常适合用于可编程逻辑芯片的应用设计。

除了含有许多具有硬件特征的语句外,VHDL 的语言形式和描述风格与句法十分类似于一般的计算机高级语言。

VHDL 的程序特点是将一项工程设计,或称为设计实体(可以是个元件、电路模块或一个系统)分成外部(或称可示部分,即端口)和内部(或称为不可视部分,即结构体)两部分,外部负责对设计实体和端口引脚命名和说明,内部负责对模块功能和算法进行描述。

在对一个设计实体定义了外部界面后,一旦其内部结构、功能开发完成,即可生成共享功能模块,这就意味着,在顶层综合或其他设计中可以直接调用这个实体模块。

VHDL 具有较强的行为描述能力,可避开具体的器件结构,从逻辑功能和行为上进行描述和设计。

1.2.2 Verilog HDL语言Verilog HDL 是在 1983 年,由GDA(Gate Way Design Automatio)公司的 Phil Moorby首创的。

Phil Moorby 后来成为Verilog-XL 的主要设计者和(Cadence Design System)的第一个合伙人。

在 1984-1985 年Moorby设计出第一个关于 Verilog-XL 的仿真器,1986年他对Verilog HDL的发展又作出另一个巨大贡献,提出了用于快速门级仿真的 XL 算法。

随着Verilog-XL算法的成功,Verilog HDL 语言得到迅速发展。

1989 年Cadence公司收购了GDA 公司,Verilog HDL 语言成为 Cadence 公司的私有财产,1990 年,Cadence 公司公开了 Verilog HDL 语言,成立了OVI(Open Verilog Internatiinal)组织来负责Verilog HDL 的发展。

IEEE 于 1995 年制定了Verilog HDL 的 IEEE 标准,即Verilog HDL 1364-1995。

1987 年,IEEE 接受VHDL(VHSIC Hadeware Description Language)为标准 HDL,即IEEE1076-87 标准,1993 年进一步修订,定为 ANSI/IEEE1076-93 标准。

现在很多 EDA 供应商把Verilog HDL作为其 EDA 软件输入/输出的标准。

例如,Cadence、Synopsys、Viewlogic、Mentor Graphic等厂商都提供了VHDL 的支持。

1.2.3 Verilog HDL 与 VHDL 的比较Verilog HDL 和VHDL 作为描述硬件电路设计的语言,其共同的特点在于:能形式化地抽象表示电路的行为和结构;支持逻辑设计中层次与范围的描述;可借用高级语言的精巧结构来简化电路行为的描述;具有电路仿真与验证机制以保证设计的正确性;支持电路描述由高层到低层的综合转换;硬件描述与实现工艺无关;便于文档管理;易于理解和设计重用。

目前版本的Verilog HD L 与VHDL在行为级抽象建模的覆盖范围方面也有所不同。

一般认为Verilog HDL在系统抽象方面比 VHDL 强一些。

Verilog HDL较为适合算法级(Alogrithem)、寄存器传输级(RTL)、逻辑级(Logic)、门级(Gate)、设计。

而VHDL更为适合特大型的系统级(System)设计。

1.2.4 VHDL 和Quartus II 在设计数字电路中的应用以 VHDL 为工具的 EDA 设计方法与传统的人工设计方法相比,有以下几个优点:1、缩短了开发周期;2、提高了效率;3、产品的质量得到了提高。

用 VHDL 进行数字系统开发与设计,其设计的抽象层次有 6 个,分别是系统级、芯片级、寄存器级、门级、电路级和版图/硅片级,可以在不同的抽象层次级别上设计系统。

使用 Quartus II 作为开发环境时应该根据软件支持的芯片资源情况选择合适的设计层次。

在 VHDL 设计中,常常采用多进程描述的方法来进行程序设计,通过使用进程可以把整体的功能局部化,分块设计,多个进程通过进程间通信机制互相配合,达到设计要求。

当进程比较多的时候,它们之间的配合问题就比较复杂,因此在设计之前应该合理规划安排。

1.3 FPGA介绍FPGA是英文Field Programmable Gate Array的缩写,即现场可编程门阵列,它是在PAL、GAL、FPLD等可编程器件的基础上进一步发展的产物。

它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路有限的缺点。

FPGA采用了逻辑单元阵列LCA这样一个新概念,内部包括可配置逻辑模块CLB (Configurable Logic Block)、输出输入模块IOB(Input Output Block)和内部连线(Interconnect)三个部分。

相关文档
最新文档