ICC中用Tcl脚本给版图中的Port/Terminal加Label的方法

时间:2022-09-19 08:54:39

本文转自:自己的微信公众号《数字集成电路设计及EDA教程》

里面主要讲解数字IC前端、后端、DFT、低功耗设计以及验证等相关知识,并且讲解了其中用到的各种EDA工具的教程。

考虑到微信公众平台上面发布的很多推文百度搜索不到,所以以后的推文也会在这里进行转载。

图:

ICC中用Tcl脚本给版图中的Port/Terminal加Label的方法

 ICC中用Tcl脚本给版图中的Port/Terminal加Label的方法

在输出GDSII文件之前,为了方便后边导入Virtuoso用Calibre做LVS,最好给整个设计的输入输出端口打上Label,如果设计是模块级别的,没有IO和PAD,那么可以直接打在Port或者Terminal上,如果设计是Chip级别的,那么需要打在PAD上面。

ICC中用Tcl脚本给版图中的Port/TerminalLabel的方法:

set ALL_PORTS[get_ports -all]

foreach_in_collectionPORT_NAME $ALL_PORTS {

set xy_location[get_location $PORT_NAME]

setx_location  [lindex $xy_location 0]

sety_location  [lindex $xy_location 1]

#由于$PORT_NAME的属性是一个collection,无法直接用字符串相关命令来得到port的字符串格式的名字,因此,可以用命令collection_to_list将其转化为list:

set TEXT_NAME[collection_to_list $PORT_NAME]

#比如,一个端口的名字是tdo_pad,那么$PORT_NAME的值将是{tdo_pad},它的属性是一个只含一个元素的collection。$TEXT_NAME的值是{{port tdo_pad}},由于前缀{{port和后缀}}格式固定,因此我们可以用字符串操作命令来截取中间一段string得到端口的名字:

set TEXT_NAME_1[string range $TEXT_NAME 7 end-2]

#之后便可以用create_text命令来用指定层次给这些Port来打Label了。

#-origin控制Label的坐标位于Port金属的左下角;

#-hight控制Label的高度;

#-layer控制Label的层次,主要让Calibre工具识别它为一个Port。一般用金属所在的TXT层或者Label层,有的工艺直接用金属层也是可以被识别的;

#-orient控制Label的方向。

create_text-origin [list [expr $x_location] [expr $y_location]] \

-height 1 \

-layer 17 \

-orient W $TEXT_NAME_1

}

之后给大家讲一下版图中加PAD(深亚微米设计中IO和PAD分离,且PAD有Stagger摆放形式,一般用脚本来决定其所在的位置是内侧还是外侧以及具体位置),并给PAD打LOGO的方法。

如果喜欢本公众号也请多多分享哟,谢谢您的关注ICC中用Tcl脚本给版图中的Port/Terminal加Label的方法

ICC中用Tcl脚本给版图中的Port/Terminal加Label的方法

