华为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语句生成的逻辑是==并行的,不具有优先级,==因此case语句速度较if语句速度较快。但是面积较if语句较高。另外if-else可以实现嵌套,但是不正确的使用嵌套会导致使用的设计需要更大的延时。在用IF语句实现对延时要求苛刻的路径时,应将最高优先级给最迟到达的关键信号(critical signal)。有时为了兼顾面积和速度,可以将IF和Case语句结合来用。

本文介绍了华为FPGA设计中的高级技巧,包括如何合理选择加法电路,理解IF语句和Case语句的速度与面积权衡,减少关键路径的逻辑级数,以及高效利用IOB资源。通过这些方法,可以在保证设计速度的同时,优化FPGA的面积利用率。

901

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



