小数分频设计实现(1.5分频,3.5分频,4.5分频)

1. 触发器+数据选择器+二倍分频模块实现

 

module freq_div #(
    parameter N = 3
) (
    input clk,
    input rst_n,
    output clk_out
);
    //counter
    reg [3:0] cnt ;
    always @(posedge clk or negedge rst_n) begin
        if (~rst_n) begin
            cnt <= 0;
        end else if (cnt == 2) begin
            cnt <= 0;    
        end else begin
            cnt <= cnt +1;    
        end      
    end
    // 
    reg div1, div2;
    // assign tff_en1 = (cnt == 0) ? 1 : 0;
    // assign tff_en2 = (cnt == 2 )? 1 : 0;

    always @(posedge clk ) begin
        if (~rst_n) begin
            div1 <= 0;
        end else if (cnt == 0) begin
            div1 <= ~div1 ;
        end
    end
    always @(negedge clk ) begin
        if (~rst_n) begin
            div2 <= 0;
        end else if (cnt == 2 ) begin
            div2 <= ~div2;
        end
    end
  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
小数的PLL,即锁相环的小数功能实现,可以通过以下步骤来完成。 首先,需要设置一个参考率,并且将其输入到相位比较器(Phase Comparator)。相位比较器会将参考率与VCO(Voltage Controlled Oscillator,即电压控制振荡器)的输出率进行比较。 接下来,根据相位比较器的输出,调节VCO的控制电压,使其输出的率逐渐向目标率靠近。这里的目标率就是我们想要的小数比。 在调节VCO的控制电压时,可以利用数字控制的方式来实现,即使用数字锁相环(Digital PLL)的技术。这样可以通过对VCO的控制电压进行数字调节,实现更精确的小数。 在调节过程中,可以通过一个率检测器(Frequency Detector)来实时监测VCO的输出率,以便及时调节控制电压,使其达到目标率。率检测器通常与相位比较器共同工作,进行率比较和判断。 最后,当VCO的输出率与目标率达到稳定状态时,即可完成小数的PLL实现。此时,VCO的输出率就是所需的分结果。 需要注意的是,小数的PLL实现中,参考率的稳定性、相位比较器的精度以及数字锁相环的算法设计等因素,都对分的精确度和稳定性起到重要的影响。因此,在具体的实际应用中,需要综合考虑这些因素,并做相应的优化和调整,以实现更精确和稳定的小数功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值