文档库 最新最全的文档下载
当前位置:文档库 › 实验二含异步清零和同步使能的加法计数器

实验二含异步清零和同步使能的加法计数器

实验二含异步清零和同步使能的加法计数器
实验二含异步清零和同步使能的加法计数器

实验二含异步清零和同步使能的加法计数器

一、实验目的

1、了解二进制计数器的工作原理。

2、进一步熟悉QUARTUSII软件的使用方法和VHDL输入。

3、时钟在编程过程中的作用。

二、实验原理

二进制计数器中应用最多、功能最全的计数器之一,含异步清零和同步使能的加法计数器的具体工作过程如下:

在时钟上升沿的情况下,检测使能端是否允许计数,如果允许计数(定义使能端高电平有效)则开始计数,否则一直检测使能端信号。在计数过程中再检测复位信号是否有效(低电平有效),当复位信号起作用时,使计数值清零,继续进行检测和计数。

其工作时序如图3-1所示:

图3-1 计数器的工作时序

三、实验内容

本实验要求完成的任务是在时钟信号的作用下,通过使能端和复位信号来完成加法计数器的计数。实验中时钟信号使用数字时钟源模块的1HZ信号,用一位拨动开关K1表示使能端信号,用复位开关S1表示复位信号,用LED模块的LED1~LED11来表示计数的二进制结果。实验LED亮表示对应的位为‘1’,LED灭表示对应的位为‘0’。通过输入不同的值模拟计数器的工作时序,观察计数的结果。实验箱中的拨动开关、与FPGA的接口电路,LED灯与FPGA的接口电路以及拨动开关、LED与FPGA的管脚连接在实验一中都做了详细说明,这里不在赘述。

数字时钟信号模块的电路原理如图3-2所示,表3-1是其时钟输出与FPGA的管脚连接表。

图3-2 数字时钟信号模块电路原理

信号名称对应FPGA管脚名说明

DIGITAL-CLK A14数字时钟信号送至FPGA的A14

表3-1 数字时钟输出与FPGA的管脚连接表

按键开关模块的电路原理如图3-3所示,表3-2是按键开关的输出与FPGA的管脚连接表。

图3-3 按键开关模块电路原理

信号名称FPGA I/O名称核心板接口管脚号功能说明S[0]PIN_AF5JP1_91‘S1’ Switch

S[1]PIN_AH6JP1_93‘S2’ Switch

S[2]PIN_AH7JP1_95‘S3’ Switch

S[3]PIN_AH8JP1_97‘S4’ Switch

S[4]PIN_AG10JP1_99‘S5’ Switch

S[5]PIN_AG11JP1_101‘S6’ Switch

S[6]PIN_AH14JP1_90‘S7’ Switch

S[7]PIN_AG7JP1_92‘S8’ Switch

表3-2 按键开关与FPGA的管脚连接表

四、实验步骤

1、打开QUARTUSII软件,新建一个工程。

2、建完工程之后,再新建一个VHDL File,打开VHDL编辑器对话框。

3、按照实验原理和自己的想法,在VHDL编辑窗口编写VHDL程序,用户可参照光盘中

提供的示例程序。

4、编写完VHDL程序后,保存起来。方法同实验一。

5、对自己编写的VHDL程序进行编译并仿真,对程序的错误进行修改。

6、编译仿真无误后,依照拨动开关、LED与FPGA的管脚连接表(表1-1、表1-2)或

参照附录进行管脚分配。表3-3是示例程序的管脚分配表。分配完成后,再进行全编译一次,以使管脚分配生效。

表3-3 端口管脚分配表

7、用下载电缆通过JTAG口将对应的sof文件加载到FPGA中。观察实验结果是否与自

己的编程思想一致。

五、实验现象与结果

以设计的参考示例为例,当设计文件加载到目标器件后,将数字信号源的时钟选择为1HZ,使拨动开关K1置为高电平(使拨动开关向上),四位LED会按照实验原理中依次被点亮,当加法器加到9时,LED12(进位信号)被点亮。当复位键(按键开关的S1键)按下后,计数被清零。如果拨动开关K1置为低电平(拨动开关向下)则加法器不工作。

六、实验报告

1、绘出仿真波形,并作说明。

2、写出在VHDL编程过程中需要说明的规则。

3、将实验原理、设计过程、编译仿真波形和分析结果、硬件测试结果记录下来。

4、改变时钟频率,看实验现象会有什么改变,试解释这一现象。

实验代码:

//二进制计数器,时间间隔是1s

module counter (Clk, Rst_n, En_n, Cout, led) ;

input Clk; //系统时钟1Hz

input Rst_n; //全局复位,低电平有效

input En_n; //使能信号,高电平有效

output Cout; //进位信号

output [3:0] led;

reg [3:0] led;

reg Cout;

//同步使能,异步清零

always @ (posedge Clk, negedge Rst_n)

begin

