文档库 最新最全的文档下载
当前位置:文档库 › VHDL语言10进制计数器

VHDL语言10进制计数器

VHDL语言10进制计数器
VHDL语言10进制计数器

课程设计任务书

学生姓名:黄思羽专业班级:自动化0607

指导教师:李向舜工作单位:自动化学院

题目: 10进制计数器

初始条件:

1.Quartus4.1以上版本软件;

2.课程设计辅导资料:“数字电路EDA入门”、“VHDL程序实例集”、“EDA技术

与VHDL”、“EDA与数字系统设计”等;

3.先修课程:电路、电子设计EDA、电子技术基础等。

4.主要涉及的知识点:

门电路、组合逻辑电路、时序逻辑电路等。

要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等

具体要求)

1.课程设计时间:1周;

2.课程设计内容:根据指导老师给定的题目,按规定选择其中1套完成;

3.本课程设计统一技术要求:研读辅导资料对应章节,对选定的设计题目进行理

论分析,针对具体设计部分的原理分析、建模、必要的推导和可行性分析,画出程序设计框图,编写程序代码(含注释),上机调试运行程序,记录实验结果(仿真结果),并对实验结果进行分析和总结。具体设计要求包括:

①复习EDA的相关技术与方法;

②掌握VHDL或者Verilo g语言,并要求能编写程序。

③Quartus软件的使用:掌握程序编辑、编译、调试、仿真方法。

④设计相关简单的电路,完成既定的功能。

4.课程设计说明书按学校“课程设计工作规范”中的“统一书写格式”撰写,具

体包括:

①目录;

②计数器相关的理论分析、归纳和总结;

③10进制计数器的结构组成及原理分析。

④程序设计框图、程序代码(含注释);

⑤给出程序中主要函数或者语句的功能说明和使用说明;

⑥给出程序仿真运行结果和图表、以及实验结果分析和总结;

⑦课程设计的心得体会(至少500字);

⑧参考文献;

⑨其它必要内容等。

时间安排:

具体时间设计内容

8月3日指导老师就课程设计内容、设计要求、进度安排、评分标准等做具体介绍。学生确定选题,明确设计要求

8月4日开始查阅资料,完成相关电路原理分析、代码或原理图设计。

8月5日采用VHDL或Verilog语言编程,上机调试,得出实验结果

8月6日撰写课程设计说明书

8月7日上交课程设计说明书,并进行答辩

指导教师签名:年月日系主任(或责任教师)签名:年月日

摘要

本次能力拓展训练是作出一个十进制加法计数器,递增计数,有进位、清零、保持功能。需要按要求编写出十进制计数器的VHDL程序,调试、编译程序并绘制出仿真波形图,结果应能实现计数功能。

本次能力拓展训练意义在于复习EDA的相关技术与方法;掌握VHDL或者Verilog语言,并要求能编写程序。Quartus软件的使用:掌握程序编辑、编译、调试、仿真方法。

关键词:十进制计数器VHDL Q uartus II 9.0

目录

1设计内容与要求 (1)

2 VHDL语言介绍 (2)

3 计数器设计 (4)

3.1 设计原理 (4)

3.2 程序设计框图 (4)

3.3 程序代码设计 (5)

4 程序仿真 (9)

4.1 仿真软件介绍 (9)

4.2 仿真结果 (9)

4.3 仿真结果分析 (10)

5 心得体会 (12)

参考文献 (13)

十进制计数器

1设计内容与要求

设计一个10进制计数器,对计数器相关的理论进行分析、归纳和总结;10进制计数器的结构组成及原理分析。程序设计框图、程序代码(含注释);给出程序中主要函数或者语句的功能说明和使用说明;给出程序仿真运行结果和图表、以及实验结果分析和总结。

具体设计要求包括:

复习EDA的相关技术与方法;

掌握VHDL或者Verilo g语言,并要求能编写程序。

Quartus软件的使用:掌握程序编辑、编译、调试、仿真方法。

设计相关简单的电路,完成既定的功能。

2 VHDL语言介绍

VHDL的英文全名是Very-High-Speed Integrated Circuit Hardware Description Language,诞生于1982年。1987年底,VHDL被IEEE和美国国防部确认为标准硬件描述语言。自IEEE公布了VHDL的标准版本,IEEE-1076(简称87版)之后,各EDA公司相继推出了自己的VHDL设计环境,或宣布自己的设计工具可以和VHDL接口。此后VHDL在电子设计领域得到了广泛的接受,并逐步取代了原有的非标准的硬件描述语言。1993年,IEEE对VHDL进行了修订,从更高的抽象层次和系统描述能力上扩展VHDL的内容,公布了新版本的VHDL,即IEEE标准的1076-1993版本,(简称93版)。现在,VHDL和Verilog作为IEEE的工业标准硬件描述语言,又得到众多EDA公司的支持,在电子工程领域,已成为事实上的通用硬件描述语言。有专家认为,在新的世纪中,VHDL于Verilog语言将承担起大部分的数字系统设计任务。

VHDL语言是一种用于电路设计的高级语言。它在80年代的后期出现。最初是由美国国防部开发出来供美军用来提高设计的可靠性和缩减开发周期的一种使用范围较小的设计语言。

VHDL的英文全写是:VHSIC(Very High Speed Integrated Circuit)Hardware Descriptiong Language.翻译成中文就是超高速集成电路硬件描述语言。因此它的应用主要是应用在数字电路的设计中。目前,它在中国的应用多数是用在FPGA/CPLD/EPLD的设计中。当然在一些实力较为雄厚的单位,它也被用来设计ASIC。

VHDL主要用于描述数字系统的结构,行为,功能和接口。除了含有许多具有硬件特征的语句外,VHDL的语言形式和描述风格与句法是十分类似于一般的计算机高级语言。VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可是部分,及端口)和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。这种将设计实体分成内外部分的概念是VHDL系统设计的基本点

与其他硬件描述语言相比,VHDL具有以下特点:

功能强大、设计灵活。VHDL具有功能强大的语言结构,可以用简洁明确的源代码来描述复杂的逻辑控制。它具有多层次的设计描述功能,层层细化,最后可直接生成电路级描述。VHDL支持同步电路、异步电路和随机电路的设计,这是其他硬件描述语言虽不能比拟的。VHDL还支持各种设计方法,既支持自底向上的设计,又支持自顶向下的设计;既支持模块化设计,又支持层次化设计。

支持广泛、易于修改。由于VHDL已经成为IEEE标准所规范的硬件描述语言,目前大多数EDA工具几乎都支持VHDL,这为VHDL的进一步推广和广泛应用奠定了基础。在硬件电路设计过程中,主要的设计文件是用VHDL编写的源代码,因为VHDL 易读和结构化,所以易于修改设计。

强大的系统硬件描述能力。VHDL具有多层次的设计描述功能,既可以描述系统级电路,又可以描述门级电路。而描述既可以采用行为描述、寄存器传输描述或结构描述,也可以采用三者混合的混合级描述。另外,VHDL支持惯性延迟和传输延迟,还可以准确地建立硬件电路模型。VHDL支持预定义的和自定义的数据类型,给硬件描述带来较大的自由度,使设计人员能够方便地创建高层次的系统模型。

