微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 怎样让计数器从0开始?

怎样让计数器从0开始?

时间:10-02 整理:3721RD 点击:

  1.                 if(rst = '1') then
  2.                         cnt <= "000";
  3.                 elsif(clk'event and clk = '1') then
  4.                         cnt <= cnt + 1;
  5.                 end if;

复制代码


大概代码是这样  系统复位rst=0后,cnt会直接变成1
我想让cnt从0开始,而不是从1开始,请问有什么办法吗?因为每一个cnt的数值控制着其他逻辑,我想让系统从0控制的逻辑开始工作,而不是从1控制的逻辑工作。
除了让rst=1时  cnt<="111" 这种方法外?
先谢谢各位啦

把第一个语句改成rst=0,同时将rst到下降延列入敏感列表即可。
看来小编是新手,错误说明:这两个语句有重复执行到情况,首先按照上升延出发条件,条件触发时rst已经为1所以两个if条件同时满足,所以cnt为1

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top