if(Rst_n == 1'b0)

begin

led <= 4'd0;

Cout <= 1'b0;

end

else if(En_n == 1'b1)

begin

if(led == 4'b1001)

begin

Cout <= 1'b1;

led <= 4'd0;

end

else

led <= led +1'b1;

if(led == 4'b0000)

Cout <= 1'b0;

end

end

endmodule

/*另一种解决进位信号的方法,

就是为9(1001)的时候进位信号为1,

其他时候进位信号为0。

Cout<= led[0] & ~led[1] & ~led[2] & led[3];*/

同步二进制加法计数器

同步二进制加法计数器 F0302011 5030209303 刘冉 计数器是用来累计时钟脉冲(CP脉冲)个数的时序逻辑部件。它是数字系统中用途最广泛的基本部件之一,几乎在各种数字系统中都有计数器。它不仅可以计数,还可以对CP 脉冲分频,以及构成时间分配器或时序发生器,对数字系统进行定时、程序控制操作。此外,还能用它执行数字运算。 1、计数器的特点: 在数字电路中,把记忆输入CP脉冲个数的操作叫做计数,能实现计数状态的电子电路称为计数器。特点为(1)该电路一般为Moore型电路,输入端只有CP信号。 (2)从电路组成看,其主要组成单元是时钟触发器。 2、计数器分类 1) 按CP脉冲输入方式,计数器分为同步计数器和异步计数器两种。 同步计数器:计数脉冲引到所有触发器的时钟脉冲输入端,使应翻转的触发器在外接的CP脉冲作用下同时翻转。 异步计数器:计数脉冲并不引到所有触发器的时钟脉冲输入端,有的触发器的时钟脉冲输入端是其它触发器的输出,因此,触发器不是同时动作。 2) 按计数增减趋势,计数器分为加法计数器、减法计数器和可逆计数器三种。 加法计数器:计数器在CP脉冲作用下进行累加计数(每来一个CP脉冲,计数器加1)。 3) 按数制分为二进制计数器和非二进制计数器两类。 二进制计数器:按二进制规律计数。最常用的有四位二进制计数器,计数范围从0000到1111。 异步加法的缺点是运算速度慢,但是其电路比较简单,因此对运算速度要求不高的设备中,仍不失为一种可取的全加器。同步加法优点是速度快,虽然只比异步加法快千分之一甚至几千分之一秒,但对于计数器来讲,却是十分重要的。所以在这个高科技现代社会中,同步二进制计数器应用十分广泛。 下图为三位二进制加法计数器的电路图。 图1 三位二进制计数器 图示电路为对时钟信号计数的三位二进制加法计数器或称为八进制加法计数器。 该电路的经典分析过程: 1.根据电路写出输出方程、驱动方程和状态方程 2. 求出状态图 3.检查电路能否自启动 4.文字叙述逻辑功能 解:

含异步清零和同步时钟使能的加法计数器设计

广州大学学生实验报告 实验室:电子信息楼 317EDA 2017 年 9月 18 日 学院机电学院年级、专 业、班 电信 151 姓名苏伟强学号 1507400051 实验课 程名称 可编程逻辑器件及硬件描述语言成绩 实验项 目名称 实验2 含异步清零的同步时钟使能控制的加法计数器指导老师秦剑 一实验目的 a)学习计数器的设计、仿真和硬件测试,进一步熟悉VHDL设计技术; 二实验原理 图是一含计数使能、异步复位的4位加法计数器,例2-1是其 VHDL描述。图中间是4位锁存器;rst是异 步清信号,高电平有效;clk是锁存信号;D[3:0]是4位数据输入端。当ENA为‘1’时,多路选择器将 加1器的输出值加载于锁存器的数据端;当ENA为‘0’时保持上一次的输出。 三实验设备 a)FPGA实验箱,Cyclone III EP3C40Q24C08 四实验内容和结果 a)编程 根据实验原理编程VHDL,rst是异步清信号,高电平有效;clk是锁存信号;CQ[3:0]是计数输出端,COUT 是进位输出。上升沿计数,在计数到1111的时候进位(这里判断CQI的所有位为1时进位,表示计数到top 值),清零,继续计数,将进位数据锁存在COUT端,不断更新。可以看到在进程中,首先判断rst信号是 否为1,为1的话进行置位,优先级最高而且不受时钟信号控制(放在以时钟边沿测试表述clock’event and clock=’1’为条件语句的if语句以外),是异步置位。 b)波形仿真 新建波形仿真文件,文件名和实体名称保持一致,可以看到,使能信号为1,在时钟信号的上升沿计数加 一,如果有置位信号,则产生异步置位(置位最优先),计数到1111top值,进位并且自动清零,符合设计。

计数器的设计实验报告

