千家信息网

PR中数据输入的示例分析

发表于:2024-09-23 作者:千家信息网编辑
千家信息网最后更新 2024年09月23日,小编给大家分享一下PR中数据输入的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在Innovus 中预定义了一坨i
千家信息网最后更新 2024年09月23日PR中数据输入的示例分析

小编给大家分享一下PR中数据输入的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!


在Innovus 中预定义了一坨init_XXX 的变量,用户需要将对应输入文件指定给对应的变量,然后执行init_design 工具就会将所有文件依次读入,对于verilog netlist 老驴扒拉了几个flow 关键的init 变量有:

  • init_design_settop , 这个变量默认值是1,意思是要求客户指定当前设计的top 名字给变量init_top_cell; 如果将该变量设成0, 则让工具自己识别top. 建议,用默认值,用户自己指定top.
  • init_lef_file , 将tech-lef + other lefs 指定给这个变量,这里有个问题,如果某个lef file 在init_design 之前没加上,要增量读入该怎么 办?在Innovus common ui 中用命令: read_physical -add_lefs XX 可以增量读入lef.
  • init_mmmc_file, 指定viewDefinition.tcl, viewDefinition 中的library_set 指定了所有要用的library, rc_corner 指定了对应的QRC file, constraint_mode 指定了SDC 文件。

  • init_verilog, 指定网表文件。

  • init_pwr_net, 指定 global power nets.

  • init_gnd_net, 指定 global ground nets.

  • init_cpf_file, 如果是多电压域设计,用于指定CPF 文件,如果power intent 是用1801 描述的,则不能用该变量指定1801 文件,需要用命令read_power_intent -1801 $1801_file 读入,如果在viewDefinition 中用到了power domain 则应该在init_design 之前读入,init_design 之后再执行 commit_power_intent. read_power_intent 这个命令的使用方式跟Genus 一致,在Genus 中多了一步apply_power_intent, 用于将设计跟power domain 绑定,commit_power_intent 用于插入low power cell.

至此,所有输入文件都指定完毕,执行init_design 就会将对应文件读入,init_design 读取文件的顺序还没看,按照逻辑猜测一下读入顺序:library -> tech-lef -> lef -> QRC -> cpf -> netlist -> SDC.



除了上面那一坨指定输入文件的init_XXX 变量之外,还有一坨用于控制输入过程的init_OOO 变量:
  • init_design_netlisttype , 用于指定netlist 的format 是verilog 还是OA, 老驴目前只学习verilog 部分,所有OA 相关的都忽略掉。
  • init_ignore_pgpin_polarity_check , 用于指定一个leaf cell pin name 的list, 告诉工具在globalNetConnect 或在CPF 中connect supply net 时忽略极性检查. 这货好像对1801 flow 没用,正好这周一解了个相关的问题,当时遇到的问题是1801 flow, 在commit_power_intent 时工具报Error: IMPDB-1220 跟WARN: IMPDB-1278, 对于这种问题在Innovus 中先用命令 dbGet [dbGet top.nets.name PMD0_VDD -p].isPwr 来检查工具将对应的supply net 认成了什么。在老驴遇到的case 中,是在1801 中用connect_supply_net 要将一个analog Ground 连到一个analog IP 上,但是在1801 中只定义了supply net 并没有指定该net 用于Ground 所以工具将其认成了Power. 解的办法是在1801 中为其create 一个supply set 并将其指定为ground.

  • init_verilog_tolerate_port_mismatch , 这个变量默认值是0, 不能容忍module 定义的port 比实例化时的port 少,如果将其设为1 工具在解析netlist 时如果发现module 的port 比实例化时的port 少,工具会在module 上创建一个port, 老驴以为这个变量在设计脏的时候特别有用。
  • init_lef_check_mask_shifts , 用于检查tech-lef 和MACRO sections 中 FIXEDMASK 跟LAYERMASKSHIFT 是否冲突,该变量默认值是off 就是不检查,如果设为on 工具发现冲突会报错并停掉,如果设为bypass 工具发现冲突只报错不停止,其实老驴还不知道FIXEDMASK 跟LAYERMASKSHIFT 在不同工艺中有多重要,先放到这里,万一以后发现重要呢,方便找。
  • init_import_mode , 用于指定setImportMode 的option, 如 set init_import_mode {-discardFloatingVNets true -keepEmptyModule true},此处留个问题:是不是默认innovus 会将empty module 删掉?如果是,那综合netlist 中有没有empty module 应该都无所谓吧?如果是,为什么有的后端一定要求把empty module 删掉?
  • init_design_uniquify , 控制innovus 解析netlist 时是否做uniquify, 既然innovus 要求netlist 是unique 的,那为毛不把该变量的默认值设为1?


以上是"PR中数据输入的示例分析"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

变量 工具 文件 输入 问题 命令 检查 设计 中用 是在 篇文章 冲突 数据 示例 分析 重要 内容 增量 实例 用户 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 杭州做app软件开发公司 数据库实验图书馆数据库 百万网民学网络安全法入口 软件开发用到的框架指什么 文本文档能存储多少数据库 网络技术工人岗位职责 湖南服务器电源哪家便宜 怎么查看数据库字符集 南昌市网络安全特训营 乌镇互联网大会感受太空科技 网络安全培训心得350字 软件开发创业计划书范文模板 网管软件开发书籍 高校开设网络安全专业 传奇无极数据库教学视频 互联网大会2018最新科技 网络安全 网络安全靠大家 棋牌游戏软件开发培训机构 长春天壹互联网科技有限公司 青岛oa软件开发报价 有关于网络安全的团活策划书 沈阳东塔网络安全学院 数据库工程师累不累 服务器地址为空 怎么办 数据库count 无尽的拉格朗日如何开服务器 国家电网按照什么分类建立数据库 数据库连接步骤 网络技术可以去掉马赛克嘛 山西有哪些软件开发公司
0