0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

小白学PR——数据的输入

454398 来源:alpha007 作者:alpha007 2022-12-09 15:53 次阅读

前文《跟老驴一起学 PR | Innovus 输入》阐述了 Innovus 所需要的输入数据有哪些,今天来学习如何将这些数据读入 Innovus. 以前熟悉的工具,不论是综合、formal 还是 STA 读入数据大多都是 read_xxx 命令读入,思维定势之前以为 Innovus 也是用一坨 read_xxx 的命令读入,然而并不是。

在 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 指定给这个变量,这里有个问题,如果某个 leffile 在 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 groundnets.

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 pinname 的 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?

审核编辑黄昊宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Innovus
    +关注

    关注

    1

    文章

    20

    浏览量

    2724
收藏 人收藏

    评论

    相关推荐

    比例谐振(PR)控制器的学习过程记录

    0、前言 在一个闭环控制系统中,可分为输入参考值、闭环控制器、执行机构、输出参数,反馈系数,这几个部分。 设计一款控制器,可以让系统的输出参数跟踪输入参考值,达到了控制的目的。在直流控制系统中,常用
    的头像 发表于 01-20 10:46 131次阅读
    比例谐振(<b class='flag-5'>PR</b>)控制器的学习过程记录

    智行者蜗小白绘就泰国智慧清洁蓝图

    在科技进步的浪潮中,智行者秉持用自动驾驶解决方案构建智慧生活的理念,孕育出了“蜗小白”这一智慧清洁领域的重要成果。蜗小白在国内已崭露头角,身影遍布多地;而在海外,蜗小白系列产品已成功拓展至30余个国家及地区。
    的头像 发表于 12-06 13:53 259次阅读

    DS160PR410EVM-SMA评估模块(EVM)

    电子发烧友网站提供《DS160PR410EVM-SMA评估模块(EVM).pdf》资料免费下载
    发表于 12-02 14:41 0次下载
    DS160<b class='flag-5'>PR</b>410EVM-SMA评估模块(EVM)

    智行者蜗小白海外项目落地实况

    在科技进步的浪潮中,智行者秉持用自动驾驶解决方案构建智慧生活的理念,孕育出了“蜗小白”这一智慧清洁领域的重要成果。蜗小白在国内已崭露头角,身影遍布多地;而在海外,蜗小白系列产品已成功拓展至30余个国家及地区。
    的头像 发表于 11-29 16:24 338次阅读

    DS320PR810-RSC-EVM用户指南

    电子发烧友网站提供《DS320PR810-RSC-EVM用户指南.pdf》资料免费下载
    发表于 11-26 16:30 0次下载
    DS320<b class='flag-5'>PR</b>810-RSC-EVM用户指南

    DS320PR4xxEVM用户指南

    电子发烧友网站提供《DS320PR4xxEVM用户指南.pdf》资料免费下载
    发表于 11-26 16:26 0次下载
    DS320<b class='flag-5'>PR</b>4xxEVM用户指南

    DS160PR810EVM-RSC评估模块(EVM)

    电子发烧友网站提供《DS160PR810EVM-RSC评估模块(EVM).pdf》资料免费下载
    发表于 11-26 16:05 0次下载
    DS160<b class='flag-5'>PR</b>810EVM-RSC评估模块(EVM)

    DS160PR1601和DS320PR1601编程指南

    电子发烧友网站提供《DS160PR1601和DS320PR1601编程指南.pdf》资料免费下载
    发表于 11-01 09:52 0次下载
    DS160<b class='flag-5'>PR</b>1601和DS320<b class='flag-5'>PR</b>1601编程指南

    DS160PR810编程指南

    电子发烧友网站提供《DS160PR810编程指南.pdf》资料免费下载
    发表于 10-30 09:50 0次下载
    DS160<b class='flag-5'>PR</b>810编程指南

    DS320PR410编程指南

    电子发烧友网站提供《DS320PR410编程指南.pdf》资料免费下载
    发表于 10-30 09:27 0次下载
    DS320<b class='flag-5'>PR</b>410编程指南

    高压核相器/相位比较设备:PR11、PR15D/PR33D

    PR11、PR15D/PR33D为高压核相器,分别用于11KV、15KV、33KV中性接地系统相位角比较。PR11为氖光灯型,PR15D/
    的头像 发表于 10-23 10:58 246次阅读
    高压核相器/相位比较设备:<b class='flag-5'>PR</b>11、<b class='flag-5'>PR</b>15D/<b class='flag-5'>PR</b>33D

    TMUXHS4212 MUX与DS160PR421或DS160PR412 Redriver在PCIe GEN 4应用中的比较

    电子发烧友网站提供《TMUXHS4212 MUX与DS160PR421或DS160PR412 Redriver在PCIe GEN 4应用中的比较.pdf》资料免费下载
    发表于 09-11 14:12 0次下载
    TMUXHS4212 MUX与DS160<b class='flag-5'>PR</b>421或DS160<b class='flag-5'>PR</b>412 Redriver在PCIe GEN 4应用中的比较

    DS320PR822用于PCle 5.0、CXL 1.1的线性驱动器数据

    电子发烧友网站提供《DS320PR822用于PCle 5.0、CXL 1.1的线性驱动器数据表.pdf》资料免费下载
    发表于 07-04 10:45 0次下载
    DS320<b class='flag-5'>PR</b>822用于PCle 5.0、CXL 1.1的线性驱动器<b class='flag-5'>数据</b>表

    DS160PR1601 16Gbps 16通道线性转接驱动器数据

    电子发烧友网站提供《DS160PR1601 16Gbps 16通道线性转接驱动器数据表.pdf》资料免费下载
    发表于 06-24 11:06 0次下载
    DS160<b class='flag-5'>PR</b>1601 16Gbps 16通道线性转接驱动器<b class='flag-5'>数据</b>表

    DS320PR810八通道线性转接驱动器数据

    电子发烧友网站提供《DS320PR810八通道线性转接驱动器数据表.pdf》资料免费下载
    发表于 06-24 10:49 1次下载
    DS320<b class='flag-5'>PR</b>810八通道线性转接驱动器<b class='flag-5'>数据</b>表