计数器的设计实验报告 篇一:计数器实验报告 实验4 计数器及其应用 一、实验目的 1、学习用集成触发器构成计数器的方法 2、掌握中规模集成计数器的使用及功能测试方法二、实验原理 计数器是一个用以实现计数功能的时序部件,它不仅可用来计脉冲数,还常用作数字系统的定时、分频和执行数字运算以及其它特定的逻辑功能。 计数器种类很多。按构成计数器中的各触发器是否使用一个时钟脉冲源来分,有同步计数器和异步计数器。根据计数制的不同,分为二进制计数器,十进制计数器和任意进制计数器。根据计数的增减趋势,又分为加法、减法和可逆计数器。还有可预置数和可编程序功能计数器等等。目前,无论是TTL还是

CMOS集成电路,都有品种较齐全的中规模集成计数器。使用者只要借助于器件手册提供的功能表和工作波形图以及引出端的排列,就能正确地运用这些器件。 1、中规模十进制计数器 CC40192是同步十进制可逆计数器,具有双时钟输入,并具有清除和置数等功能,其引脚排列及逻辑符号如图5-9-1所示。 图5- 9-1 CC40192引脚排列及逻辑符号 图中LD—置数端CPU—加计数端CPD —减计数端CO—非同步进位输出端BO—非同步借位输出端 D0、D1、D2、D3 —计数器输入端 Q0、Q1、Q2、Q3 —数据输出端CR—清除端 CC40192的功能如表5-9-1,说明如下:表5-9-1 当清除端CR为高电平“1”时,计数

器直接清零;CR置低电平则执行其它功能。当CR为低电平,置数端LD也为低电平时,数据直接从置数端D0、D1、D2、D3 置入计数器。 当CR为低电平,LD为高电平时,执行计数功能。执行加计数时,减计数端CPD 接高电平,计数脉冲由CPU 输入;在计数脉冲上升沿进行8421 码十进制加法计数。执行减计数时,加计数端CPU接高电平,计数脉冲由减计数端CPD 输入,表5-9-2为8421 码十进制加、减计数器的状态转换表。加法计数表5-9- 减计数 2、计数器的级联使用 一个十进制计数器只能表示0~9十个数,为了扩大计数器范围,常用多个十进制计数器级联使用。 同步计数器往往设有进位(或借位)输出端,故可选用其进位(或借位)输出信号驱动下一级计数器。 图5-9-2是由CC40192利用进位

同步十进制加法计数器优化设计

物理科学与技术学院课程设计 同步十进制加法计数器设计 班级: 指导老师: 学生:

集成电路设计愈发成为现代高科技的基石,尤其是芯片设计,几乎所有的电子系统都需要芯片,而在芯片逻辑功能中,计数器就显得非常重要。市场上多数同步十进制计数器多数采用JK触发器设计,而本设计采用D型主从触发器构成的同步十进制加法计数器。 本设计采用8421BCD码的编码方式来表示一位十进制数。设计中采用D型主从触发器构成T触发器来设计基本逻辑电路单元。本设计使用Microwind和Dsch软件完成原理图和版图设计。采用D型主从触发器,优化了同或门电路,大大减少MOS管数量,节省了版图面积,提高芯片性能。 关键词:同步十进制加法计数器Microwind Dsch D触发器T触发器

The integrated circuit design increasingly becomes the modern high tech the cornerstone, particularly the chip design, the nearly all electronic system needs the chip, but in the chip logical function, the counter appears very important. In the market the most synchronization decade counter uses the JK trigger design most, but this design uses D main the synchronized decimal base addition counter which constitutes from the trigger to compare the JK trigger to be possible to omit 80 MOS tubes. This design uses 8421BCD the code the encoding method to express a decimal digit. In the design uses D main to constitute the T trigger from the trigger to design the basic logic circuit unit. This design uses Microwind and the Dsch software completes the schematic diagram and the domain design. Uses D main from the trigger, optimized the same or gate electric circuit, reduces the MOS tube quantity greatly, has saved the domain area, enhances the chip performance. Keywords: Synchronized decimal base addition counter Microwind Dsch D trigger T trigger

设计方案含异步清零和同步时钟使能的加法计数器

附表1: 广州大学学生实验报告 开课学院及实验室:物理与电子工程学院-电子楼317室2016年 4 月21 日 学院物电年级、专 业、班 姓名Jason.P 学号 实验课程名称EDA技术实验成绩 实验项目名称设计含异步清零和同步时钟使能的加法计数器指导教师 一、实验目的: 学习计数器的设计、仿真和硬件测试,进一步熟悉VerilogHDL设计技术。 二、实验内容: 含异步清0和同步时钟使能的4位加法器 (1)实验原理: 上图是一含计数使能、异步复位的4位加法计数器,书中例3-15是其VerilogHDL描述。由图2-1所示,图中间是4位锁存器;rst是异步清信号,高电平有效;clk是锁存信号;D[3:0]是4位数据输入端。当ENA为‘1’时,多路选择器将加1器的输出值加载于锁存器的数据端;当ENA为‘0’时保持上一次的输出。 (2)实验步骤:

