华为FPGA设计高级技巧xilnx篇-阅读笔记2
设计技巧
设计技巧主要从处理速度和面积着手,其中处理速度与面积的一个原则是:向关键路径(部分)要时间,向非关键部分(部分)要面积
为了获得更高的速度,应当尽量减少关键路径上的LUT级数,尽量压缩线延时;为了获得更小的面积,在非关键路径(部分)上尽量优化电路结构,压缩面积
合理选择加法电路
串行进位与超前进位
串行进位加法结构如图
超前进位加法器结构
由上图可以知道串行进位加法结构的面积较小,但速度较慢,超前进位加法结构虽然速度较快,但是面积相较来说较大。另外FPGA底层结构可知,进位链是FPGA专有的资源,因此通过FPGA专有的资源设计,比用逻辑设计得到的串行进位加法速度要快很多。
使用圆括号处理多个加法器
控制设计结构的另一种方法是使用圆括号来定义逻辑分组。
例如 z<=A+B+C+D;
电路 结构如图:
用圆括号重构后的加法如下:
Z<=(A+B)+(C+D);
电路结构如图:
上面两种方法在速度和面积上都有差别
第一种方法:面积小,但速度较慢。但是,如果信号D是关键路径,其他信号是非关键路径;或者,设计中关键路径与A,B,C,D无关,应当采用这种方法。
第二种:面积较大,但是速度较快。如果对A,B,C,D的时序都要求比较苛刻,应当采用这种方法。
IF语句和Case语句:速度与面积的关系。
if语句指定了一个优先级编码逻辑,而case语句生成的逻辑是==并行的,不具有优先级,&#