Design Compiler:逻辑库名与逻辑库文件名及其指定方式
相关阅读Design Compilerhttps://blog.csdn.net/weixin_45791458/category_12738116.html?spm1001.2014.3001.5482逻辑库的定义逻辑库由半导体供应商维护和分发包含每个单元的特性和功能信息例如单元名称、引脚名称、面积、时序弧和引脚负载。它们还定义了设计规则约束如线网的最大转换时间等条件。此外逻辑库还指定特定工艺技术的工作条件和线负载模型只用于线负载模式。Design Compiler支持使用非线性延迟模型(Non-Linear Delay Model, NLDM)和复合电流源模型(Composite Current Source Timing Model, CCST)或同时使用两者。Design Compiler会根据逻辑库的内容自动选择使用的时序模型。如果库同时包含NLDM和CCST模型Design Compiler会使用CCST模型。在逻辑综合和预布线优化期间工具可能不会使用所有的CCST数据以节省运行时间。Design Compiler需要逻辑库是.db格式。通常情况下半导体供应商会提供.db格式的逻辑库。如果只有逻辑库的源代码(例如.lib格式)则需要首先使用Library Compiler以前集成在Design Compiler中后脱离变成单独的工具将其编译为.db格式。逻辑库的读取逻辑库可以使用两种方式读取第一种方式是自动读取第二种是显式读取下面将分别介绍这两种方式。自动读取使用target_library和link_library变量可以指定目标库和链接库该变量中可以包含逻辑库文件名的绝对路径、相对路径或简单路径相对search_path变量的路径如下所示这些逻辑库会在必要时显式/隐式链接隐式链接会在读取类命令、综合类命令、报告类命令、约束类命令等大部分命令时执行自动读取。dc_shell set_app_var link_library /home/zhangchen/topo/slow.db // 使用绝对路径 dc_shell set_app_var link_library ./slow.db // 使用相对路径 dc_shell set search_path /home/zhangchen dc_shell set_app_var link_library topo/slow.db // 使用简单路径Design Compiler会记录被读取的逻辑库名及其所属的逻辑库文件名的绝对路径如下所示。dc_shell list_libs Logical Libraries: ------------------------------------------------------------------------- Library File Path ------- ---- ---- gtech gtech.db /opt/Synopsys/syn/W-2024.09-SP2/libraries/syn standard.sldb standard.sldb /opt/Synopsys/syn/W-2024.09-SP2/libraries/syn slow slow.db /home/zhangchen/topo记录逻辑库文件名的绝对路径可以避免自动读取时出现覆盖如果发现逻辑库文件之前已读取则不会重复读取即使逻辑库文件的内容更改或target_library和link_library变量修改了例如用绝对路径和相对路径描述同一个逻辑库文件。尽管逻辑库文件名和逻辑库名一般相同但这不是强制性的如下所示。dc_shell list_libs Logical Libraries: ------------------------------------------------------------------------- Library File Path ------- ---- ---- gtech gtech.db /opt/Synopsys/syn/W-2024.09-SP2/libraries/syn standard.sldb standard.sldb /opt/Synopsys/syn/W-2024.09-SP2/libraries/syn slow1 slow.db /home/zhangchen/topo显式读取使用read_db命令可以显式读取逻辑库直接指定绝对路径、相对路径或简单路径相对search_path变量的路径形式的逻辑库文件名即可如下所示。dc_shell read_db ./slow.dbDesign Compiler会记录被读取的逻辑库名及其所属的逻辑库文件名的绝对路径如果强行重复读取则会出现覆盖Design Compiler需要保证内存中的逻辑库文件名的绝对路径唯一即使它们中的逻辑库名不同。逻辑库的指定逻辑库可以使用两种方式指定第一种方式是间接指定即通过逻辑库文件名间接指定逻辑库第二种是直接指定即指定逻辑库名下面将分别介绍这两种方式。间接指定最常见的间接指定的方式就是用target_library和link_library变量指定目标库和链接库目标库会在综合时使用而链接库则会在显式/隐式链接、默认约束选择例如默认线负载模型和默认工作环境等或某些命令不添加库选项时使用例如set_wire_load_model命令和set_operating_condition命令。直接指定最常见的直接指定的方式是使用某些命令时添加库选项指定逻辑库名例如set_wire_load_model命令和set_operating_condition命令如下所示。dc_shell set_wire_load_model -name wl20 -library slow有些情况下仅仅指定逻辑库名不足以唯一确定逻辑库这时就要求使用其所属的逻辑库文件名的基本名注意这与简单路径不同作为前缀如果还是不能唯一确定即基本名相同则需使用其所属的逻辑库文件名的绝对路径或相对路径作为前缀如下所示。dc_shell set_wire_load_model -name wl20 -library slow // 不使用前缀 Error: slow doesnt specify a unique library Please use complete specification: full_file_name:library_name (UID-15) dc_shell set_wire_load_model -name wl20 -library slow.db:slow // 使用基本名前缀 Error: slow.db:slow doesnt specify a unique library Please use complete specification: full_file_name:library_name (UID-15) dc_shell set_wire_load_model -name wl20 -library /home/zhangchen/topo/slow.db:slow // 使用绝对路径前缀 dc_shell set_wire_load_model -name wl20 -library ./slow.db:slow // 使用相对路径前缀逻辑库的保存如果将设计保存为ASCII格式的网表则逻辑库信息会丢失这依赖用户在之后进行额外设置如果将设计保存为二进制格式例如ddc的网表其中会包含所有SDC约束某些SDC约束需要使用逻辑库信息例如set_wire_load_model命令和set_operating_condition命令因此其中还会包含逻辑库名并以基本名作为前缀。当用户之后再次读取保存为二进制格式的网表时会基于search_path变量和基本名自动读取逻辑库并恢复SDC约束因此逻辑库文件的移动可能会导致恢复失败。写在最后需要注意的是逻辑库的读取和指定是两个不同的步骤因此可以混合使用但自动读取的使用情况较多如下所示。// 自动读取、直接指定 dc_shell set_app_var link_library ./slow.db dc_shell set_wire_load_model -name wl20 -library slow // 该命令会导致自动读取// 自动读取、间接指定 dc_shell set_app_var target_library ./slow.db dc_shell compile_ultra // 该命令会导致自动读取// 显式读取、间接指定 dc_shell read_db ./slow.db dc_shell set_app_var target_library ./slow.db dc_shell compile_ultra // 自动读取不会进行因为已读取// 显式读取、直接指定 dc_shell read_db ./slow.db dc_shell set_wire_load_model -name wl20 -library slow