(2)-1按照发给大家的文件“Quartus II 9.0基本设计流程-VerilogHDL.ppt”所讲述的步骤,在QuartusII上对例3-15(第四版)(第五版p124例5-15)进行编辑、编译、综合、适配、仿真。说明例2-1各语句的作用,详细描述示例的功能特点,给出其所有信号的时序仿真波形。 (2)-2引脚锁定以及硬件下载测试: 若目标器件是EP3C40Q240C8N,建议选实验电路模式5,用键8(PIO7)控制RST;用键7控制ENA;计数溢出COUT接发光管D8;OUTY是计数输出接数码1;时钟CLK接clock2,通过跳线选择4Hz信号。引脚锁定后进行编译、下载和硬件测试实验。将实验过程和实验结果写进实验报告。 三、实验HDL描述: module CNT10(CLK,RST,EN,LOAD,COUT,DOUT,DATA) input CLK,EN,RST,LOAD; //定义输入信号 input[3:0] DATA; //定义4位的并行加载数据DATA output[3:0] DOUT; //定义4位的计数输出数据DOUT output COUT; //定义进位输出信号COUT reg[3:0] Q1; //定义4位的寄存器型中间变量Q1 reg COUT; assign DOUT = Q1; //将内部寄存器的计数结果输出至DOUT always @(posedge CLK or negedge RST) //时序过程 begin if(!RST) Q1 <= 0; //RST=0时,对内部寄存器单元异步清0 else if(EN) begin //同步使能EN=1,则允许加载或计数 if(!LOAD) Q1 <= DATA; //当LOAD=0,向内部寄存器加载数据 else if(Q1<9) Q1 <=Q1+1; //当Q1小于9时,允许累加 else Q1 <=4'b0000; //否则一个时钟后清零返回初值 end end always @(Q1) //组合过程 if (Q1==4'h9) COUT = 1'b1; else COUT = 1'b0; endmodule 四、仿真结果:

可编程可逆计数器

自动化专业电子课程设计报告题目:可编程可逆计数器设计 姓名王振 学号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)

异步清零和同步时钟使能的4位加法计数器 实验报告

异步清零和同步时钟使能的4位加法计数器 一、实验目的: 学习计数器的设计、仿真和硬件测试,进一步熟悉VHDL设计技术。 二、实验原理 本试验中所要设计的计数器,由4位带异步清零的加法计数器和一个4位锁存器组成。其中,rst是异步清零信号,高电平有效;clk是计数时钟,同时也是锁存信号;ENA为计数器输出使能控制。当ENA为‘1’时,加法计数器的输出值加载于锁存器的数据端,;当ENA为‘0’时锁存器输出为高阻态。当计数器输出“1111”时,进位信号COUT为“1”。 三、实验内容 1)画出该计数器的实体框图0 2)用VHDL语言完成上述计数器的行为级设计。 ------------------------------------------------------------------------------------------------------- 程序: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY CNT4 IS PORT (RST,CLK,ENA:IN STD_LOGIC;

COUT: OUT STD_LOGIC; OUTY :OUT STD_LOGIC_VECTOR(3 DOWNTO 0)); END CNT4; ARCHITECTURE behv OF CNT4 IS BEGIN PROCESS (RST,ENA,CLK) VARIABLE CQI :STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN IF RST='1' THEN CQI :=(OTHERS =>'0'); ELSIF CLK'EVENT AND CLK='1' THEN IF ENA ='1' THEN IF CQI < 15 THEN CQI:=CQI+1; ELSE CQI :=(OTHERS =>'0'); END IF; END IF; END IF; IF CQI =15 THEN COUT<='1'; ELSE COUT <='0'; END IF; OUTY <=CQI; END PROCESS; END behv; 3)用QuartusII对上述设计进行编译、综合、仿真,给出其所有信号的仿真波形和时序分析数据。 --------------------------------------------------------------------------------------------------

红外可逆计数器设计

《光电子技术》课程设计课题名称:红外可逆计数器设计 指导老师:曾维友

一、课题名称: 红外可逆计数器设计 二、设计任务: 设计一个红外可逆计数器,要求: 1、当一物体沿某一方向经过计数器时,计数器进行加一计数;而物体沿反方向经过计数器时,计数器进行减计数; 2、用数码管显示当前的计数值,最大计数值为1000; 3、设计方案经济、实用、可靠。 三、设计方案: 方案(1):红外发射管 + 一体化按收头:适用于发射管与接收管距离较大的情形 方案(2):槽型光电开关:适用于发射管与接收管距离较小的情形 方 波发生器 TSOP34838 38KHz 单片机系统 显示模块 单 片机系统 显示模块 Vcc

