1、分析
基于寄存器的计数器比较常见,时钟上升沿加1即可;基于D触发器的计数器,需要进行状态映射,将计数器的各位对应到各个触发器上,本质即为状态机的次态设计。
2、设计
以4进制计数器为例,使用D触发器实现该功能;
为实现4进制计数器,需要2个D触发器,状态编码如下:
cnt:00-01-10-11
Q1Q0:00-01-10-11
| Q1Q0 | Q1_nQ0_n |
| 00 | 01 |
| 01 | 10 |
| 10 | 11 |
| 11 | 00 |
进一步得到状态方程:
Q0_n = ~Q0;
Q1_n = (~Q1&Q0) | (Q1&~Q0);
3、验证
代码:
`timescale 1ns / 1ps
module d_cnt(
input clk,
input rst_n,
output [1:0]cn

本文介绍了如何利用D触发器设计计数器,重点在于4进制计数器的设计,包括状态映射和状态方程的建立。以4进制计数器为例,通过2个D触发器,状态编码为00-01-10-11,并给出了Q0和Q1的状态转移方程。最后提到了设计验证阶段,包括仿真和电路设计。
最低0.47元/天 解锁文章
1537





