1 面积 -- RTL级别
在RTL编码中减小设计面积。
估计设计中使用资源的数量。知道哪部分占用了较大面积。
1 加减乘除移位等都会产生较大的面积。
触发器、加法器、乘法器的使用注意,触发器数量由功能决定,很难减少,由组合逻辑决定,对应的RTL代码是各种操作符。
2 多bit 会加倍使用资源,在对信号进行操作前,看是否只对需要的部分比特操作。
3 如果使用复杂的运算符,可以考虑资源共享编写RTL。 逻辑共用
2 功耗 -- RTL级别
RTL编码中考虑功耗。
与电路的工作频率f,该点的电容,该点电路的翻转次数,电压值的平方成正比。
在RTL级主要考虑尽量降低 电路的翻转频率。
主要措施:
1 门控时钟 : 在时钟路径上增加逻辑门对时钟进行控制,使电路的部分逻辑在不需要进行工作时停止时钟树的翻转,而不影响原本的逻辑状态。
2 增加使能信号 : 使得部分电路只有在需要工作的时候才工作。
3 对芯片的各个模块进行控制,在需要工作时才工作。
4 除了有用信号和时钟的翻转会消耗功耗,组合逻辑产生的毛刺也会大量消耗功耗。但是,毛刺在设计中无法避免,只有减少毛刺在电路中的传播,才可以减小功耗。在设计中把产生毛刺的电路放在传播路径的最后,另外可以使用一些减小毛刺的技术。
3 低功耗设计
系统与架构级别: 多电压设计(电压的动态管理) --- 动态电压频率的调节 ---系统时钟的分配 ---算法与ip选择
RTL级 : 并行与流水线(面积换速度)---- 资源共享与状态编码 ----操作数隔离 ----门控时钟
门级电路功耗优化: 动态功耗优化(时序优化后提供电路开关行为)--静态优化(漏电流)多阈值电压
门级层次设计方法--电源门控
4 RTL级低功耗设计
1 并行化
面积换速度。常用于数字信号处理部分,可以降低系统工作频率,从而可能降低功耗。
2 资源共享
如果实现计算较多的逻辑,一定要共享计算的结果,避免在不同的位置重复相同的计算。
3 去除多余的转换 -- 操作数隔离
如果某个转换发生后没有后续的操作,数据不会被采样,信号也不会变化,那么就属于多余的转换,要避免。
4 选择合适的编码 -格雷码,独热码
格雷码相邻位置只有一位不同,使用得当可以有效降低功耗。
独热码可以省去复杂的译码逻辑,使用得当可以降低功耗。
5 门控时钟
6 使能信号,对部门电路在需要工作时才工作。
对于有限状态机,可以通过低功耗编码来减小电路的翻转。 --格雷码,独热码
考虑全局的功耗控制。
RTL编码时,注意消耗功率较多的电路。
在综合中,使用门控时钟和其他减小功耗的优化技术。 多路选择器。
RTL的布线: 过于集中产生热点。
5 面积与速度
设计面积最小,运行频率最高。 ----对立统一的矛盾体。
科学的设计目标:
在满足设计时序要求的前提下(设计最高频率的要求),占用最小的芯片面积。
在所规定的面积下,使设计的时序余量最大,频率最高。
面积与速度互换:
一个设计如果时序余量较大: 通过功能模块复用减小整个设计所消耗的芯片面积,速度的优势对面积的节约。
一个设计的时序要求很高,普通方法达不到设计频率。
可以通过将数据流串并转换。
逻辑复制
乒乓操作
对芯片输出模块处对数据进行并串转换。