TA的每日心情 | 开心 2019-11-19 15:19 |
---|
签到天数: 1 天 [LV.1]初来乍到
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
verilog模块优化
! e9 h/ I2 m- z
' C4 j# G- J9 K J3 E! Q: Z1、资源共享: . ]. a8 a" l" @3 f+ W
当进程涉及到共用ALU时,要考虑资源分配问题。可以共享的操作符主要有:关系操作符、加减乘除操作符。通常乘和加不共用ALU,乘除通常在其内部共用。
$ x& \( x; P& g: a2、共用表达式: 7 \1 M: ?, M. l
如:C=A+B; 2 }4 z1 \8 S5 T% f; e
D=G+(A+B);
0 a; x- J! X6 Y0 n$ I, i两者虽然有共用的A+B,但是有些综合工具不能识别.可以将第二句改为:D=G+C;这样只需两个加法器. ( w& t& j/ p) k. x
3、转移代码: 0 s& f0 w1 \0 C
如循环语句中没有发生变化的语句移出循环. 3 @! _1 B$ T3 E) B. O! D
4、避免latch:
0 K/ T' s8 G( w0 E, V& G( o* m! G两种方法:1、在每一个IF分支中对变量赋值。2、在每一个IF语句中都对变量赋初值。 ' n9 n' T4 }8 o y9 u# N
5:模块:
9 p% Z W4 C5 m) z. v综合生成的存储器如ROM或RAM不是一种好方法,只是成堆的寄存器,很费资源。最好用库自带的存储器模块4 v! Z: S( h3 q, n% D2 T7 ]
|
|