独立于器件的设计、与工艺无关。设计人员用VHDL进行设计时,不需要首先考虑选择完成设计的器件,就可以集中精力进行设计的优化。当设计描述完成后,可以用多种不同的器件结构来实现其功能。

很强的移植能力。VHDL是一种标准化的硬件描述语言,同一个设计描述可以被不同的工具所支持,使得设计描述的移植成为可能。

易于共享和复用。VHDL采用基于库(Library)的设计方法,可以建立各种可再次利用的模块。这些模块可以预先设计或使用以前设计中的存档模块,将这些模块存放到库中,就可以在以后的设计中进行复用,可以使设计成果在设计人员之间进行交流和共享,减少硬件电路设计。

3 计数器设计

3.1 设计原理

计数器的输入信号是计数信号(Clk),门控信号是手动清零信号(Rest)、手动允许计数(En)。清零信号Rest为1时,保持在异步清零状态,计数脉冲上升沿无效;允许计数端为0时,为保持状态,这时保持至最后一个计数,计数脉冲上升沿无效;清零信号为0,允许计数信号为1时,计数器上升沿脉冲计数。计数器的逻辑功能表如表3-1所示:

表3-1 计数器的逻辑功能表

控制端工作状态Clk(计数脉冲)En(允许计数信号)Rest(清零信号)

X X 1 异步清零上升沿 1 0 计数

X 0 0 保持输出总线信号是二进制—BCD码输出(Dout)一个进位输出端Cy。当计数器输出0000~1000时,Cy=0,只有当计数器输出1001时,Cy=1。

以上分析可知,可以完全完成10进制计数功能。

3.2 程序设计框图

10进制计数器程序的流程可以这样叙述:首先判断是否处于异步清零状态,若是,则计数位和进位信号都是0;若不是,则继续判断计数脉冲是否达到上升沿,并判断手动允许计数信号是否为1,若是,则可开始计数,计数信号达到9之前,连续累加1,达到9之后,清零并进位1。接着继续进入程序进行运算。

10进制计数器程序的流程图如图3-1所示:

开始

REST=1?

CN=1?

EN=1?

Cqi<1001?

Cqi=0,Cy=0

Y N Cqi=Cqi+1,Cy=0

Cqi=0,Cy=1

结束

Y

N

N

Y

Y N

图3-1 10进制计数器程序流程图 3.3 程序代码设计

一个VHDL 语言的设计程序描述的是一个电路单元,这个电路单元可以是一个门电路,或者是一个计数器,也可以是一个CPU 。

一段完整的VHDL 代码主要由以下几部分组成:

第一部分是程序包,程序包是用 VHDL 语言编写的共享文件,定义在设计结构体和实体中将用到的常数、数据类型、子程序和设计好的电路单元等,放在文件目录名称为IEEE 的程序包库中。

第二部分是程序的实体,定义电路单元的输入/输出引脚信号。程序的实体名称是任意取的,但是必须与VHDL 程序的文件名称相同。实体的标识符是ENTITY,实体以 ENTITY 开头,以END 结束。

第三部分是程序的结构体,具体描述电路的内部结构和逻辑功能。结构体有三种描述方式,分别是行为(BEHAVIOR)描述方式、数据流(DATAFLOW)描述方式和结构(STRUCTURE)描述方式。其中数据流(DATAFLOW)描述方式又称为寄存器描述方式。结构体以标识符ARCHITECTURE开头,以END结尾。

根据上述原则编写程序代码如下所示:

--*******************************************

--程序包

library ieee;

use ieee.std_lo gic_1164.all;

use ieee.std_lo gic_unsigned.all;

--*******************************************

--实体

ENTITY cnt10 is

--Cn 计数脉冲

--Rest 清零信号

-- En 允许计数信号

--Dout[3..0] 十进制BC D码

-- Cy 进位码

port(Cn,Rest,En :in std_lo gic;

Dout : o ut std_logic_VECTOR ( 3 Downto 0 );

Cy : o ut std_logic);

end cnt10 ;

--*******************************************

--结构体

architecture sun1 of cnt10 is

begin

Process (Cn,Rest,En)

Variab le Cqi : std_lo gic_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 Cq i < "1001" then

Cq i :=Cqi+1;

Cy<='0';

elsif cq i="1001"

then Cy<='1';

Cq i :=(others =>'0');

end If;

end If;

end If;

Dout<=Cqi;

END Process;

End sun1;

--*******************************************

IEEE标准库是存放用VHDL语言编写的多个标准程序包的目录,IEEE库中的程序包有:

STD_LOGIC_1164,

STD_LOGIC_ARITH,

STD_LOGIC_UNSIGNED, 其中 STD_LOGIC_1164是IEEE标准的程序包,定义了STD_LOGIC和STD_LOGIC_VECTOR等多种数据类型,以及多种逻辑运算符子程序和数据类型转换子程序等。

STD_LOGIC_ARITH和STD_LOGIC_UNSIGNED等程序包是SYNOPSYS公司提供的,包中定义了SIGNED和UNSIGNED数据类型以及基于这些数据类型的运算符子程序。用户在用到标准程序包中内容时 , 除了 STANDARD 程序包以外 , 都要在设计程序中加以说明 , 首先用 LIBRARY 语句说明程序包所在的库名 , 再用 USE 语句说明具体使用哪一个程序包和具体的子程序名。

实体是VHDL程序设计中最基本的组成部分,在实体中定义了该设计芯片中所需要的输入/输出信号引脚。端口信号名称表示芯片的输入/输出信号的引脚名,这

种端口信号通常被称为外部信号,信号的输入/输出状态被称为端口模式,在实体中还定义信号的数据类型。端口信号名称可以表示一个信号,也可以表示一组信号(BUS),由数据类型定义。EN,REST,CN,Cy 分别表示计数允许信号、异步清零信号、时钟输入信号和进位输出信号。Dout是一组输出信号,用来表示四位同步二进制计数器的四位计数输出信号。端口信号输入/输出状态IN/OUT分别表示信号进入电路单元和信号从电路单元输出。

结构体是VHDL程序设计中的最主要组成部分,是描述设计单元的具体结构和功能,程序中,结构体放在实体的后面。每一个结构体都有名称,结构体的名称是由设计者任取的,结构体是以标识符ARCHITECTURE开头,以END结尾。不同的结构体采用不同的描述语句。

ARCHITECTURE结构体名OF实体名称IS

说明语句

BEGIN

电路描述语句

END 结构体名;

结构体说明语句是对结构体中用到的数据对象的数据类型、元件和子程序等加以说明。电路描述语句用并行语句来描述电路的各种功能,这些并行语句包括并行信号赋值语句、条件赋值(WHEN-ELSE)语句、进程(PROCESS)语句和子程序调用语句等。结构体的名称是sun1,该结构体属于行为描述方式,采用多种描述语句,如进程(PROCRESS)语句、条件赋值语句(WHEN-ELSE)、顺序语句(IF-ELSE)等。

4 程序仿真

4.1 仿真软件介绍

Alte ra Qua rtu sII 作为一种可编程逻辑的设计环境,由于其强大的设计能力和直观易用的接口,越来越受到数字系统设计者的欢迎。

