• [ Skill ] 圆形平面螺旋电感怎么画?


    https://www.cnblogs.com/yeungchie/

    目前(2011年),在射频IC设计中最广泛使用的片上电感就是平面螺旋电感,通常用最顶层的金属层来实现,电感的中心点由下面一层的金属线引出。它可以有许多形状:方形、六边形、八边形、圆形等。其中,圆形螺旋电感在给定的金属线宽度和电感值下电阻损耗最小,Q值最高,但很多布线工具和生产技术都难以实现。

    下面是在 virtuoso 中绘制圆形电感的方法

    本质是通过增加 polygon 边数量来实现的,因此也可以用来绘制任意边数的螺旋电感。

    • code
    /************************************
    *                                   *
    *   Program   :  ycCreateInd.il     *
    *   Language  :  Cadence Skill      *
    *   Author    :  YEUNGCHIE          *
    *   Version   :  20.08.29           *
    *   MainFunc  :  ycCreateInd        *
    *                                   *
    ************************************/
    procedure(ycCreateInd(lpp radius width space @optional rings(2) sides(360))
    	prog((pi steps step A deltaA rad r1 r2 deltaR x1 y1 x2 y2 o1 o2 points1 points2)
    		
    		radius *= 1.0
    		width  *= 1.0
    		space  *= 1.0
    		rings  *= 1.0
    		sides  *= 1.0
    		
    		defMathConstants('ycMath)
    		pi = ycMath.PI
    		
    		steps = rings * sides
    		
    		A = 0
    		deltaA = 360.0 / sides
    		r1 = radius
    		deltaR = (width + space) / sides
    		
    		step = 0
    		while(step <= steps
    			
    			rad = pi * (A + deltaA * step) / 180.0
    			
    			r1 = radius + deltaR * step
    			r2 = r1 + width
    			
    			x1 = cos(rad) * r1
    			y1 = sin(rad) * r1
    			x2 = cos(rad) * r2
    			y2 = sin(rad) * r2
    			
    			o1 = x1 : y1
    			o2 = x2 : y2
    			
    			points1 = append1(points1 o1)
    			points2 = append1(points2 o2)
    			
    			step++
    		)
    		
    		points = append(points1 reverse(points2))
    		dbCreatePolygon(geGetEditCellView() lpp points)
    	)
    )
    
    • describe
      用于创建平面螺旋电感。
      txl_lpp 指定用于绘制的Layer,通用格式 "layerName" 或 list("layerName" "purpose")
      n_radius 最小半径
      n_width 电感线宽
      n_space 线间距
      n_rings 线圈匝数
      n_sides 单匝边缘数量(error时可以适当减小,60左右就看起来挺圆了)

    • example

    ycCreateInd("MET1" 10 2 1)

  • 相关阅读:
    JUC锁框架_AbstractQueuedSynchronizer详细分析
    npm的镜像替换成淘宝
    MHA+keepalived集群环境搭建
    Java并发编程:CountDownLatch、CyclicBarrier和Semaphore
    链表中倒数第k个结点
    调整数组顺序使奇数位于偶数前面
    数值的整数次方
    二进制中1的个数
    矩形覆盖
    OS之进程管理---多线程模型和线程库(POSIX PTread)
  • 原文地址:https://www.cnblogs.com/yeungchie/p/13443373.html
Copyright © 2020-2023  润新知