1 速度与面积
在综合层次速度和面积的优化将实现RTL将要利用的逻辑拓扑。对于FPGA来讲由于缺少后端知识,综合工具将主要执行门级优化。一般情况下更高的速度要求更高的并行性以及更大的面积,但是在某些特殊情况下并不是这样。因为FPGA的布局布线具有二阶效应。直到布局布线完成,工具才会知道器件的拥堵或者布线的困难,但是这时实际逻辑拓扑已经被提交,如果我们的优化选项设置为速度,那么当实现后器件过于拥挤而无法布局布线时,布局布线工具进而会产生附加逻辑,从而是实际速度更慢。因此当FPGA的资源利用率接近100%时进行面积的优化将获得更快的速度。
2 利用综合工具提供的资源共享选项,可以实现一些互不相容的而且类似的操作,某些时候可能会降低面积,例如
assign outdata=isel?idata1+idata2:idat2+idata3; 没有设置资源共享选项时实现如下:
打开资源共享设置后:
3 流水线、重新定时和寄存器平衡
a 寄存器平衡不应该用于非关键路径。
b 带有不同复位类型的相邻触发器会阻止寄存器平衡。
c 约束重新同步寄存器,使其不被其他寄存器平衡影响。
4 有限状态机的编译
采用标准编码的状态机会被编译器识别并且重新优化。
对于状态机,驱动异步输出时应该采用格雷码,格雷码产生如下图所示:
编译器会自动去除无用的状态,如果要求安全就别很高,打开安全模式,无效的状态产生时将会产生一个复位信号。
5 黑匣子,黑匣子被放在优化模块的网表或者布局图的坐席。它包含在实现流程中的较后的设计总。如果要求黑匣子时应该给出I/O的时序模型。
6物理综合提供综合和布局图之间的紧密联系。