Quar tus II des ign 是最高级和复杂的,用于s yst em on a p rog ram mab le chip (S OPC)的设计环境。Qu art usI I d esi gn提供完善的ti min g c los ure和Logi cLo ck?基于块的设计流程。Qua rtu sII des ign是唯一一个包括以t imi ng clos ure和基于块的设计流为基本特征的p rog ram mab le l ogi c dev ice (PL D)的软件。Qu art usII设计软件改进了性能、提升了功能性、解决了潜在的设计延迟等,在工业领域率先提供FPGA与ma sk-pro gra mme d de vic es开发的统一工作流程。

Alte ra Qua rtu sII(3.0和更高版本)设计软件是业界唯一提供FP GA和固定功能Har dCo py器件统一设计流程的设计工具。工程师使用同样的低价位工具对St rat ix FP GA进行功能验证和原型设计,又可以设计Har dCo py St rat ix 器件用于批量成品。系统设计者现在能够用Qua rtu sII软件评估Har dCo py Stra tix器件的性能和功耗,相应地进行最大吞吐量设计。

Alte ra的Q uar tus II可编程逻辑软件属于第四代PLD开发平台。该平台支持一个工作组环境下的设计要求,其中包括支持基于In ter net的协作设计。Quar tus平台与Ca den ce、Ex emp lar Log ic、Me nto rGr aph ics、S yno psys和Synp lic ity等EDA供应商的开发工具相兼容。改进了软件的Lo gic Lock模块设计功能,增添了F ast Fit编译选项,推进了网络编辑性能,而且提升了调试能力。

4.2 仿真结果

打开Qu art us II9.0,建立新工程,再新建一个VH DL文件,在该窗口输入源程序,然后对源程序进行编译运行。新建一个波形文件,在波形文件中加入

所需观察波形的管脚,给输入管脚指定仿真波形,编辑待仿真波形文件,如图4-1所示,点击按钮,进行波形仿真。

图4-1 带仿真波形图

仿真后的10进制计数器波形如图4-2所示:

图4-2 十进制计数器仿真波形

4.3 仿真结果分析

由仿真结果可知,手动允许计数信号为1,清零信号为0,计数开始。十进制BCD码从0000开始计数,Rest清零信号有效后,计数为7,BCD码为0111,之后计数清零。Rest清零信号为0后,计数再次开始,BCD码由0000到1001,计数由

0到9,完成一次计数,之后进位并清零,再次开始。手动计数信号无效后,停止计数,保持最后一位计数值。

由上述分析可知,仿真结果完全符合真值表内容,结果正确。

5 心得体会

这次能力拓展训练历时一个星期左右,通过这一个星期的学习,发现了自己的很多不足,自己知识的很多漏洞,看到了自己的实践经验还是比较缺乏,理论联系实际的能力还急需提高。

在一开始题目发下来的时候,本来以为是比较容易的一道题,但是真正做起来才发现一系列的比较分析其实更具挑战性。在学习EDA这门课的时候,我已经学会了使用Max plusII软件,本以为在做本次训练会简单许多,但事实和想象总是有差距的。编程都是一样,这给我减轻了许多负担,但是在绘制仿真波形图时,却出现了问题,程序编译无错误,但是仿真却不能计数,在仔细查阅了相关书籍并调试了多次后,终于出来了结果。经过不断的摸索,终于还是解决了问题。

这次能力拓展训练终于完成了,在设计的过程中,可以说算是困难重重。回顾此次能力拓展训练,至今我仍感慨颇多,的确,从选题到定稿,从理论到实践,在整整一星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。这毕竟第一次做的,难免会遇到过各种各样的问题,比如有时候被一些小的,细的问题挡住前进的步伐,让我总是为了解决一个小问题而花费很长的时间。最后还要查阅其他的书籍才能找出解决的办法。并且我在做设计的过程中发现有很多东西,也知道了自己的不足之处,知道自己对以前所学过的知识理解得不够深刻,掌握得不够牢固。通过本次十进制计数器的设计,我对Quartus II9.0的功能有了更深刻的认识。同时,一方面认识到了自己这学期来学习电子设计自动化这门课有所得,但掌握地并不全面,不透彻,对于完成训练来说还远远不够;同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,以后我会更加努力。今后,在学习中,我要端正自己的态度努力学习,只有这样我们才能真正的掌握好知识。

与此同时在设计的过程中得到了指导老师和同学们的关心和帮助,才能顺利完成本次课程设计,在此表示感谢。

参考文献

[1]侯伯亨、顾新.VHDL硬件描述语言与数字逻辑电路设计.西安电子科技大学出版社,2001.2

[2]卢毅等.VHDL与数字电路设计.北京: 科学出版社,2001.4

[3]李景华、杜玉远.可编程逻辑器件与EDA技术.东北大学出版社,2001.3

[4]谭会生、张昌志.EDA技术及应用.西安电子科技大学出版,2001.7

[5]王锁平.电子设计自动化(EDA)教程.电子科技大学出版社,2000.3

[6]潘松,黄蛀生.EDA技术实用教程.北京:科学出版社,2002.10

十进制4位加法计数器设计

洛阳理工学院 十 进 制 4 位 加 法 计 数 器 系别:电气工程与自动化系 姓名:李奇杰学号:B10041016

十进制4位加法计数器设计 设计要求: 设计一个十进制4位加法计数器设计 设计目的: 1.掌握EDA设计流程 2.熟练VHDL语法 3.理解层次化设计的内在含义和实现 设计原理 通过数电知识了解到十进制异步加法器的逻辑电路图如下 Q3 则可以通过对JK触发器以及与门的例化连接实现十进制异步加法器的设计 设计内容 JK JK触发器的VHDL文本描述实现: --JK触发器描述 library ieee; use ieee.std_logic_1164.all; entity jk_ff is

port( j,k,clk: in std_logic; q,qn:out std_logic ); end jk_ff; architecture one of jk_ff is signal q_s: std_logic; begin process(j,k,clk) begin if clk'event and clk='0' then if j='0' and k='0' then q_s <= q_s; elsif j='0' and k='1' then q_s <= '0'; elsif j='1' and k='0' then q_s <= '1'; elsif j='1' and k='1' then q_s <= not q_s; end if; end if; end process; q <= q_s; qn <= not q_s; end one; 元件门级电路: 与门VHDL文本描述实现: --与门描述library ieee; use ieee.std_logic_1164.all;

24进制计数器设计报告.doc

24进制计数器设计报告 单时钟同步24进制计数器课程设计报告1.设计任务1.1设计目的1.了解计数器的组成及工作原理。 2.进一步掌握计数器的设计方法和计数器相互级联的方法。 3.进一步掌握各芯片的逻辑功能及使用方法。 4.进一步掌握数字系统的制作和布线方法。 5.熟悉集成电路的引脚安排。 1.2设计指标1.以24为一个周期,且具有自动清零功能。 2.能显示当前计数状态。 1.3设计要求1.画出总体设计框图,以说明计数器由哪些相对独立的功能模块组成,标出各个模块之间互相联系,时钟信号传输路径、方向。 并以文字对原理作辅助说明。 2.设计各个功能模块的电路图,加上原理说明。 3.选择合适的元器件,利用multisim仿真软件验证、调试各个功能模块的电路,在接线验证时设计、选择合适的输入信号和输出方式,在确定电路充分正确性同时,输入信号和输出方式要便于电路的测试和故障排除。 4.在验证各个功能模块基础上,对整个电路的元器件和布线进行合理布局。 5.打印PCB板,腐蚀,钻孔,插元器件,焊接再就对整个计数器电路进行调试。

