|
…… z=0: if(sel[0]) z=a; if(sel[1]) z=b; if(sel[2]) z=c; if(sel[3]) z=d; end …… |
…… case x(se1) 4b1xxx z=d; 4bx1xx z=c; 4bxx1x z=b; 4bxxx1 z=a; default z=1b0; endcase …… |
多if语句的RTL电路:
case语句的RTL电路
3.3.2 代码风格与综合的RTL电路的串/并行结构
组合逻辑RTL代码尽量采用并行结构,降低寄存器问组合路径的延迟是提高系统工作频率最主要的手段,因此在完成相同功能的前提下应该尽量使用并行逻辑。而代码风格与综合所获得的RTL结构有着密切的关系,并行结构的选择可有效改善耗时较多的运算模块,对比图5与图6的RTL电路,同是消耗3个加法器资源的情况下,不同代码风格产生的电路结构与时序性能有着很大的差别。
表达式z=(a+b)+(c+d)的RTL电路
表达式z=a+b+c+d的RTL电路
3.4 代码风格与综合后RTL电路占用的资源
由于运算单元需要占用比较大的逻辑资源,特别是复杂的运算单元,设计时需要考虑消耗的逻辑资源成本。此时,寻求资源共享就变得很重要。资源共享的主要思想是通过数据缓冲器或多路选择器的方法来共享数据通路中的工作单元。对于非并发的两个运算单元,可采用资源共享策略。逻辑共享与代码风格有着密切的关系,如图7、图8所示,在保证时序性能相同的基础上,采用不同的代码风格,可实现资源的共享,节省逻辑资源。
表达式z=(cond)?(a+b):(c+d)的RTL电路
表达式if(cond)z=a+b;else z=c+d的RTL电路
4. 结论
通过研究代码风格对综合结果的影响以及DC综合器的综合约束条件模型,设计者不仅可通过选择合理的Verilog语言风格来优化综合结果,还可以借助优异的综合工具(如DC等)对综合结果进行优化设计.对于复杂的设计,DC综合器对逻辑资源的优化率町达到30%.综合器可根据代码描述的系统功能要求和综合约束,尽最大可能地输出符合用户设计要求的功能、时序、功耗的结果,并输出多种性能报告和网表,从而缩短产品的研发周期.
转载:
www.dzkf.cn/html/EDAjishu/2007/0801/2450.html
www.dzkf.cn/html/EDAjishu/2006/0720/9.html
-----
1.综合就是逻辑综合器根据约束条件把硬件描述语言,转换为可与FPGA/CPLD的门阵列基本结构相映射的网表文件。
2.代码风格对综合效果有影响:可综合性,延时,复杂度等方面。
3.代码风格缺陷会导致综合时加入非预期的锁存器,产生异步电路。
注:本篇文章来自http://hi.baidu.com/gilbertjuly/blog/item/91ed601a071a2cdfac6e7589.html个人空间