四、方案选择 由以上两种方案的设计框图可以看出:两种方案的唯一不同之处在于光电发射和接收装置,方案一釆用的是红外发射管加上一体化接收头,适用于发射管与接收管距离较大的情形,而且为了防止误动作,在光电发射部分加入了方波调制电路,因而具有较好的抗干扰能力;而方案二的电路比较简单,只用了一个槽型光电开关,外加两个限流电阻和一个反相器,这种电路适用于发射管与接收管距离较小的情形。考虑到越来越多的流水线上的产品和各种公共场所需要进行自动计数,而在这种情形下发射管与接收管距离一般都比较较大,加之方案一有较强的抗干扰能力。综合以上考虑,我们选择了方案一。 五、模块设计 1、方波发生电路 方波发生器的组成方式很多,可以用集成运放构成,可以用一些定时芯片构成,也可以用一些数字门电路构成。由于在数电课程中,我们已经学习了用555定时器构成的方波发生器,对此比较熟悉,电路也比较简单,而且性能良好,因此我们选择了用NE555构成的方波发生器。电路如下:

verilog HDL十进制加减法计数器报告

十进制加减法计数器 1.实验要求 (1)在Modelsim环境中编写十进制加减法计数器程序; (2)编译无误后编写配套的测试程序; (3)仿真后添加信号,观察输出结果。 2.设计程序如下 module decade_counter #(parameter SIZE=4) (input clock,load_n,clear_n,updown, input [SIZE-1:0]load_data, output reg [SIZE-1:0]q ); always @(negedge load_n,negedge clear_n,posedge clock) if (!load_n) q<=load_data; else if (!clear_n) q<=0; else //clock??? if(updown) q<=(q+1)%10; else begin if(q==0) q<=9; else q<=q-1; end endmodule 3.测试程序如下 `timescale 1ns/1ns module test_decade_counte; reg clock,load_n,clear_n,updown; reg [3:0]load_data; wire [3:0]q; decade_counter T1(clock,load_n,clear_n,updown,load_data,q); initial begin clock=0;clear_n=0;

#30 clear_n=1;load_n=0;load_data=7; #30 load_n=1;updown=0; #300 updown=1; #300 updown=0; #300 updown=1; #300 $stop; end always #10 clock=~clock; always @(q) $display("At time%t,q=%d",$time,q); endmodule 4.波形如下 5.测试结果如下 # At time 0,q= 0 # At time 30,q= 7 # At time 70,q= 6 # At time 90,q= 5 # At time 110,q= 4 # At time 130,q= 3 # At time 150,q= 2 # At time 170,q= 1 # At time 190,q= 0 # At time 210,q= 9 # At time 230,q= 8 # At time 250,q= 7 # At time 270,q= 6 # At time 290,q= 5 # At time 310,q= 4 # At time 330,q= 3

含异步清零和同步时钟使能的加法计数器设计

EDA实验报告书 姓名学号实验时间 课 题 名 称 含异步清零和同步时钟使能的加法计数器设计 实验目的1.学习计数器的设计、仿真和硬件测试方法; 2.进一步熟悉VHDL设计技术; 设计要求设计一个24进制含异步清零和同步时钟使能的加法计数器,具体要求如下: 1.清零端高电平时,信号输出为0;使能端高电平时可以计数; 2.本计数器为上升沿触发; 3.计数器的输出为两路信号,分别代表计数值的个位和十位;两路信号以BCD码输出。 设计思路 根据十进制使能端加法计数器设计24进制计数器,设计异步清零;清零端高电平时,信号输出为0;使能端高电平时可以计数。现根据书上设计出24进制计数器,再通过改进,变为两路输出BCD码。 设计原理图及源程序LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY nb IS PORT(CLK,RD,EN:IN STD_LOGIC; CQ,CP:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); COUT:OUT STD_LOGIC); END nb; ARCHITECTURE BBQ OF nb IS SIGNAL CG: STD_LOGIC_VECTOR(3 DOWNTO 0); SIGNAL CS: STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN PROCESS(CLK,RD,EN) BEGIN IF RD='1' THEN CG<="0000";

CS<="0000"; ELSIF CLK'EVENT AND CLK='1' THEN IF EN='1' THEN IF (CS="0010" AND CG="0011") THEN CG<="0000"; CS<="0000"; ELSIF CG="1001" THEN CG<="0000"; CS<=CS+1; ELSE CG<=CG+1; END IF; END IF; END IF; IF (CS="0010" AND CG="0011") THEN COUT<='1'; ELSE COUT<='0'; END IF; CQ<=CG; CP<=CS; END PROCESS; END BBQ; 仿 真 波 形 图 实 验 结 果

实验二含异步清零和同步使能的加法计数器