2.设计思路与总体框图.计数器由计数器、译码器、显示器三部分电路组成,再由555定时器组成的多谐振荡器来产生方波,充当计数脉冲来作为计数器的时钟信号,计数结果通过译码器显示。 图1所示为计数器的一般结构框图。 十位数码显示管译码驱动异步清零计数器计数脉冲(由555电路产生)个位位数码示像管译码驱动异步清零计数器强制清零▲图1计数器结构框图3.系统硬件电路的设计3.1555多谐荡电路555多谐振荡电路由NE555P芯片、电阻和电容组成。 由NE555P的3脚输出方波。 ▲图2555电路3.2计数器电路集成计数芯片一般都设置有清零输入端和置数输入端,而且无论是清零还是置数都有同步和异步之分。 有的集成计数器采用同步方式,即当CP触发沿到来时才能完成清零或置数任务;有的集成计数器则采用异步方式,即通过触发器的异步输入端来直接实现清零或置数,与CP信号无关。 本设计采用异步清零。 由2片十进制同步加法计数器74LS160(图2-1-1)、一片与非门74LS00(图2-1-2)和相应的电阻、开关。 由外加送来的计数脉冲(由555电路产生)送入两个计数器的CLK端,电路在计数脉冲的作用下按二进制自然序依次递增1,当个位计数到9时,输出进位信号给十位充当使能信号进位。

10进制加法计数器课程设计

西北师范大学知行学院 数字电子实践论文 课题:74ls161组成的十进制加法计数器 (置数法) 班级:14电本 学号:14040101114 姓名:于能海

指导老师:崔用明 目录 第1章前言 (1) 1.1 摘要 (1) 1.2 设计目的 (2) 1.3 设计内容及要求 (2) 第2章设计方案 (3) ....................................................................................................................... 错误!未定义书签。 2.1主要芯片功能介绍 (3) 2.2.1 四位二进制计数器74161介绍 (3) ............................................................................................................... 错误!未定义书签。 2.2 工作原理 (4) 第3章硬件设计 (4) 3.1 单元电路设计 (4) 3.2 总硬件电路图 (5) 第4章仿真与试验 (6) 4.1 仿真结果 (6) 4.2 调试中遇到的问题 (7) 第5章结论和体会 (8)

第1章前言 1.1 摘要在数字电路技术的课程中,计数器的功能是记忆脉冲的个数,它是数字系统中应用最广泛的基本时序逻辑构件。计数器在微型计算机系统中的主要作用就是为CPU和I/O设备提供实时时钟,以实现定时中断、定时检测、定时扫描、定时显示等定时控制,或者对外部事件进行计数。一般的微机系统和微机应用系统中均配置了定时器/计数器电路,它既可当作计数器作用,又可当作定时器使用,其基本的工作原理就是"减1"计数。计数器:CLK输入脉冲是一个非周期事件计数脉冲,当计算单元为零时,OUT输出一个脉冲信号,以示计数完毕。 本十进制加法计数器是基于74161芯片而设计的, 该十进制加法计数器设计理念是用于工厂流水线上产品计数,自动计数,方便简单。 关键词:74ls161计数器 Introduction In the course of digital circuit technology, the counter memory function is the number of pulses, it is a digital system, the most widely used basic sequential logic components. The main role of the counter in the micro-computer system is to provide real-time clock for the CPU and I / O devices to achieve the timer interrupt, timing detection, scheduled scanning, the timing display timing control, or to count external events. General computer systems and computer application systems are equipped with a timer / counter circuit, it can as a counter action, but also as a timer, the basic working principle is "minus 1" count. Counter: CLK input pulse is a non-periodic event count pulses to zero when calculating unit, OUT outputs a pulse signal, to show the count is completed. The decimal addition counter is designed based on the 74161 chip, the low potential sensor senses when to rely on external signals, sensors in an object within the sensing range, otherwise it is a high potential. Within the sensing range of the sensor when an object is moved out of date, sensor potential from high to low and then high, appears on the edge. Counter is automatically incremented and displayed on a digital control. The decimal addition counters have two seven-segment LED. It can count from 0 to 99 objects, and easy to expand. The design concept of decimal addition counter is used to count on a factory assembly line products, automatic counting, convenient and simple. Keywords:74ls161counter

Verilog10进制计数器电路

练习 设计一个10进制计数器电路,把10进制计数器的计数结果送到一位数码管显示,要求计数器的计数频率为1Hz。系统时钟为25MHz,要求系统同步复位,高电平有效。完成电路设计框图,各模块仿真以及系统功能仿真和下载编程。 分频器: module fenpin25(clk,rst,clk_1hz); input clk; input rst; output clk_1hz; reg clk_1hz; reg [23:0] cnt; always@(posedge clk or posedge rst) begin if(rst==1'b1) cnt<=24'd0; else if(cnt==13107119)begin cnt<=24'd0; clk_1hz<=~clk_1hz; end else cnt<=cnt+1; end endmodule 十进制计数器: module cnt10(rst,clk,cnt); input rst,clk; output [3:0] c nt; reg [3:0] c nt; always@(posedge clk) begin if(rst==1'b0) cnt<=4'b000;

