Cadence公司的数字IC设计工具:综合工具(Genus)——(3)

目录

前言

一、Genus Physical Guide

1、介绍

2、The simple PLE flow

2.1 Reading the LEF Libraries

2.2 Loading the Parasitic Information

2.3 检查LEF和寄生文件之间的一致性。

2.4 checking the physical layout estimation information

2.5 setting the appropriate synthesis mode

2.6 reading the floorplan

2.7 synthesis

2.8 Analyzing the results

2.9 exporting files for place and route

二、Low Power

1、介绍

1.1 挑战

1.2 Traditional Low Power Synthesis Features

1.2.1 Power analysis

1.2.2 Power Optimization

1.3 通过(Common Power Format)支持高级Power管理技术

1.4 required files for low power synthsis

2、power analysis concepts

2.1 Power Dissipation Components

2.1.1 leakage power dissipation (cell leakage power)

2.1.2 net power dissipation (net power)

2.1.3 internal power dissipation (cell internal power)

2.2 power calculation

3、providing switching activity information

3.1 introduction

3.2 sources of switching activity information

3.3 using attributes to apply switching activities

3.3.1 using default switching activities

3.3.2 specifying net switching activities

3.3.3 propagating net switching activities

3.4 reading switching activity information from a TCF file

3.4.1 reading a TCF file with modified clock frequency

3.4.2 Reading multiple CPF files with different weights

3.5 reading switching activity information from a SAIF file

3.6 reading switching activity information from a VCD file

4、power analysis

4.1 RTL power analysis

4.2 reporting clock tree power

4.3 reporting on all power components

4.4 reporting power on leaf instances

4.5 reporting power consumption per used cell types

5、Clock Gating

5.1 introduction

5.2 enabling clock gating

5.3 inserting clock gating

6、Leakage Power Optimization

6.1 介绍

6.2 prerequisites

6.3 Reading Multiple Vth Libraries

6.4 Using Dedicated Libraries for Power Optimization

6.5 enabling leakage power optimization

6.6 Controlling power optimization

6.6.1 using a weight factor to balance leakage and dynamic power optimization

6.6.2 controlling tradeoff between leakage power and area, delay and runtime

7、Dynamic Power Optimization

7.1 introduction

7.2 enabling dynamic power optimization

7.3 Controlling power optimization

三、Using CPF for Multiple Supply Voltage Designs

1、 overview

1.1 power domain

1.2 power mode

1.3 library set

1.4 level shifters

2、CPF文件

2.1 指定libraries

2.2 指定要使用的level shifter cells

2.3 声明CPF文件中描述的设计

2.4 指定power domains

2.5 指定设计中使用的工作电压

2.6 将nominal condition与power domain相关联

2.7 指定要用于nominal condition的libraries

2.8 指定创建level shifter logic的rules

2.9 指定power约束 (可选)

2.10 指定timing约束 (可选)

2.11 指定activity information  (可选)

2.12 使用实现信息更新rules

2.13 指定全局的接电和接地nets

2.14 指定全局连接

2.15 指定接电和接地路由的附加信息

3、flow steps

3.1 read the target libraries

3.2 read the power intent

3.3 apply the power intent

3.4 check the power intent

3.5 commit the power intent

 3.6 verify added power logic

3.7 set timing, design, and power constraints

四、Using CPF for Design Using Power Shutoff Methodology

1、overview

1.1 power domain

1.2 power mode

1.3 isolation cells

1.4 state retention cells

1.5 power switch cells

1.6 special control signals

1.7 primary and secondary domain

2、flow steps

2.1 specifying the libraries

2.2 specifying the isolation cells to use

2.3 specifying the always-on cells

2.4 specifying the state retention cells to be used

2.5 specifying the power switch cells to be used

2.6 declaring the design described in the CPF file

2.7 specifying the power domains

2.8  specifying the operating voltage used in the design

2.9 specifying the static behavior in each power mode

2.10 specigying the libraries to use for a condition

2.11 specifying the rules to create isolation logic

2.12 specifying the rules to create state retention logic

2.13 指定power约束 (可选)

2.14 指定timing约束 (可选)

