1 / 40
文档名称:

数字电路低功耗设计(二).docx

格式:docx   大小:1,410KB   页数:40页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

数字电路低功耗设计(二).docx

上传人:非学无以广才 2020/3/9 文件大小:1.38 MB

下载得到文件列表

数字电路低功耗设计(二).docx

相关文档

文档介绍

文档介绍:前面学****了进行低功耗的目的个功耗的构成,今天就来分享一下功耗的分析。由于是面向数字IC前端设计的学****piler工具;更精确的功耗分析能够采用PT,关于PT的功耗分析能够查阅其它资料,这里不涉及使用PT的进行功耗分析。(1)功耗分析与流程概述上一个小节中讲解了功耗的构成,而且结合工艺库进行简要地介绍了功耗的计算。可是实际上,我们根本不可能人工地计算实际的大规模集成电路的功耗,我们往往借助EDA工具帮我们分析电路的功耗。这里我们就介绍一下EDA工具分析功耗的(普遍)流程,然后下一小节我们将介绍低功耗电路的设计和优化。①功耗分析流程的输入输出   功耗分析的流程(从输入输出关系看)如下所示:  上面的图中,需要四种东西: ·techlibrary:这个就是包含功耗信息的工艺库了,比较精确的库里面还应该包含状态路径(SDPD)信息,代工厂提供。·netlist:设计的门级网表电路,能够经过DC综合得到。·parasitic:设计中连线等寄生参数,比如寄生电容、寄生电阻,这个一般是后端RC寄生参数工具提供,简单的功耗分析能够不需要这个文件。·switchactivity:包含设计中每个节点的开关行为情况,比如说节点的翻转率或者能够计算出节点翻转率的文件。这个开关行为输入文件是很重要的。这个开关行为能够有不同的形式提供,因此就有后面不同的分析功耗的方法。(注意,不论使用什么方法进行功耗分析,功耗分析的时候,输入设计文件的都是门级网表文件) ②开关行为的一些概念  说到开关行为,我们前面的翻转率也是一种开关行为。另外我们还有其它关于开关行为描述的概念,这里我们经过举例说明,如下图所示:    ·翻转(次)数:逻辑变化的次数,上图中信号的翻转数为3. ·翻转率:前面也有相关介绍,这里重提一下,翻转率是单位时间内信号(包括时钟、数据等等信号)的翻转次数。上图中翻转率为3/6=(6个时间间隔内,翻转了3次) ·T1,T0:(节点)信号的逻辑值为1和0的持续时间,上图中T1为4,T0为2。·静态概率(static probability,SP):(节点)信号逻辑值为1的概率,上图中的SP为4/6=2/3。  ③开关行为(文件)情况表示前面我们说到了功耗的分析需要开关行为的情况,一般就是指每个节点的翻转率情况,我们有下面方式设置翻转率:  ·直接命令进行:例如命令: set_switching_activity  -static    -toggle_rate  20-period 1000[all_inputs]这时,翻转率设置的节点是输入,响应的翻转率为:Tr=20/1000=  ·SAIF文件:即switchingactivityinterchangeformat,开关行为内部交换格式文件,用于仿真器和功耗分析之间交换信息的ASCII文件(美国标准信息交换码文件)。  ·VCD文件,即valuechangedump文件,它也是一个ASCII文件,文件中包括了一个设计中所选择变量值的变化信息,这些信息经过在仿真testbench中使用“VCD系统函数”得到。  在Synopsys的低功耗设计流程里面,piler(piler中)进行功耗分析。我们能够经过命令来定义节点的翻转率的方法来分析功耗----称为无向量(vector-free)分析法;由于SAIF文件和VCD文件能够经过对电路仿真得到,它们是仿真接口格式文件,因此也能够经过VCS仿真器产生SAIF或者VCD文件的方法分析功耗。当要分析的结果比较精确时,一般使用SAIF文件或者VCD文件(VCD文件经过相关命令转换成SAIF文件,而后使用SAIF进行功耗分析)。  (2)无向量分析法前面我们说到,无向量分析法就是经过命令来定义节点的翻转率的方法来分析功耗。我们先来逐条学****需要什么的命令,然后在后面进行举例说明无向量分析法的脚本。在学****设置翻转率的命令之前,我们先来了解一下什么是设计的传播起点和黑盒子。我们定义传播的起点为设计的输入端和黑盒子的输出端,黑盒子是指在工艺库里没有功能描述的单元(比如ROM、RAM或者一些IP核)。例如对于下面的设计中:  上面的设计有三处起点,一处是整个设计的输入端,一处是黑盒子的输出端,还有一处是某个单元的输入端。最后一处的起点不包含在我们的定义中,可是我们也把它当做起点,因为这是被标记了翻转率,这个我们后面进行讲解。利用无向量分析法分析功耗时,我们不必提供设计内部节点的翻转率,而是经过设置起点的翻转率就行了。我们有两种方法设置翻转率,一种是经过设置翻转变量,一种是经过标记的方法。下面我们就来介绍如何经过这两种方法进行设置翻转率。①piler中,能够设置下面的两个翻转变量进行设置翻转率: power_default_toggle_rat