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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
更新,更新一下25分频的奇数分频代码,待分频时钟频率50M。* ?9 o5 u" M' p# ]/ C2 I
7 O! p. |( \! i# S$ G; x1 a
1 I; Y4 Y  U. ^7 U$ i# W" X: o) F
//------------------------------------------------------------------) j* F8 v. p7 \0 x  J
module        FretoFre(8 B( X/ O( Q' }( I; ^9 q
        input                                                                        clk,! \1 M. p2 z& R& V" w6 w
        input                                                                        rst_n,
- b5 e/ k! U0 `+ [- C9 Z# [
" ]7 P5 V% s( I
( b" b8 o- j8 P% w% @
        output                                                                        clk_2M,
+ B+ @- s. m1 A4 d% I0 a+ {        output                reg                        [4:0]                                Count
% l1 o; n+ q7 t, m0 t, J: y. \);$ }- G3 l, W  }" s
* O# L5 o- O- s! G9 G0 w& a7 a

" f) D8 s. {3 Y& s$ g//——————————————————————————————————————————————————————————————————-————————————————6 o, O  s. e: z
//                                分频时钟计数器
- x6 U( \* {$ T' q1 f, `//reg                        [4:0]                                Count;" [, {& S! N# w2 L# P7 l
always @ (posedge clk or negedge rst_n)                        ! w% Z( j1 ^* Q4 ^- P& M# X
begin
% Y- G% H3 \1 o# ?3 F9 S        if(!rst_n)
/ S0 Z! i7 p. E* {                Count <= 'd0;
4 O( Z* ?4 m) u$ J0 @. A: a        else if(Count >= 5'd24)
: G& x/ `$ ~' W4 @' k9 Y7 g                Count <= 'd0;
) ?  v  K1 O# u5 S4 x        else( V9 I: Z) n6 @; _
                Count <= Count + 1'b1;
" i" @( W# a5 y3 T) D. bend; i' _/ f3 n) g0 i( x5 W% o& G
+ V! _# c/ J' ]6 {1 ^
2 o3 H& R8 q& W- ^! _7 o
//———————————————————————————————————————————————————————————————————————————————————/ }: Y0 G' v/ A3 x( h+ N
//        根据带分频时钟上升沿触发产生12/25占空比的时钟
; J2 T7 I  d5 [  T% r' @/ U! @reg                                                                Pos_clk;
3 ~$ v4 w$ l6 I; nalways @ (posedge clk or negedge rst_n)
, h+ A& I. e# F3 t, E0 }7 Abegin
7 J0 c" E: z9 p- Y3 y        if(!rst_n). K! r6 y. a0 E3 Q( L( ~
                Pos_clk <= 'd0;
5 n" N, c9 o3 R        else if(Count >= 5'd13)
# C' I; D9 H" G7 A4 U: q0 d6 ?                Pos_clk <= 1'b1;
: ~( _# h! f, s6 }. g        else
$ p) l; t" n6 w                Pos_clk <= 'd0;
, m. V1 X0 L5 j0 Pend4 q/ @6 v$ }" G& i

3 O2 h+ m2 U/ M- P6 f' K, f4 u) J' x
% H/ i2 P% s/ W, k7 n) R( b! n
//———————————————————————————————————————————————————————————————————————————————————1 Y* r1 Y; l" S! g6 e! v" h7 }* Y
//根据待分频时钟下降沿触发产生12/25占空比的时钟6 x! A0 B8 p  L- g+ D
reg                                                                Neg_clk;! L% r. R* p% }  D0 j, C
always @ (negedge clk or negedge rst_n)
5 c6 X& g* A4 t1 abegin3 k+ n1 J3 _$ ^2 a# N2 j
        if(!rst_n)! ?0 T) {  i4 n9 d3 n# _  ]- l
                Neg_clk <= 'd0;1 O. ?8 R$ J# n$ h0 Z" R3 F
        else if(Count >= 5'd13)
0 z) T$ k8 v5 t/ o6 C2 g                Neg_clk <= 1'b1;
- Q' h: f+ f  |" q+ }, o1 D7 _        else
, ?/ n, A! G1 Y3 ]                Neg_clk <= 'd0;, v+ v/ _/ c; d* g" @2 r
end+ K* m7 e" V# n' j  |7 e  d' }

% I/ o1 q8 X: U* W6 O
; ~7 g: v5 R2 g- R2 ~9 K0 Q4 _
//———————————————————————————————————————————————————————————————————————————————————
2 p: Q5 @2 Q* `/ k/ b' D9 U//                        或运算$ V) h$ E5 t8 ]$ K- F" O* q
assign        clk_2M = Pos_clk | Neg_clk;3 D/ ~& C' s3 M, c# ~2 r1 O

  [9 w' t; Q/ b6 r/ W9 G
& C, g  S) d6 P, \
endmodule
8 S( D& n: W# H" m2 S//------------------------------------------------------------------
0 c! E3 \( g* z& X: Q2 i
  z2 h$ q: S* r; J9 F- ]# ?

5 x8 v% m: q  S* c: o4 e0 n* {modelsim仿真1 g1 E7 T3 d; M4 I
9 b2 C. K0 t0 Y3 H
) t- g4 J3 T: b  ?

$ g' }. }7 Q' Z2 d* D! `0 Q7 O' {' n5 _
——————————————————————————————————————————————————————————————————6 K' z3 G1 e- q+ U
今天晚上仔细阅读,发现写的很乱,不具备可读性和实验性。又在网上找了些资料,自己来写这个FPGA实现任意分频,看到一篇博客是利用DDS做到真正的任意分频。在误差允许的情况下对50Mclk进行任意分频也是可以的,而且开发时间短。5 ?4 d* b0 _" {- I) m7 V, W
游客,如果您要查看本帖隐藏内容请回复

$ T5 Z' c$ d5 i0 v/ F8 P# t7 c# ~6 Y+ @- r6 U

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-10-10 06:30 , Processed in 0.156250 second(s), 26 queries , Gzip On.

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

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

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