如何写代码减少逻辑单元的使用数量?.doc
《如何写代码减少逻辑单元的使用数量?.doc》由会员分享,可在线阅读,更多相关《如何写代码减少逻辑单元的使用数量?.doc(2页珍藏版)》请在三一文库上搜索。
1、如何写代码减少逻辑单元的使用数量?以下都是我在编程时发现的问题,总结一下,怕以后忘了,以我目前的水平不明白类似关键路径,组合数目什么高深理论,这都是我从实际中学到的,比看书学的印象深刻得多.慢慢来吧,我想我以后也会明白那些高级的东西了!一.尽量不要使用大于小于这样的判断语句, 这样会明显增加使用的逻辑单元数量 .看一下报告,资源使用差别很大.例程:always(posedge clk)begincount1=count1+1;if(count1=10000000)feng=1; /no_ringelse if(count1=90000000)beginfeng=0; /ringcount1=0
2、;endend /这么写会用107个逻辑单元/ 如果把这句话if(count1=10000000)改成大于小于,报告中用了135个逻辑单元二.一定要想尽办法减少reg寄存器的长度上次把30:0改到50:0,报告里逻辑单元从100多直升到2000多!太吓人了,至于为什么我就不知道了哈!三.case语句里一定要加default if一定要加else如果是组合逻辑的设计,不加default或else的话,不能保证所有的情况都有赋值,就会在内部形成一个锁存器,不再是一个纯粹的组合逻辑了,电路性能就会下降.例如:case(a,b)2b11 e=b;2b10 e=a;endcase/不加default,虽然只关心a=1时的结果,但是a=0的时候,e就会保存原来的值,直到a变为1/那么e要保存原来的值,就要在内部生成锁存器了.四.尽量使用Case语句 而不是if-else语句复杂的if-else语句通常会生成优先级译码逻辑,这将会增加这些路径上的组合时延用来产生复杂逻辑的Case语句通常会生成不会有太多时延的并行逻辑五.组合逻辑的always块中,要注意所有的输入全部放入敏感变量表里比如:always(a or b)beginout=(abc);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 如何 代码 减少 逻辑 单元 使用 数量
链接地址:https://www.31doc.com/p-3421726.html