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

基于FPGA的待分频时钟实现任意分频

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-5-31 14:19 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

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

x
更新,更新一下25分频的奇数分频代码,待分频时钟频率50M。/ a+ f: i3 \4 ]  Q/ H
/ E( g5 ^# c, _# \

: ^' u& D/ h3 H, l) @//------------------------------------------------------------------
, q' |5 K+ b, d5 Nmodule        FretoFre(  F; C# }0 Q# ]
        input                                                                        clk,2 I: v0 `" t# d/ K
        input                                                                        rst_n,
% [% R4 Z  u' @  ?7 X7 D- e4 `5 ]  p2 L9 G( y

( `  S5 s! d' R6 c! n8 G        output                                                                        clk_2M,
6 ?9 K* G1 g* A4 F        output                reg                        [4:0]                                Count  K) a3 T! S' b7 w  a0 F
);
5 x+ I  h: X: y) s( ]3 ]
. _& W" M  H2 ~% }$ p% f
* ~2 Q& D* h4 t; O$ \) |4 ^
//——————————————————————————————————————————————————————————————————-————————————————1 L. l% K5 C$ M* p
//                                分频时钟计数器. R2 a; [1 A) z9 L
//reg                        [4:0]                                Count;! R' Y* D( t8 {
always @ (posedge clk or negedge rst_n)                       
; C1 C( }" i& Bbegin) e  Q2 o, g" J8 i
        if(!rst_n)
! J- |" M# B5 m8 Z+ i' a1 I3 [                Count <= 'd0;7 Z5 |, v% X) j7 G. T4 r& W
        else if(Count >= 5'd24)' R' |* i9 w" q' J
                Count <= 'd0;
! g" L' K: N/ \* P        else+ ?4 h. j$ v/ A1 u& R! A, r. m
                Count <= Count + 1'b1;" w2 Z" {3 o0 s: `  h2 I- N
end) M0 A* p6 q1 U) ~
! k4 V( D5 {0 f; z5 P

/ w# A- V7 P1 l* Z//———————————————————————————————————————————————————————————————————————————————————
* h) }) m# U. i) _//        根据带分频时钟上升沿触发产生12/25占空比的时钟
# U8 T, n4 S; `( `reg                                                                Pos_clk;. z9 r0 u8 Z0 W2 P
always @ (posedge clk or negedge rst_n)
5 x: \5 m4 ?. W5 S6 ~! wbegin
8 y( |/ x* `+ A  k  Z2 h- d+ m        if(!rst_n), H. S5 K* L6 q9 x& h' p
                Pos_clk <= 'd0;  k2 ^3 u: |' i% X
        else if(Count >= 5'd13), R) j) H) n( A3 q& S, Y
                Pos_clk <= 1'b1;( k+ `2 ^, o5 ~; L3 i: F
        else
. ~. j) D( H' L) Y                Pos_clk <= 'd0;
6 j3 ^7 y  X# g3 z. F7 Pend! N$ D. o) ]5 E

( B# F* O+ V" C% @, z
0 N: v8 j& M, y9 E. o
//———————————————————————————————————————————————————————————————————————————————————
% V- W: ^* ?& x+ a( _7 N& L//根据待分频时钟下降沿触发产生12/25占空比的时钟0 S% @4 t! V2 \( _, V0 b; I0 E  @
reg                                                                Neg_clk;
  g& s1 F$ |: B/ X7 I" kalways @ (negedge clk or negedge rst_n): k3 m# n5 J" e
begin
% A6 p' V/ N( l( O# @        if(!rst_n)1 L6 M2 }  r$ i& q: {8 c$ V
                Neg_clk <= 'd0;
2 W: q7 T! O/ K* e' ]        else if(Count >= 5'd13)
& q# p, [$ f- ~& C# b                Neg_clk <= 1'b1;
7 ~0 F( Y, k  Q" x3 M6 k. z        else
; ?0 I8 a9 U7 B                Neg_clk <= 'd0;
( G  d& k5 e  f! H$ u- F' j* q* Uend* x1 M0 g' z- x+ V# s

1 S3 }7 d) y" W1 v: Q$ D

% Z0 `; v* g. f' P$ k//———————————————————————————————————————————————————————————————————————————————————3 g( W+ P+ Q4 T8 O; g  C
//                        或运算2 x& P$ v3 Q+ J! i2 T
assign        clk_2M = Pos_clk | Neg_clk;
8 A2 L3 d8 X+ r1 v/ ]" J$ j6 h4 S2 B# F3 J) u) Z+ C1 s  o! \
) }' n. j* g9 C; A2 m
endmodule. d7 B% z% Y7 h
//------------------------------------------------------------------
$ N  u/ Q+ c6 R& L" u9 G; V
% @  g" N8 y+ m' u, k

# L* R, Z) N" I+ X. O$ kmodelsim仿真. G* M- R. C4 f, e& t- w, R

0 ?' q( b8 b! ?2 f7 o7 j

* p- i5 Z6 H+ o2 v7 K 4 k* g0 |& r6 h" c5 i9 M

3 [5 k) g. N+ _" q% i  L——————————————————————————————————————————————————————————————————/ q# D0 k: _+ f- K+ `. C# G7 o
今天晚上仔细阅读,发现写的很乱,不具备可读性和实验性。又在网上找了些资料,自己来写这个FPGA实现任意分频,看到一篇博客是利用DDS做到真正的任意分频。在误差允许的情况下对50Mclk进行任意分频也是可以的,而且开发时间短。) ?9 f" p; R  e; ?" }; y$ N! m
游客,如果您要查看本帖隐藏内容请回复
( D, Q) A; p# F9 k" c

! Z6 m6 H, s) `; C

该用户从未签到

2#
发表于 2019-5-31 15:46 | 只看该作者
回复看看隐藏内容
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-8-4 10:02 , Processed in 0.140625 second(s), 26 queries , Gzip On.

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

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

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