数字电路优化设计:如何降低面积和功耗?如何优化电路时序

1、如何降低功耗?

(1) 优化方向:
组合逻辑+时序逻辑+存储

(2) 组合逻辑:
(a)通过算法优化的方式减少门电路
(b)模块复用、资源共享

(3) 时序逻辑:
(a)尽量减少无用的register:算法优化、模块复用
(b)非功能性的register不使用带复位reg:数据打拍

(4) 存储:RAM
(a)拆分RAM---------降低功耗
(b)加大位宽降低访问频率-----------选用低主频高密度RAM---节约面积
(c)多端口RAM替换为单端口RAM------------降低面积和功耗
(d)采用共享RAM------------降低面积和功耗

2、如何降低面积?

(1) 优化方向:
组合逻辑+时序逻辑+存储

(2) 组合逻辑:
(a)通过算法优化的方式减少门电路
(b)模块复用、资源共享

(3) 时序逻辑:
(a)尽量减少无用的register
(b)非功能性的register不使用复位

(4) 存储结构:
(a)合理选择reg和RAM优化面积
(b)共享RAM
(c)合理选择不同规格的RAM---减少面积

3. 存储结构RAM和register如何选择?

存储模块实现选择:
1) 规模小的存储结构采用寄存器实现:规模小于8x32的FIFO
2) 规模较大的存储模块采用RAM实现:如大于8x32的FIFO

原因:
1)同等容量的register功耗比较大,大容量存储采用register功耗过大
2)小规模存储采用register面积开销比较少,并且相对于RAM功耗增加不明显
3)虽然Register的布线、DFT等额外开销比较大,最终面积不见得比SRAM小

4. 不同规格的RAM如何选择?
双端口RAM(1R1W) 读功耗小,面积较大 读activity较高时,能够有效降低功耗
单端口RAM(1rw) 写功耗小,面积较小 写activity较高时,能够有效降低功耗

RAM
1)拆分RAM、---------降低功耗
2)加大位宽降低访问频率-----------选用低主频高密度RAM---节约面积
3)将多端口RAM替换为单端口RAM------------降低面积和功耗
4)采用共享RAM------------降低面积和功耗

5. 如何优化电路时序?
1)通过算法优化--降低关键路径的组合逻辑层数
2)逻辑复制 ---------->改善扇出、优化路径延时
3)流水线设计------组合逻辑间插入寄存器--减少延时
4)优化关键信号------适用于少量关键信号
a. 香农扩展 ----------->将关键路径信号转换为选择器的控制信号,从而将关键路径信号调整到离输出很近的位置
b. 晚到达信号的优化
数据信号为慢信号 ------->优化if else 嵌套
控制信号为慢信号 -------->优化if else 嵌套

6. 资源优化方案

资源由std_cell和RAM组成,弄清楚已有Gares数量和RAM容量

std_cell
1)合并寄存器和逻辑,优化电路结构
2)模块间的数据传递 尽量 先汇聚复用数据通路再传递,后级模块接受数据后可以展开再使用,避免多路传递。

RAM
1)拆分RAM、---------降低功耗
2)加大位宽降低访问频率-----------选用低主频高密度RAM---节约面积
3)将多端口RAM替换为单端口RAM------------降低面积和功耗
4)采用共享RAM------------降低面积和功耗

7. 组合逻辑的优化技巧
1)流水线设计------组合逻辑间插入寄存器--减少延时
2)模块复用、资源共享 ------->降低面积和功耗
3)逻辑复制 ---------->改善扇出、优化路径延时
4)香农扩展 ----------->将关键路径信号转换为选择器的控制信号,从而将关键路径信号调整到离输出很近的位置


版权声明:本文为CSDN博主「IC小鸽」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/icxiaoge/article/details/79902507

最新文章