create_mw_lib相关错误
milkyway物理库
Synopsys公司的Milkyway数据库将设计数据存储在Milkyway设计库中,物理库数据存储在Milkyway参考库中。
银河设计库
用于存储设计数据的Milkyway目录结构(即统一的、映射的网表和约束)称为Milkyway设计库。
通过将MW_DesignLibrary变量设置为根目录路径,可以为当前会话指定Milkyway设计库。
银河参考库
用于存储物理库数据的Milkyway目录结构称为Milkyway参考库。
参考库包含标准单元、宏单元和填充单元。通过将MW_REFERENCE_LIBRARY变量设置为根目录路径,可以为当前会话指定Milkyway参考库。清单中的顺序意味着优先解决引用冲突。
如果多个引用库具有相同名称的单元格,则第一个引用库具有优先级。
写银河数据库
使用Write_Milkyway命令时,Design Compiler将映射的统一设计写入Milkyway数据库,包括Netlist、综合约束和任何物理指导信息。
可以在整个银河流中使用单个银河系库。但Design Compiler设计编译器不支持read_milkyway命令。
使用Milkyway数据库时,不需要使用中间Netlist文件交换格式(如Verilog或VHDL)与其他Synopsys Galaxy平台工具通信。
在Design Compiler设计编译器中使用Milkyway数据库之前,必须准备一个设计库和一个参考库。
银河库注意事项
使用write_milkyway命令时,请遵守以下指导原则:
确保银河系参考库中的所有单元格在时序库中都有相应的单元格。
银河系参考库中的cell的端口方向是从时序库中的cell端口方向设置的。
如果cell存在于银河系参考库中,但不在时序库中,则不会设置银河系参考库中存在的细胞的端口方向。
在运行write_milkyway命令之前运行uniquify命令。
您必须确保逻辑库和Milkyway技术文件中的单元是一致的。
SDC文件不包含单位信息。
如果逻辑库和Milkyway技术文件中的单位不一致,Write_Milkyway命令将无法自动转换它们。
例如,如果逻辑库使用Femtofarad作为电容单元,而Milkyway技术文件使用picofarad作为电容单元,则write_sdc命令的输出将显示不同的净负荷值。
在下面的示例中,逻辑库和Milkyway技术文件中的电容单位不一致。
在WRITE_Milkyway命令运行之前,将显示网络gpdhi_word_d_21_的以下Set_Load信息:
set_load 1425.15 [get_nets {gpdhi_word_d_21_}]
在运行write_milkyway命令之后,SDC文件将显示。
set_load 8.36909 [get_nets {gpdhi_word_d_21_}]
create_mw_lib命令解析
create_mw_lib的直接参数是设计库名称
-technology 指定的参数是工艺库名称
-mw_reference_library 指定的参数是参考库名称
create_mw_lib命令示例
create_mw_lib mw_design_lib $technology $lib_path/TSMC18_eLL_5LM.tf -mw_reference_library $lib_path/TSMC18_eLL_5LM.clf.scm
tf库示意
Technology {
name = ""
date = ""
dielectric = “1e-05”
unitTimeName="ns"
unitLengthName=“micron”
lengthPrecision= 1000
gridResolution=5
unitVoltage= "V"
...
}
Color 27 {
name= ""
rgbDefined = 1
redIntensity= 90
greenIntensity=170
blueIntensity=250
}
...
clf.scm参考库示意
define _libId(dbGetCurrentLibId)
defineAntennaRule _libId 1 8 0 40
...
dbAddAntennaLayerRule _libId "METAL1" 200 '(0.500 0 300 3000)
dbAddAntennaLayerRule _libId "VIA12" 20 '(0.500 0 500 80)
...
错误1描述
运行create_mw_lib命令时:
错误:未能添加引用库“.”
错误:未能为“XX库”(MW-215)设置MW参考库。
set mw_reference_library "/eda/lib/p_base_lvt / eda/lib/lp_base_llp_lvt /eda/lib/p_base_lvt"
set mw_design_library prj_lib
set TECH_FILE tech.tf
create_mw_lib -technology $TECH_FILE \
-mw_reference_library $mw_reference_library \
$mw_design_library
错误1分析
mw-215错误源于存在多个引用库。创建_mw_lib脚本中同一库的条目。
脚本中Set MW_REFERENCE_LIBRARY命令设置具有相同的库(P_Base_LVT),输入了两次。若要避免此错误,请从集合MW_REFERENCE_LIBRARY中删除重复的条目。
set mw_reference_library "/eda/ip/p_base_lvt /eda/ip/lp_base_llp_lvt"