数字IC后端实现 | Innovus各个阶段常用命令汇总
应各位读者要求,小编最近按照Innovus流程顺序整理出数字IC后端项目中常用的命令汇总。限于篇幅,这次只更新到powerplan阶段。有了这份Innovus常用命令汇总,学习数字IC后端从此不再迷路!如果大家觉得这个专题还不错,想继续看数字IC后端实现powerplan之后的内容,欢迎在文末留言区留下“数字后端”四个字。
一 设计导入
1)打开Innovus数据
source maia_cpu.enc (restoreDesign maia_cpu.enc.dat maia_cpu)
2)开启&关闭图形界面
Win &win off (win是window的缩写)
3)设置cpu数量
setMultiCpuUsage -localCpu 16 (16个cpu core)
4)执行设计导入加载设计
Init_design
5)设计导入结果之时序库物理库检查
checkDesign -physicalLibrary -timingLibrary -noHtml -outfile check_design.rpt
6)设计导入结果之netlist质量检查
CheckDesign -netlist

7)设置历史命令显示
History keep 1000000
8)创建PVT时序库
create_library_set -name lib_ss_125 -timing " /pdk/TSMCHOME/digital/Front_End/timing_power_noise/ECSM/tcbn12ffcllbwp6t16p96cpd_120a/tcbn12ffcllbwp6t16p96cpdssgnp0p72v125c_hm_ecsm.lib \ /pdk/TSMCHOME/digital/Front_End/timing_power_noise/ECSM/tcbn12ffcllbwp6t16p96cpdlvt_120a/tcbn12ffcllbwp6t16p96cpdlvtssgnp0p72v125c_hm_ecsm.lib \ /pdk/TSMCHOME/sram_t12/1prf/ts5n12ffcllulvta1024x20m8swbsho_130c/CCS/ts5n12ffcllulvta1024x20m8swbsho_130c_ssgnp0p72v125c.lib \ /pdk/TSMCHOME/sram_t12/1prf/ts5n12ffcllulvta1024x32m8swbsho_130c/CCS/ts5n12ffcllulvta1024x32m8swbsho_130c_ssgnp0p72v125c.lib \ /pdk/TSMCHOME/sram_t12/1prf/ts5n12ffcllulvta128x108m2swbsho_130c/CCS/ts5n12ffcllulvta128x108m2swbsho_130c_ssgnp0p72v125c.lib /pdk/TSMCHOME/sram_t12/shdspsbsram/ts1n12ffcllsblvtd2048x64m8swbsho_130b/CCS/ts1n12ffcllsblvtd2048x64m8swbsho_130b_ssgnp0p72v125c.lib " -aocv "/pdk/TSMCHOME/digital/Front_End/SBOCV/ECSM/tcbn12ffcllbwp6t16p96cpd_120a/ssgnp0p72v125c/clock_p_data_p/tcbn12ffcllbwp6t16p96cpdssgnp0p72v125c_setup_P_P_ecsm.aocvm /pdk/TSMCHOME/digital/Front_End/SBOCV/ECSM/tcbn12ffcllbwp6t16p96cpdlvt_120a//ssgnp0p72v125c/clock_p_data_p/tcbn12ffcllbwp6t16p96cpdlvtssgnp0p72v125c_setup_P_P_ecsm.aocvm "
9)创建RC Corner
create_rc_corner -name rcworst \ -qx_tech_file {/pdk/TSMCHOME/tech_t12/QRC/rcworst/Tech/rcworst_CCworst_T/qrcTechFile} \ -preRoute_cap 1.073 \ -preRoute_res 1.173 \ -preRoute_clkcap 1.080 \ -preRoute_clkres 1.079 \ -postRoute_cap {1.0 1.032 } \ -postRoute_res {1.0 1.029 } \ -postRoute_xcap {1.0 0.946 } \ -postRoute_clkcap {0.0 1.042 } \ -postRoute_clkres {0.0 0.986 } \ -T 125
10)创建Constraint Mode
create_constraint_mode -name func -sdc_files {…/input/maia_cpu.func.sdc}
11)创建延时Delay Corner
create_delay_corner -name corner_rcmax_ss_125 -library_set {lib_ss_125} -rc_corner {rcworst}
12)创建setup和hold分析的View
create_analysis_view -name func_rcmax_ss_125 -constraint_mode {func} -delay_corner {corner_rcmax_ss_125}
13)指定工具分析setup和hold的View
set_analysis_view -setup {func_rcmax_ss_125} -hold {func_rcmin_ff_m40}
14)检查设计Netlist是否unique
checkUnique (CUI: check_unique)
15)保存设计数据
saveDesign …/db/floorplan.enc
16) 退出Innovus
exit 1
二 Floorplan
1)设置Floorplan尺寸
floorPlan -site core6T -s 1250 1100.016 2.4 2.4 2.4 2.4 (其中core6T为TSMC 12nm 6Track cell对应的site)
2)创建多边形Floorplan
set block_boundary {{1079.392 769.584} {873.817 769.584} {873.817 1108.512} {0 1108.512} {0 0} {1079.392 0}}
create_rectilinear_block_boundary -block_name maia_cpu -boundary $block_boundary -core2die 2.4
setObjFPlanBoxList Cell maia_cpu {{0.00000 940 1254.81600 1104.81600} {0.00000 0.00000 1019.35550 940}}
Low Power Design |各Power Domain多边形形状设置,不同高度Row创建,effective PD等

