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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
错误使用派生时钟对逻辑时序的影响  s, }- ]9 h2 b8 D6 ]

+ |# Q9 U- v2 Z6 C3 ^2 S0 }4 o

8 X4 Q6 p8 F+ ]$ t4 g3 n- k
项目代码编译后打印如下信息:

& k' I5 A: m* ^
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)

& R4 d! s  Q! G( P7 F
信号由MCLKN2DSP这条通道限定了时针的最高速度只能到67.47MHz
: s- [( X9 R+ V5 R  f
查看相关代码中存在如下代码段:

+ B. E/ C* R$ j5 H0 ~) z
always @( posedge CLK48M )

# c# Y& d) `  X. a/ A! p& X
         begin

+ x2 @* g9 O! b; m
                   CLKDIV<= CLKDIV + 1;                            //clock divider
2 B5 h4 C. n, u8 E3 x' z) F
         end
8 D9 X; N3 h  `! S& ?9 u
always @(posedge CLKDIV[5])        
5 e/ ^" J( ]7 M) g4 ]5 r2 q
         begin
! l5 y1 m6 `+ {  d: H- ]( K+ }/ N
                   MCLKB3<= MCLK_EXT;

  O; ?6 M1 f4 A3 l9 z9 x
                   MCLKB2<= MCLKB3;
* v& O7 y" e* K8 g: N
                   MCLKB<= MCLKB2;
4 r" }! I$ P/ n
                   MCLK<= MCLKB | MCLKB2 | MCLKB3;

1 L9 M# o% q9 U5 b: i2 I8 q
         End

0 @1 o# A2 [3 |9 |4 ^& n( o
该代码段是对MCLK_EXT做一个简单的防抖处理,相当于使用CLK48M衍生的一个时钟CLKDIV[5]

# a; T, J& d1 O; A7 {4 b
MCLK在其它模块中又使用CLK48M系统时钟做了一次锁存,于是相当于在两个CLK48M时钟之间要完成CLKDIV[5]的转换,再用CLKDIV[5]的上升沿去触发MCLK的转换,再输出到目的寄存器。此过程占用时间较长,而CLKDIV[5]所耗的时间显然是多余的。
- S( N# {4 B* I4 m; O2 i
修改代码后如下:
& a( X3 E( ?4 C2 d# n
always @( posedge CLK48M )
! h) m2 |5 O$ d* I8 |1 k: _
         begin

( }+ s5 x; G- x
                   CLKDIV<= CLKDIV + 1;                            //clock divider
# G# i6 w+ p* A  Q. ~1 R- T2 S+ b
                   if(CLKDIV == 6'b100000)

3 x& o) R. h3 i' v: l8 o, p
                            begin

. ?) }# S$ X8 B8 s' {/ [
                                     MCLKB3<= MCLK_EXT;

+ F! h9 t: b% A" b4 i7 f# b
                                     MCLKB2<= MCLKB3;
4 J8 D  z' C: ], D8 n5 z8 M
                                     MCLKB<= MCLKB2;
6 j5 u7 b2 ~; g; P( Q8 e5 I
                                     MCLK<= MCLKB | MCLKB2 | MCLKB3;

2 ^# W( V% C9 L. z0 `" |% J
                            end

& Y8 B. Z  Y) K* a  R
         end
+ R, v" y( D6 L% C( r
游客,如果您要查看本帖隐藏内容请回复

$ D" I$ c- t" F6 o8 x. `
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

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

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

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

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