计数器架构
理论知识
规范
- 三要素 初值 加1条件 结束值
三要素确定一个计数器,逐一考虑。eg,下图添加on信号,作为加一条件 on信号也是单周期信号的延展信号 - 初值为0所有计数器从0开始计数,便于阅读(减少代码的阅读量)就不用阅读计数器的定义部分啦,可以快速看出计数了多少次
- 结束值为0使得计数器循环重复使用计数器记完就清零 在最后一个加一条件的时候清零。end_cnt 也是在说最后一个加一条件
- 数值意义cnt = x - 1 加一条件有效的时候,数到了x下
- 取值格式
根据计数器产生信号的时候, 要数x下然后变化(拉高)
assign dout = (add_cnt)&&(cnt==x-1); - 结束条件
同时满足加一条件,结束值时x-1的格式;
(无论多么经验丰富的工程师,对于边界条件总要花心思来考虑) - 取值范围
范围限定 边界问题考虑 使用>= < 两种符号。
range(0,8)
for(i=0;i<8;i++)
比如取前7个数 cnt>=0 && cnt<7;
从10开始 数16个 cnt>=10 && cnt<10+16; - 计数框架
向框架对齐
向计数器直接对其 防止一环扣一环
先建立框架 再加其他信号