3)摆放io port
editPin -fixOverlap 1 -unit MICRON -spreadDirection clockwise -edge 2 -layer 6 -spreadType start -spacing 0.16 -start 200 200 -pin [get_object_name [all_outputs ]]
4)读入设计def
defIn mem.def
5)添加placement blockage
createPlaceBlockage -box $bbox -name Placement_blockage -type hard
6)创建site row
CreateRow
7)切割Row
cutRow
8)删除Row
DeleteRow
9)Floorplan相关object snap对齐
snapFPlan

10)添加io port buffer
attachIOBuffer -in $in_clk_buf_name -out $out_clk_buf_name -status fixed -suffix $clkname_prefix -selNetFile $sel_net_file_name
80万+年薪的数字后端简历到底长什么样?
11)添加endcap cell
addEndCap
12)添加tapcell
addWellTap -cell TAPCELLBWP6T16P96CPD -cellInterval 48 -checkerBoard -check_channel -prefix WELLTAP -inRowOffset 4.032
13)Verify tapcell distance
verifyWellTap -cell “BOUNDARY_NTAPBWP6T16P96CPD BOUNDARY_PTAPBWP6T16P96CPD_VPP TAPCELLBWP6T16P96CPD” -rule 48


三 Powerplan
1)创建PG逻辑连接
globalNetConnect VDD_CORE -type pgpin -pin {VDD} -inst * -override
globalNetConnect VDD_CORE -type tiehi -pin {VDD} -inst * -override
2)定义特殊通孔VIA类型
add_via_definition -name via12_usrdefine -via_rule VIAGEN12_RECT -row_col {1 10} -cut_size {0.13 0.05} -bottom_enclosure {0.02 0.02} -top_enclosure {0.08 0.08} -cut_spacing {0.21 0.13}
add_via_definition -name via23_usrdefine -via_rule VIAGEN23_RECT -row_col {1 10} -cut_size {0.13 0.05} -bottom_enclosure {0.02 0.02} -top_enclosure {0.08 0.08} -cut_spacing {0.21 0.13}
https://alidocs.dingtalk.com/i/nodes/jkB7yl4ZK3vV6P2rdqya8PMX2O6oxqw0?doc_type=wiki_doc&utm_medium=main_vertical&utm_scene=team_space&utm_source=search# 「分享一个powerplan对绕线资源影响的案例(面试可以分享这个过程)」
3)指定特殊VIA类型打孔
setViaGenMode -viarule_preference { via12_usrdefine via23_usrdefine via34_usrdefine via45_usrdefine via56_usrdefine via67_usrdefine via78_usrdefine via89_usrdefine}
4)为指定区域添加power stripe
addStripe -area $channel1 \ -number_of_sets 1 -nets “VDD_CORE VSS” -width 4 -spacing 1 -layer M8 \ -direction vertical \ -start_offset 2 \ -uda power_m8_channel1
5)添加电源环Power Ring
addRing -nets {VDD_PPS VSS} -type core_rings -follow io -layer {top METAL3 bottom METAL3 left METAL4 right METAL4} -width {top 2 bottom 2 left 2 right 2} -spacing {top 1 bottom 1 left 1 right 1} -offset {top 0 bottom 0 left 0 right 0} -center 0 -threshold 0 -jog_distance 0 -snap_wire_center_to_grid None