实验二含异步清零和同步使能的加法计数器 一、实验目的 1、了解二进制计数器的工作原理。 2、进一步熟悉QUARTUSII软件的使用方法和VHDL输入。 3、时钟在编程过程中的作用。 二、实验原理 二进制计数器中应用最多、功能最全的计数器之一,含异步清零和同步使能的加法计数器的具体工作过程如下: 在时钟上升沿的情况下,检测使能端是否允许计数,如果允许计数(定义使能端高电平有效)则开始计数,否则一直检测使能端信号。在计数过程中再检测复位信号是否有效(低电平有效),当复位信号起作用时,使计数值清零,继续进行检测和计数。 其工作时序如图3-1所示: 图3-1 计数器的工作时序 三、实验内容 本实验要求完成的任务是在时钟信号的作用下,通过使能端和复位信号来完成加法计数器的计数。实验中时钟信号使用数字时钟源模块的1HZ信号,用一位拨动开关K1表示使能端信号,用复位开关S1表示复位信号,用LED模块的LED1~LED11来表示计数的二进制结果。实验LED亮表示对应的位为‘1’,LED灭表示对应的位为‘0’。通过输入不同的值模拟计数器的工作时序,观察计数的结果。实验箱中的拨动开关、与FPGA的接口电路,LED灯与FPGA的接口电路以及拨动开关、LED与FPGA的管脚连接在实验一中都做了详细说明,这里不在赘述。 数字时钟信号模块的电路原理如图3-2所示,表3-1是其时钟输出与FPGA的管脚连接表。

图3-2 数字时钟信号模块电路原理 信号名称对应FPGA管脚名说明 DIGITAL-CLK A14数字时钟信号送至FPGA的A14 表3-1 数字时钟输出与FPGA的管脚连接表 按键开关模块的电路原理如图3-3所示,表3-2是按键开关的输出与FPGA的管脚连接表。 图3-3 按键开关模块电路原理 信号名称FPGA I/O名称核心板接口管脚号功能说明S[0]PIN_AF5JP1_91‘S1’ Switch S[1]PIN_AH6JP1_93‘S2’ Switch S[2]PIN_AH7JP1_95‘S3’ Switch S[3]PIN_AH8JP1_97‘S4’ Switch S[4]PIN_AG10JP1_99‘S5’ Switch S[5]PIN_AG11JP1_101‘S6’ Switch S[6]PIN_AH14JP1_90‘S7’ Switch S[7]PIN_AG7JP1_92‘S8’ Switch

十进制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;

含异步清零和同步加载的十进制加法计数器的设计

实验二设计含异步清零和同步使能的加法计数器 1.实验目的 学习计数器的设计、仿真和硬件测试,进一步熟悉VHDL设计技术。 2.实验内容或原理 在Quartus II 上对源程序进行编辑、编译、综合、适配、仿真。说明源程序各语句的作用,详细描述其功能特点,给出其所有信号的时序仿真波形。RST为异步清零信号,高电平有效;CLK是锁存信号;EN为计数使能信号,LOAD为加载控制信号,DATA为预置数。当时钟信号CLK、加载控制信号LOAD、复位信号RST或时钟使能信号EN中任一信号发生变化,都将启动进程语句PROCESS。此时如果RST为‘0’,将对计数器清零,即复位,这项操作是独立于CLK的,因而称异步。 3.实验仪器 (1)GW48系列SOPC/EDA实验开发系统 (2)配套计算机及Quartus II 软件 4.实验步骤 (1)完成含异步清零和同步使能的加法计数器的VHDL描述,并对其进行波形仿真,确定结果正确。 (2)建议选择实验电路模式5对该设计进行硬件验证。 5. VHDL仿真实验 (1)为此工程新建一个文件夹。启动QuartusII软件工作平台,新建工程设计文件名为。在新建的VHDL模型窗口下编写源程序代码如下: LIBRARY IEEE; USE CNT10 IS PORT (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; ARCHITECTURE behav OF CNT10 IS BEGIN PROCESS(CLK,RST,EN,LOAD) VARIABLE Q:STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN IF RST='0' THEN Q:=(OTHERS=>'0');

实验九-可逆计数器的功能测试及应用电路

实验九可逆计数器的功能测试及应用电路 实验目的: (1)掌握可逆计数器74LS191、74LS191、74LS192、74LS193的逻辑功能及使用方法。 (2)熟悉可逆计数器实现任意进制的数码倒计时电路的工作原理。 实验仪器与器件: 实验箱一个;双踪示波器一台;稳压电源一台;函数发生器一台。 74LS191、74LS191、74LS191或74HC48、74LS00和74LS04。 实验内容: 1测试74LS190和74LS191的逻辑功能,并用数码管显示,验证是否与表2-9-4一致,分别画出各单元的电路图,写出各自的状态 实验原理:单时钟74LS191二进制同步加/减计数器的功能表如下: 表2-9-4 单时钟74LS191二进制同步加/减计数器的功能表 单时钟74LS191二进制同步加/减计数器是十进制的,其他功能与74LS191一样。它的有效状态为0000~1001. 实验电路: 如图所示是减计数时当计数器的状态变为0时的电路状态:RCO=0,MAX/=1; MIN

实验现象与结果: 该结果是当CTEN =0,D L =1,D U /=1时,A B C D Q Q Q Q 的 波形图; 该结果是当CTEN =0,D L =1,D U /=1时, RCO 与MIN MAX /的波形图

需要说明的是:当CTEN= D L=1时,电路保持原来的状态。 2测试74LS192和74LS193的逻辑功能,并用数码管显示,验证是否与表2-9-3及2-9-5一致。画出测试电路图。 实验原理: 双时钟74LS192同步十进制可逆计数器的功能表如下表所示,74LS192是十进制计数器。 表2-9-3双时钟74LS192同步十进制可逆计数器的功能表 输入输出工作 状态 U CP UP D CP DOW N CLR D L DCBA A B C D Q Q Q Q U TC D TC **H H ****0000 H H 异步 清零**L L 1001 1001 H H 异步 置数 H ↑L H ****1001→ 0001→ 0000H H H L 减法 计数 ↑H L H ****0000→ 1000→ 1001H L H H 加法 计数 双时钟74LS193二进制同步加/减法计数器的功能表如下表所示,74LS193是一个十六进制的计数器。

异步清零和同步时钟使能的4位加法计数器

Error (10482): VHDL error at CNT4.vhd(18): object "COUNT" is used but not declared异步清零和同步时钟使能的4位加法计数器 一、实验目的: 学习计数器的设计、仿真和硬件测试,进一步熟悉VHDL设计技术。 二、实验原理 本试验中所要设计的计数器,由4位带异步清零的加法计数器和一个4位锁存器组成。其中,rst是异步清零信号,高电平有效;clk是计数时钟,同时也是锁存信号;ENA为计数器输出使能控制。当ENA为‘1’时,加法计数器的输出值加载于锁存器的数据端,;当ENA为‘0’时锁存器输出为高阻态。当计数器输出“1111”时,进位信号COUT为“1”。 三、实验内容 1)画出该计数器的实体框图0 2)用VHDL语言完成上述计数器的行为级设计。 ------------------------------------------------------------------------------------------------------- 程序: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY CNT4 IS

