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.tcl

set_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 true

create_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 true

set 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 horizontal

check_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相关推荐

  1. 数字后端知识点扫盲——NDM

    今天在和后端讨论一个问题的时候听到一个新名词,NDM,我不懂,于是查阅了一些博主的blog,同时记录一下我的理解. 1:什么是NDM呢? 后端的物理设计需要读取的信息除了逻辑信息以外,还有floorp ...

  2. ICC/ICC2 or INN 一点不成熟的浅见

    笔者作为ICC/ICC2的深度用户(deep user),在过去的大部分时间都在把玩S家APR工具里的各种相关命令.配置和GUI操作种种.最近几年也有了机会使用了C家强大的ARP工具:innovus, ...

  3. python写cadance skill_《Cadence 16.6电路设计与仿真从入门到精通》——2.4 Design Entry CIS原理图图形界面...

    本节书摘来自异步社区<Cadence 16.6电路设计与仿真从入门到精通>一书中的第2章,第2.4节,作者: 王超 , 胡仁喜等 更多章节内容可以访问云栖社区"异步社区" ...

  4. 04_Initial Design/Floorplan实操2021-09-08上午

    一共有7步,做完就可以去验证了 导入design→摆放stdcell→各个步骤 一.Import design 建立view definition文件 Foundry timing sign-off ...

  5. Innovus零基础lab学习全面复盘总

    Innovus零基础lab学习全面复盘总结(附完整版pdf) 文章右侧广告为官方硬广告,与吾爱IC社区无关,用户勿点.点击进去后出现任何损失与社区无关. 为了让各位训练营学员更快入门数字 IC 后端, ...

  6. 数字IC所用软件及IP分类

    数字IC所用软件及IP分类 Synopsys--新思科技 VCS-Verilog Compile Simulater Verdi ICC/ICC2--布局布线工具 Starrc--寄生参数提取工具 D ...

  7. 吾爱IC社区一周岁了,mark下

    吾爱IC社区一周岁了,mark下!(免费送书!) 文章右侧广告为官方硬广告,与吾爱IC社区无关,用户勿点.点击进去后出现任何损失与社区无关. 转眼间,小编的公众号已经一岁了.对的,就是去年的今天,小编 ...

  8. 『转载』Debussy快速上手(Verdi相似)

    『转载』Debussy快速上手(Verdi相似) Debussy 是NOVAS Software, Inc(思源科技)发展的HDL Debug & Analysis tool,这套软体主要不是 ...

  9. 如何将自己写的verilog模块封装成IP核(二)

    =======================第一篇======================= 如何将自己写的verilog模块封装成IP核 将你的设计制作成BlackBox,也就是网表文件,这样 ...

最新文章

  1. 太阳系“首个星际访客”未被探测到人工信号
  2. javaSE基础04
  3. 【技术备忘录】H3C、华为网络设备Telnet的基本配置
  4. 【POJ 2503】Babelfish(水题)stl map存取即可
  5. 内存四区(代码区 静态区 栈区 堆区)
  6. MongoDB 副本集的相关概念【转】
  7. cUBtYhaFzo
  8. Video Analysis 相关领域解读之Video Captioning(视频to文字描述)
  9. java中如何切割图片_Java 切割图片代码
  10. python装饰器快速入门
  11. Win10修改注册表,提示无法创建密钥
  12. 地理探测器——Geodetector
  13. 最新Mac安装/卸载pip教程
  14. 项目经理一定要知道的PMP项目管理八大会议流程-(PMBOK高频考点)
  15. TWebLive基于TRTC和IM实现web群直播
  16. Latex引用参考文献-BibTex的使用
  17. [经验共享] 影像下载篇——在NASA上下载MODIS免费卫星影像的方法
  18. 【调度】一个著名的任务调度系统是怎么设计的?
  19. 在线求助ing~ 急!!
  20. 信息安全专家李钊博士:信息物理系统安全威胁

热门文章

  1. ArrayBuffer DataView
  2. Filter过滤器(超详细)
  3. 一文带你读懂“TRIZ”
  4. 用devc++表白_【建大表白墙】19级倪yl,风吹起如花般破碎的流年,而你的笑容摇晃摇晃,成为我命途中最美的点缀...
  5. ID卡拆解做成手机刷门禁(类似NFC功能)
  6. Matlab从入门到精通(一)
  7. 【黑马】Java基础从入门到起飞目录合集
  8. Apache Calcite教程-SQL解析-Calcite SQL解析
  9. java字符串是否相等的三种判断方法
  10. TMS570学习【2】pwm输出