cadence upf低功耗流程的仿真验证

本文是记录项目过程中遇到的奇巧淫技,如有遗漏或者不足,请大家改正和补充,谢谢。

随着深亚微米技术的普及与发展,leakage功耗在整个功耗中的比重越来越大,比如45nm下,已经占到了60%以上,所以低功耗解决方案应运而生。目前已经有一套标准的低功耗设计流程,流程有CPF(cadence主导)和UPF(synopsys主导)两种,但技术趋势是UPF会大一统,所以本篇将为那些仍旧使用ncverilog而不是vcs仿真工具的苦逼们提供一些参考。
目前常用的降低低功耗的方法有四种:多电压域、时钟门控、电源关断和动态电压频率调整。其中的时钟门控对验证影响较小,大家应该都接触过,而剩下的三个对验证工作影响较大,需要用到各个EDA厂商的低功耗解决方案。

闲话就说这么多,那么cadence如何使用upf来实现低功耗流程的仿真验证呢?
第一步,先得有UPF文件,根据设计需求,使用TCL建立脚本,建立和管理独立电压源、确定隔离、建立电平漂移等,一般是设计或者后端人员书写,验证工程师当然也可以写,具体内容参考IEEE 1801。
第二步,仿真case中添加电源上电过程,使用$supply_on函数给相应VDD上电。
第三步,将UPF嵌入到仿真命令中,即:
irun -lps_1801 sim.upf -lps_assign_ft_buf -lps_iso_verbose ...
或者
ncvlog ...
ncelab -lps_1801 sim.upf -lps_assign_ft_buf -lps_iso_verbose ...
ncsim ...
相关options解释如下:
①-lps_1801 filename: 指定符合IEEE 1801标准的UPF文件;
②-lps_assign_ft_buf: 指定assign赋值被当做buffer对待,而非默认的wire,好处是从always-on domain进入和穿过power-down domain的信号被force成x,便于debug;
③-lps_const_aon: 对处在power-down domain并且直接和always-on domain相连接的tie-high或者tie-low constant,不使能corruption功能;默认不使用该功能;
④-lps_enum_rand_corrupt:对于用户定义的enum类型数据,在电源关断后,随机从枚举列表中选择一个值作为变量值;和该命令相类似的还有-lps_enum_right, -lps_implicit_pso等,因为不常用,就不一一介绍了;
⑤-lps_iso_verbose: 使能isolation的log功能,这个一般需要加上;
⑥...
其它的options请参考cadence的low-power simulation guide。
最后,运行仿真即可。

最后说一下low power流程验证正确性和完备性的确认方法。
①增加的low power流程不能影响芯片本身功能的正确性,比如通过电源关断来降低芯片功耗,则关断再打开后,芯片还可以正常work。这部分可以利用原有的self-check验证环境来确认。
②利用log文件分析,上述仿真命令-lps_verbose和UPF文件会为仿真输出与low power相关的warning, error以及assertion信息,通过log文件可以check流程的正确性;
③自动的assertion checker分析,使用-lps_verify选项可以自动检查电源关断顺序(隔离->复位->断电)和电源打开过程(上电->解复位->解隔离),如不满足该时序要求,会自动报错;
④利用覆盖率保证验证完备性,使用-lps_vplan选项依据UPF文件生成low power验证计划,通过simvision提供的coverage接口,得到low power相关的功能覆盖率;

时间: 2024-10-25 00:28:41

cadence upf低功耗流程的仿真验证的相关文章

DC综合及仿真验证和DFT测试

综合技术是提高设计产能的一个很重要的技术,没有综合技术的发展就不可能用HDL实现电路的设计,因为HDL开始是用来供电路仿真建模使用的,到了后来才把其中一部分子集作为可综合的语言,也就是RTL CODE.很多人入门都用HDL做设计,就以为HDL就只是用来做设计的,没有看到HDL最初始的一面,所以在验证时,就无法用好HDL另外一部分强大的功能.有时间还是可以看看Writing Testbench这本书,增强对HDL语言在验证方面作用的了解,也是提高对HDL认识很好的补充. 这里以Design Com

基于Verilog HDL整数乘法器设计与仿真验证

基于Verilog HDL整数乘法器设计与仿真验证 1.预备知识 整数分为短整数,中整数,长整数,本文只涉及到短整数.短整数:占用一个字节空间,8位,其中最高位为符号位(最高位为1表示为负数,最高位为0表示为正数),取值范围为-127~127. 负数的表示方法为正值的求反又加1.例如: 8’b0000_0100; //表示值:4,正值求反为:8’b1111_1011:再加1表示为:8’b1111_1100,这样便得到了-4的表示方法为:8’b1111_1100. 同理,负值变成正值的方法为:负值