6)创建power rail电源轨道
sroute -connect { corePin } \ -layerChangeRange { M1(1) M8(8) } \ -corePinTarget { none } \ -allowJogging 1 \ -crossoverViaLayerRange { M1(1) M8(8) } \ -nets { VDD_CORE VSS } \ -allowLayerChange 1 \ -targetViaLayerRange { M1(1) M8(8) } \ -uda power_rail_M1

7)PG Pin连接性检查
verifyConnectivity -type special -noAntenna -noWeakConnect -noUnroutedNet -error 1000 -warning 50 -net VDD_CORE
verifyConnectivity -type special -noAntenna -noWeakConnect -noUnroutedNet -error 1000 -warning 50 -net VSS

8)DRC检查
verify_drc
9)PG Short检查
verify_PG_short -no_routing_blkg
10)打孔
editPowerVia -top_layer M2 -bottom_layer M1 -delete_vias true
11)修复Via的drc
fixVia -cutSpacing -shape FOLLOWPIN -layer {VIA1}

相关文章:
数字IC后端实现 | Innovus各个阶段常用命令汇总
应各位读者要求,小编最近按照Innovus流程顺序整理出数字IC后端项目中常用的命令汇总。限于篇幅,这次只更新到powerplan阶段。有了这份Innovus常用命令汇总,学习数字IC后端从此不再迷路!如果大家觉得这个专题还不错,想继…...
MySQL全文索引检索中文
MySQL全文索引检索中文 5.7.6版本不支持中文检索,需要手动修改配置 ft_min_word_len 1 ,因为默认配置 4 SHOW VARIABLES LIKE ft%; show VARIABLES like ngram_token_size;配置 修改 MySQL 配置文件 vim /etc/my.cnf在配置的 [mysqld] 下面添加**ft_…...
pikachu靶场-Cross-Site Scripting(XSS)
sqli-labs靶场安装以及刷题记录-dockerpikachu靶场-Cross-Site Scripting pikachu靶场的安装刷题记录反射型xss(get)反射型xss(post)存储型xssDOM型xssDOM型xss-xxss盲打xss之过滤xss之htmlspecialcharsxss之href输出xss之js输出 pikachu靶场的安装 刷题记录 反射型xss(get) …...
在数据库访问中,使用localhost、127.0.0.1和IP地址有什么差异
在数据库访问中,使用127.0.0.1和IP地址(在本地环境中通常指的是局域网IP或环回地址)的速度差异,实际上是非常微小的,甚至在很多情况下可以忽略不计。不过,为了更深入地理解这个问题,我们可以从以…...
C语言 | Leetcode C语言题解之第513题找树左下角的值
题目: 题解: #define MAX_NODE_SIZE 10000int findBottomLeftValue(struct TreeNode* root){int ret;struct TreeNode** queue (struct TreeNode **)malloc(sizeof(struct TreeNode) * MAX_NODE_SIZE);int head 0;int tail 0;queue[tail] root;whil…...
人工智能:改变未来生活与工作的无尽可能
随着科技的飞速发展,人工智能(AI)正成为推动全球变革的重要力量。无论是在医疗、企业,还是日常生活中,AI技术通过赋能各行业,正在深刻地改变我们的生活和工作方式。这些变化为我们提供了便捷与效率的同时&a…...
讲一讲 kafka 的 ack 的三种机制?
大家好,我是锋哥。今天分享关于【K讲一讲 kafka 的 ack 的三种机制?】面试题?希望对大家有帮助; 讲一讲 kafka 的 ack 的三种机制? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 Kafka的消息确认机制&…...
若依框架部署到服务器后头像资源访问404
排错过程 第一开始以为是代理出问题了 官网给出的解决方案 第一种是用代理后端接口,第二种是重写路径直接访问静态文件 接口通过捕获profile开头的路径/profile/avatar…,转为/home…/avatar找到我们在该路径下的文件 但是我想了一下,我ngin…...
纯GO语言开发RTSP流媒体服务器-RTSP推流直播、本地保存录像、录像回放、http-flv及hls协议分发
温馨提示:我们分享的文章是给需要的人,不需要的人请绕过,文明浏览,误恶语伤人! 前言 在软件开发中遇到使用流媒体音视频的行业比较多,如安防监控系统、无人机巡逻视频上云处理、直播平台、教育与企业培训…...
el-table相关的功能实现
1. 表格嵌套表格时,隐藏父表格的全选框 场景:当table表格设置复选(多选)功能时,如何隐藏表头的复选框,不让用户一键多选。 <el-table :header-cell-class-name"cellClass">// 表头复选框禁…...
衡石分析平台系统分析人员手册-展示类控件创建富文本攻略
富文本 富文本控件是一种常见的控件,可用来展示文本信息、用户属性信息,在数据分析中起到辅助分析的功能。 富文本常见的使用场景有: 仅展示纯文本信息。在富文本中展示数据集字段、指标、参数等信息。使用富文本展示用户属性相关信息。在…...
为什么在网络中不能直接传输数据
为什么在网络中不能直接传输数据 原因 在网络中不能直接传输原始数据形式,主要有以下几方面原因: 数据表示的多样性:不同的计算机系统、编程语言和应用程序对数据的表示方式可能各不相同。例如,整数在不同的编程语言中可能有不同…...
javascript实现aes算法(支持微信小程序)
概述: 本代码是本人从c代码上转换成的javascript代码,并测试验证通过的。代码比较长1000多行,考虑放其他地方要么要会员要么容易关闭,不容易被需要的获取到,故直接贴在本文档下面的章节,功能代码。 测试平…...
Centos系统新增网卡后获取不到网卡的IP地址解决方法
一、问题描述 当我们给Centos系统添加了新的网卡后,使用查看IP地址命令【ip addr】时,发现新网卡没有获取到对应的IP地址信息,如下图所示: 二、解决方法 有两种解决方法:一种是自动获取IP地址;另外一种是手动配置IP地址; 2.1、自动获取IP地址 #自动获取网卡的IP地址命…...
U-net医学分割网络——学习笔记
《U-Net: Convolutional Networks for Biomedical Image Segmentation》 一、提出背景 U-Net 的提出是为了解决生物医学图像分割的几个关键问题:需要像素级的精确分割、标注数据稀缺、滑动窗口方法效率低以及多尺度特征融合的需求。U-Net 通过对称的 U 型全卷积结…...
CIM+全场景应用,铸就智慧城市发展新篇
在数字化浪潮的推动下,智慧城市建设正成为全球城市发展的新趋势。而CIM(城市信息模型)作为智慧城市建设的核心,正以其强大的数据集成和分析能力,引领着城市发展的新篇章。今天,让我们一起探讨CIM全场景应用…...
ts:对象数组的简单使用
ts中对象数组的简单使用 一、主要内容说明二、例子1、源码12、源码1运行效果 三、结语四、定位日期 一、主要内容说明 平常ts创建数组的格式如下: let array:string[]["元素1","元素2","元素3","元素3","元素4"…...
当我们在微服务中使用API网关时,它是否会成为系统的瓶颈?这种潜在的瓶颈如何评估和解决?如何在微服务架构中保证高效请求流量?|API网关|微服务|异步处理
目录 1. API网关在微服务中的角色与重要性 2. API网关瓶颈的评估 2.1 请求延迟分析 2.2 并发请求量监控 2.3 内存和CPU使用情况 2.4 限流和熔断机制评估 2.5 日志分析 3. API网关瓶颈的解决方案 3.1 缓存机制优化 3.2 负载均衡优化 3.3 异步处理与消息队列 3.4 限流…...
微服务设计模式 - 特性标志(Feature Flags)
微服务设计模式 - 特性标志(Feature Flags) 定义 特性标志(Feature Flags),又称特性开关(Feature Toggles),是一种常见的云计算设计模式,允许开发人员通过配置动态地打开…...
故障诊断 | MTF-TLSSA-DarkNet-GRU-MSA迁移学习故障识别程序(t分布+莱维飞行改进麻雀优化)
故障诊断 | 故障诊断实例代码 目录 故障诊断 | 故障诊断实例代码效果一览基本介绍程序设计参考资料 效果一览 基本介绍 利用了迁移学习和多项技术改进,包括麻雀搜索法、DarkNet19、GRU、多头注意力机制等,以提高故障识别的准确性和效率 模型框架&#x…...
大数据学习栈记——Neo4j的安装与使用
本文介绍图数据库Neofj的安装与使用,操作系统:Ubuntu24.04,Neofj版本:2025.04.0。 Apt安装 Neofj可以进行官网安装:Neo4j Deployment Center - Graph Database & Analytics 我这里安装是添加软件源的方法 最新版…...
Ubuntu系统下交叉编译openssl
一、参考资料 OpenSSL&&libcurl库的交叉编译 - hesetone - 博客园 二、准备工作 1. 编译环境 宿主机:Ubuntu 20.04.6 LTSHost:ARM32位交叉编译器:arm-linux-gnueabihf-gcc-11.1.0 2. 设置交叉编译工具链 在交叉编译之前&#x…...
《Playwright:微软的自动化测试工具详解》
Playwright 简介:声明内容来自网络,将内容拼接整理出来的文档 Playwright 是微软开发的自动化测试工具,支持 Chrome、Firefox、Safari 等主流浏览器,提供多语言 API(Python、JavaScript、Java、.NET)。它的特点包括&a…...
YSYX学习记录(八)
C语言,练习0: 先创建一个文件夹,我用的是物理机: 安装build-essential 练习1: 我注释掉了 #include <stdio.h> 出现下面错误 在你的文本编辑器中打开ex1文件,随机修改或删除一部分,之后…...
MVC 数据库
MVC 数据库 引言 在软件开发领域,Model-View-Controller(MVC)是一种流行的软件架构模式,它将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller)。这种模式有助于提高代码的可维护性和可扩展性。本文将深入探讨MVC架构与数据库之间的关系,以…...
macOS多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用
文章目录 问题现象问题原因解决办法 问题现象 macOS启动台(Launchpad)多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用。 问题原因 很明显,都是Google家的办公全家桶。这些应用并不是通过独立安装的…...
网站指纹识别
网站指纹识别 网站的最基本组成:服务器(操作系统)、中间件(web容器)、脚本语言、数据厍 为什么要了解这些?举个例子:发现了一个文件读取漏洞,我们需要读/etc/passwd,如…...
回溯算法学习
一、电话号码的字母组合 import java.util.ArrayList; import java.util.List;import javax.management.loading.PrivateClassLoader;public class letterCombinations {private static final String[] KEYPAD {"", //0"", //1"abc", //2"…...
提升移动端网页调试效率:WebDebugX 与常见工具组合实践
在日常移动端开发中,网页调试始终是一个高频但又极具挑战的环节。尤其在面对 iOS 与 Android 的混合技术栈、各种设备差异化行为时,开发者迫切需要一套高效、可靠且跨平台的调试方案。过去,我们或多或少使用过 Chrome DevTools、Remote Debug…...
C++_哈希表
本篇文章是对C学习的哈希表部分的学习分享 相信一定会对你有所帮助~ 那咱们废话不多说,直接开始吧! 一、基础概念 1. 哈希核心思想: 哈希函数的作用:通过此函数建立一个Key与存储位置之间的映射关系。理想目标:实现…...