相关新闻

生命印记的神经机制与心理重塑

生命印记的神经机制与心理重塑

1. 生命印记的构成与意义每个人的生命轨迹都是由无数个瞬间拼接而成的马赛克画作。那些看似平常的际遇、擦肩而过的面孔、刻骨铭心的经历,都在我们意识深处留下或深或浅的刻痕。就像老树树干上记录着年轮的纹路,这些印记构成了我们独特的生命密码。在神经…

2026/8/1 22:53:56 阅读更多
【计算机工具类-安全工具Skills】api-fuzzing-bug-bounty 技能

【计算机工具类-安全工具Skills】api-fuzzing-bug-bounty 技能

提供在漏洞赏金狩猎和渗透测试中测试REST、SOAP和GraphQL API的综合技术。涵盖漏洞发现、认证绕过、IDOR利用和API特定攻击向量。 技能概述 api-fuzzing-bug-bounty 技能是一个专门用于API安全测试的综合技能,提供在漏洞赏金狩猎和渗透测试中测试REST、SOAP和GraphQL API的完…

2026/8/1 23:44:00 阅读更多
Spring Boot配置文件加载机制与最佳实践

Spring Boot配置文件加载机制与最佳实践

1. Spring Boot配置文件加载机制全景解析 作为Java开发者最常用的框架之一,Spring Boot的配置文件系统是其"约定优于配置"理念的核心体现。但很多开发者在面对多个配置文件共存时,常常困惑于它们的加载顺序和覆盖关系。这个问题看似简单&#…

2026/8/1 23:44:00 阅读更多
iPerf3网络性能测试:从入门到企业级实战

iPerf3网络性能测试:从入门到企业级实战

1. 为什么每个工程师都需要掌握iPerf第一次接触iPerf是在2015年的一次跨国视频会议系统调试中。当时客户抱怨画面卡顿,但所有常规检测工具都显示网络"一切正常"。直到用iPerf做了真实流量压力测试,才发现跨国专线实际带宽只有合同承诺值的60%。…

2026/8/1 23:44:00 阅读更多
粒子群算法在储能优化配置中的应用与实践

粒子群算法在储能优化配置中的应用与实践

1. 储能优化配置的现实挑战与算法选择在新能源占比不断提升的电力系统中,储能设备的合理配置直接影响着电网稳定性和经济性。传统配置方法往往面临两大痛点:一是多目标优化时计算复杂度呈指数级增长;二是难以在投资成本、系统可靠性等矛盾指标…

2026/8/1 23:44:00 阅读更多
AMAT 0100-02186 I/O 分配 PCB

AMAT 0100-02186 I/O 分配 PCB

AMAT 0100-02186 I/O分配PCB板是应用材料(Applied Materials)公司生产的一款用于半导体设备的I/O信号分配电路板。该型号(0100-02186)的核心特点如下:专用于Endura等半导体工艺腔室。集成信号路由与分配功能。连接控制…

2026/8/1 0:09:33 阅读更多
Nissei Corp FFMN-32L-10-T0 40AX 三相异步电动机

Nissei Corp FFMN-32L-10-T0 40AX 三相异步电动机

Nissei Corp FFMN-32L-10-T0 40AX 三相异步电动机是日本日清(Nissei)品牌的一款工业用三相异步电机,适用于自动化设备及通用机械驱动。该型号(FFMN-32L-10-T0 40AX)的核心特点如下:三相交流异步电动机。额定…

2026/8/1 0:09:33 阅读更多
AMAT 0100-02186 I/O 分配 PCB

AMAT 0100-02186 I/O 分配 PCB

AMAT 0100-02186 I/O分配PCB板是应用材料(Applied Materials)公司生产的一款用于半导体设备的I/O信号分配电路板。该型号(0100-02186)的核心特点如下:专用于Endura等半导体工艺腔室。集成信号路由与分配功能。连接控制…

2026/8/1 0:09:33 阅读更多
Nissei Corp FFMN-32L-10-T0 40AX 三相异步电动机

Nissei Corp FFMN-32L-10-T0 40AX 三相异步电动机

Nissei Corp FFMN-32L-10-T0 40AX 三相异步电动机是日本日清(Nissei)品牌的一款工业用三相异步电机,适用于自动化设备及通用机械驱动。该型号(FFMN-32L-10-T0 40AX)的核心特点如下:三相交流异步电动机。额定…

2026/8/1 0:09:33 阅读更多