ICC中用Tcl脚本给版图中的Port/Terminal加Label的方法的更多相关文章

  1. shell脚本修改文本中匹配行之前的行的方法

    原创文件,欢迎阅读,禁止转载. 例子中是把 finish 前一行的 "yes" 改成 "YES"有一个方法就是利用sed+awk一起来完成. zjk@zjk:~ ...

  2. vue项目中实现图片懒加载的方法

    对于图片过多的页面,为了加速页面加载速度,所以很多时候我们需要将页面内未出现在可视区域内的图片先不做加载, 等到滚动到可视区域后再去加载.这样子对于页面加载性能上会有很大的提升,也提高了用户体验. 实 ...

  3. Modelsim中使用TCL脚本编写do文件实现自动化仿真

    通常我们使用Modelsim进行仿真,是通过图形界面点点点来进行操作,殊不知Modelsim完美支持TCL脚本语言及批处理命令do文件.简单来说就是从你修改完代码后到你重新编译把需要的信号拉出来查看, ...

  4. 在Quartus中如何使用TCL脚本文件配制管脚

    quartus软件分配管脚的方法有两种,一是选择菜单“assignments->pins”进入管脚分配视图手动分配:第二种方法是利用tcl脚本文件自动分配.这里我来介绍第二种方法. 1.生成tc ...

  5. 28nm工艺下,自动生成管脚排列文件,给设计加PAD,并在PAD上面打Label的流程(含Tcl脚本)

    本文转自:自己的微信公众号<数字集成电路设计及EDA教程> 里面主要讲解数字IC前端.后端.DFT.低功耗设计以及验证等相关知识,并且讲解了其中用到的各种EDA工具的教程. 考虑到微信公众 ...

  6. TCL脚本语言基础介绍

    Tcl简介(一):Tcl 语法 Tcl 语法 Tcl是一种很通用的脚本语言,它几乎在所有的平台上都可以释运行,其强大的功能和简单精妙的语法会使你感到由衷的喜悦,这片文章对 Tcl有很好的描述和说明.如 ...

  7. 使用Tcl脚本分配FPGA管脚

    自己主动生成Tcl文件 Project -> Generate Tcl File for Project... 弹出例如以下对话框.设置脚本路径. 编辑引脚 使用set_location_ass ...

  8. Quartus16&period;0如何使用TCL脚本

    前言 TCL脚本语言在EDA工具中使用频繁,本文主要介绍使用TCL脚本文件进行引脚分配,避免手动分配以及分配出错: 流程 1.准备好你的TCL脚本文件,举个栗子(脚本文件内容): 2.在Quartus ...

  9. modelsim如何使用tcl脚本来写编译文件

    对于modelsim进行仿真,可以通过GUI来进行仿真,当然更加快速的方法可以使用TCL脚本文件进行快速仿真. Modelsim采用TCL脚本文件仿真的具体流程如下所示:      具体的操作步骤如下 ...

随机推荐

  1. SpringMVC之controller篇

    概述 继 spring 2.0 对 Spring MVC 进行重大升级后,Spring 2.5 又为 Spring MVC 引入了注解驱动功能.现在你无须让 Controller 继承任何接口,无需在 ...

  2. ecshop 团购-》调取评论

    涉及到的文件及代码:lib_insert.php,comments.lbi,{insert name='comments' type=$type id=$id} html代码: <blockqu ...

  3. jQueryUI 之控件们

    总结:总的来说,这些控件可以在官网找到列子, 部分ui效果不如意的,可根据jQueryUI上添加的类选择器等,进行再加工 <!DOCTYPE html> <html> < ...

  4. python centos上出现上下键和退格键均为乱码

    出现此问题主要是由于未安装readline,可以使用python自带的readline,具体设置方式为: 1.cd /Python-2.7.9 (下载包后的路径)2../configure3.vim ...

  5. zoj3329(概率dp)

    题目连接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=3754 题意:有三个骰子,分别有k1,k2,k3个面. 每次掷骰子,如 ...

  6. Java基础学习笔记二十五 MySQL

    MySQL 在dos中操作mysql 连接mysql命令: mysql -uroot -p密码 ,连接OK,会出现mysql> 对数据库的操作 创建一个库 create database 库名 ...

  7. flask下载文件---文件流

    html: <a name="downloadbtn" class="btn btn-success pull-right" href="/do ...

  8. tmux配置与用法整理

    tmux常用命令与快捷键 http://www.111cn.net/sys/linux/59058.htm http://www.360doc.com/content/13/0709/13/13047 ...

  9. jQuery的隔行换色

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  10. 用python读取配置文件config&period;ini

    还在学习中...写的有点凌乱 感觉还是应该先学会读取配置文件才行,把一些经常需要修改的但是又经常需要用到的参数放到配置文件中方便使用(我是这么觉得的) 首先是config.ini的存放位置,我们把它放 ...