通信算法之五:五种编码方式增益比较及matlab仿真验证

1. 卷积码增益性能.误码率 信道环境:AWGN 信噪比SNR :0:0.1:6 MATALB仿真架构:源比特 +卷积码 +BPSK +AWGN +Viterbi +BER 说明:卷积编码,不同的R码率,不同的约束长度 2. Turbo增益性能.误码率 信道环境:AWGN 信噪比SNR :-1:0.1:2 MATALB仿真架构:源比特 +Turbo编码 +BPSK +AWGN +Turbo译码+BER 说明:turbo译码,不同的译码算法那,不同的交织长度,不同的迭代次数. LTE 标准的tur

编译流程之仿真

l  仿真 1.        功能仿真(前仿真) 从逻辑分析HDL代码所描述电路的正确性,因为不涉及到考虑门延时和线延时,所以仿真速度很快,其主要测试点在逻辑,如使用testbench文件进行仿真,就是功能仿真. 2.        时序仿真(后仿真) 考虑门延时参数和单元连接线后的仿真,仿真更接近真实应用情况. 注意: 在进行HDL代码编写的时候,我们要有这样的认识,功能仿真才是整个FPGA开发中代码输出量最大的环节,对于所编写的每一个模块.可能需要很多的testbench文件. l  用户

芯片设计流程概述

芯片设计分为前端设计和后端设计,前端设计(也称逻辑设计)和后端设计(也称物理设计)并没有统一严格的界限,涉及到与工艺有关的设计就是后端设计. 1. 规格制定 芯片规格,也就像功能列表一样,是客户向芯片设计公司(称为Fabless,无晶圆设计公司)提出的设计要求,包括芯片需要达到的具体功能和性能方面的要求. 2. 详细设计 Fabless根据客户提出的规格要求,拿出设计解决方案和具体实现架构,划分模块功能. 3. HDL编码 使用硬件描述语言(VHDL,Verilog HDL,业界公司一般都是使用

(转)IC设计完整流程及工具

IC的设计过程可分为两个部分,分别为:前端设计(也称逻辑设计)和后端设计(也称物理设计),这两个部分并没有统一严格的界限,凡涉及到与工艺有关的设计可称为后端设计. 前端设计的主要流程: 1.规格制定 芯片规格,也就像功能列表一样,是客户向芯片设计公司(称为Fabless,无晶圆设计公司)提出的设计要求,包括芯片需要达到的具体功能和性能方面的要求. 2.详细设计 Fabless根据客户提出的规格要求,拿出设计解决方案和具体实现架构,划分模块功能. 3.HDL编码 使用硬件描述语言(VHDL,Ver

FPGA开发全攻略连载之十:FPGA开发基本流程(1)

原文链接: FPGA开发全攻略连载之十:FPGA开发基本流程(1) FPGA开发基本流程(2) FPGA是可编程芯片,因此FPGA的设计方法包括硬件设计和软件设计两部分.硬件包括FPGA芯片电路. 存储器.输入输出接口电路以及其他设备,软件即是相应的HDL程序以及最新才流行的嵌入式C程序. 目前微电子技术已经发展到SOC阶段,即集成系统(Integrated System)阶段,相对于集成电路(IC)的设计思想有着革命性的变化.SOC是一个复杂的系统,它将一个完整产品的功能集成在一个芯片上,包括

ModelSim仿真入门 精讲

ModelSim仿真入门之一:软件介绍 编写这个教程之前,为了让不同水平阶段的人都能阅读,我尽量做到了零基础入门这个目标,所有的操作步骤都经过缜密的思考,做到了详细再详细的程度. 如果您是FPGA开发方面的初学者,那么这个教程一定能够帮助你在仿真技术上越过新人的台阶:如果您是FPGA开发的老手,这篇文档也并非对您没有帮助,您可以把教程发给其他刚入门的同事,免去您亲自上阵指导的麻烦,把主要的精力放在更有价值的地方. 一.FPGA设计仿真验证简介 严格来讲,FPGA设计验证包括功能仿真.时序仿真和电

FPGA设计流程

FPGA设计人体分为设计输入.综合.功能仿真(前仿真).实现.时序仿真(后仿真).配置下载等六个步骤,设计流程如图2所示.下面分别介绍各个设计步骤. 1 设计输入 设计输入包括使用硬件描述语言HDL.状态图与原理图输入三种方式.HDL设计方式是现今设计大规模数字集成电路的良好形式,除IEEE标准中VHDL与Verilog HDL两种形式外,尚有各自FPGA厂家推出的专用语言,如Quartus下的AHDL.HDL语言描述在状态机.控制逻辑.总线功能方面较强,使其描述的电路能特定综合器(如Synop