|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
忠告一、、如果时序差的不多,在1NS以内,可以通过修改综合,布局布线选项来搞定,如果差的多,就得动代码。
) h- T8 c& A% m4 X9 a+ ?* T
3 I$ d, H: C7 ?( X( e' F忠告二、看下时序报告,挑一个时序最紧的路径,仔细看看是什么原因导致,先看逻辑级数是多少?是哪种电路有问题,乘法器 或者还是RAM接口数据 先弄清楚哪儿的问题0 B; i5 T. O" H; D; j$ Q: O
3 `7 R5 V4 S7 s% R忠告三、搞时序优化的话 插入寄存器是王道 但也要看具体情况 不一定都得插寄存器,插入寄存器效果不明显的话,先检查一下寄存器插入的位置,如果寄存器不是在关键路径的中间插入而是在某一端的话,确实不大明显2 ?! P7 L" j; ~8 b1 A1 B% J; ~
& B) X) M0 L8 K% U8 |- k6 T' ?忠告四、把关键路径找出来,看时序报告,看是什么原因导致频率上不去,如果是组合逻辑复杂,就优化逻辑或者复制逻辑,如果是DSP延迟大,就选多级流水的,只要想搞到150,就一定可以。$ a5 `; t" G, N# @. b
) l* r' i+ o' n0 h忠告五、看时序报告的时候,建议同时对照电路图一起看,这样最直观
; d! A8 u3 | b z, a# }& d. k/ d1 J o; C4 K A- I; A0 @3 h5 q
忠告六、对照代码,自己把关键路径涉及部分的电路图画出来,然后根据时序要求,算一下要插多少寄存器,插哪儿合适
- ~& H; i5 k% P6 t: Y! e; [8 I. O" ]: D% G1 ]. `% ^
忠告七、32BIT的比较器,进位链有点长,可以分段比较,分成4个8BIT的数据段去比,或者你分成两段,先比高16,插寄存器,再比低16,时序很好,如果想深入些,就自己手写一个比较器,不要调库。9 G( c" @; z$ N6 f. m
忠告八、多BIT的逻辑,时序上不去,通常都是进位链太长,通常做法就是打断进位链,建议看看计算方法或者数字算法之类的书,应该会有帮助
$ L# l( n& {, R, ]+ F& H% ?. i |
|