计数器模板
always @ (posedge sys_clk or negedge rst_n) begin
if (~rst_n) begin
cnt <=0;
end else if (add_cnt) begin
if (end_cnt) begin
cnt <= 0;
end else begin
cnt <= cnt+1;
end
end
end
assign add_cat = flag; //add_cat是+1条件
assign end_cnt = add_cat && cnt == x-1; //end_cnt是结束条件,即加了多少个
计数器合并
设计目的:检查到en有效时,o_a隔5的脉冲后输出7个高电平
设计思路:设计cnt1计数隔5脉冲,设计cnt2计数器计数7个高电平。其实这两个计数器可以合并用一个计数器。
计数器合并: 两个不同时计数的计数器可以合并为一个计数器。
计数器的划分
设计要求:检测到en后,dout隔一个时钟后输出4个高电平,这个动作重复4次