Virtuoso 中 display.drf、techfile.tf、tech.db 之间的关系,以及 Packet 在它们之间的作用
https://www.cnblogs.com/yeungchie/
一般工艺库下的“技术文件”有 tech.db 和 techfile.tf , Packet 是 display.drf 中的“颜色包”
其中 tech.db 称为 Reference Technology Libraries (参考技术库)
tech.db 和 techfile.tf 一起称为 Local Technology Library (本地技术库)
techfile.tf 内为自然语言,可以用vim等工具直接编辑,tech.db 经过编译,直接打开显示为乱码。
函数
tcLoadTechFile
并不会修改上述任意一个文件,只会写入虚拟内存,需要手动save到上述任一个库才能写入 tech.db 。Virtuoso 启动时自动加载的不是 techfile.tf ,而是 tech.db 。
display.drf 中含有一个个的 Packet,理解为颜色包 ,techfile 含有 Layer 与 Packet 的对应关系。因此 Packet 像是一个“纽带”,把 display.drf 中的颜色信息跟 techfile 中的 Layer 联系起来。
新增自定义的 Packet ,和修改与 Layer 之间的对应关系
实例问题:海力士 110nm 工艺下(hl110lpf),metal 层与之对应的 TXT 层为相同的 PacketName ,所以在默认的配置下不容易发现 metal 与 TXT 混淆使用的误操作。(这个问题会导致验证环节难以定位错误)
解决方法
- copy 一份 display.drf 文件,增加新的 PacketName。
- copy 一份 techfile.tf 文件(因为 tech.db 经过编译无法直接修改,所以只能对 techfile.tf 操作),修改这几层 TXT 与新增的 PacketName 对应起来。
- 原则上 PDK 自身的文件不建议修改,普通用户也没有权限去修改,因此可以使用下面的方法写入虚拟内存来使用。
let((lib tech)
lib = ddGetObj("hl110lpf") ;获取 pdk 库 id
tech = techGetTechFile(lib) ;获取 pdk techfile id
tcLoadTechFile(tech "./techfile.tf") ;load techfile 文件
drLoadDrf("./display.drf") ;load display 文件
)
- 上一步的操作必须遵循先加载 techfile.tf,再加载 display.drf 的顺序,否则 display 无法找到对应关系。
Virtuoso 中 display.drf、techfile.tf、tech.db 之间的关系,以及 Packet 在它们之间的作用的更多相关文章
- 通俗易懂理清mybatis中SqlSessionSql、SqlSessionTemplate、SessionFactory和SqlSessionFactoryBean之间的关系
我潇洒的灰大狼又回来啦.今天送大家的一句话是: 保持耐心,永远年轻,永远热泪盈眶. 前言 先容我哭一会儿,呜呜呜~昨晚写了一半的文章,还没保存就盖上盖子准备回家,拔下电源准备把电脑塞进书包带回家完成时 ...
- 关于让simulink中display组件显示二进制的方法
关于让simulink中display组件显示二进制的方法 1.首先需要配置gateway out模块,勾选propagate data type to output 2.配置display模块 fo ...
- DIV中display和visibility属性差别
DIV中display和visibility属性差别 DIV中display和visibility属性差别还是挺大的,虽然Visibility和Display属性都可以达到隐藏页面元素的目的,但它们的 ...
- 浅谈CSS3中display属性的Flex布局
浅谈CSS3中display属性的Flex布局 最近在学习微信小程序,在设计首页布局的时候,新认识了一种布局方式display:flex 1 .container { 2 display: fle ...
- ArcGIS engine中Display类库——Display
转自原文 ArcGIS engine中Display类库——Display Display类库包括了用于显示GIS数据的对象.除了负责实际输出图像的主要显示对象(display object)外,这 ...
- ArcGIS engine中Display类库 (局部刷新)
转自原文 ArcGIS engine中Display类库 (局部刷新) Display类库包括了用于显示GIS数据的对象.除了负责实际输出图像的主要显示对象(display object)外,这个类库 ...
- Tensorflow中的图(tf.Graph)和会话(tf.Session)详解
Tensorflow中的图(tf.Graph)和会话(tf.Session) Tensorflow编程系统 Tensorflow工具或者说深度学习本身就是一个连贯紧密的系统.一般的系统是一个自治独立的 ...
- DB表的关系及EF中Fluent API的使用
现在使用多数的数据库是关系型数据库,那么表与表之间的关系就会显得尤其重要,对于数据的CRUD处理和以后数据的分析有很大的好处.下面是对于数据库中对表关系的理解以及在EF中使用Fluent API来创建 ...
- 【转载】OLE DB, ADO, ODBC关系与区别
原文:OLE DB, ADO, ODBC关系与区别 OLE DB, ADO, ODBC 一. ODBC(Open Database Connectivity,开放数据库互连)是微软公司开放服务结构(W ...
随机推荐
- SQL注入原理及代码分析(一)
前言 我们都知道,学安全,懂SQL注入是重中之重,因为即使是现在SQL注入漏洞依然存在,只是相对于之前现在挖SQL注入变的困难了.而且知识点比较多,所以在这里总结一下.通过构造有缺陷的代码,来理解常见 ...
- 你知道Spring是怎么将AOP应用到Bean的生命周期中的吗?
聊一聊Spring是怎么将AOP应用到Bean的生命周期中的? 本系列文章: 听说你还没学Spring就被源码编译劝退了?30+张图带你玩转Spring编译 读源码,我们可以从第一行读起 你知道Spr ...
- ie浏览器不支持多行隐藏显示省略号
平时在写页面过程中,相信大家都遇到过文本显示多行后用省略号代替的问题,来看看代码: p{ display: -webkit-box; overflow: hidden; text-overflow: ...
- 「疫期集训day3」要塞
战友们正讨论着他们曾经参加过凡尔登战役的父亲...在黎明前我们必须誓死坚守----法乌克斯要塞中弹尽粮绝的法军士兵 什么!今天又考状压和tarjan! 达成成就:连续两天复习数论和二分图 康乐康,这次 ...
- day09 基本数据类型(中)
目录 一 列表(list) 1.作用 2.定义 3.类型转化 4.内置方法 4.1按索引取值 4.2切片 4.3长度 4.4成员运算 4.5往列表中加值 4.5.1追加 4.5.2追加列表 4.5.3 ...
- HTB::Postman
实验环境 渗透过程 0x01 信息搜集 masscan扫描 扫描结果目标服务开放了22(ssh),80(http),6379(redis),10000(webmin)端口 nmap扫描 nmap -s ...
- 数据可视化基础专题(十一):Matplotlib 基础(三)常用图表(一)折线图、散点图、柱状图
1 折线图 折线图主要用于表现随着时间的推移而产生的某种趋势. cat = ["bored", "happy", "bored", &quo ...
- javascript基础(七):js发送请求
GET请求 $.get("/api/v1.0/user",function(resp){ // 用户未登录 if ("4101" == resp.errno) ...
- Python之爬虫(十八) Scrapy框架中Item Pipeline用法
当Item 在Spider中被收集之后,就会被传递到Item Pipeline中进行处理 每个item pipeline组件是实现了简单的方法的python类,负责接收到item并通过它执行一些行为, ...
- sql中in和exists的原理及使用场景。
在我们的工作中可能会遇到这样的情形: 我们需要查询a表里面的数据,但是要以b表作为约束. 举个例子,比如我们需要查询订单表中的数据,但是要以用户表为约束,也就是查询出来的订单的user_id要在用户表 ...