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

错误使用派生时钟对逻辑时序的影响

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
错误使用派生时钟对逻辑时序的影响& u. {7 T" Z5 \; O* \: }
7 v: S; U& c3 n% Y' N& A

( k9 B, b! O) U- y+ b& z
项目代码编译后打印如下信息:
% p3 q* [. s9 A
Info: Clock "CLK48M" has Internalfmax of 67.47 MHz between source register "GLUE_LGC:glue|MCLK" anddestination register "img_lgc:img|N2DSP" (period= 14.822 ns)
  b& ~% `# d% P, u2 S4 V" v
信号由MCLKN2DSP这条通道限定了时针的最高速度只能到67.47MHz
+ w* w; l4 ~+ k( i7 {) d5 ~
查看相关代码中存在如下代码段:

* J0 P; Q) k6 c
always @( posedge CLK48M )
5 N' b, c9 y; k$ b1 Z; s
         begin
; I0 Y1 M; |  _- n' p2 }8 \
                   CLKDIV<= CLKDIV + 1;                            //clock divider
$ g% K" N' Z/ a0 i; c7 g1 T% K
         end

! J3 s) h" h( n
always @(posedge CLKDIV[5])        

" }: `# w* q- N; w
         begin
0 L# o5 ?6 g4 _& }5 I9 ]1 ~1 @
                   MCLKB3<= MCLK_EXT;

7 n  t  D" D( \+ V
                   MCLKB2<= MCLKB3;

9 w7 s& x: E3 ?3 S& a* @1 W
                   MCLKB<= MCLKB2;

, W; Y) O2 N' ~) }- P+ a
                   MCLK<= MCLKB | MCLKB2 | MCLKB3;

& P2 [& X+ }1 z4 }( m0 k3 ~" I. L* Y
         End

# R% |& D  s  R% c' p8 O, W
该代码段是对MCLK_EXT做一个简单的防抖处理,相当于使用CLK48M衍生的一个时钟CLKDIV[5]
0 h/ F0 y8 l# M# ?5 _6 q, R+ j1 I# B
MCLK在其它模块中又使用CLK48M系统时钟做了一次锁存,于是相当于在两个CLK48M时钟之间要完成CLKDIV[5]的转换,再用CLKDIV[5]的上升沿去触发MCLK的转换,再输出到目的寄存器。此过程占用时间较长,而CLKDIV[5]所耗的时间显然是多余的。
- \# ?. `  N& o+ w
修改代码后如下:

. w, C/ n8 A" E$ e
always @( posedge CLK48M )
0 j% V$ G9 e, F1 [' ~* M. u" ^4 P* V
         begin

$ E6 w, v- S3 y; d% n+ a  {
                   CLKDIV<= CLKDIV + 1;                            //clock divider

2 f9 V7 q: Y3 c$ M4 r7 r
                   if(CLKDIV == 6'b100000)
1 a  }% X' Y) l1 X' @
                            begin

* [" X7 `+ E; }' l2 k( r5 \
                                     MCLKB3<= MCLK_EXT;
1 `9 Q* a; F2 X0 K0 D* ?
                                     MCLKB2<= MCLKB3;
/ I4 `# ^: m/ R2 v* \
                                     MCLKB<= MCLKB2;

$ ?9 q/ o. P5 w, [5 F7 r" C
                                     MCLK<= MCLKB | MCLKB2 | MCLKB3;

7 {2 h( O# [. D0 \4 H* v* G. m* s
                            end

5 q7 H* y' [/ O; I% X' f7 w+ ~; t
         end

3 x$ n9 S5 V" b& t/ n8 Y$ Y4 Q
游客,如果您要查看本帖隐藏内容请回复

( y" D' ^6 [; |" v6 ^+ k& _; A
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-10-9 06:09 , Processed in 0.125000 second(s), 23 queries , Gzip On.

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

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

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