PORT (RST,CLK,ENA:IN STD_LOGIC; COUT: OUT STD_LOGIC; OUTY :OUT STD_LOGIC_VECTOR(3 DOWNTO 0)); END CNT4; ARCHITECTURE behv OF CNT4 IS BEGIN PROCESS (RST,ENA,CLK) VARIABLE CQI :STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN IF RST='1' THEN CQI :=(OTHERS =>'0'); ELSIF CLK'EVENT AND CLK='1' THEN IF ENA ='1' THEN IF CQI < 15 THEN CQI:=CQI+1; ELSE CQI :=(OTHERS =>'0'); END IF; END IF; END IF; IF CQI =15 THEN COUT<='1'; ELSE COUT <='0'; END IF; OUTY <=CQI; END PROCESS; END behv; 3)用QuartusII对上述设计进行编译、综合、仿真,给出其所有信号的仿真波形和时序分析数据。 --------------------------------------------------------------------------------------------------

同步计数器的设计实验报告文档

2020 同步计数器的设计实验报告文档 Contract Template

同步计数器的设计实验报告文档 前言语料:温馨提醒,报告一般是指适用于下级向上级机关汇报工作,反映情况,答复上级机关的询问。按性质的不同,报告可划分为:综合报告和专题报告;按行文的直接目的不同,可将报告划分为:呈报性报告和呈转性报告。体会指的是接触一件事、一篇文章、或者其他什么东西之后,对你接触的事物产生的一些内心的想法和自己的理解 本文内容如下:【下载该文档后使用Word打开】 同步计数器的设计实验报告 篇一:实验六同步计数器的设计实验报告 实验六同步计数器的设计 学号: 姓名: 一、实验目的和要求 1.熟悉JK触发器的逻辑功能。 2.掌握用JK触发器设计同步计数器。 二、实验仪器及器件 三、实验预习 1、复习时序逻辑电路设计方法。 ⑴逻辑抽象,得出电路的状态转换图或状态转换表 ①分析给定的逻辑问题,确定输入变量、输出变量以及电路的状态数。通常都是取原因(或条件)作为输入逻辑变量,取结

果作输出逻辑变量。 ②定义输入、输出逻辑状态和每个电路状态的含意,并将电路状态顺序编号。 ③按照题意列出电路的状态转换表或画出电路的状态转换图。通过以上步骤将给定的逻辑问题抽象成时序逻辑函数。 ⑵状态化简 ①等价状态:在相同的输入下有相同的输出,并且转换到同一次态的两个状态。 ②合并等价状态,使电路的状态数最少。 ⑶状态分配 ①确定触发器的数目n。因为n个触发器共有2n种状态组合,所以为获得时序电路所需的M个状态,必须取2n1<M2n ②给每个电路状态规定对应的触发器状态组合。 ⑷选定触发器类型,求出电路的状态方程、驱动方程和输出方程 ①根据器件的供应情况与系统中触发器种类尽量少的原则谨慎选择使用的触发器类型。 ②根据状态转换图(或状态转换表)和选定的状态编码、触发器的类型,即可写出电路的状态方程、驱动方程和输出方程。 ⑸根据得到的方程式画出逻辑图 ⑹检查设计的电路能否自启动 ①电路开始工作时通过预置数将电路设置成有效状态的一种。 ②通过修改逻辑设计加以解决。

