|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
忠告一/ D$ q1 L, w% q* M+ N
1 p- l& `: N1 F& `如果时序差的不多,在1NS以内,可以通过修改综合,布局布线选项来搞定,如果差的多,就得动代码。/ V' ]% x# Q1 B4 H1 M
: \" r1 @3 p3 V1 E8 z7 a! L忠告二
; M/ W! k ]9 d4 K6 Z: s) f X+ O$ E' z# ]& i
看下时序报告,挑一个时序最紧的路径,仔细看看是什么原因导致,先看逻辑级数是多少?是哪种电路有问题,乘法器 或者还是RAM接口数据 先弄清楚哪儿的问题
7 M6 o. w( p& s8 ~! p% ]* g2 h l8 c0 L5 K/ t4 S+ e! {3 k, `1 d
忠告三
7 D8 f# z8 T4 G
- C5 q: h% ~0 K! l. m搞时序优化的话 插入寄存器是王道 但也要看具体情况 不一定都得插寄存器,插入寄存器效果不明显的话,先检查一下寄存器插入的位置,如果寄存器不是在关键路径的中间插入而是在某一端的话,确实不大明显- q1 a# U5 |( `
1 h& Y+ Q& @* C5 Q
忠告四$ l. a% X4 Q+ u8 P7 F- Z0 _
) `0 A6 w/ v* f: u把关键路径找出来,看时序报告,看是什么原因导致频率上不去,如果是组合逻辑复杂,就优化逻辑或者复制逻辑,如果是DSP延迟大,就选多级流水的,只要想搞到150,就一定可以。
8 {' c2 w9 Q/ P2 l P9 e- b9 V0 N7 ?; ]: d# R; M4 D
忠告五
; K2 l5 Y/ y. Z h6 a0 a5 T9 C4 p- I+ D, b5 L1 `. o
看时序报告的时候,建议同时对照电路图一起看,这样最直观
( s( ^& y7 m5 q+ `1 ?
+ k) ]' J; X& q7 A忠告六, s( {0 K- ?! q- A1 g9 R# H& c* j
" S. n1 ?+ v* h" D- u& ~! @8 N! ?& C对照代码,自己把关键路径涉及部分的电路图画出来,然后根据时序要求,算一下要插多少寄存器,插哪儿合适# [# T; d, E$ u& ]
0 b! t/ J9 E U; b& u# {. Z8 j1 j忠告七0 O, `1 B: l! q
# p* F. y& E( O' w9 D: h
32BIT的比较器,进位链有点长,可以分段比较,分成4个8BIT的数据段去比,或者你分成两段,先比高16,插寄存器,再比低16,时序很好,如果想深入些,就自己手写一个比较器,不要调库。
6 A! E! ^2 m6 [" h
* M) m+ J' S" L. A) C5 d忠告八) Y* A' m. K4 ] i+ Z6 @1 v
' N8 t+ y9 f( \- C, q" s2 u多BIT的逻辑,时序上不去,通常都是进位链太长,通常做法就是打断进位链,建议看看计算方法或者数字算法之类的书,应该会有帮助
. q% Q' Z1 Q/ U6 X, D4 h$ r |
|