2.15 指定activity information  (可选)

2.16 使用实现信息更新rules

参考


前言

前两篇文章介绍了Genus如何进行logic synthesis,具体见:Cadence公司的数字IC设计工具:综合工具(Genus)——(1)_qq_42922513的博客-优快云博客icon-default.png?t=O83Ahttps://blog.youkuaiyun.com/qq_42922513/article/details/131410678?spm=1001.2014.3001.5502

Cadence公司的数字IC设计工具:综合工具(Genus)——(2)_qq_42922513的博客-优快云博客icon-default.png?t=O83Ahttps://blog.youkuaiyun.com/qq_42922513/article/details/131850886?spm=1001.2014.3001.5502

本文介绍如何进行physical synthesis,以及低功耗分析和设计。

本文内容适用于genus -legacy_ui用户接口。

一、Genus Physical Guide

综合优化的对象是 timing path,而 timing path delay = net delay + cell delay,90nm工艺之前由cell delay 主导,而进入65nm后,net delay的占比日渐增加,进入40nm之后,net delay几乎跟cell delay平分秋色,所以从40nm开始,physical aware synthesis 开始被使用,因为physical aware synthesis在优化过程中可以看到更精确的net delay。

1、介绍

传统的综合工具使用供应商提供的基于扇出的线负载模型(wire-load models),它不能提供准确的线延迟信息,特别是对于很大一部分延迟是由线造成的设计。因此,可以看到逻辑和物理设计之间在性能、面积和功耗方面存在相对较大的差异。

物理布局估计(Physical layout estimation (PLE) )使用物理信息来根据RTL的当前状态和约束对放置效果进行建模,并提供传统综合方法无法提供的分析和优化级别。此外,使用物理信息提供了一定程度的下游(down-stram)可预测性,优于使用供应商提供的线路负载模型。可预测性使用户能够更好地衡量设计在放置(place)和路由(route)后的执行情况,并有助于减少前端到后端交接迭代。最终,在综合中使用物理信息使用户有机会在更短的时间内开发出比传统合成更小、更快的设计。

Genus提供了三种与物理相关的流程。它们在预测导线长度方面提供了越来越高的准确性。分别为:(1)The simple PLE flow;(2)The Genus-Spatial flow;(3)The Genus-Physical flow

2、The simple PLE flow

2.1 Reading the LEF Libraries

LEF文件是包含物理库信息的ASCLL文件,例如层、通道、放置(placement)站点类型、路由设计规则、过程信息以及标准单元和宏单元定义。技术信息和单元定义通常在单独的LEF文件中提供,以便于管理。

指定所有LEF文件,包括技术库(technology library,tec.lef)和单元库(cell libraries,cell.lef)。先指定tec.lef文件。

set_attribute lef_library {tech.lef cell.lef}

2.2 Loading the Parasitic Information

