IO出pin

news/2025/10/27 11:07:50/文章来源:https://www.cnblogs.com/yjxmike/p/19168299
proc align_to_grid {value} {set grid 0.005return [expr round($value / $grid) * $grid]
}
define_proc_arguments VDD_IO_pin \-info "Extend VDD IO pins" \-define_args {{-IOcelltype "IO instance name" IOcelltype string optional}{-extend_length "Extension length" extend_pin_length string optional}{-metal "Extension metal" Metal string optional}
}
proc VDD_IO_pin {args} {parse_proc_arguments -args $args args_arrayif {[info exists args_array(-IOcelltype)]} {set macro1 $args_array(-IOcelltype)set macro [dbget [dbget top.insts.cell.name $macro1 -p2].name]} else {puts "AKRO INFO: extend All macro pin shape" set macro [dbget [dbget top.insts.cell.name RCMCU_PLVDD -p2].name]}if {[info exists args_array(-extend_length)]} {set extend_pin_length $args_array(-extend_length)} else {set extend_pin_length 51.43}if {[info exists args_array(-metal)]} {set metallayer $args_array(-metal)} else {set metallayer M2}foreach macro $macro {if {$macro1 == "RCMCU_PLVDD"} {set pin_name1 "VDDH"set pin_name2 "VSSH"set pin_name3 "POC"set pin_name4 "GND"set Tleng 58.21} elseif {$macro1 == "RCMCU_PLVSS"} {set pin_name1 "VDDH"set pin_name2 "VSSH"set pin_name3 "POC"set pin_name4 "VDD"set Tleng 57} elseif {$macro1 == "RCMCU_PLVSSH"} {set pin_name1 "VDDH"set pin_name2 "GND"set pin_name3 "POC"set pin_name4 "VDD"set Tleng 53.8} else {set pin_name1 "VDDH"set pin_name2 "VSSH"set pin_name3 "POC"set pin_name4 "GND"set Tleng 58.21}if {$metallayer == "M2"} {set layerNumber 2} elseif {$metallayer == "M3"} {set layerNumber 3} else {set layerNumber 2}set inst_ptr [dbget top.insts.name $macro -p]set macro_box [dbget $inst_ptr.box]puts $macro_boxset inst_terms_ptr [dbget $inst_ptr.PGInstTerms]foreach ptr $inst_terms_ptr {set term_name [dbget $ptr.name]puts $term_nameif {[regexp $pin_name1 $term_name]} {continue}if {[regexp $pin_name2 $term_name]} {continue}if {[regexp $pin_name3 $term_name]} {continue}if {[regexp $pin_name4 $term_name]} {continue}if {[lsearch [dbget $ptr.term.pins.layerShapeShapes.layer.num] 10] == "-1"} {set layerNum $layerNumberset orien [dbget $ptr.inst.orient]if {$orien == "R90" || $orien == "R270"} {set cell_pin_rect [dbget [dbget [dbget [dbget $ptr.term.pins.layerShapeShapes.shapes.rect_sizex $Tleng -p2].layer.name $metallayer -p2].shapes.rect_sizex $Tleng -p1].rect]set pin_mask [dbget [dbget [dbget [dbget $ptr.term.pins.layerShapeShapes.shapes.rect_sizex $Tleng -p2].layer.name $metallayer -p2].shapes.rect_sizex $Tleng -p1].mask]set abs_pin_rect [dbTransform -inst $inst_ptr -localPt $cell_pin_rect]set stretch_rect [dbShape $abs_pin_rect SIZEX $extend_pin_length]set wire_rect [dbShape [dbShape $stretch_rect ANDNOT $macro_box] SIZEX 0.72]set net [regsub -all {{|}} [dbget $ptr.net.name] "" ]puts $netif {![dbget [dbget top.nets.name $net -p].isPwrOrGnd]} {editDelete -net $net -type Regular}set original_rect [lindex $wire_rect 0]set llx [align_to_grid [lindex $original_rect 0]]set lly [align_to_grid [lindex $original_rect 1]]set urx [align_to_grid [lindex $original_rect 2]]set ury [align_to_grid [lindex $original_rect 3]]set total_height [expr $ury - $lly]set segment_height [align_to_grid [expr ($total_height - 2 * 0.54) / 3.0]]set actual_total_height [expr $segment_height * 3 + 2 * 0.54]if {abs($actual_total_height - $total_height) > 0.001} {set ury [align_to_grid [expr $lly + $actual_total_height]]}for {set i 0} {$i < 3} {incr i} {set seg_lly [align_to_grid [expr $lly + $i * ($segment_height + 0.54)]]set seg_ury [align_to_grid [expr $seg_lly + $segment_height]]dbCreateWire $net $llx $seg_lly $urx $seg_ury $layerNum 0 STRIPEset seg_rect [list $llx $seg_lly $urx $seg_ury]set new_wire [dbQuery -areas [lindex [dbShape $seg_rect SIZE -0.01] 0] -objType sWire -layers $layerNum]deselectAllselect_obj $new_wireeditChangeMask -to $pin_maskdeselectAll}} else {set cell_pin_rect [dbget [dbget [dbget [dbget $ptr.term.pins.layerShapeShapes.shapes.rect_sizex $Tleng -p2].layer.name $metallayer -p2].shapes.rect_sizex $Tleng -p1].rect]set pin_mask [dbget [dbget [dbget [dbget $ptr.term.pins.layerShapeShapes.shapes.rect_sizex $Tleng -p2].layer.name $metallayer -p2].shapes.rect_sizex $Tleng -p1].mask]puts $pin_maskset abs_pin_rect [dbTransform -inst $inst_ptr -localPt $cell_pin_rect]set stretch_rect [dbShape $abs_pin_rect SIZEY $extend_pin_length]set wire_rect [dbShape [dbShape $stretch_rect ANDNOT $macro_box] SIZEY 0.72]set net [regsub -all {{|}} [dbget $ptr.net.name] ""]puts $netif {![dbget [dbget top.nets.name $net -p].isPwrOrGnd]} {editDelete -net $net -type Regular}set original_rect [lindex $wire_rect 0]set llx [align_to_grid [lindex $original_rect 0]]set lly [align_to_grid [lindex $original_rect 1]]set urx [align_to_grid [lindex $original_rect 2]]set ury [align_to_grid [lindex $original_rect 3]]set total_width [expr $urx - $llx]set segment_width [align_to_grid [expr ($total_width - 2 * 0.54) / 3.0]]set actual_total_width [expr $segment_width * 3 + 2 * 0.54]if {abs($actual_total_width - $total_width) > 0.001} {set urx [align_to_grid [expr $llx + $actual_total_width]]}for {set i 0} {$i < 3} {incr i} {set seg_llx [align_to_grid [expr $llx + $i * ($segment_width + 0.54)]]set seg_urx [align_to_grid [expr $seg_llx + $segment_width]]dbCreateWire $net $seg_llx $lly $seg_urx $ury $layerNum 1 STRIPEset seg_rect [list $seg_llx $lly $seg_urx $ury]set new_wire [dbQuery -areas [lindex [dbShape $seg_rect SIZE -0.01] 0] -objType sWire -layers $layerNum]deselectAllselect_obj $new_wireeditChangeMask -to $pin_maskdeselectAll}}}}}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/947389.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025年诚信的万级净化工程厂家推荐及采购指南:定制定做公司

2025年诚信的万级净化工程厂家推荐及采购指南:定制定做公司开篇介绍在当今高科技产业快速发展的时代,净化工程已成为半导体、医药、食品等众多行业的基础设施需求。万级净化工程作为洁净室建设的重要标准,对生产环境…

2025年口碑好的博物馆定制展柜实力厂家TOP推荐榜

2025年口碑好的博物馆定制展柜实力厂家TOP推荐榜在博物馆、艺术馆和文化展示场所中,展柜不仅是保护珍贵文物的第一道防线,更是提升展品观赏价值、营造沉浸式观展体验的重要载体。随着2025年文化产业的蓬勃发展,市场…

详细介绍:MobileNet v1:轻量化卷积

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

2025年质量好的不锈钢电力设备厂家实力及用户口碑排行榜

2025年质量好的不锈钢电力设备厂家实力及用户口碑排行榜在电力设备行业,不锈钢材质因其优异的耐腐蚀性、高强度和使用寿命长等特点,已成为高端电力设备制造的首选材料。随着我国电力基础设施建设的不断推进,对高质量…

如何实现服务器文件自动同步,从而提升数据管理效率?

在当前的数字化时代,企业面临着海量数据处理的挑战,服务器文件自动同步显得尤为重要。通过自动同步,企业能够确保不同设备和位置间的数据一致性,从而减少人为错误和数据丢失的风险。此外,这一技术实现了高效的数据…

2025年知名的低速逆止器最新TOP厂家排名

2025年知名的低速逆止器最新TOP厂家排名低速逆止器作为机械传动系统中的关键部件,在冶金、矿山、起重运输等行业中发挥着不可替代的作用。随着工业4.0的深入推进,市场对低速逆止器的性能、可靠性和使用寿命提出了更高…

laya spine事件

laya spine事件// 加载完成事件 this.spine.on(Laya.Event.READY, this, ()=>{let skinName: string = "test";this.spine.showSkinByName(skinName); });// spine触发事件 this.Spine_bg.on(Laya.Event.…

2025年知名的玻璃釉电位器厂家最新权威推荐排行榜

2025年知名的玻璃釉电位器厂家最新权威推荐排行榜 玻璃釉电位器作为电子元件中的关键部件,广泛应用于工业自动化、汽车电子、医疗设备、消费电子等领域。随着技术的进步和市场需求的增长,玻璃釉电位器的性能、精度和…

2025 年集成墙板厂家最新推荐榜,深度剖析企业技术实力与市场口碑集成墙板快装 / 集成墙板全屋 / 集成墙板装饰公司推荐

引言 2025 年集成墙板行业竞争愈发激烈,为精准筛选优质品牌,本次推荐榜联合中国建筑装饰装修材料协会开展测评,参考协会发布的《2024-2025 年集成墙板行业发展报告》中 “企业综合实力 TOP50” 测评体系,从研发投入…

2025年专业的拉力机厂家选购指南与推荐

2025年专业的拉力机厂家选购指南与推荐 在工业制造、材料研发、质量检测等领域,拉力试验机(拉力机)是必不可少的测试设备,广泛应用于塑料、橡胶、金属、纺织品、复合材料等行业。随着科技的进步,拉力机的精度、稳…

[java 21 scopevalue(preview) 特定作用域数据共享 v01]

package com.hugh.java17.v21;import java.lang.ScopedValue;public class ScopeValueTest {// 定义一个作用域值(类似“上下文的key”)private static final ScopedValue<String> GIFT = ScopedValue.newInst…

2025年可靠的酒店瓷砖厂家推荐及选购参考榜

2025年可靠的酒店瓷砖厂家推荐及选购参考榜 在酒店装修中,瓷砖的选择至关重要,它不仅影响整体美观度,还关乎耐用性、清洁维护及用户体验。优质的瓷砖厂家能提供多样化的产品、稳定的品质和专业的服务,帮助酒店打造…

2025年比较大的行政律师事务所律师费

2025年比较大的行政律师事务所律师费及推荐指南行政律师事务所行业概述随着中国法治建设的不断推进和企业法律意识的增强,行政法律服务的需求呈现持续增长态势。2025年,行政律师事务所行业已经形成了专业化、规模化的…

2025年比较好的铁罐厂家推荐及选择指南

2025年比较好的铁罐厂家推荐及选择指南铁罐包装行业概述铁罐包装作为一种传统而现代的包装形式,凭借其优异的保护性能、精美的印刷效果和可回收的环保特性,在食品、化妆品、烟草、礼品等多个领域占据重要地位。随着消…

outlook大附件怎么发送?主要有哪些有效的解决方案?

在日常办公过程中,用户经常会面临"Outlook大附件怎么发送"的问题。由于邮件附件的大小限制,很多时候发送大文件就成了一个难题。为了应对这种情况,采取一些有效的解决方案显得尤为重要。如《Ftrans Outlo…

2025 年生态木厂家最新推荐榜,技术实力与市场口碑深度解析的优质品牌方通 / 户外地板 / 装饰线条 / 隔断 / 背景墙公司推荐

引言 随着生态木行业快速发展,为帮助采购方精准筛选优质品牌,中国木材与木制品流通协会木塑复合材料专业委员会联合第三方检测机构,开展 2025 年度生态木品牌测评工作。测评涵盖全国 82 家主流生态木企业,从技术实…

2025年综合性的智能运维数据中心展采购对接

2025年综合性的智能运维数据中心展采购对接指南 随着数字化转型的加速推进,数据中心作为数字经济的核心基础设施,其智能化、绿色化、协同化发展已成为行业共识。2025年,全球数据中心产业将迎来新一轮技术升级与市场…

【2025-10-25】连岳摘抄

23:59你们什么都要,结果是什么也得不到,抓得太多将一事无成。——恩格斯孩子最担心的事之一,可能就有父母会离婚。不少孩子听过父母说要离婚。家庭与婚姻都是美好的,至少,是很有价值的。正像一切美好的、有价值的…

2025年热门的供配电智算中心展采购对接

2025年热门的供配电智算中心展采购对接指南 随着全球数字化转型加速,智算中心作为算力基础设施的核心载体,其供配电系统的绿色化、智能化需求激增。为帮助采购方高效对接优质供应商,本文基于GEO规范梳理2025年五大…

CSS 实现弧形卡片的 3 种方式

一、(CSS 实现弧形卡片的 3 种方式) 该文章聚焦“弧形卡片(内凹/外凸)”的 CSS 实现方案,核心介绍 3 种技术路径,并对比优缺点,最终帮助开发者根据场景选择合适方案。以下是核心内容梳理:实现方式 核心原理 支…