//************************************************************************** 任意整数分频,占空比为 1:2 //************************************************************************** module div_clk //========================< 参数 >========================================== #( parameter DIV = 2 //分频系数(奇偶任意) ) //========================< 端口 >========================================== ( input wire clk , //时钟,50Mhz input wire rst_n , //复位,低电平有效 output wire div_clk //分频时钟 ); //========================< 信号 >========================================== reg [31:0] pos_cnt ; wire pos_clk ; reg [31:0] neg_cnt ; wire neg_clk ; //========================================================================== //== clk上升沿分频 //========================================================================== always @(posedge clk or negedge rst_n) begin if(!rst_n) pos_cnt <= 0; else if(pos_cnt == DIV - 1) pos_cnt <= 0; else pos_cnt <= pos_cnt + 1; end assign pos_clk = (pos_cnt < DIV/2) ? 0 : 1; //========================================================================== //== clk下降沿分频 //========================================================================== always @(negedge clk or negedge rst_n) begin if(!rst_n) neg_cnt <= 0; else if(neg_cnt == DIV - 1) neg_cnt <= 0; else neg_cnt <= neg_cnt + 1; end assign neg_clk = (neg_cnt < DIV/2) ? 0 : 1; //========================================================================== //== 奇偶判断后,输出正确的分频 //========================================================================== assign div_clk = DIV[0] ? (pos_clk & neg_clk) : pos_clk; endmodule
对应RTL:
参考:咸鱼IC
标签:分频,cnt,wire,clk,pos,整数,rst,任意 From: https://www.cnblogs.com/DOVI666/p/17921659.html