d触发器构成环形计数器需要多少
1个回答
关注
展开全部
亲,首先我们需要分析基于寄存器的计数器比较常见,时钟上升沿加1即可;基于D触发器的计数器,需要进行状态映射,将计数器的各位对应到各个触发器上,本质即为状态机的次态设计。
咨询记录 · 回答于2021-10-31
d触发器构成环形计数器需要多少
亲,首先我们需要分析基于寄存器的计数器比较常见,时钟上升沿加1即可;基于D触发器的计数器,需要进行状态映射,将计数器的各位对应到各个触发器上,本质即为状态机的次态设计。
然,4进制计数器为例,使用D触发器实现该功能;为实现4进制计数器,需要2个D触发器,状态编码如下:cnt:00-01-10-11Q1Q0:00-01-10-11
得出代码:`timescale 1ns / 1ps module d_cnt(input clk,input rst_n,output [1:0]cnt );reg Q1,Q0;wire Q1n,Q0n;wire Q1_w,Q0_w;always@(posedge clk or negedge rst_n)begin if(!rst_n) begin {Q1,Q0} <= 2'b00; end else begin {Q1,Q0} <= {Q1n,Q0n}; endend assign Q0_w = Q0;assign Q1_w = Q1; assign Q0n = !Q0_w;assign Q1n = (!Q1_w&Q0_w)|(Q1_w&!Q0_w);assign cnt = {Q1,Q0};endmodule
亲,希望对您有所帮助呢
已赞过
评论
收起
你对这个回答的评价是?