|  | 
 
| 
忠告一+ X; n% P2 d* v5 B% E$ D* R* Y5 w
x
EDA365欢迎您登录!您需要 登录 才可以下载或查看,没有帐号?注册  
 ! L$ P) v" ^; D+ L' w, c! k如果时序差的不多,在1NS以内,可以通过修改综合,布局布线选项来搞定,如果差的多,就得动代码。
 . F+ ?- V2 L) ?* D9 ^6 g& Q1 h8 V/ C  Y5 |
 忠告二: i$ g9 s% h4 e9 l6 l
 ( F4 z: j3 Y1 u. A" E; r' Z8 g
 看下时序报告,挑一个时序最紧的路径,仔细看看是什么原因导致,先看逻辑级数是多少?是哪种电路有问题,乘法器 或者还是RAM接口数据 先弄清楚哪儿的问题
 / H7 `6 I  W. v6 E2 X* Y% }" F0 N2 x6 W. h# p4 |1 @$ ?
 忠告三
 6 }/ J+ E" D' ^+ j5 A
 9 N% t8 f" ]' f, `7 H- |搞时序优化的话 插入寄存器是王道 但也要看具体情况 不一定都得插寄存器,插入寄存器效果不明显的话,先检查一下寄存器插入的位置,如果寄存器不是在关键路径的中间插入而是在某一端的话,确实不大明显5 Y$ \; B  n3 ^( B1 E1 F, d4 z
 9 Z6 L0 f% }2 T5 [4 Y
 忠告四& o+ I# \* A2 u
 1 Q8 b/ U; a8 w- ]: J& e% t9 d
 把关键路径找出来,看时序报告,看是什么原因导致频率上不去,如果是组合逻辑复杂,就优化逻辑或者复制逻辑,如果是DSP延迟大,就选多级流水的,只要想搞到150,就一定可以。- Y6 O0 i$ }" E3 B0 v' V$ \2 ]2 g5 t, s
 : T# s+ `* r+ X1 O
 忠告五
 4 _! |& K0 Y- ^9 b7 p  l; K' J* B+ ^; M: k( i) u, _
 看时序报告的时候,建议同时对照电路图一起看,这样最直观
 $ v9 r& h7 g3 ?6 f) g
 2 w0 X0 c' l$ A忠告六9 G. E* I, @$ S5 `9 A! N
 6 b8 s7 J: k& \7 L
 对照代码,自己把关键路径涉及部分的电路图画出来,然后根据时序要求,算一下要插多少寄存器,插哪儿合适
 h) `4 r; M4 O1 r3 U" N0 A, I9 L7 A9 U4 W
 忠告七
 0 `% n( L# {1 h8 ^0 Q- g& n3 v) M: H
 32BIT的比较器,进位链有点长,可以分段比较,分成4个8BIT的数据段去比,或者你分成两段,先比高16,插寄存器,再比低16,时序很好,如果想深入些,就自己手写一个比较器,不要调库。
 ; N7 l9 P0 @$ t
 - ^0 y4 K. c( H# Q; z忠告八; K) Q; r4 _! T7 Y8 m* V
 
 ' }9 j: a6 i- C+ Z8 d+ ]( O5 R5 W5 M多BIT的逻辑,时序上不去,通常都是进位链太长,通常做法就是打断进位链,建议看看计算方法或者数字算法之类的书,应该会有帮助7 v2 _" d& X/ X. h6 [
 
 | 
 |