华农FPGA实验_实验二 多功能计数器的设计

一 实验目的

1、熟悉利用Quartus II 9.0 软件开发数字电路的基本流程以及熟悉Quartus II软件的操作。

2、了解使用VHDL语言和原理图设计进行HDL描述的实现方法。

3、掌握多功能计数器设计的基本设计思路,软件环境参数配置,时序仿真,管脚分配,并且利用JTAG接口进行下载的常规设计流程。

4、掌握使用SIGNALTAP II进行硬件采样的具体过程。

二 实验前的准备

1、将红色的MODUL_SEL拨码开关组合的1、2、8拨上,3、4、5、6、7拨下,使数码管显示当前模式为:C1.

2、检查JTAG TO USB转换接口和USB连接线的连接,并且将JTAG线连接到核心板上的JTAG接口(核心板的第二个十针的插口)处。

三 实验要求

设计一个含异步清零RST,同步使能EN,进位输出COUT的4位12进制计数器的VHDL实现方案。

四 实验内容

1、建立CNT12B的工程,利用VHDL语言设计多功能计数器的程序文件,并对其进行编辑,保存,综合。给出各语句的作用的说明。

2、给出VHDL设计方案的时序仿真波形,根据波形详细描述设计的功能特点。

3、锁定好引脚(附录1),并进行硬件下载测试。采用板载时钟(50MHz,PIN_L1)输入作为计数器时钟。LED会有连续亮度的区别。此外,在实验箱上测试所有控制信号和输出信号,包括异步清零RST(PIN_AB17)、同步使能EN(PIN_U18)的同步和异步特性。

4、将实验过程和实验结果的测试详细过程写进实验报告。

(1)5、使用SIGNALTAP II 对此计数器进行实时测试,要求,计数器时钟输入采用50MHz,使用ENA的上升沿作为触发,采样深度128,采样时钟采用50MHz时钟输入。将实时采集的数据图形写进实验报告,并对其作出分析。

五 电路设计、仿真与硬件分析

1)多功能计数器的设计代码

多功能计数器的设计代码图

(2)时序图与端口设置

多功能计数器时序图(已添加端口)

端口设置

3)仿真波形

(4)RTL

分析:功能是在每个上升沿时递增计数,当计数值达到11时,将复位为0。同时,当计数值达到1011时,输出一个进位信号。各端口的作用如下:

CLK

时钟信号,用于触发计数器的工作。如果时钟信号(CLK)的上升沿发生,并且使能信号(EN)为高电平,则执行递增操作。当计数值达到11时,将其重置为0。

RST

复位信号,当为低电平('0')时,将计数器复位为0。如果复位信号(RST)为低电平,将变量 Q 的所有位设置为0。

EN

使能信号,当为高电平('1')时,允许计数器递增。如果时钟信号(CLK)的上升沿发生,并且使能信号(EN)为高电平,则执行递增操作。当计数值达到11时,将其重置为0。

DOUT

进位输出,当计数值达到1011时为高电平('1'),否则为低电平('0')。判断是否达到1011,如果是,设置进位信号(COUT)为高电平,否则为低电平。将当前计数值赋给输出端口 DOUT。

COUT

进位输出,当计数值达到1011时为高电平('1'),否则为低电平('0')。判断是否达到1011,如果是,设置进位信号(COUT)为高电平,否则为低电平。将当前计数值赋给输出端口 DOUT。

PROCESS

基于时钟的进程,当时钟信号(CLK)发生上升沿时执行。

VARIABLE Q

一个4位的变量,用于存储当前计数值。

(5)实际硬件运行

多功能计数器实际硬件运行

(6)signalTAP II运行结果

多功能计数器signalTAPII运行结果

逻辑分析仪运行分析:

此代码运行之后可以正常运行,每个时钟上升沿时递增,允许复位和使能控制;输出的4位计数值在0到11之间循环,并在达到11时复位为0,而且进位信号在计数值达到1011时为高电平,否则为低电平。

实验结论

由仿真试验可知:

(1)设计功能正确,成功实现了异步清零RST,同步使能EN,进位输出COUT的四位十二进制计数器;

(2)EN为使能控制端,当其为高电平时正常计数,当其为低电平时暂停计数;RST为清零控制端,当其为低电平时清零;CLK为时钟信号,由时钟信号的上升沿触发计数;

(3)从仿真结果图可以发现,凡当计数从9计到10时有一毛刺信号,如果器件速度高,且系统优化恰当,不一定会出现毛刺。

由硬件测试可知

(1)硬件测试成功,成功绑定了对应端口。

(2)从Signal Tap II结果观察得知,可以实现计数,完成了实现了对应电路的设计。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值