自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(48)
  • 收藏
  • 关注

原创 Conformal low power-2.电源感知等效性检查

电源感知等效性检查是一种高级方法,用于从寄存器传输级(RTL)到布局和布线的功能验证。电源感知等效性检查取代了边界检查,后者只能用于验证已经插入隔离的两个网表。电源感知等效性检查提供以下功能:低功耗设计等效性检查状态元素域一致性检查能够处理单元建模、开关建模和保持实例电源意图比较状态保持策略比较注意:在电源感知等效性检查中,不需要移位器、保持单元和开关单元的插入。

2024-07-10 11:14:42 132

原创 Conformal low power-1.概述

具有到电源和地网络的二极管连接的钳位单元,如下所示的图表,可以对数据信号上的高低电压都进行钳位。与主窗口上的帮助按钮不同,当您在命令窗口中左键点击帮助按钮时,Conformal软件会自动执行帮助 - 命令,并在命令帮助窗口中显示相关命令的信息。Conformal Low Power 接受具有或不具有明确电源或地线的RTL/门级网络列表,并接受用户定义的电源引脚、电源域、电源开关、电平转换单元、隔离单元和状态保持单元。所有共享相同电源的电路,如果是可切换的,也会共享相同的电源启用和禁用控制。

2024-07-10 10:14:01 126

原创 【Power Compiler手册】9.时钟门控(3时钟门控风格)

可以使用 `set_clock_gating_style` 命令的 `-positive_edge_logic` 和 `-negative_edge_logic` 选项来指定时钟门控的集成时钟门控单元:`-positive_edge_logic [gate_list]` `-negative_edge_logic [gate_list]`。如果在某一级层次结构的更高级别不存在 `scan_enable`(`test_mode`)端口,则会创建一个 `scan_enable`(`test_mode`)端口。

2024-06-20 09:55:15 198

原创 【Power Compiler手册】9.时钟门控(2)

如果时钟树综合工具在时钟门控单元之后不插入缓冲器,那么时钟门控单元和寄存器之间的总延迟等于时钟门控单元的延迟(时钟引脚到时钟输出信号)加上时钟门控单元和寄存器之间的连线延迟。如果时钟树综合工具在时钟门控单元之后插入缓冲器,那么在时钟门控单元和寄存器之间的总延迟上加上时钟网络延迟的估计值。此命令会移除指定时钟上的时钟延迟值。如图 22 所示,lat_cgtoreg 是从时钟门控单元的时钟引脚到被门控寄存器的时钟引脚的估计延迟,而 lat_reg 是对没有时钟门控的寄存器的时钟引脚的估计时钟网络延迟。

2024-06-19 17:17:33 297

原创 【Power Compiler手册】9.时钟门控(1)

时钟门控技术适用于同步使能负载寄存器,这些是共享相同时钟和同步控制信号的触发器。同步控制信号包括同步使能、同步置位、同步复位和同步翻转。同步使能负载寄存器通过具有反馈回路的寄存器来表示,该寄存器在多个周期内保持相同的逻辑值。将时钟门控应用于同步使能负载寄存器可以减少重新加载寄存器组时所需的功耗。图 18 显示了使用具有反馈回路的多路复用器实现的简单寄存器组。当同步使能信号(EN)处于逻辑状态 0 时,寄存器组被禁用。在此状态下,电路使用多路复用器将寄存器组中每个存储元件的 Q 输出反馈到 D 输入。

2024-06-19 16:59:18 170

原创 【Power Compiler手册】8.生成功耗报告

示例 14 显示了一个功耗报告的摘要。示例 14 report_power 命令的摘要报告-verbose...--------

2024-06-04 10:01:48 145

原创 【Power Compiler手册】7.功耗分析