实验十进制加减法计数器

实验1 十进制加减法计数器 实验地点:电子楼218 实验时间:2012年10月19日指导老师:黄秋萍、陈虞苏 实验要求:设计十进制加减法计数器,保留测试程序、设计程序、仿真结果 1.设计程序: module count(EN,CLK,DOUT,F,RST); input EN,CLK,F,RST; output [3:0]DOUT; reg [3:0]DOUT; always@(posedge CLK) begin :abc if(EN) if(!RST) if(F) begin :a DOUT=DOUT+1; if(DOUT==10) DOUT=0; end //END A else begin :b DOUT=DOUT-1; if(DOUT==15) DOUT=9; end else DOUT=0; else DOUT=DOUT; end endmodule 2.测试程序 `timescale 10ns/1ns module test_count; wire [3:0] DOUT; reg EN,F,RST,CLK; count M(EN,CLK,DOUT,F,RST); initial begin :ABC CLK=0; EN=0;

RST=1; F=1; #100 EN=1; #200 RST=0; #1500 F=0; #3000 $stop; end always #50 CLK=~CLK; initial $monitor("EN=%b,F=%b,RST=%b,DOUT%D",EN,F,RST,DOUT); endmodule 3.测试结果 # EN=0,F=1,RST=1,DOUT x # EN=1,F=1,RST=1,DOUT x # EN=1,F=1,RST=1,DOUT 0 # EN=1,F=1,RST=0,DOUT 0 # EN=1,F=1,RST=0,DOUT 1 # EN=1,F=1,RST=0,DOUT 2 # EN=1,F=1,RST=0,DOUT 3 # EN=1,F=1,RST=0,DOUT 4 # EN=1,F=1,RST=0,DOUT 5 # EN=1,F=1,RST=0,DOUT 6 # EN=1,F=1,RST=0,DOUT 7 # EN=1,F=1,RST=0,DOUT 8 # EN=1,F=1,RST=0,DOUT 9 # EN=1,F=1,RST=0,DOUT 0 # EN=1,F=1,RST=0,DOUT 1 # EN=1,F=1,RST=0,DOUT 2 # EN=1,F=1,RST=0,DOUT 3 # EN=1,F=1,RST=0,DOUT 4 # EN=1,F=1,RST=0,DOUT 5 # EN=1,F=0,RST=0,DOUT 5 # EN=1,F=0,RST=0,DOUT 4 # EN=1,F=0,RST=0,DOUT 3 # EN=1,F=0,RST=0,DOUT 2 # EN=1,F=0,RST=0,DOUT 1 # EN=1,F=0,RST=0,DOUT 0 # EN=1,F=0,RST=0,DOUT 9 # EN=1,F=0,RST=0,DOUT 8 # EN=1,F=0,RST=0,DOUT 7 # EN=1,F=0,RST=0,DOUT 6 # EN=1,F=0,RST=0,DOUT 5

停车场计数器的设计..

电子课程设计 ——停车场计数器 学院:太原科技大学华科学院 专业:电气工程及其自动化 班级:电气122202H班 姓名:白健 学号:201222050201 指导老师:黄庆彩 2014年12月

目录 一、设计任务与要求 (1) 二、总体框图 (2) 三、选择器件 (3) 四、功能模块 (14) 五、总电路图 (19) 心得 (20) 参考文献 (20)

停车场计数器 一、设计任务与要求 1.1 设计目的: (1)掌握可任意预置的定时显示报警系统的构成、原理与设计方法; (2)熟悉集成电路的使用方法。 1.2 基本要求: (1)能够预置初始车位数,能够显示空余车位,从0-999; (2)在出口处里、外分别安装两个传感器(比如红外传感器)A、B,每当有车辆进入时将顺序经过A、B,每当有车辆出去时将顺序经过B、A,设计电路能够区分此车辆进入还是出去。 (3)进入车辆,空余车位数减1;车辆离去,空余车位数加1。 二、总体框图

设计思路 我设计的停车场电子车位计数器电路主要有四大部分,即车位空位数计数部分、译码部分、显示部分和提示灯提示部分。进出的每辆车都会触发门口的红外遥感,给计数器一个脉冲信号,使计数器进行加减计数,由显示部分将所剩余的车位数显示出来,提示灯部分提示是否有空余的车位。 (一)计数部分:用三个可逆计数器74LS192联级组成100进制可逆计数电路,预置最大值999; (二)译码部分:用七段式译码器74LS48将8421BCD码转化为共阴极七段数码管需要的逻辑状态二进制代码; (三)显示部分:采用共阴极七段式显示器,将二进制码以十进制的形式显示出来; (四)提示灯部分:由555定时器组成的单稳态触发器驱动灯泡发光,提示空车位数为0。 三、选择器件

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