如何写代码减少逻辑单元的使用数量?

以下都是我在编程时发现的问题,总结一下,怕以后忘了,以我目前的水平不明白类似关键路径,组合数目什么高深理论,这都是我从实际中学到的,比看书学的印象深刻得多.慢慢来吧,我想我以后也会明白那些高级的东西了!

一....尽量不要使用"大于""小于"这样的判断语句, 这样会明显增加使用的逻辑单元数量 .看一下报告,资源使用差别很大.

例程:always@(posedge clk)
begin
count1=count1+1;
if(count1==10000000)
feng=1; //no_ring
else if(count1==90000000)
begin
feng=0; //ring
count1=0;
end
end //这么写会用107个逻辑单元

// 如果把这句话if(count1==10000000)改成大于小于,报告中用了135个逻辑单元

二.....一定要想尽办法减少reg寄存器的长度

上次把[30:0]改到[50:0],报告里逻辑单元从100多直升到2000多!!!太吓人了,至于为什么我就不知道了哈!

三....case语句里一定要加default if一定要加else

如果是组合逻辑的设计,不加default或else的话,不能保证所有的情况都有赋值,就会在内部形成一个锁存器,不再是一个纯粹的组合逻辑了,电路性能就会下降.

例如:case({a,b})

2'b11 e=b;

2'b10 e=a;

endcase

//不加default,虽然只关心a=1时的结果,但是a=0的时候,e就会保存原来的值,直到a变为1

//那么e要保存原来的值,就要在内部生成锁存器了.

四....尽量使用Case语句 而不是if--else语句

复杂的if--else语句通常会生成优先级译码逻辑,这将会增加这些路径上的组合时延
用来产生复杂逻辑的Case语句通常会生成不会有太多时延的并行逻辑

五...组合逻辑的always块中,要注意所有的输入全部放入敏感变量表里

比如:always@(a or b)

begin

out=(a&b&c);

如何写代码减少逻辑单元的使用数量?_设计制作_电源/新能源
36
71
0
35

相关资讯

  1. 1、《恶行之外》开机古天乐饰演老父亲为女儿复仇2355
  2. 2、袁冰妍新剧造型帅气又吸睛,搭档是顶流演员阵容,爆款剧指日可待2419
  3. 3、74岁“梅超风”近照曝光,身体硬朗衣着时尚,依然活跃在演艺圈4168
  4. 4、《一触即发》热播李扮“荣华”引粉丝追捧982
  5. 5、《扶摇》宗越明知扶摇就是真正的佛莲,却为何偏偏不告诉无极?4167
  6. 6、除了《无名之辈》,这些镜头下的小人物同样精彩炸裂3644
  7. 7、《碟中谍6:全面瓦解》中国首映发布会男神齐聚太庙1087
  8. 8、当红男星打拳击谁最帅气?鹿晗第八,张一山第二,第一是谁?1065
  9. 9、《非诚》“专属告白”成风痴情男遗憾成观众4099
  10. 10、雷神新片曝剧照,雨中半裸上身秀腹肌,这身材太完美了3898
全部评论(0)
我也有话说
0
收藏
点赞
顶部