电容表文件(Capacitance tables' files )或QRC技术文件(QRC technology files)包含与LEF文件相同类型的寄生信息,但这些文件中的电阻和电容信息具有更细的粒度。对于28nm以下的技术,Innovus系统需要QRC技术文件而不是电容表文件。

LEF中的电容来自铸造厂(foundry),并由其认为合适的任何工艺产生。电容表或QRC技术文件中的电容信息来自驱动签名提取以及Cadence工具中使用的各种其他提取器的相同过程定义文件。过程定义文件定义层的厚度、组成和间距。

set_attribute cap_table_file <filename> /
set_attribute qrc_tech_file <filename> /

如果同时指定电容表文件和QRC技术文件,则QRC技术文件优先。建议同时指定LEF和寄生文件。但是,如果寄生文件不可用,则只需指定LEF文件。

2.3 检查LEF和寄生文件之间的一致性。

在加载LEF和寄生文件之后,Genus将在这两个文件之间执行一致性检查。这是自动发生的。

2.4 checking the physical layout estimation information

report ple

2.5 setting the appropriate synthesis mode

Genus有两种综合模式:wireload和ple。模式由interconnect_mode属性定义。当读入LEF库时,interconnect_mode属性自动设置为ple。

2.6 reading the floorplan

当使用PLE时,应该以floorplan的形式提供物理约束。在Genus中,通过DEF文件(.def)提供floorplan信息。

read_def <filename>

2.7 synthesis

syn_generic -physical
syn_map -physical
syn_opt -physical -incremental

2.8 Analyzing the results

2.9 exporting files for place and route

write_design -innovus

二、Low Power

涉及到的工艺库相关内容可参考:数字IC设计工艺库简介_qq_42922513的博客-优快云博客icon-default.png?t=O83Ahttps://blog.youkuaiyun.com/qq_42922513/article/details/131554681

1、介绍

1.1 挑战

随着个人计算设备、消费电子产品和无线通信系统的显著成功和发展,人们迫切需要高速计算和复杂的功能。然而,功耗也成为一个关键的设计问题。由于芯片尺寸的缩小,单位面积的密度正在增加,因此高性能处理器(例如具有500-3000 MHz时钟的处理器)的封装和冷却策略的成本也在增加。

这些问题将焦点从设计性能和面积问题转移到对低功耗的需求和对功耗的考虑。随着今天的技术缩小到90纳米及以下,泄漏功率在功耗中的重要性也在增加。

1.2 Traditional Low Power Synthesis Features

当RTL网表准备好进行综合时,低功率综合(LP)将作为正常综合过程的一部分执行。

1.2.1 Power analysis
1.2.2 Power Optimization

power优化的主要特点是:

(1)Clock Gating

低功耗引擎探索设计,以确定在哪些地方可以通过为寄存器组插入时钟门控逻辑来节省潜在的功耗。为了减少不必要的时钟切换,Genus-LP engine为一组由相同同步信号使能的寄存器插入时钟门控逻辑。

(2)Leakage Power Optimization

(3)Dynamic Power Optimization

1.3 通过(Common Power Format)支持高级Power管理技术

Common Power Format(CPF)通过捕获设计人员对advanced power management techniques的意图,解决了设计自动化工具流中的当前限制。CPF以单一文件格式捕获所有与设计和技术相关的power constraints,用于从RTL到GDSII的整个设计流程,包括verification、validation、synthesis、test、physical implementation和signoff analysis。advanced power management techniques包括:

(1)Using Multiple Supply Voltages (MSV) in a design

这是降低设计动态功耗的最有效方法之一。动态功耗是电源电压的二次函数。对时序关键路径上的块使用高电压供电,而对非关键时序路径上的块使用低电压供电,可以在满足时序要求的同时显著节省动态功率。

(2)Using the Power Shut Off (PSO) methodology

使用这种方法,设计的某些部分可以根据需要打开和关闭,以节省泄漏和动态功率。

(3)Using dynamic voltage frequency scaling (DVFS)

当不需要峰值性能时,DVFS通过降低电压和频率来降低芯片中的功率。使用DVFS的设计可以看作是MSV设计在多种设计模式下运行的特殊情况。

1.4 required files for low power synthsis

(1)library

(2)RTL

(3)CPF file if use advanced power management techniques

(4)constraints file

(5)TCF or SAIF file

精确的功率分析或功率优化设计需要设计中每个pin(或net)的switching activity information。TCF是描述设计中switching activity information的Cadence标准。目前,TCF文件可以通过

a、write_tcf命令由RTL Compiler或Genus生成。

b、模拟设计生成。即对Cadence NC-Verilog模拟器使用dumptcf命令。可参考:Cadence公司的数字IC设计工具:仿真工具(INCISIVE)——(2)_qq_42922513的博客-优快云博客icon-default.png?t=O83Ahttps://blog.youkuaiyun.com/qq_42922513/article/details/132078071?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22132078071%22%2C%22source%22%3A%22qq_42922513%22%7D

2、power analysis concepts

2.1 Power Dissipation Components

2.1.1 leakage power dissipation (cell leakage power)

静态功耗是由于漏电流引起的,在CMOS 门中,漏电流主要来自4个源头:

(1)亚阈值漏电流(Sub-threshold Leakage):阈值电压越高,漏电功耗就越低。

(2)栅极漏电流(Gate Leakage):在以往的技术节点中,漏电电流一直以亚阈值漏电为主。但是从90nm开始,门极漏电几乎是亚阈值漏电的1/3。在某些情况下,在65nm工艺下,它可以等于亚阈值泄漏。

(3)栅极感应漏电流:占比比较小,所以一般不做分析。

(4)反向偏置结泄漏:占比比较小,所以一般不做分析。

2.1.2 net power dissipation (net power)

翻转功耗(Switching power):是一个门电路对输出电容进行充电和放电需要的功耗。简单的说就是一个门电路输出从0变到1和从1变到0所需要消耗的功耗。和电压,翻转率,负载电容有关。

2.1.3 internal power dissipation (cell internal power)

短路功耗:主要原因是由于短路造成的。因为在输入信号进行翻转时,信号的翻转不可能瞬时完成,因此PMOS和NMOS不可能总是一个截止另外一个导通,总有那么一段时间是使PMOS和NMOS同时导通,那么从电源VDD到地VSS之间就有了通路,就形成了短路电流。

2.2 power calculation

2.2.1 Internal Cell Power Calculation

在库中,通常将internal cell power建模为input slew rate(SR)和output load capacitance(CL)的函数查找表。一些库还具有三维功率表,它是input slew rate、output load capacitance和第二output load capacitance的函数。

2.2.2 Net Power Calculation

The net power (caused by charging the net capacitance) is determined as follows:

TR is the toggle rate.

2.2.3 Leakage Power Calculation 

在库中,泄漏功率通常被建模为常数。然而,随着技术发展到90纳米及以下,一些库将cell leakage power指定为输入状态的函数,以更准确地模拟泄漏功率。

3、providing switching activity information

3.1 introduction

Genus-LP引擎使用probability和toggle rate数据来估计power。The probability and toggle rate data也被称为net switching activities。当工具执行power分析时,net switching activities不能改变。

要检索任何nets的概率和切换率,可以使用以下属性:

get_attribute lp_computed probability net
get_attribute lp_computed_toggle_rate net

3.2 sources of switching activity information

Genus-LP引擎使用以下顺序来确定lp_asserted_probability和lp_asserted_toggle_rate net属性的值。

(1)如果提供Toggle Count Format (TCF)文件、Switching Activity Interchange Format (SAIF)文件或Value Change Dump (VCD)文件,则Genus-LP引擎将从该文件读取net switching activities,并用这些值填充lp_asserted_probability和lp_asserted_toggle_rate net属性。

(2)如果希望手动断言switching activity information,可以使用以下命令设置net switching activities:

#Specifies the probability value of a signal on this subport being high for power estimation.  You can specify any value between 0 and 1.
set_attribute lp_asserted_probability float /designs/design/*/nets/net

#Specifies the toggle rate (toggle count per toggle rate unit) of this net for the purpose of power estimation.  you can specify any positive value.
set_attribute lp_asserted_toggle_rate float /designs/design/*/nets/net

 (3)对于时钟nets,除非用户从an activity file中断言了时钟引脚,否则Genus-LP引擎从时序约束中的时钟定义派生出net switching activities。对于功率分析,将使用这个用户断言的值来代替时钟定义约束。

(4)对于没有用户断言的交换活动的节点,generic - lp引擎可以:Use default switching activities(见下面3.3.1);或:Propagate switching activities to those nets that have no switching information asserted(见下面3.3.3)。

确定switching activity information的来源:

get_attribute lp_probability_type net
get_attribute lp_toggle_rate_type net

3.3 using attributes to apply switching activities

3.3.1 using default switching activities

 如果想要快速的功率分析,可以选择应用默认的switching activities。工具默认signal probability为0.5,工具默认toggle rate为0.02,默认toggle rate的单位为每纳秒。

(1)要提供自定义的默认值,设置以下属性

set_attribute lp_default_probability float {design | hierarchical_instance}
set_attribute lp_default_toggle_rate float {design | hierarchical_instance}

(2)要考虑设计中时钟的影响,可以通过设置以下属性来关联缩放因子

set_attribute lp_default_toggle_percentage value {design | clock}

如果在一个clock上设置,则该属性指定与该时钟一起使用的乘法因子,以修改受该时钟影

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值