Verilog设计分频器(面试必看)

分频器是指使输出信号频率为输入信号频率整数分之一的电子电路。在许多电子设备中如电子钟、频率合成器等,需要各种不同频率的信号协同工作,常用的方法是以稳定度高的晶体振荡器为主振源,通过变换得到所需要的各种频率成分,分频器是一种主要变换手段。
    早期的分频器多为正弦分频器,随着数字集成电路的发展,脉冲分频器(又称数字分频器)逐渐取代了正弦分频器。

下面以Verilog HDL 语言为基础介绍占空比为50%的分频器。

1、偶分频

  偶分频电路指的是分频系数为 2、4、6、8 ... 等偶数整数的分频电路,我们可以直接进行分频。
   例如下面 divider.v 中,对输入时钟进行6分频,即假设clk 为 50MHz ,分频后的时钟频率为 (50/6) MHz。程序如下:

设计代码:

Verilog设计分频器(面试必看)

Verilog设计分频器(面试必看)

1 //rtl 2 module divider( 3 clk, 4 rst_n, 5 clk_div 6 ); 7 input clk; 8 input rst_n; 9 output clk_div; 10 reg clk_div; 11 12 parameter NUM_DIV = 6; 13 reg [3:0] cnt; 14 15 always @(posedge clk or negedge rst_n) 16 if(!rst_n) begin 17 cnt <= 4'd0; 18 clk_div <= 1'b0; 19 end 20 else if(cnt < NUM_DIV / 2 - 1) begin 21 cnt <= cnt + 1'b1; 22 clk_div <= clk_div; 23 end 24 else begin 25 cnt <= 4'd0; 26 clk_div <= ~clk_div; 27 end 28 endmodule

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpfzfz.html