1)逻辑条件判断“A==B”和“A!=B”全部换成“!(A^B)”和“A^B”
2)复杂的逻辑条件判断全部单独用一个时钟去判断,如:
if(XXXXXXXXXXXXXXXXXXXX)
改为如下:
reg Flag;
Flag <= XXXXXXXXXXXXXXXXXXXX;
if(Flag)
这种大小判断略微还好一些,对于减法等运算一定不能在if条件中直接计算,否则会导致很差的逻辑时序;
3)如果模块数据是经过较为复杂的运算得到的,采用寄存器输出。
1)逻辑条件判断“A==B”和“A!=B”全部换成“!(A^B)”和“A^B”
2)复杂的逻辑条件判断全部单独用一个时钟去判断,如:
if(XXXXXXXXXXXXXXXXXXXX)
改为如下:
reg Flag;
Flag <= XXXXXXXXXXXXXXXXXXXX;
if(Flag)
这种大小判断略微还好一些,对于减法等运算一定不能在if条件中直接计算,否则会导致很差的逻辑时序;
3)如果模块数据是经过较为复杂的运算得到的,采用寄存器输出。

被折叠的 条评论
为什么被折叠?