report_power` 命令分析并报告设计中各种元素的功耗。在执行此命令之前,必须捕获开关活动,将设计映射到门级,并标注设计。该工具为以下设计元素创建功耗报告:- 设计- 模块- 网络- 单元或特定类型的单元组- 多角多模式设计的场景`report_power` 命令使用 Power Compiler 许可证。命令完成后,许可证会被释放。如果许可证不可用,命令将以错误消息终止。

2024-06-04 09:59:33 329

原创 【Power Compiler手册】6.反标翻转活动

Power Compiler工具使用`-toggle_rate`和`-period`(或`-clock`)选项来确定每个时间单位的实际切换率。默认的静态概率是 0.5。要显示与`read_saif -rtl_saif -hierarchy`命令生成的报告类似的RTL不变对象上的注释报告,可以使用`-rtl`选项。要强制将所有综合不变点包括在映射文件中,而不管对象是否经历了重大名称更改,请使用`saif_map -write_map -type ptpx`命令的`-essential`选项。

2024-06-03 15:59:59 347

原创 【Power Compiler手册】5.Verilog翻转活动示例

因此,在m1下,仿真监控内部网络以及状态和路径依赖的单元(然而,在这个简单示例中,m1中没有子设计)。持续时间指的是在仿真期间测试台中`$toggle_start`和`$toggle_stop`命令之间的时间跨度。case (fsm_PRES_STATE) // 根据当前状态和输入数据决定输出和下一个状态。- 仿真输出的SAIF文件:仿真过程中生成的文件,记录了电路中信号的切换活动,用于后续的功耗分析。示例6是为示例4中显示的RTL Verilog描述以及示例5中显示的测试台创建的SAIF文件。

2024-06-03 09:38:26 362

原创 【Power Compiler手册】4.saif文件

功耗计算的准确性取决于切换活动数据的准确性。这些数据是通过使用RTL仿真或门级仿真生成的,并存储在SAIF文件中。在执行功耗优化和分析之前,应该使用SAIF文件来反标设计对象上的切换活动信息。SAIF是由Synopsys支持的ASCII格式,用于促进不同Synopsys工具之间的信息交换(参见IEEE 1801标准,附录J)。使用`read_saif`命令读取SAIF文件,使用`write_saif`命令写出SAIF文件。有关更多信息,请参见`read_saif`和`write_saif`命令的手册页。

2024-05-28 16:15:32 266

原创 【Power Compiler手册】3.功耗建模和计算

功耗编译器工具能够分析设计的静态和动态功耗。有关功耗建模的信息,请参见以下主题:功耗类型计算功耗使用CCS电源库电压缩放。

2024-05-24 10:40:31 268

原创 【Power Compiler手册】2.Power Compiler设计流程

当创建设计时,它从高层次的抽象转移到门级最终实现。功耗编译器工具在整个设计周期中,从RTL到门级,提供分析和优化。有关设计流程的信息,请参见以下主题:• 设计周期中的功耗• 功耗优化和分析流程。

2024-05-23 16:38:48 231

原创 【Power Compiler手册】1.工具介绍

Power Compiler工具是Synopsys Design Compiler综合工具家族的一部分。该工具执行寄存器传输级(RTL)和门级电源优化以及门级电源分析。通过应用工具的电源降低技术,包括时钟门控、多电压优化和泄漏电源优化,可以在前端综合中实现功耗节省和面积以及时序优化。有关工具方法论的信息,请参阅以下主题:- Power Compiler方法论- 功耗库模型- 功耗分析- 功耗优化- 开始使用Power Compiler工具。

2024-05-23 16:35:56 126

原创 【多电压流程 Multivoltage Flow】- 6.术语汇编

**power switch**:可以为芯片的一部分开关电源的晶体管或晶体管阵列,可以在VDD电源(头开关)或GND(脚开关)处切断电源,从而在不活动期间切断芯片部分的电源。所有这些单元共享相同的电源轨。- **RTL**:寄存器传输级,一种用硬件描述语言(如Verilog或VHDL)编写的数字电路的高级描述,以寄存器之间的数据传输和对数据执行的逻辑操作来表达。- **coarse-grain switching**:一种电源切换策略,对整个块的电源进行开关控制,块内所有晶体管共享一个单一的电源开关。

2024-05-14 11:20:13 187

原创 【多电压流程 Multivoltage Flow】- 5.特定工具使用建议(8.Prime Power && PrimeRail)

因此,使用CCS库时,在运行单元级动态功耗和rail分析之前,无需对库进行特性化。另一方面,如果使用NLDM库,则应使用PrimeRail内置的HSPICE技术对库进行特性化,以捕获动态电流波形和内在寄生的模型。`report_power`命令生成许多有用的功耗报告,例如峰值功耗和平均功耗报告,适用于所选的每个电源域和电源网络,可以是整个芯片或特定的逻辑层次结构。设计中的开关单元数量可能很大,可以使用 PrimeRail 结果来优化设计参数,例如电源管理单元的数量、它们的驱动强度以及控制信号的时序序列。

2024-05-14 11:18:25 53

原创 【多电压流程 Multivoltage Flow】- 5.特定工具使用建议(7.Prime Time)

库单元描述中的 `related_power_pin`、`input_signal_level` 和 `output_signal_level` 属性指定了连接到引脚晶体管级哪个电源。然而,每个缩放组应包含正确类型的缩放(电压、温度或电压和温度)的正确库,并且每个库只能是一个缩放组的一部分。使用NLDM库需要在设计中使用的每个电压上进行特性化,并且需要将link_path_per_instance变量设置为一个列表,其中每个列表元素由一系列实例和相应的链接路径组成,这些路径覆盖了这些实例的默认链接路径。

2024-05-14 10:47:00 192

原创 【多电压流程 Multivoltage Flow】- 5.特定工具使用建议(6.Formality)

load_upf命令通过添加create_supply_net、create_supply_port和connect_supply_net UPF命令隐含的网络和端口来修改设计数据。在执行load_upf后,设计被修改,可以继续进行其余的验证运行。在每种类型的比较中,Formality验证上电功能,并在实现网表(或网表加UPF)以与参考设计加UPF不一致的方式断电时报告失败点。在使用`map_retention_cell`命令时,必须确保使用了相应的库单元模型,以在验证网表与RTL设计时进行匹配。

2024-05-13 14:57:00 288

原创 【多电压流程 Multivoltage Flow】- 5.特定工具使用建议(5.使用ICC II以及FC进行物理实现)

这最小化了始终开启的直通连接的需要。IC Compiler II和Fusion Compiler工具中的放置、优化和时钟树综合步骤考虑了电压区域、电源域、始终开启逻辑、电源状态表以及保护电源域接口的电源管理单元。如果打开了包含UPF的几个Block并加载了仅顶层的UPF文件,可以使用IC Compiler II或Fusion Compiler工具编写用于验证流程的集成平面UPF文件。当使用`save_upf`命令保存UPF文件时,工具对于用户指定的和工具派生的仅物理单元的UPF约束使用相同的语法。

2024-05-13 11:06:11 125

原创 【多电压流程 Multivoltage Flow】- 5.特定工具使用建议(4.使用ICC进行物理实现)

在黑盒层次化流程中,当一些供电网络在子模块中使用而不在顶层使用时,可以使用变量 `power_nets_for_upf_supply` 和 `ground_nets_for_upf_supply` 来识别命名的网络作为电源供电网络或地网络。`set_level_shifter_threshold` 和 `set_level_shifter_strategy` 命令用于配置电平转换器插入的具体参数,如在电压差异达到一定阈值时插入电平转换器,或者定义在何种规则下插入电平转换器。该方法与设计编译器工具中的相同。

2024-05-10 11:21:54 320

原创 【多电压流程 Multivoltage Flow】- 5.特定工具使用建议(3.IC Compiler进行设计规划floorplan)

这些命令和步骤是电源规划工作流程的一部分,它们共同确保了设计的电源网络是经过优化和验证的,以满足电路的电源完整性要求。通过这些工具和命令,设计师能够分析和优化电源网络,以减少IR下降,提高电源交付能力,并确保设计的可靠性和性能。在进行电源规划时,需要仔细考虑电源网络的布局,以确保电源的稳定性和可靠性,同时最小化电源噪声和电压下降(IR drop),这对于高性能和低功耗设计至关重要。始终开启单元的策略和放置对于保持设计中关键路径的电源稳定性和时序性能至关重要,特别是在存在多电源域和电压域的设计中。

2024-05-10 10:12:47 277

原创 【多电压流程 Multivoltage Flow】- 5.特定工具使用建议(2.DC compiler)

在完成综合后,Design Compiler工具会写出一个新的门级UPF描述,其中包含读入的原始UPF、在Design Compiler会话中运行的任何额外UPF命令,以及描述在综合期间添加的多电压电源管理单元(隔离单元、电平转换器和保持寄存器)的明确电源连接的UPF命令。这种类型的单元被称为双轨始终开启单元。你可以使用set_scan_path命令将单元限制在特定的扫描链中,你可以通过set_scan_path命令指定单元列表或扫描组,或者你可以使用set_scan_path命令通过时钟名称识别单元。

2024-05-09 15:47:03 231

原创 【多电压流程 Multivoltage Flow】- 5.特定工具使用建议(1.VCS NLP & VC LP)

本章提供了关于使用Synopsys工具进行低功耗设计和分析的信息。它包含以下部分:• 使用VCS NLP和VC LP进行多电压验证• 使用Design Compiler进行逻辑综合• 使用IC Compiler进行设计规划• 使用IC Compiler进行物理实现• 使用IC Compiler II和Fusion Compiler进行物理实现• 使用Formality进行形式验证• 使用PrimeTime进行静态时序分析• PrimePower功耗分析• PrimeRail电源网络分析。

2024-05-08 10:31:27 338

原创 【多电压流程 Multivoltage Flow】- 4.UPF脚本示例(4.get_supply_nets & 带内部电源开关的宏单元)

然而,需要一个UPF文件来创建这个电源开关并描述设计的供电方案,以便所有工具都能识别出在宏单元和设计中其余部分之间不需要隔离单元。4. 使用get_supply_nets命令在L1/L2作用域内查找与电源网络SN1相关联的逻辑网络名称,并将结果存储在变量n中。5. 使用connect_supply_net命令和变量n代表的逻辑网络名称,将电源网络连接到端口L1/L2/L3/P1。6. 文本中的最后一行提供了另一种使用connect_supply_net命令的替代方法,直接指定电源网络和端口的路径。

2024-05-07 11:18:55 84

原创 【多电压流程 Multivoltage Flow】- 4.UPF脚本示例(3.Switch Power Supply示例)

芯片有两个内部块,CPU_1和CPU_2,它们都是相同的CPU块的实例。chiptop.upf是顶层电源意图说明,它加载了CPU块的电源意图,并定义了电源域、电源网络、电源端口和电源开关。RTL代码定义了三个模块:CPU、SystemModule和chiptop,其中chiptop模块实例化了两个CPU模块、一个电源管理模块PM1、一个SystemModule模块和一个电压调节器模块VR1。电压调节器模块VR1接收1.2伏的输入电压,并产生两个不同电压水平的输出,用于供电给不同的CPU模块。

2024-05-07 10:36:38 250

原创 【多电压流程 Multivoltage Flow】- 4.UPF脚本示例(2.Supply set示例)

脚本定义了三个电源域LEON3_p0、LEON3_p1和LEON3_p2的隔离策略,每个策略都指定了隔离电源网络、隔离地线网络、钳位值以及隔离信号。脚本首先创建了多个电源集,然后定义了六个电源域,并为每个电源域分配了额外的电源集。这些状态代表了设计在不同工作模式下的电源配置,如所有电源开启(ALL_ON)、高性能(HIGH_PERF)、低性能(LOW_PERF)以及不同电源域的低功耗(DROWSY)状态。首先为不同的电源集定义了电源状态,包括高电压状态(HV)和低电压状态(LV),以及关闭状态(OFF)。

2024-05-07 10:13:53 202

原创 【多电压流程 Multivoltage Flow】- 4.UPF脚本示例(1.简单多电压设计)

通过使用UPF(统一电源格式)命令,设计者可以创建电源域、电源端口、电源网络,并设置每个电源域的主电源网络和地线网络。在这个例子中,定义了两个CPU块的电源域PD_CPU_1和PD_CPU_2,以及一个顶层电源域PD_SODIUM。然后,在顶层芯片的电源设计脚本中,加载了两个CPU块的设计,并定义了顶层的电源网络和端口,将它们连接到相应的CPU块电源网络上。这个新脚本会以层次化的方式重新写出电源意图,将原始在block级别定义的电源域、电源网络和电源端口转换成在顶层作用域下的相应定义。

2024-05-06 11:47:59 38

原创 【多电压流程 Multivoltage Flow】- 3.电源意图规范(Power Intent Specification)(14.UPF commands track && Golden UPF)

用户编写的命令和工具插入的命令被写入输出UPF脚本文件的单独部分。在UPF-prime模式下,Design Compiler和IC Compiler工具读取一个UPF脚本文件,然后稍后写出一个包含原始命令加上它执行以完成其电源管理任务的新UPF命令的修改后的UPF脚本文件。• UPF-prime模式——工具写出一个新的UPF文件,称为UPF-prime文件(Design Compiler)或UPF-double-prime文件(IC Compiler),其中包含旧的、修改过的和新的UPF命令的混合。

2024-05-06 10:50:28 182

原创 【多电压流程 Multivoltage Flow】- 3.电源意图规范(Power Intent Specification)(13)

report_power_domain、report_power_switch、report_pst、report_power_pin_info、report_power_gating、report_supply_net和report_supply_port命令报告由UPF命令先前定义的设计中的电源相关对象。该工具可以选择性地将电源域边界考虑为包含另一个域的电源域边界。下层域边界特性允许指定在电源域边界的两侧需要或存在隔离或电平转换器单元,一个单元在电源域内部,另一个在周围的电源域中,如图44所示。

2024-05-06 10:48:06 282

原创 【多电压流程 Multivoltage Flow】- 3.电源意图规范(Power Intent Specification)(12.N阱和P阱偏置)

一些工艺技术允许使用专用电压供应,而不是正常的轨电压,应用于芯片的n阱和p阱区域。对阱施加偏置电压会改变阱中晶体管的阈值电压,影响性能和漏电流。综合和物理实现工具提供了一种可选模式,使用UPF命令指定n阱和p阱偏置供电基础设施。在此模式下,工具会自动将供电连接到n阱和p阱偏置引脚。

2024-04-30 16:40:38 250

原创 【多电压流程 Multivoltage Flow】- 3.电源意图规范(Power Intent Specification)(11.Supply set handles)

电源集句柄(Supply Set Handles)是为电源域隐式创建的抽象电源集。新创建的电源域为其主电源集、默认隔离电源集和默认保持电源集拥有电源集句柄。这些电源集句柄允许在为电源域创建任何电源集、电源网络和电源端口之前进行设计的合成。在这样一个设计可以物理实现之前,其电源集句柄必须被细化,或者与实际的电源集关联;并且这些电源集必须被细化,以便它们与实际的电源网络关联。

2024-04-26 15:41:05 476 1

原创 【多电压流程 Multivoltage Flow】- 3.电源意图规范(Power Intent Specification)(10.Supply sets)

电源集是与域无关的,这意味着电源集中的电源和地线可以被在创建电源集的范围内定义的任何电源域使用。电源集是与域无关的,这意味着,默认情况下,电源集的电源和地线功能可以被在创建电源集的作用域内定义的任何电源域用于任何目的:主电源、隔离、保持、电平转换器插入以及始终开启的综合。如果电源集在表征之前已经细化为电源网络,那么为电源网络创建的电源端口不会自动移除。为了模拟两个电源集之间的共享或共同地线,在集成电路设计中,可以创建一个与域无关的电源网络,并更新两个电源集的句柄,使它们都使用相同的电源网络作为地线功能。

2024-04-25 17:32:31 28 1

原创 【多电压流程 Multivoltage Flow】- 3.电源意图规范(Power Intent Specification)(9.Query commands && 仿真验证命令)

如果使用`-state state_name`选项,该命令返回先前用于为该端口创建该状态的完整`add_port_state`命令。`query_map_power_switch`命令返回之前用于将库单元映射到指定电源开关的完整`map_power_switch`命令。在使用Tcl时,使用`/`来匹配层次分隔符是允许的,但如果在`-pattern`选项中使用`-regexp`选项,则不允许使用`/`。要仅返回叶子级别的对象或仅返回层次化对象,请分别使用`-leaf_only`或`-non_leaf`选项。

2024-04-25 11:04:56 24 1

原创 【多电压流程 Multivoltage Flow】- 3.电源意图规范(Power Intent Specification)(8.logic editing & utility)

-model`、`-feedthrough`和`-unconnected`选项指定了层次模型(如库单元或宏单元)中端口的连接属性。`set_repeater`命令取代了`set_port_attributes`命令中的`-repeater_supply`选项。`create_logic_port`命令在当前活动的作用域内创建一个新的逻辑端口,并指定端口的方向(`in`表示输入,`out`表示输出,或`inout`表示双向)。`-applies_to`选项与`-elements`选项一起使用。