else if(cnt==4'd9) cnt<=4'b000; else cnt<=cnt+1; end endmodule 十进制计数器仿真波形图: LED译码器: module qiduan(cnt,led,scan); input [3:0] c nt; output [6:0] l ed; output [3:0] s can; reg [6:0] l ed; wire [3:0] s can; assign scan=4'b0001; always@(cnt) begin case(cnt) 4'b0001:led=7'b0000110; 4'b0010:led=7'b1011011; 4'b0011:led=7'b1001111; 4'b0100:led=7'b1100110; 4'b0101:led=7'b1101101; 4'b0110:led=7'b1111100; 4'b0111:led=7'b0000111; 4'b1000:led=7'b1111111; 4'b1001:led=7'b1101111; 4'b1010:led=7'b1110111; default:led=7'b0111111; endcase end endmodule

十进制计数器设计

十进制计数器设计 一、实验目的:熟悉Quartus II的Verilog文本设计流程全过程,学习十进制计数器的设计、仿真,掌握计数器的工作原理。 二、实验原理:计数器属于时序电路的范畴,其应用十分普遍。该程序设计是要实现带有异步复位、同步计数使能和可预置型的十进制计数器。该计数器具有5个输入端口(CLK、RST、EN、LOAD、DATA)。CLK输入时钟信号;RST起异步复位作用,RST=0,复位;EN是时钟使能,EN=1,允许加载或计数;LOAD是数据加载控制,LOAD=0,向内部寄存器加载数据;DATA是4位并行加载的数据。有两个输出端口(DOUT和COUT)。DOUT 的位宽为4,输出计数值,从0到9;COUT是输出进位标志,位宽为1,每当DOUT为9时输出一个高电平脉冲。RST在任意时刻有效时,如CLK非上升沿时,计数也能即刻清0;当EN=1,且在时钟CLK的上升沿时刻LOAD=0,4位输入数据DA TA被加载,但如果此时时钟没有上升沿,尽管出现了加载信号LOAD=0,依然未出现加载情况;当EN=1,RST=1,LOAD=1时,计数正常进行,在计数数据等于9时进行输出高电平。 三、实验任务:在Quartus II上将设计好的程序进行编辑、编译、综合、适配、仿真,从时序仿真图中学习计数器工作原理,了解计数器的运行情况及时钟输入至计数器数据输出的延时情况。 四、实验步骤: (一)、建立工作库文件和编辑设计文件 任何一项设计都是一项Project(工程),而把一个工程下的所有文件放在一个文件夹内是一个非常好的习惯,以便于我们整理,利用和提取不同工程下的文件,而此文件夹将被EDA软件默认为Work Library(工作库),所以第一步先根据自己的习惯,建立个新的文件夹。 (1)新建文件夹:在盘建立并保存工程,将文件夹取名Jishuqi。 (2)输入源程序:打开Quartus II,选择菜单File→New→Design Files→VerilogHDL File→OK(如图1所示)。 图1 在空白处工作框处输入任务要求中的代码,代码如下: module CNT10 (CLK,RST,EN,LOAD,COUT,DOUT,DATA); input CLK, EN, RST,LOAD; input [3:0] DATA; output [3:0] DOUT; output COUT;

实验一十进制计数器的设计与仿真电子科技大学

实验一十进制计数器的设计与仿真 一、实验目的 熟悉QuartusⅡ的Verilog HDL文本设计流程全过程,学习计数器的设计、仿真和硬件测试。 二、实验原理 该程序设计是带有异步复位、同步计数使能、可预置型功能全面的十进制计数器。 (1)第一个条件句if(!RST)构成的RST接于寄存器下方的异步清0端CLR。 (2)第二个条件句if(EN)构成EN接于寄存器左侧的使能端ENA。 (3)第三个条件句if(LODA)构成LODA接于上面的多路选择器,使之控制选择来自DATA的数据,还是来自另一多路选择器的数据。 (4)不完整的条件语句与语句Q1<=Q1+1构成了加1加法器和4位寄存器。 (5)语句(Q1<9)构成了小于比较器,比较器的输出信号控制左侧多路选择器。 (6)第二个过程语句构成了纯组合电路模块,即一个等式比较器,作进位输出。 三、实验设备与软件平台 实验设备:计算机、FPGA硬件平台是Cyclone系列FPGA 软件平台:Quartus II (32-Bit)、5E+系统 四、实验内容 编写Verilog程序描述一个电路,实现以下功能:设计带有异步复位、同步计数使能和可预置型的十进制计数器。 具有5个输入端口(CLK、RST、EN、LOAD、DATA)。CLK输入时钟信号;RST 起异步复位作用,RST=0,复位;EN是时钟使能,EN=1,允许加载或计数;LOAD 是数据加载控制,LOAD=0,向内部寄存器加载数据;DATA是4位并行加载的数

据。有两个输出端口(DOUT和COUT)。DOUT的位宽为4,输出计数值,从0到9;COUT是输出进位标志,位宽为1,每当DOUT为9时输出一个高电平脉冲。 五、实验步骤 设计程序: module CNT10 (CLK,RST,EN,LOAD,COUT,DOUT,DATA); input CLK; input EN; input RST; input LOAD; input [3:0] DATA; output [3:0] DOUT; output COUT; reg [3:0] Q1 ; reg COUT ; assign DOUT = Q1; always @(posedge CLK or negedge RST) begin if (!RST) Q1 <= 0; else if (EN) begin if (!LOAD) Q1 <= DATA; else if (Q1<9) Q1 <= Q1+1; else Q1 <= 4'b0000; end end always @(Q1) if (Q1==4'h9) COUT = 1'b1; else COUT = 1'b0; Endmodule

2位10进制加法计数器课程设计

