Advanced FPGA Design Architecture,Implementation and Optimization学习之面积结构和功耗设计
一、面积结构设计
1.折叠流水线可以优化在流水线级复制逻辑的流水线设计的面积。“折叠流水线”的方法是与“拆开环路”相反的操作,是一种面积和速度互换的方法。
2.共享逻辑资源有时要求专门的控制电路来决定哪些元件是到特定结构的输入。在有些应用中,常常对资源的输入有更复杂的变化,为了复用逻辑,某些控制可能是必须的;当共享逻辑比控制逻辑更大时,控制可以直接用来逻辑复用。
3.资源共享
这里的资源共享,不是指由FPGA的布局布线工具执行的低层次优化,而是指高层次的结构资源共享,其中不同的资源在横跨不同的功能范围内共享。
对于面积是主要要求的紧凑性设计,搜索在其他模块中有类似计数部件的资源,可以把它们放到层次上的全局位置,在多个功能范围直接共享。
4.不合适的复位和置位策略可以产生不必要的大的设计和抑制一些面积优化,我们要根据FPGA内部的底层结构来分析我们所要采用的是同步复位/置位、异步复位/置位,还是不要复位/置位。
优化的FPGA资源在不相容的复位分配到它时将不被利用,但利用一般的元件实现其功能时将要占用更多的资源。
DSPs和其他多功能资源一般对复位策略的变化是不灵活的;当利用同步复位时,综合工具能够利用FPGA器件中可用的DSP核,但是,利用与器件中可用的复位不同时,大量的逻辑要产生来实现异步复位。
复位RAM通常是欠佳的设计实践,特别是复位还是异步的情况。
二、功耗结构设计
在CMOS技术中,动态功耗与门和金属引线的寄生电容充放电有关,在电容中消耗电流的一般方程式是
I = V × C × f
其中I是总电流,v是电压,C是电容,f是频率
因此,为了减少驱动电流,必须减少这三个关键的参数。在FPGA设计中,电压通常是固定的,只有电容和频率可以控制。电容C直接与随时被触发的门数量以及连接这些门的布线长度有关,频率f直接与时钟频率有关。
1.时钟控制
在同步数字电路中降低动态功耗的最有效和广泛使用的技术是动态禁止在特定区域中的时钟,在数据流中这个区域不需要在特定级激活。我们推荐的方法是:利用触发器的时钟时能引脚,或利用全局时钟的多路选择器MUX。
诸如时钟时能触发器输入或全局时钟多路选择器等时钟控制资源应该代替直接时钟选通来使用。时钟选通是减少动态功耗的直接手段,但是在实现和时序分析方面会产生困难。
时钟偏移
由于信号可能在同一时钟沿通过第二级和第三级传播(图3-2),这将引起电路的突然失效,因此,在执行时序分析时必须考虑时钟偏移。注意到,时钟偏移与时钟速度无关这一点是非常重要的。这种“跳过”(fly-through)问题将以完全相同的方式出现,而与时钟频率无关。
时钟线必须从低偏移的全局资源中移去,并布线到选通逻辑。时钟选通可以引起保持的冲突,可能或不可能被实现工具校正。
时钟缓冲技术,它将提供使时钟树适当平衡的能力,这类控制总是推荐 带逻辑元件的时钟选通。
2 为了使输入器件的功耗最小化,最小化驱动输入的信号上升和下降时间。
3 总是端接不利用的输入缓冲器,从不让一个FPGA的输入缓冲器悬空着。
4 动态功耗随着核电压的平方减弱,但是降低电压对性能有负面影响。
5 双沿触发的触发器
由于功耗与信号触发的f成正比,高扇出网线的每个触发功能数量的最大化是所期望的。大多数类似的情况下,高扇出的网线是系统时钟,因此任何降低这个时钟频率的技术将对动态功耗有惊人的影响,双沿触发器允许设计者运行的时钟频率为原来的一半。
但是双沿触发器只能够在他们被提供作为基本元件时才可以使用。
6 采用串行的端接没有稳态电流的消耗。