2024-04-25 10:20:35 48 1

原创 【多电压流程 Multivoltage Flow】- 3.电源意图规范(Power Intent Specification)(7.电源状态表命令)

电源状态表(Power State Table)定义了在设计运行期间可以同时存在的合法状态组合。电源域的状态由其供电端口的开关状态和电压水平组成。电源状态表用于综合、分析和优化。

2024-04-24 17:25:42 27

原创 【多电压流程 Multivoltage Flow】- 3.电源意图规范(Power Intent Specification)(6.电源模型)

对于`split_constraints`命令,`define_power_model`和`apply_power_model`命令以及任何相应的属性都包含在顶层设计中,并且在应用电源模型的块中。`apply_power_model`命令将`power_model_name`绑定到由`-elements`选项指定的单元实例。`-parameters`选项为`-elements`选项中列出的实例设置先前通过`add_parameter`命令定义的参数的值。`-for`选项指定了这个电源模型适用的库单元集合。

2024-04-23 17:49:18 26

原创 【多电压流程 Multivoltage Flow】- 3.电源意图规范(Power Intent Specification)(5.Retention registers)

retention cell

2024-04-23 17:18:43 33

原创 【多电压流程 Multivoltage Flow】- 3.电源意图规范(Power Intent Specification)(4.Isolation cell)

