set_switching_activity -static 0.2 -toggle_rate 20 -period 1000 [all_inputs]
这时,翻转率设置的节点是输入,响应的翻转率为:Tr = 20/1000 = 0.02GHz
·SAIF文件:即switching activity interchange format,开关行为内部交换格式文件,用于仿真器和功耗分析之间交换信息的ASCII文件(美国标准信息交换码文件)。
·VCD文件,即value change dump 文件,它也是一个ASCII文件,文件中包括了一个设计中所选择变量值的变化信息,这些信息通过在仿真testbench中使用“VCD系统函数”得到。
在Synopsys的低功耗设计流程里面,可以使用power compiler(包含在design compiler中)进行功耗分析。我们可以通过命令来定义节点的翻转率的方法来分析功耗----称为无向量(vector-free)分析法;由于SAIF文件和VCD文件可以通过对电路仿真得到,它们是仿真接口格式文件,因此也可以通过VCS仿真器产生SAIF或者VCD文件的方法分析功耗。当要分析的结果比较精确时,一般使用SAIF文件或者VCD文件(VCD文件通过相关命令转换成SAIF文件,而后使用SAIF进行功耗分析)。
(2)无向量分析法
前面我们说到,无向量分析法就是通过命令来定义节点的翻转率的方法来分析功耗。我们先来逐条学习需要什么的命令,然后在后面进行举例说明无向量分析法的脚本。
在学习设置翻转率的命令之前,我们先来了解一下什么是设计的传播起点和黑盒子。我们定义传播的起点为设计的输入端和黑盒子的输出端,黑盒子是指在工艺库里没有功能描述的单元(比如ROM 、RAM或者一些IP核)。例如对于下面的设计中:
上面的设计有三处起点,一处是整个设计的输入端,一处是黑盒子的输出端,还有一处是某个单元的输入端。最后一处的起点不包含在我们的定义中,但是我们也把它当做起点,因为这是被标记了翻转率,这个我们后面进行讲解。