目录 第1章前言 (1) 1.1 摘要 (1) 1.2 设计目的 (1) 1.3 设计内容及要求 (1) 第2章设计方案 (2) 2.1 系统框图 (2) 2.2主要芯片功能介绍 (2) 2.2.1 四位二进制计数器74161介绍 (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输出一个脉冲信号,以示计数完毕。 本十进制加法计数器是基于74161芯片而设计的,依靠传感器感应外界信号,传感器在感应范围内有物体时输出低电位,反之则是高电位。当传感器的感应范围内有物体移过时,传感器电位由高到低再到高,出现上跳沿。计数器会自动加一,并将在数码管上显示。本十进制加法计数器有两位七段数码管。可计数0~99个物体,并易于扩展。 该十进制加法计数器设计理念是用于工厂流水线上产品计数,自动计数,方便简单。 1.2 设计目的 1、综合运用相关课程中所学到的理论知识去独立完成某一设计课题; 2、学习用集成触发器构成计数器的方法; 3、进一步熟悉常用芯片和电子器件的类型及特性,并掌握合理选用器件的原则; 5、初步了解电路设计、仿真的过程和方法; 4、锻炼分析问题解决问题的能力; 1.3 设计内容及要求 1、具有2位10进制计数功能; 2、利用传感器,不接触计数; 3、每一个物体经过,计数器自动加1; 4、具有显示功能; 5、并用相关仿真软件对电路进行仿真。

十进制加法计数器

十进制加法器设计 1课程设计的任务与要求 课程设计的任务 1、综合应用数字电路知识设计一个十进制加法器。了解各种元器件的原理及其应用。 2、了解十进制加法器的工作原理。 3、掌握multisim 软件的操作并对设计进行仿真。 4、锻炼自己的动手能力和实际解决问题的能力。 5、通过本设计熟悉中规模集成电路进行时序电路和组合电路设计的方法,掌握十进制加法器的设计方法。 课程设计的要求 1、设计一个十进制并运行加法运算的电路。 2、0-9十个字符用于数据输入。 3、要求在数码显示管上显示结果。 2十进制加法器设计方案制定 加法电路设计原理 图1加法运算原理框图 如图1所示 第一步 置入两个四位二进制数。例如(1001)2,(0011)2和(0101)2,(1000)2,同时在两个七段译码显示器上显示出对应的十进制数9,3和5,8。

第二步将置入的数运用加法电路进行加法运算。 第三步前面所得结果通过另外两个七段译码器显示。即: 加法运算方式,则(1000)2+(0110)2=(1110)2 十进制8+6=14 并在七段译码显示出14。运算方案 通过开关S1——S8接不同的高低电平来控制输入端所置的两个一位十进制数,译码显示器U8和U9分别显示所置入的两个数。数A直接置入四位超前进位加法器74LS283的A4——A1端,74LS283的B4——B1端接四个2输入异或门。四个2输入异或门的一输入端同时接到开关S1上,另一输入端分别接开关S5——S8,通过开关S5——S8控制数B的输入,通过加法器74LS283完成两个数A和B的相加。由于译码显示器只能显示0——9,所以当A+B>9时不能显示,我们在此用另一片芯片74LS283完成二进制码与8421BCD码的转换,即S>9(1001)2时加上3(0011)2,产生的进位信号送入译码器U10来显示结果的十位,U11显示结果的个位。 3十进制加法器电路设计 加法电路的实现 用两片4位全加器74LS283和门电路设计一位8421BCD码加法器。由于一位8421BCD 数A加一位数B有0到18这十九种结果。而且由于显示的关系,当大于9的时候要加六转换才能正常显示,所以设计的时候有如下的真值表:

基于原理图的十进制计数器设计与仿真

《基于FPGA的现代数字系统设计》 实验名称:十进制计数器设计与仿真 姓名: 学号: 班级: 指导老师: 2013年3月11日

实验目的: (1)熟悉和掌握ISE Foudation 软件的使用 (2)掌握基本原理图进行FPGA设计开发的全流程 (3)理解和掌握“自底向下”的层次化设计方法 (4)温习数字电路设计的基础知识 实验要求: (1)使用原理图库中的门电路元件设计七段显示译码电路,以及十进制加法计数器。 (2)要求LED定位显示。 (3)完成LED七段码波形的仿真分析。 (4)在目标板按要求显示译码结果。 实验原理: 本次试验将完成的设计是一个具有数显输出的十进制计数器。示意图如2.1所示。 图2.1 七段数码管属于数码管的一种,是由7段二极管组成。按发光二极管单元衔接方式分为共阳极数码管和共阴极数码管。本实验使用共阴数码管。它是指将一切发光二极管的阴极接到一同构成公共阴极(COM)的数码管。共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平相应字段就点亮,当某一字段的阳极为低电平相应字段就不亮。 显示译码器,一般是将一种编码译成十进制码或特定的编码,并通过显示器件将译码器的状态显示出来。最小项译码器输出能产生输入变量的所有最小项,而任何一个组合逻辑函数都可以变换为最小项之和的标准形式,故采用译码器和

门电路可实现任何单输出或多输出的组合逻辑函数。当译码器输出低电平有效时,一般选用与非门;当译码器输出高电平有效时,一般选用或门。 本实验可以采用ISE软件自带的“Decoder”库中的4线-16线译码器D4_16E (带使能端,输出高电平有效)和“Logic”库中的16输入或门OR16。 本次试验将完成的设计是一个具有数显输出的十进制计数器。 实验步骤: 1.完成七段数码管的绘制,按照正常操作新建工程,添加新原理图文件。(1)画出七段数码管A段的原理图,如图1所示,根据书上的七段数码管的真值表完成D$_16E与16位或门的连线,其中0的地方连地,1的地方连上D4_16E 芯片。完成A段的原理图之后,进行逻辑仿真,检查原理图是否有问题。 图1 数码管A段原理图 (2)为了确保原理图功能正确,建立激励文件,画出四个输入的波形图,要进行完备测试,测试激励应该包括所有的输入组合情况,这次有A(3:0)有0000~1111共16种组合情况。编辑修改激励波形。对于总线值提供模式设置的编辑功能,操作如图2.1所示。保存设置好的激励文件,如下图所示:

用verilog HDL输入法设计十进制计数器 实验报告

实验名称:实验四:用verilog HDL输入法设计十进制计数器 实验目的:硬件描述语言(HDL)就是可以描述硬件电路的功能、信号连接关系及定时 (时序) 关系的语言,也是一种用形式化方法来描述数字电路和设计数字系统的。通过十进制计数器的设计,熟练掌握硬件描述语言的编程方法。 实验原理: module cout(clk,clear,qd,EN); input clk,clear,EN; output[3:0] qd; reg[3:0] cnt; assign qd=cnt; always @(posedge clk ) begin if(clear ) cnt<=4'h0;//同步清0,高电平有效 else if(EN) begin if(cnt==9) cnt<=4'h0; else cnt<=cnt+1; //加法计数 end end Endmodule 实验内容:为了能对此计数器进行硬件测试,应将其输入输出信号锁定在芯片确定的引 脚上,编译后下载。 (1)选择Tools菜单中的Assignments项,即进入如图2-23所示的Assignment Editor编辑器窗。在Category栏中选择Pin,或直接单击右上侧的Pin按钮。 (2)双击“TO”栏的《new》,在出现的如图2-24所示的下拉栏中分别选择本工程要锁定的端口信号名;然后双击对应的Location栏的《new》,在出现的下拉栏中选择对应端口信号名的器件引脚号,如对应CQ[3],选择42脚。在此选择GW48-EDA系统的电路模式No.5,通过查阅附录有关”芯片引脚对照表”,GWAC3板确定引脚分别为:主频时钟clk接Clock0(第93脚,可接在4Hz上);计数使能EN可接电路模式No.5的键1(PIO0对应第1脚);复位clear则接电路模式No.5的键2(PIO1对应第2脚,注意键序与引脚号码并无对应关系);4位输出数据总线CQ[3..0]可由数码1来显示,通过分别接PIO19、PIO18、PIO17、PIO16(它们对应的引脚编号分别为42、41、40、39)。(如是GWAC6板,CLK:接28,EN:233,RST:234,COUT:1,CQ[3..0]分别接16,17,18,19)(引脚连接关系见附录)

EDA十进制计数器的设计

物理与电气工程学院课程设计报 告 十进制计数器设计

一、实验任务 熟悉QuartusⅡ的Verilog HDL文本设计流程全过程,学习计数器的设计、仿真和硬件测试。EDA的设计流程为原理图/HDL文本编辑、逻辑综合、FPGA/CPLD适配、FPGA/CPLD编程下载。EDA的设计所用的软件是Quartus II 软件,Quartus II 软件可以用图形输入、VHDL文本输入的方法输入,之后进行时序仿真,EDA设计流程的最后一步是将程序下载到开发板上,进行硬件测试。 二、实验原理 根据频率的定义和频率测量的基本原理,测定信号的频率必须有一个脉宽为1秒的对输入信号脉冲计数允许的信号;1秒计数结束后,计数值锁入锁存器的锁存信号和为下一测频计数周期作准备的计数器清0信号。这3个信号可以由一个测频控制信号发生器产生,即图6-24中的TESTCTL,它的设计要求是,TESTCTL的计数使能信号CNT_EN能产生一个1秒脉宽的周期信号,并对频率计的每一计数器CNT10的ENA使能端进行同步控制。当CNT_EN高电平时,允许计数;低电平时停止计数,并保持其所计的脉冲数。在停止计数期间,首先需要一个锁存信号LOAD的上跳沿将计数器在前1秒钟的计数值锁存进各锁存器REG4B中,并由外部的7段译码器译出,显示计数值。设置锁存器的好处是,显示的数据稳定,不会由于周期性的清零信号而不断闪烁。锁存信号之后,必须有一清零信号RST_CNT对计数器进行清零,为下1秒钟的计数操作作准备。 按规定编写程序如下: module CNT10 (CLK,RST,EN,LOAD,COUT,DOUT,DATA); input CLK,EN,RST,LOAD; input [3:0] DATA; output [3:0] DOUT;

硬件设计—10进制计数器设计

实验一 10进制计数器设计 实验目的:掌握软件设计流程,掌握电路图输入方式,了解和熟悉实验箱。 实验内容:利用74161实现十进制计数,并使用7448实现七段代码显示器显示结果。 原理图:如下图所示 仿真结果及结果分析:通过实验,可以得到如下两张仿真结果图。以下分别是在CLR为低电平和CLR为高电平时的输出(Q[1]-Q[7])波形图和仿真结果图,通过实验以及参考七段显示译码器7448的功能表可知:当CLR为低电平时为十六进制计数功能,即仿真结果图上面会从7E-00计数,即对应的为0-15的数值计数,直到00H即对应值为15时再从0开始计数到15,对应如下仿真图(1);当CLR为高电平时为十进制计数功能,即仿真结果上面会从7E-73计数,即对应0-9的数值计数,直到73H即对应值为9时再从0开始计数到9,对应如下仿真图(2)。综上所述,如下两张仿真图所示的内容可知,实验结果正确,符合预期的结果。

仿真图(1) 仿真图(2)管脚锁定说明:

硬件测试情况说明及结果分析: 根据原理图上的芯片引脚功能按照设好的引脚用线连接好电路,输出的Q[1]-Q[7]接到七段显示译码器上面,对应芯片的引脚分别为52、53、54、55、58、59、60,CLK的脉冲信号接芯片引脚11,给的脉冲可自己给定,尽量选择让数字变化的情况可以看清的脉冲信号,而CLR接芯片引脚143然后接到控制开关L8,通过L8来控制CLR为高电平或者低电平。然后把电脑里面的程序和引脚配置情况加载到实验箱的芯片上,在给定脉冲后,当开关L8即CLR接低电平时,七段显示译码器上显示的为16进制数从0-15计数,计数到15后再从0开始到15计数;而当控制L8即CLR接高电平时,七段显示译码器上显示的为10进制数从0-9计数,计数到9时再从0开始新一轮的计数。通过实验观察可知所做实验符合预期的结果,实验成功。 实验总结: 通过这次实验,我们学会了利用74161实现十进制和十六进制计数,并使用7448实现七段代码显示器显示结果。在实验过程中,遇到最大的问题就是对所使用的芯片功能没能了解透彻以及实验过程中的步骤没能完全记清楚而导致实验不能够很顺利的进行,需要临时查找资料,还好之后在老师的帮助和讲解下最后还是成功的完成了实验,得到了与预期一致的正确结果,同时也学到了更多的相关知识。同时,我们也意识到了实践的重要性,很多东西在学理论知识时感觉自己学会了,到了自己动手实践时却不一定能成功,这也是为什么动手实践非常重要的原因,

10进制计数器

课程设计任务书 学生姓名:黄思羽专业班级:自动化0607 指导教师:李向舜工作单位:自动化学院 题目: 10进制计数器 初始条件: 1.Quartus4.1以上版本软件; 2.课程设计辅导资料:“数字电路EDA入门”、“VHDL程序实例集”、“EDA技术 与VHDL”、“EDA与数字系统设计”等; 3.先修课程:电路、电子设计EDA、电子技术基础等。 4.主要涉及的知识点: 门电路、组合逻辑电路、时序逻辑电路等。 要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等 具体要求) 1.课程设计时间:1周; 2.课程设计内容:根据指导老师给定的题目,按规定选择其中1套完成; 3.本课程设计统一技术要求:研读辅导资料对应章节,对选定的设计题目进行理 论分析,针对具体设计部分的原理分析、建模、必要的推导和可行性分析,画出程序设计框图,编写程序代码(含注释),上机调试运行程序,记录实验结果(仿真结果),并对实验结果进行分析和总结。具体设计要求包括: ①复习EDA的相关技术与方法; ②掌握VHDL或者Verilog语言,并要求能编写程序。 ③Quartus软件的使用:掌握程序编辑、编译、调试、仿真方法。 ④设计相关简单的电路,完成既定的功能。 4.课程设计说明书按学校“课程设计工作规范”中的“统一书写格式”撰写,具 体包括: ①目录; ②计数器相关的理论分析、归纳和总结; ③10进制计数器的结构组成及原理分析。 ④程序设计框图、程序代码(含注释); ⑤给出程序中主要函数或者语句的功能说明和使用说明; ⑥给出程序仿真运行结果和图表、以及实验结果分析和总结; ⑦课程设计的心得体会(至少500字); ⑧参考文献; ⑨其它必要内容等。

