ICC2(一)import design —— NDM
1.1 什么是NDM?
物理设计需要读取逻辑信息和物理信息,Synopsys引入了NDM(new data model)将逻辑信息和物理信息合成到一起,NDM将信息存储到"view"里,在NDM有4种view:
timing view :包含timing、power、function等逻辑信息,用于时序、功耗分析及优化,相当于db。
layout view :物理信息,相当于gds。
design view:物理形状以及pin的信息,包含place&route的结果。
frame view :物理信息的抽象形式,pr优化时使用,提高运行速度,相当于lef。
1.2 如何产生NDM?
产生ndm所需的工具是Library Manager。启动命令:
icc2_lm_shell -file build_ndm. tcl
参考脚本:
#build_ndm.tclset_app_options -as_user_default -name lib.workspace.group_libs_create_slg -value false
set_app_options -as_user_default -name lib.workspace.allow_missing_related_pg_pins -value true
set_app_options -as_user_default -name lib.workspace.remove_frame_bus_properties -value true
set_app_options -as_user_default -name lib.workspace. save_design_views -value true
set_app_options -as_user_default -name link. require_physical -value true
set_app_options -as user_default_name design,.bus_delimiters -value {[]}
set_app_options -name file.lef.allow_empty_pin -value true
set_app_options -as_user_default -name lib.physical_model.preserve_metal_blockage -value auto
set_app_options -as_user_default -name lib.physical_model.block_all -value auto
set_app_options -as_user_default -name lib.physical_model.hierarchical -value true
set_app_options -as_user_default -name lib.physical_model.connect_within_pin -value true
set_app_options -as_user_default -name lib.physical_model.merge_metal_blockage -value true
set_app_options -as_user_default -name logic_model.
require_same_opt_attrs -value false
use_db_rail_names -value true
auto_remove_timing_only_designs -value truecreate_workspace STD -tech xx.tf -flow normal
foreach pvt {ff1p21v125c ss0p99vm40c} {
read_db $pvt.db -process_label $pvt
}read_lef std_cell.lef
set_attribute [get_site_defs unit] symmetry Y
set_attribute [get_site_defs unit] is_default trueset routing_dir_v "M2 M4 M6"
set routing_dir_h "M1 M3 M5"
set_attribute [get_layers $routing_dir_v] routing_direction vertical
set_attribute [get_layers $routing_dir_h] routing_direction horizontalcheck_workspace
commit_workspace xx.ndm
remove_workspace
图1.脚本截图
1.3 相关输入文件类型
techfile:signoff drc的drc deck简化版。
lef: macro lef,定义standard cell/sram/ip/IO的摆放旋转角度,大小,形状,以及pin的位置等信息。
db: lib 的二进制格式,包含每个单元的延迟时间,功耗,以及timing arc等信息。
1.4 常见问题
1 )NDM-032 &&LM-032
意思是不同db里同样的cell关于func port_name port_direction必须相同,使用手动修改过的lib去做ndm
把lib里的差异属性统一,把转ndm脚本里read_db换成read_lib
set_app_options -name file.lib.library_compiler_exec_script -value /xx/eda/synopsys/LC_2020/bin/lc_shell
2 )std cell的macro.lef和antenna.lef是分开的,没法一起读进去,转出的ndm没有antenna信息。用innovus读header.lef & stdcell.lef && antenna.lef以及网表,然后write_lef_library xx_ant.lef即可。
3)block做ndm的命令
create_frame
write_lef -design xx.frame xx.lef
4)去掉mem.ndm routing blk
去掉mem.lef里obs部分某层金属的blockage内容,在转ndm脚本里加入:
set_app_options -as_user_default -name lib.physical.mode_block_all -value false
5)LM-025 && LM-082
不同db尤其是不同基本电压的db读取后check workspace会报告有逻辑信息对不上的问题,这是正常的,可以在check_workspace加个allow_missing的option
6)LM-043
不同db的power rail数量或者名字对应不上,多出现在rom和ram上,这时候需要分开做ndm,相同power rail的放一起。
7)TECH-030&&LEFR-021
Warning: skipped LayerDataType xx since it's layerNumber x is invalid (TECH-030)
ERROR: Line xxx,Macro xx ,Layer xx does not exist in the library technology information(LEFR-021)
layer xx只有LayerDataType 定义,没有Layer定义,参考tech lef的数据和tech file的格式,补上Layer定义
Layer xx {
maskName = implant
minSpacing = xx
minWidth = xx
}
ICC2(一)import design —— NDM相关推荐
- 数字后端知识点扫盲——NDM
今天在和后端讨论一个问题的时候听到一个新名词,NDM,我不懂,于是查阅了一些博主的blog,同时记录一下我的理解. 1:什么是NDM呢? 后端的物理设计需要读取的信息除了逻辑信息以外,还有floorp ...
- ICC/ICC2 or INN 一点不成熟的浅见
笔者作为ICC/ICC2的深度用户(deep user),在过去的大部分时间都在把玩S家APR工具里的各种相关命令.配置和GUI操作种种.最近几年也有了机会使用了C家强大的ARP工具:innovus, ...
- python写cadance skill_《Cadence 16.6电路设计与仿真从入门到精通》——2.4 Design Entry CIS原理图图形界面...
本节书摘来自异步社区<Cadence 16.6电路设计与仿真从入门到精通>一书中的第2章,第2.4节,作者: 王超 , 胡仁喜等 更多章节内容可以访问云栖社区"异步社区" ...
- 04_Initial Design/Floorplan实操2021-09-08上午
一共有7步,做完就可以去验证了 导入design→摆放stdcell→各个步骤 一.Import design 建立view definition文件 Foundry timing sign-off ...
- Innovus零基础lab学习全面复盘总
Innovus零基础lab学习全面复盘总结(附完整版pdf) 文章右侧广告为官方硬广告,与吾爱IC社区无关,用户勿点.点击进去后出现任何损失与社区无关. 为了让各位训练营学员更快入门数字 IC 后端, ...
- 数字IC所用软件及IP分类
数字IC所用软件及IP分类 Synopsys--新思科技 VCS-Verilog Compile Simulater Verdi ICC/ICC2--布局布线工具 Starrc--寄生参数提取工具 D ...
- 吾爱IC社区一周岁了,mark下
吾爱IC社区一周岁了,mark下!(免费送书!) 文章右侧广告为官方硬广告,与吾爱IC社区无关,用户勿点.点击进去后出现任何损失与社区无关. 转眼间,小编的公众号已经一岁了.对的,就是去年的今天,小编 ...
- 『转载』Debussy快速上手(Verdi相似)
『转载』Debussy快速上手(Verdi相似) Debussy 是NOVAS Software, Inc(思源科技)发展的HDL Debug & Analysis tool,这套软体主要不是 ...
- 如何将自己写的verilog模块封装成IP核(二)
=======================第一篇======================= 如何将自己写的verilog模块封装成IP核 将你的设计制作成BlackBox,也就是网表文件,这样 ...
最新文章
- 太阳系“首个星际访客”未被探测到人工信号
- javaSE基础04
- 【技术备忘录】H3C、华为网络设备Telnet的基本配置
- 【POJ 2503】Babelfish(水题)stl map存取即可
- 内存四区(代码区 静态区 栈区 堆区)
- MongoDB 副本集的相关概念【转】
- cUBtYhaFzo
- Video Analysis 相关领域解读之Video Captioning(视频to文字描述)
- java中如何切割图片_Java 切割图片代码
- python装饰器快速入门
- Win10修改注册表,提示无法创建密钥
- 地理探测器——Geodetector
- 最新Mac安装/卸载pip教程
- 项目经理一定要知道的PMP项目管理八大会议流程-(PMBOK高频考点)
- TWebLive基于TRTC和IM实现web群直播
- Latex引用参考文献-BibTex的使用
- [经验共享] 影像下载篇——在NASA上下载MODIS免费卫星影像的方法
- 【调度】一个著名的任务调度系统是怎么设计的?
- 在线求助ing~ 急!!
- 信息安全专家李钊博士:信息物理系统安全威胁
热门文章
- ArrayBuffer DataView
- Filter过滤器(超详细)
- 一文带你读懂“TRIZ”
- 用devc++表白_【建大表白墙】19级倪yl,风吹起如花般破碎的流年,而你的笑容摇晃摇晃,成为我命途中最美的点缀...
- ID卡拆解做成手机刷门禁(类似NFC功能)
- Matlab从入门到精通(一)
- 【黑马】Java基础从入门到起飞目录合集
- Apache Calcite教程-SQL解析-Calcite SQL解析
- java字符串是否相等的三种判断方法
- TMS570学习【2】pwm输出