七分频,即将输入信号的频率变为原来的七分之一,本文用计数器实现输入信号的七分频
一、画出七分频的时序逻辑

实现原理:
- 图中用到了两个计数器,一个上升沿触发一个下降沿触发。且每当计数器从0计数到6时,复位。
- 中间信号sig1、sig2分别在cnt1、cnt2等于1-4时为高电平
- 这样,把sig1和sig2两个信号相与,就能得到一个频率为clk/7 的输出信号div_7。
七分频就这样实现了
二、用verilog描述以上逻辑
1. 两个计数器的描述
reg [7:0] cnt1;
reg [7:0] cnt2;
//定义一个时钟从0到6 上升沿
always @(posedge clk or negedge rst_n) begin
if(~rst_n)begin
cnt1 <= 8'b0;
end
else if (cnt1 == 8'd6)begin
cnt1 <= 8'b0;
end
else begin
cnt1 <= cnt1 + 8'b1;
end
end
//定义一个时钟从0到6 下降沿
always @(negedge clk or negedge rst_n) begin
if(~rst_n)begin
cnt2 <= 8'b0;
end
else if (cnt2 == 8'd6)begin
cnt2 <= 8'b0;
end
else begin
cnt

本文通过计数器详细阐述了如何使用Verilog实现七分频,即降低输入信号频率至原来的七分之一。主要步骤包括:1) 设计包含两个计数器的时序逻辑,当计数达到6时复位;2) 利用中间变量sig1和sig2,在特定计数值时产生高电平;3) 将sig1和sig2相与得到最终的七分频信号div_clk_7;4) 创建TB文件进行验证。

7727

被折叠的 条评论
为什么被折叠?



