做macro lef的时候基本的flow以前写博客时简单介绍过,详见这篇

还有一些小的tips要注意,直接用virtuoso出的lef并不完善。

MACRO macro
CLASS BLOCK ; # 单元分类(CORE/BLOCK等)
FOREIGN macro 0 0 ; # 外部引用坐标偏移
ORIGIN 0 0 ; # 原点偏移(针对IP整合)
SIZE 200 BY 100 ; # 物理尺寸(宽x高)

注意一下这里的单元分类,virtuoso出的时候默认不带,如果是标准单元的话写CORE(适用于自己k标准单元库的情况),如果是大macro的话写BLOCK,所以一般就是写BLOCK。

  PIN VSS
DIRECTION INOUT ; # 方向定义(INPUT/OUTPUT/INOUT等)
USE GROUND ; # PIN类型(SIGNAL/POWER/GROUND等)
PORT
LAYER M5 ;
RECT 649.6 17.4 650 17.6 ;
END
END VSS
PIN VDD
DIRECTION INOUT ;
USE POWER ;
PORT
LAYER M5 ;
RECT 649.6 15.7 650 15.9 ;
END
END VDD

注意一下power pin的处理,用virtuoso直接出的都会定义成SIGNAL,这种情况下后端工具会把电源认成信号引发问题,因此需要按电源还是地写成USE POWER还是USE GROUND。注意极性无误否则后端工具会出polarity问题。

最后是关于lef和lib之间的match问题,这次的flow里面我们把一个pll也处理成macro放到数字flow里面做了,一些模拟的pin跟数字这边完全无关,不需要连线也不需要看时序,所以lib里面就直接没写,但在lef里面还是要标出来方便后面pv。在这个flow过程中,确定下来的事情就是lib里面有的,lef一定要对上,包括名字,direction这些属性不能错,而且lib有的lef一个不能少。但lef里面有而lib里面没写的,并不碍事(只要确定这些多出来的pin确实和数字完全无关就行)。

macro lef编写时的注意事项的更多相关文章

  1. C 语言宏定义函数编写时 do-while 的妙用和一些注意事项

    在 C 语言中,我们都知道可以用宏定义来编写函数,一般称为宏函数.如果一个宏函数比较复杂,那么在编写这样的宏函数是有一定技巧和注意事项的.文章给出一些我认为值得关注的地方,以及一些注意事项(个人建议) ...

  2. 从零开始攻略PHP(6)——代码重用与函数编写的一些注意事项

    一个新的项目是这样创建的:它将已有的可重新利用的组件进行组合,并将新的开发难度降低到最小. 代码重用的好处:降低成本.提升可靠性和一致性. 1.使用require()和include()函数 使用一条 ...

  3. 【eclipse jar包】在编写java代码时,为方便编程,常常会引用别人已经实现的方法,通常会封装成jar包,我们在编写时,只需引入到Eclipse中即可。

    Eclipse中导入外部jar包 在编写java代码时,为方便编程,常常会引用别人已经实现的方法,通常会封装成jar包,我们在编写时,只需引入到Eclipse中即可. 工具/原料 Eclipse 需要 ...

  4. PHP学习(6)——代码重用与函数编写的一些注意事项

    一个新的项目是这样创建的:它将已有的可重新利用的组件进行组合,并将新的开发难度降低到最小. 代码重用的好处:降低成本.提升可靠性和一致性. 1.使用require()和include()函数 使用一条 ...

  5. java编写规范及注意事项

    java编写规范及注意事项 1.注释 常见注释有三种  //   /**/ /****/ 如何才能写出漂亮的注释呢,注释的目的就是为了使你的代码让人更容易理解和维护,写一手好的注释是一个优秀码农的基本 ...

  6. Python:list 和 array的对比以及转换时的注意事项

    Python:list 和 array的对比以及转换时的注意事项 zoerywzhou@163.com http://www.cnblogs.com/swje/ 作者:Zhouwan 2017-6-4 ...

  7. MySQL DROP TABLE操作以及 DROP 大表时的注意事项【转】

    删表 DROP TABLE Syntax DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ... [RESTRICT | CASCAD ...

  8. SSH框架整合jar包时的注意事项

    SSH框架整合jar包时的注意事项: 在将三个框架所需的jar整合到一起后,要看一下有没有相同类型但是版本不同的jar包,如果有的话,需要把低版本的jar包删除掉,否则会报错.我这里整合的时候java ...

  9. No known class method for selector 'setImage:andName:'错误分析.//删除.h与.m文件时的注意事项

    CHENYILONG Blog No known class method for selector 'setImage:andName:'错误分析.//删除.h与.m文件时的注意事项         ...

  10. 在win7系统上搭建django+oracle 11g时,注意事项

    在win7系统上搭建django+oracle 11g时,注意事项[示例用的是python 2.7]: 重要:python.oracle.oracle client这三个的OS bit 一定一定要相同 ...

随机推荐

  1. java 日志系统 java核心编程例子

    简介 对于 经常使用 printf or cout 的人来说 如果有这个日志系统的话,对于每次程序中的发生的错误可以了如职掌. 没必要 每次遇到问题 了解大致的逻辑然后 添加打印.后面章节中还提到一些 ...

  2. Docker部署RestCloud ETL社区

    镜像说明 nriet/restcloud:latest version:1.3.0 os:slim-buster tomcat:基于官方镜像 tomcat:8.5.78-jdk8-openjdk-sl ...

  3. SciTech-Logic:逻辑学-Introduction to Logic: Irvine - 5.4 质、量 与 周延性

    SciTech-Logic:逻辑学-Introduction to Logic: Irvine - 5.2 Class and Statement 类与直言命题 A.质 我们已经看到,每个标准直言命题 ...

  4. SciTech-EECS-STM32便携式电烙铁电原理图 + 几种常用的烙铁芯、功率及接法: jbc470/jbc245/t12/t20/tss02/jbc210/jbc115l

    烙铁芯温控(测温)原理: T12仅有两根线: 测温和加热交替进行 你可能会奇怪烙铁头只引出了两根线, 是怎么实现加热和测温的? 因为烙铁头上有两种导体已形成热电偶, 而热电偶是可以测温的. 让我们来看 ...

  5. 还原oracle数据库-九五小庞

    创建表空间及用户 Microsoft Windows [版本 6.1.7601] 版权所有 (c) 2009 Microsoft Corporation.保留所有权利. C:\Users\pxy> ...

  6. Linux 系统目录结构-九五小庞

    在 Linux 系统中,有几个目录是比较重要的,平时需要注意不要误删除或者随意更改内部文件. /etc: 上边也提到了,这个是系统中的配置文件,如果你更改了该目录下的某个文件可能会导致系统不能启动. ...

  7. maven手动导入jar包 -九五小庞

    手动导入jar包需要有pom.xml文件. mvn install:install-file -Dfile=G:\PXY\JFAPP\project28\ris-api-2.1.3\dcm4che\d ...

  8. S32K148-LPTMR(裸机开发)

    根据芯片手册进行配置: //========================================================================== //初始化LPTMR0 ...

  9. AX-MES生产制造管理系统-SMT物料防错与追溯

    说起 SMT,相信大家或多或少都有一些了解,主要是用来贴片的,简单点说就是给空白的 PCB 板贴上一些元器件,比如二极管.IC.电阻等等各种电子元器件,以前客户对这些元器件物料的追溯管控的并不严格,只 ...

  10. ts 常用配置

    这里记录一些常用的 ts config. strictNullChecks "strictNullChecks": true 严格区分 undefined 和 null let w ...