单片机课程设计十进制加法计算器设计

存档资料成绩: 华东交通大学 课程设计报告书 所属课程名称单片机原理及应用 题目 院(系)电气学院 班级电气化14 - 班 学号 学生姓名 指导教师 辅导教师 2016年12 月30 日 课程设计(论文)任务书

电气学院电气工程专业14 级()班 一、课程设计(论文)题目填写所选题目 二、课程设计(论文)工作自 2016 年12 月26 日起至 2016 年12 月30 日止。 三、课程设计(论文)内容要求: 1.本课程设计的目的 (1)使学生掌握系统单片机各功能模块的基本工作原理; (2)培养学生单片机硬件电路设计的基本思路和方法; (3)使学生掌握系统调试的方法; (4)培养学生分析、解决问题的能力; (5)提高学生的科技论文写作能力。 2.课程设计的任务及要求 1)基本要求: (1)分析所设计系统各功能模块的工作原理; (2)选用合适的器件(芯片); (3)提出系统的设计方案(要有电路原理图); (4)对所设计电路进行仿真调试。 (5)所设计系统的具体功能要求:(此处填写自已所选题目任务书中的系统功能要求) 2)提高要求: 在基本要求达到后,可进行创新设计,如改善电路性能,在实验板上调试等。 3)课程设计论文编写要求 (1)要按照书稿的规格誊写课设论文 (2)论文包括目录、绪论、正文、小结、参考文献、附录等 (3)正文中要有程序设计思路的阐述,程序流程图,硬件原理图等 (4)课设论文装订按学校的统一要求完成 4)课设考核: 从以下几方面来考查: (1)出勤情况及任务的饱满程度; (2)设计任务的难易程度; (3)完成课设任务情况; (4)动手调试能力; (5)论文撰写的原理分析、设计思路以及论述的层次性、条理性、格式的规范性;5)课程设计进度安排 内容天数地点 构思及收集资料1图书馆 程序设计与调试3实验室

十进制计数器的EDA设计

十进制计数器的EDA设计 一、实验目的 1.掌握十进制计数器的基本原理及设计方法。 2.掌握七段译码器电路的设计方法。 3. 掌握Maxpuls软件的应用。 二、实验原理 实验原理图如下 图1 实验电路结构如图1所示。主要由消抖电路、BCD码计数器和七段译码器构成,各部分电路介绍如下: 本实验采用的BCD码计数电路由74160构成,74160 是十进制同步计数器(异步清除),在其功能表中,当LDN、ENT、ENP、CLRN四个输入端都接高电平时,对CLK输入脉冲上升沿进行计数,由QA-QD输出8421码。具体电路如图3所示。 本实验采用的七段译码器电路由7447和外部共阴极数码管构成,7447七段译码器将BCD8421码译成数码管所需的七段数显码,真值表如表1所示。具体电路如图3所示。 图3 开关防颤动电路 开关防颤动电路 图2 开关防颤动电路

图3 BCD计数器和七段译码器 三、实验内容与步骤 1.打开PC机界面MAX+plusⅡ软件,输入图4的电路图。 2.选菜单File\Project\Set Project to Current File,然后选菜单MAX+plusⅡ\complier编辑当前图形文件。 图4 10进制脉冲计数器

