作业1:计数器仿真实验作业

该博客详细介绍了计数器的异步高电平复位和同步高电平复位两种方法。通过手工绘制的RTL设计图、Quartus生成的电路图及波形仿真截图,展示了计数器在复位后的计数过程。异步复位在复位信号变高时立即执行,而同步复位则在时钟有效上升沿且复位信号为高时执行。最后,作者对比了两种方法在波形仿真和RTL图中的不同。
摘要由CSDN通过智能技术生成

实验内容

作业要求

第一种方法:异步高电平复位

手工绘制的电路结构RTL设计图

  • 思路:本题计数器需要用到的RTL符号有2个4位寄存器、2个双路选择器、2个加法器、2个比较器
    • 异步高电平复位:复位信号只要变高电平就立即执行复位操作。CNT(计数值)预置初值为零;CNT_VAL_MAX(计数最大值)预置初值4’b0110(即CNT_VAL_min)。
    • 判断CNT与CNT_VAL大小,若CNT>=CNT_VAL,则双路选择器选通输出4’h0给CNT寄存器的输入端;否则CNT计数+1再将其通过双路选择器选通输出送入CNT寄存器的输入端。如下图框内①
    • 此外,当CNT>=CNT_VAL时,CNT_VAL计数+1并与9(即CNT_VAL_MAX)比较:若CNT_VAL>=9,则双路选择器选通输出4’h6给CNT_VAL寄存器的输入端;否则再将CNT_VAL原值送回CNT_VAL寄存器的输入端。如下图框内②
  • 手工绘制RTL图:

    异步手工RTL

Quartus扫描生成的电路RTL图

quartus生成RTL图

计数器的波形仿真截图

  • 计数器在电路复位后会循环的从0值递增计数到最大值,计数最大值是一个循环变化的过程,计数器复位之后,第一次计数最大值是6,然后是7、8、9,然后计数最大值又变成6,如此往复循环,计数过程如下图所示。

    循环计数过程

  • 异步高电平复位:复位信号只要变成高电平就执行复位操作,如下图所示。

    异步高电平复位

计数器代码

module cnt_circle_0to9(
  CLK   ,   // clock
  RST   ,   //reset
  CNT);   // output
input CLK;//clock
input RST;//reset,
output [
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值