找回密码
 注册
关于网站域名变更的通知
查看: 465|回复: 1
打印 上一主题 下一主题

verilog 语言实现任意分频

[复制链接]
  • TA的每日心情
    开心
    2019-11-19 15:19
  • 签到天数: 1 天

    [LV.1]初来乍到

    跳转到指定楼层
    1#
    发表于 2018-11-15 13:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

    EDA365欢迎您登录!

    您需要 登录 才可以下载或查看,没有帐号?注册

    x
    verilog 语言实现任意分频2 ~7 L- d5 \. h
    分频器是指使输出信号频率为输入信号频率整数分之一的电子电路。在许多电子设备中如电子钟、频率合成器等,需要各种不同频率的信号协同工作,常用的方法是以稳定度高的晶体振荡器为主振源,通过变换得到所需要的各种频率成分,分频器是一种主要变换手段。早期的分频器多为正弦分频器,随着数字集成电路的发展,脉冲分频器(又称数字分频器)逐渐取代了正弦分频器。下面以Verilog HDL 语言为基础介绍占空比为50%的分频器。' s& f- f. `7 w
    % v# d( W3 U. a& m
    1 偶分频
    * w% k/ }/ m7 l# v: h- o- d
    : A7 e* Y  P5 o. o偶分频比较简单,假设为N分频,只需计数到N/2-1,然后时钟翻转、计数清零,如此循环就可以得到N(偶)分频。代码如下。
    : t! G! h( ?- k0 P/ C: S2 m4 [3 O5 w( o. d! Z: p7 k2 [
    module fp_even(clk_out,clk_in,rst);
    # |6 ?- K- z) \$ w/ O) o5 p$ b3 }) X
    4 g: H7 ?8 D" F, X) X( L; ^output clk_out;
    / K' w! X# o' D# M2 L
    % n1 A9 z+ v3 H3 ]input clk_in;
    8 r- K, q+ x! z* J2 F
    ) C' U: k2 b  X* }5 G) vinput rst;
    , a" g* w4 ]3 ]: W- ^, ?6 L$ |3 I6 v! i6 t" _, b0 W
    reg [1:0] cnt;; H( R6 {: l4 w8 a+ x4 L- N5 R

    * [/ B8 f+ S* s$ L0 zreg clk_out;
    8 X* d% S9 u# C4 B4 ?) N  q1 d4 O! p+ H' U7 `
    parameter N=6;0 H& Y6 a0 q, R4 }3 r
    $ l, G( R) I7 S  O( s2 ]0 c
    8 j3 L5 U- t6 B( N* d* R

    / ]# y4 ~2 C) }0 W/ y0 ~" V4 Talways @ (posedge clk_in or negedge rst)+ {9 [1 l# B* N. R* U

    1 _  S2 @7 |. S1 f6 sbegin3 r" j) Y, J# w$ q; E5 _
    8 f3 ]7 E; q) y8 f
    if(!rst)
    . I, I0 b. Y: ], B3 C
    8 O& W: _9 s% [: K% A. k7 H       begin
    ' X' Q6 k4 P4 Z6 S, t7 X( S1 [
    7 m* v) h" ]9 D6 ~8 Z& q              cnt <= 0;8 l5 f; v, |# C7 {
    ; b# z! u5 b5 l; v+ V+ u( J( `+ T
                  clk_out <= 0;. G$ H# u1 a! d5 U, v. y: \0 o
    " m4 v1 r% M8 j9 Y! l% q
           end! o! W( G9 \' Y0 \' f
    : C1 S% N' g& ^- w) A8 O( {% J6 i$ r
    else begin
    1 @7 ?' `& z8 U8 M  E, w
    2 E2 X3 C5 V& X9 S/ b. k& m        if(cnt==N/2-1)
    7 g1 @! O& [5 u9 U4 Q
    6 o. Z  e  |8 {, v3 d              begin clk_out <= !clk_out; cnt<=0; end
    ' @/ z) r. P' l: `# T
    " G0 |" ]2 N4 O' K  U- X9 a        else
    5 |. C$ j5 y: e, i  n; N
    2 A9 l) H- K9 D, S              cnt <= cnt + 1;; C- g/ n' T) u

    * v- x$ A7 a% D, S- k        end0 ~1 w) k$ y* [# e  h
    " A/ o9 d* l5 ?
    end
    $ q/ \2 O4 m2 p
    / f  J$ \' N) eendmodule
    ) Y3 s/ L1 }+ h
    # W6 p# K3 T1 F$ I3 r' F- g5 t. t可以通过改变参量N的值和计数变量cnt的位宽实现任意偶分频。

    & Q+ i- p8 C+ W4 }9 H* G+ t, z* y
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-10-27 03:19 , Processed in 0.125000 second(s), 23 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表