3.用Byte Blaster下载缆线联结PC机并口和实验箱J1(JTAG),打开实验箱电源开关。选择菜单项MAX+plus II\Programmer,单击Program按钮,即开始下载程序。 4.关闭电源开关,取下下载缆线,参考电路原理图编号一CLK.SCH、编号五CPLD1.SCH,SW11、SW51的短路帽接入1、2脚,CLK-J11的短路帽选择0.2K位置,CLK-J13的第三个拨码开关置ON状态。 5.打开实验箱电源开关,连续按K52键,观察数码管LED1的变化。 6.完成上述实验后,分别把时钟信号单元中SW11、SW51的短路帽接入2、3脚,CLK-J13的第三个拨码开关置OFF状态,关闭电源开关。 四、实验报告 1、在使用防颤动电路后,开关防颤动电路输出的是理想波形,如下图1所示: 图1 2、再由BCD码计数器和七段译码器组成完整的电路图如下图2所示,然后画出实际仿真电路图如图3所示,最后进行仿真,仿真结果如图4所示: 图2 10进制计数器的电路图

数电quartus设计BCD码构成的十进制计数器

数电时序电路设计报告 (一)实验题目: JK触发器附加必要的门电路设计8421BCD码的十进制计数器。 (二)实验要求:(1)设计要求:用一个译码驱动器74LS48驱动1个 LED七段显示器;轮流显示1位十进制数; (2)仿真测试电路的输出(用发光二极管指示)。(三)实验思路:8421BCD码是四位编码方式,而一个JK触发器只能储存一位二进制代码,所以要用四个JK触发器才能构成一个十进制计数器,再在四个输出端接一个74LS48译码器,就能满足题目的要求。

(四)设计步骤 (1)由设计要求画出真值表 (2)由真值表画出卡诺图,并化简卡诺图 Q3n+1 Q2n+1

Q1n+1 Q0n+1 与触发器的特征方程进行对比得,J0=K0=1; J1= Q0n·Q3n’(即Q3n非),K1=Q0n; J2=K2=Q1n·Q0n; J3= Q2n·Q1n·Q0n, K3=Q0n. (3)采用Quartus II 7.2软件画出设计电路图 (4)对设计电路图进行仿真测试 (5)参照型号EP2C5T144C8可编程芯片的实验板情况下,给设计好的原理图配置芯片引脚,并重新输出电路图。则此时该实验电路设计已完成,连接实验板,下载设计好的文件,则可进行测试。 (四)设计电路图 初始原理图

仿真结果图 配置好芯片引脚后的实验原理电路图:

(一)心得体会 1、在用Quartus II 7.2软件设计电路图时,会发现器件 在纸上画的电路图略有不同,因此需要把他们进行一 一对应。 2、明确分工不仅使每位成员都参与其中,也使得设计过程更高 效。 3、Quartus软件仿真有一定的局限性,波形显示是其最简单明了 的方式。

组成设计报告- 十进制计数器

计算机组成原理 课程设计报告 专业计算机科学与技术 班级 0901 学号 2009115010121 姓名汪敏 指导教师杨维均 时间 2011.12 湖北师范学院 计算机科学与技术学院

两位十进制加法计数器 一、实验目的与要求 1、学习用集成触发器构成计数器的方法 2、掌握中规模集成计数器的使用及功能测试方法 二、实验题目 设计一个0~99计数显示电路,具有加减、清零、预置数功能。 三.实验器材 2个数码管,2个74KS248,2个74LS192(1),1个74LS00(),一个面包板,及若干电阻和电线。 四.实验原理 计数器是一个用以实现计数功能的时序部件,它不仅可用来计脉冲数,还常用作数字系统的定时、分频和执行数字运算以及其它特定的逻辑功能。 计数器种类很多。按构成计数器中的各触发器是否使用一个时钟脉冲源来分,有同步计数器和异步计数器。根据计数制的不同,分为二进制计数器,十进制计数器和任意制计数器。根据计数的增减趋势,又分为加法、减法和可逆计数器。还有可预置数和可编程序功能计数器等等。目前,无论是TTL还是CMOS 集成电路,都有品种较齐全的中规模集成计数器。使用者只要借助于器件手册的功能表和工作波形图以及引出端的排列,就能正确地运用这些器件。 1、计数器的级联使用 一个十进制计数器只能表示0~9十个数,为了扩大计数器范围,常用多个十进制计数器级联使用。 同步计数器往往设有进位(或借位)输出端,故可选用其进位(或借位)输出信号驱动下一级计数器。 图3是由CC4019利用进位输出CO控制高一位的CP U端构成的加计数级联图。

图3 CC40192级联电路 2、实现任意进制计数 (1)用反馈清零法获得任意进制计数器 假定已有N进制计数器,而需要得到一个M进制计数器时,只要M

FPGA—基于HDL的十进制计数器设计

基于HDL 的十进制计数器设计 一、 实验目的 1、掌握基于语言的ISE 设计全流程; 2、熟悉、应用VerilogHDL 描述数字电路; 3、掌握基于Verilog 的组合和时序逻辑电路的设计方法。 4、掌握chipscope 片内逻辑分析仪的使用与调试方法。 5、设计具有异步复位、同步使能的十进制计数器,其计数结果可以通过七段数码管、发光二极管等进行显示。 二、 实验原理 1、十进制计数器的设计即是设置一变量,当计数脉冲上升沿到来时,先判断是否为9,若是则置零,否则就进行加一操作。将变量再进行一个译码操作输出到数码管显示即可。 图1 实验原理图 2、数码管分为7 段和8 段,七段数码管由 7段二极管组成。8段数码管比起7段数码管多了一个显示小数点的LED 。 数码管按发光二极管单元衔接方式分为共阳极数码管和共阴极数码管。本实验使用共阳数码管。它是指将一切发光二极管的阳极接到一同构成公共阳极(COM)的数码管。共阳数码管在应用时应将公共极COM 接到电源VCC 上,当某一字段发光二极管的阴极为低电平相应字段就点亮。当某一字段的阴极为高电平相应字段就不亮。共阳端可以作为位选端,实现动态扫描。动态扫描即是利用了人眼睛的视觉暂留现象,以合适的频率显示每一位数码管,便会产生所有数码 使能控制 异步清零 十进制计数器 七段数 码管显示译 时钟端 FPG 进

管是一起点亮的错觉,数码管原理图如图: 图2 共阳数码管示意图 3、数码管显示数字与对应的输入数据的关系如表所示: 0 8'hc0 1 8'hf9 2 8'ha4 3 8'hb0 4 8'h99 5 8'h92 6 8'h82 7 8'hf8 8 8'h80 9 8'h90 表1 数码管显示表 4、本次设计一共有11个端口: 输入信号: clk -------待计数的时钟。 clr ---------异步清零信号,当clr=1,输出复位为0,当clr=0,正常计数。 ena---------使能控制信号,当ena=1,电路正常累加计数,否则电路不工作。 输出信号: q[6:0]---------驱动数码管,显示计数值的个位。 cout -----------1bit数据,显示计数值向十位的进位图。

相关文档
相关文档 最新文档