首页 > 其他分享 >【Cadence or-CAD】tcl 脚本小结 A

【Cadence or-CAD】tcl 脚本小结 A

时间:2025-01-06 09:58:33浏览次数:3  
标签:set end expr start tcl num strlen Cadence CAD

有一篇文章写的挺不错,就当是抛砖引玉吧,中间无脑粘贴发现有一点小问题。

自动生成net alias;

customize array wires placing method


# customize array wires placing method
proc ca { netname start_num end_num args } {
    set netname [string toupper $netname]
    set args [string toupper $args]

    set head_strlen [string length $netname]
    set tail_strlen [string length $args]
    set start_num_strlen [string length $start_num]
    set end_num_strlen [string length $end_num]
    
    if {$start_num_strlen > $end_num_strlen} {
        set max_strlen [expr $head_strlen + $tail_strlen + $start_num_strlen]
    } else {
        set max_strlen [expr $head_strlen + $tail_strlen + $end_num_strlen]
    }

    # $wlen_end - $wlen_start = wire length
    set wlen_start 0.5
    set wlen_end [expr round( 10 * ($max_strlen * 0.07 + $wlen_start + 0.4)) * 0.1]

    set index [expr abs($start_num-$end_num)+1]
    for {set i 1} {$i <= $index} {incr i} {
        set y1 [expr $i / 10.0 + 0.3]
        PlaceWire $wlen_start $y1 $wlen_end $y1
        if {$start_num >= $end_num} {
            set new_netname $netname[expr $start_num - $i + 1]$args
        } else {
            set new_netname $netname[expr $start_num + $i - 1]$args
        }
        puts $new_netname
        PlaceNetAlias [expr $wlen_start + 0.2 ] $y1 $new_netname
    }
    SelectBlock [expr $wlen_end + 0.1] 0.2 [expr $wlen_start - 0.1] \
                [expr $index / 10.0 + 0.4] 1
    Cut
}

这里有个问题,就是会发现在桌面并没有反应;
后面只能大概看下代码了,其中最后的“cut”,这不就是在cadence里面的“删除/剪切”么?

于是乎,直接注释掉[cut],重新运行orcad,发现这次不会再消失了。

tips

原先博主的方法可以直接粘贴,发现生成的alias 出线在了光标上。

链接:https://blog.csdn.net/k331922164/article/details/50041353

链接:https://download.csdn.net/download/qq_26536391/88573418

在这里插入图片描述

标签:set,end,expr,start,tcl,num,strlen,Cadence,CAD
From: https://blog.csdn.net/hcoolabc/article/details/144928173

相关文章

  • 大华智能物联综合管理平台(ICC) GetClassValue.jsp 远程代码执行漏洞复现(附脚本)
    0x01产品描述:        浙江大华技术股份有限公司智能物联综合管理平台是一款基于物联网技术的综合性管理平台,旨在为企业和用户提供智能化、便捷化的物联网解决方案。该平台整合了大华技术在视频监控、数据采集、数据分析等方面的核心技术,实现了对各类物联网设备的统一......
  • YOLOv8模型改进 第二十七讲 添加Cascade Multi-Receptive Fields(CMRF)模块
        近年来,轻量级医疗图像分割模型受关注,但现有模型因减少参数和计算复杂度而特征表示不足,难以超越现有最佳模型。基于多感受野的现代特征提取模块虽能提升性能,但会增加成本,不利于资源有限环境下的临床应用。在此背景下,为解决轻量级与高性能的矛盾,作者提出了CascadeM......
  • 在线CAD绘制门和窗(WEB CAD二次开发家装设计软件)
    一、前言Mxcad是使用TypeScript、C++语言开发的一个网页CAD底层平台,它为用户提供了丰富的开发接口,此框架功能丰富、使用简易高效,可帮助大家在网页二开与自己专业相关的网页CAD应用。我们以家装行业为例,介绍mxcad如何快速实现墙体、单开门、标准窗等实体,并实现这些实体之间的联动......
  • 立创商城封装转cadence封装(非常详细,从头开始)
    本文档采用软件AD19和cadence16.6。需要AD的pcb图转换cadence的pcb图可直接观看3-9;需要立创商城封装转换cadence封装的小伙伴可从头观看。一般的封装是可以通过立创商城获取,以MAX31865ATP+T芯片为例1.首先是点击数据手册,点击“立即打开”,打开下面MAX31865ATP+T的封装2.选......
  • 基于Cascade算法的尺度函数与小波函数求解实例演示-附Matlab源程序
    ......
  • CAD二次开发 实现快速截图
    usingAutodesk.AutoCAD.ApplicationServices;usingAutodesk.AutoCAD.DatabaseServices;usingAutodesk.AutoCAD.EditorInput;usingAutodesk.AutoCAD.Geometry;usingAutodesk.AutoCAD.Runtime;usingSystem;usingSystem.Collections.Generic;usingSystem.Drawing;......
  • 设计师看过来:SCADA的设计要点和一大波实例来袭。
    相对于移动UI设计,SCADA的设计距离设计师比较遥远,设计师感知不到或者get不到设计要点,SCADA在工业自动化控制领域应用的非常普及,这类需求越来越多,大千UI工场带着大家看一波。一、SCADA是什么SCADA是SupervisoryControlandDataAcquisition(监控与数据采集)的缩写,是一种用于监......
  • 一键打断线(根据相交点打断)——CAD c# 二次开发
    多条相交线根据交点一键打断,如下图: 部分代码如下:finallynamespaceIFoxDemo;publicclassClass1{[CommandMethod("ddx")]publicstaticvoidDemo(){//"ifox可以了".Print();Databasedb=HostApplicationServices.WorkingDatabase......
  • 在CAD文件中存储扩展数据
    基础知识:根据CAD官方的资料看来,Database作为一个CAD文件数据库的根对象,其包含10个子对象:九大符号表(SymbolTable)和命名对象词典(NamedObjectsDictionary)。 这10个子对象属于整个数据库内的最高层级,直属于Database。除这10个子对象以外,所有DBObject对象都必须有一个所有者......
  • CAD图纸显示不全,4大问题、解法汇总!快收藏
    CAD图纸显示不全,4大问题、解法汇总!快收藏你的CAD图纸显示不全?常见的情况有这4种:1.外部参照2.布局/模型切换3.天正及高版本不显示4.ole图片不显示具体表现、判断方法、解决办法,都给大家整理好啦!快来使用CAD快速看图跟着文章一起学习吧~一、外部参照问题情况及......