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

verilog 语言实现任意分频

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

    [LV.1]初来乍到

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

    EDA365欢迎您登录!

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

    x
    verilog 语言实现任意分频
    ! g" W! l  [9 ~% z( B6 k4 X
    分频器是指使输出信号频率为输入信号频率整数分之一的电子电路。在许多电子设备中如电子钟、频率合成器等,需要各种不同频率的信号协同工作,常用的方法是以稳定度高的晶体振荡器为主振源,通过变换得到所需要的各种频率成分,分频器是一种主要变换手段。早期的分频器多为正弦分频器,随着数字集成电路的发展,脉冲分频器(又称数字分频器)逐渐取代了正弦分频器。下面以Verilog HDL 语言为基础介绍占空比为50%的分频器。
    , [% v: T+ E2 ?. ^( n+ e( I$ D/ j% t' W: H: A3 x$ j. q# O
    1 偶分频7 ^: ?# c/ T- n- x, R

    + }* t$ V0 o2 a! ]偶分频比较简单,假设为N分频,只需计数到N/2-1,然后时钟翻转、计数清零,如此循环就可以得到N(偶)分频。代码如下。
    7 B. u% C' I& P' h
    3 b8 E) c$ v9 e. }; M  z6 F3 amodule fp_even(clk_out,clk_in,rst);
    : G" |$ f$ Y% D/ F/ K) d$ ^& E
    ) L. h( J) M. ^/ k  z+ soutput clk_out;* T1 z! c" }, S

    + I9 _' U$ R, s: {, `4 E! Oinput clk_in;
    + R3 M, m& Y5 ], o: L  U- |
    ) m$ Y6 y* ^7 i* Cinput rst;
    / v1 w' `7 J2 I3 P+ I  x3 E& @6 O  p1 Z
    reg [1:0] cnt;
    1 A  E" {0 G2 ~. |7 [2 L3 b
    " U5 _0 {% A, R; M! f7 }6 v& Rreg clk_out;9 l% _8 }$ E: n) n/ m# l
    0 D! {+ B& }4 A* m- H* Y6 |
    parameter N=6;7 i1 U- m3 s  z: f: r
    ( n, `! d, R( W( E

    2 A; H: t0 A( Z9 I
    - r* i0 o  U9 t, C8 q* C% h& Qalways @ (posedge clk_in or negedge rst)" ?0 y! |. l7 y% _
    ) K, Q) U: [# I3 ]0 C( K
    begin: C2 e# ]0 S; h6 h, X* R/ b! D
    8 T# C% R) N: |  `4 h
    if(!rst)
    % J$ s+ X$ c; l( R5 }1 L8 ~7 @% h; \
           begin% s  Z; k' W8 `  z

    1 P. k9 d. l6 k3 C              cnt <= 0;
    ' s. n6 ?9 |3 V/ n
    * O6 [! P. ^; z9 |0 ?7 X- J              clk_out <= 0;
    6 E% W, Y/ f- V5 B% d: r% ~8 g% U9 K
           end# Q1 q; [& |6 Q# _) {
    0 R) N9 n0 E2 n7 v4 R; t) Q
    else begin
    9 n; ~9 X# [& u7 W) o4 b4 W! l! v& a. o( u# v+ ]# k6 k, C
            if(cnt==N/2-1)
    ) F: b0 C3 O( C3 z( P) o
    * J+ S$ C. J; h; i7 w& p              begin clk_out <= !clk_out; cnt<=0; end
      |7 H; c* R: E+ M: e# g! ~6 N! O+ i! N/ e" q9 _$ i1 L
            else
    & U. W8 v+ J; s0 B
    8 e# @3 t" r9 X& p+ o              cnt <= cnt + 1;$ k$ i6 D  S. x8 I, M
    + j  _" ]4 ^( O% J: Q
            end, y) @* B0 p' j8 J  z
    & r  o/ @* V' |' y( K2 {( H. e* @  ^
    end) o) w) I+ e2 ^% A+ Z

    ' }9 T# g, h& _! |( E0 q' Gendmodule
    / D. d5 B1 F$ Q0 d! F8 D* L8 _* Y8 B" U/ P% C
    可以通过改变参量N的值和计数变量cnt的位宽实现任意偶分频。
    + e5 i: r$ `/ m. E% F
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-7-23 09:21 , Processed in 0.109375 second(s), 24 queries , Gzip On.

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

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

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