isolation cell

2024-04-23 17:17:39 20

原创 【多电压流程 Multivoltage Flow】- 3.电源意图规范(Power Intent Specification)(3.Level shifter)

level shifter commands

2024-04-23 17:15:51 90

原创 【多电压流程 Multivoltage Flow】- 3.电源意图规范(Power Intent Specification)(2.基本电源网络命令)

必须为新供应网络指定名称,并指定现有电源域的名称,该供应网络将在此电源域中使用。当一个电源集的句柄与一个电源集关联时,工具会认为这两个电源集是连接的,并且会被解析为相同的电源网络或者相同的电源和地(PG)引脚对。供应网络通过隐式创建的端口和网络在逻辑层次结构中传播,从创建它的级别开始,向下通过属于同一电源域的所有元素的层次结构。该命令必须指定一个已存在的开关名称,这个开关是用`create_power_switch`命令创建的,还需要指定包含该开关的电源域的名称,以及可以用来实现该开关的库单元列表。

2024-04-23 17:03:46 182

原创 【多电压流程 Multivoltage Flow】- 3.电源意图规范(Power Intent Specification)(1.概述)

IEEE 1801标准,即低功耗集成电路设计与验证标准,也被称为统一电源格式(Unified Power Format,UPF),为整个设计过程(包括综合、物理实现和验证)提供了一种一致的方式来指定电源实现意图。这种一致性使得在特定设计中存在特定的低功耗特性时,更容易执行综合、仿真、逻辑等价性检查和设计验证。在Synopsys流程中指定设计电源意图的描述在以下各节中:• IEEE 1801标准(UPF)• 电源意图概念• Synopsys多电压流程• Synopsys工具支持的UPF命令。

2024-04-23 11:13:07 33

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除