数字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…...

【人工智能】神经网络的优化器optimizer(二):Adagrad自适应学习率优化器
一.自适应梯度算法Adagrad概述 Adagrad(Adaptive Gradient Algorithm)是一种自适应学习率的优化算法,由Duchi等人在2011年提出。其核心思想是针对不同参数自动调整学习率,适合处理稀疏数据和不同参数梯度差异较大的场景。Adagrad通…...
在鸿蒙HarmonyOS 5中实现抖音风格的点赞功能
下面我将详细介绍如何使用HarmonyOS SDK在HarmonyOS 5中实现类似抖音的点赞功能,包括动画效果、数据同步和交互优化。 1. 基础点赞功能实现 1.1 创建数据模型 // VideoModel.ets export class VideoModel {id: string "";title: string ""…...
Java如何权衡是使用无序的数组还是有序的数组
在 Java 中,选择有序数组还是无序数组取决于具体场景的性能需求与操作特点。以下是关键权衡因素及决策指南: ⚖️ 核心权衡维度 维度有序数组无序数组查询性能二分查找 O(log n) ✅线性扫描 O(n) ❌插入/删除需移位维护顺序 O(n) ❌直接操作尾部 O(1) ✅内存开销与无序数组相…...

2021-03-15 iview一些问题
1.iview 在使用tree组件时,发现没有set类的方法,只有get,那么要改变tree值,只能遍历treeData,递归修改treeData的checked,发现无法更改,原因在于check模式下,子元素的勾选状态跟父节…...
css的定位(position)详解:相对定位 绝对定位 固定定位
在 CSS 中,元素的定位通过 position 属性控制,共有 5 种定位模式:static(静态定位)、relative(相对定位)、absolute(绝对定位)、fixed(固定定位)和…...

uniapp微信小程序视频实时流+pc端预览方案
方案类型技术实现是否免费优点缺点适用场景延迟范围开发复杂度WebSocket图片帧定时拍照Base64传输✅ 完全免费无需服务器 纯前端实现高延迟高流量 帧率极低个人demo测试 超低频监控500ms-2s⭐⭐RTMP推流TRTC/即构SDK推流❌ 付费方案 (部分有免费额度&#x…...

华为云Flexus+DeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建
华为云FlexusDeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建 前言 如今大模型其性能出色,华为云 ModelArts Studio_MaaS大模型即服务平台华为云内置了大模型,能助力我们轻松驾驭 DeepSeek-V3/R1,本文中将分享如何…...

在WSL2的Ubuntu镜像中安装Docker
Docker官网链接: https://docs.docker.com/engine/install/ubuntu/ 1、运行以下命令卸载所有冲突的软件包: for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done2、设置Docker…...

使用 SymPy 进行向量和矩阵的高级操作
在科学计算和工程领域,向量和矩阵操作是解决问题的核心技能之一。Python 的 SymPy 库提供了强大的符号计算功能,能够高效地处理向量和矩阵的各种操作。本文将深入探讨如何使用 SymPy 进行向量和矩阵的创建、合并以及维度拓展等操作,并通过具体…...

uniapp手机号一键登录保姆级教程(包含前端和后端)
目录 前置条件创建uniapp项目并关联uniClound云空间开启一键登录模块并开通一键登录服务编写云函数并上传部署获取手机号流程(第一种) 前端直接调用云函数获取手机号(第三种)后台调用云函数获取手机号 错误码常见问题 前置条件 手机安装有sim卡手机开启…...