为什么ADS的Schematic不允许多任务仿真(即如果一个Schematic的仿真任务没完成,就不允许任何Schematic启动新的仿真);而Layout却允许同时运行一大堆EM仿真。

按理说,Schematic仿真相比于EM仿真占用更少的CPU和RAM等计算机资源,更应该支持多任务仿真才对啊?

前期已经分两篇文章介绍了一些巴伦相关的知识:MMIC设计系列原创文章——巴伦1、巴伦2;当时提到绘制巴伦有很多种方法,暂时只介绍了一种纯手绘的方法,缺点很明显:不能参数化,调整优化费时费力。本期就来数一数画一个下图这种巴伦究竟有多少种方法。

一、纯手绘

参考:MMIC设计系列原创文章——巴伦2。

二、将手绘图形参数化

在手绘巴伦的基础上,可以通过简单的拉伸、旋转、镜像等操作得到一个简易的参数化单元(pcell)。

在Layout窗口选择【File】-【Design Parameters】:

在Cell Parameters标签栏定义需要参数化的变量(l1,l2,l3):

通过菜单【Insert】-【Construction Line】给当前图形添加几根构造线,它是后续图形拉伸变换的参考基准:

选中左侧构造线及其左侧所有图形,再选择菜单【Tools】-【Macro】-【Strech】,向左侧的拉伸长度为l1-200um(如果l1=200um,为当前图形的默认长度,不会被拉伸)

选中右侧构造线及其右侧所有图形,再选择菜单【Tools】-【Macro】-【Strech】,向右侧的拉伸长度为l1-200um(如果l1=200um,为当前图形的默认长度,不会被拉伸)

选中下侧水平构造线及其上侧所有图形,再选择菜单【Tools】-【Macro】-【Strech】,向上侧的拉伸长度为l2-200um(如果l2=200um,为当前图形的默认长度,不会被拉伸)

选中中间竖直构造线及其左右两侧所有图形,再选择菜单【Tools】-【Macro】-【Strech】,向左右两侧的拉伸长度为l3-100um(如果l3=100um,为当前图形的默认长度,不会被拉伸)

选择菜单【Tools】-【Macro】-【Compile】对图形进行编译即可完成参数化:

下图是操作得到的一个pcell,支持l1/l2/l3长度缩放,但线宽、线距、匝数不能通过此方法参数化,因此功能有限:

三、利用微带元件组合

如果你使用的PDK提供了基本的微带元件:微带传输线、平行耦合线、过孔,这些元件都是参数化的,通过它们组合得到的巴伦就可以参数化,之所以需要平行耦合线,是因为一次侧和二次侧的线圈是独立的,单根微带线无法固定两个线圈之间的相对位置关系。这种方法还可以将线宽和线间距参数化,但不支持线圈匝数参数化。

四、利用LineType自定义线型

如果你的PDK没有平行耦合线等微带元件,可以先利用ADS自带的LineType元件来自定义微带元件,再利用定义好的微带元件组合得到参数化的巴伦,方法同三。

从Tlines-LineType元件库中选择需要的线型,这里以两条平行耦合微带线为例。

由于当前还没有定义线型,已有线型列表里没有可选项,因此选择【New】新建。

在添加线型的对话框里设置好名称(例如:cpl2)、电路模型、端点形状、引用衬底、线条数目、线宽、图层、线距等参数。具体参考ADS的help文档。

点击【OK】后回到元件参数窗口就可以选择刚才定义的线型了,这时候就可以用变量指定该元件的所有参数:w、s、l等。

类似的方法可以定义出所有需要的微带元件,然后即可按找方法四组合得到参数化的巴伦。这种方法仍然不支持匝数可变。

五、利用AEL定义pcell

AEL全称Application Extension Language,是ADS提供的一种应用扩展语言,与C语言的语法很类似。

Application Extension Language (AEL) programming language, modeled after the popular C programming language, is used to configure, customize and extend the capabilities of the design environment. Like C, AEL has an extensive set of built-in function libraries, including functions for file input/output, math, string manipulation, list handling, and database query.AEL can be used for:Organizing libraries and palettes of components.Defining the interface to new user-defined components.Creating new components with layout artwork.Defining custom layout artwork functions.Defining the interface to discrete-valued simulation components.Creating custom utility functions, such as parts list generators and bill of materials.Automating routine tasks, such as repetitive command sequences, batch analysis, or optimizations.

然后ADS还有一个GCC,然而此GCC并非程序员熟悉的那个大名鼎鼎的GNU C Compiler:

The Graphical Cell Compiler (GCC) is a tool within Advanced Design System that makes the job of adding parameterized artwork to a layout an easy process. The GCC can benefit Productivity Engineers as well as Circuit Designers:For Productivity Engineers, the GCC simplifies developing a library of parts for use by circuit designers. Using GCC you can develop and troubleshoot various parts much faster than by developing the AEL macros. Engineers can use AEL to do further customization if the engineers know how to program in AEL.Circuit Designers can use the GCC to create a special model quickly, without the need to know any AEL.

利用AEL和GCC就可以自定义任意的parameterized artwork,这主要是PDK开发人员常用的工具,高级玩家想要DIY还是得花时间琢磨一下。本来计划写一篇专题,正巧网上搜到了几个教程,直接搬过来了:

https://muehlhaus.com/support/ads-application-notes/ael-artwork

https://muehlhaus.com/support/ads-application-notes/ads-miniaturized-bpf-ael

这是那位大佬自定义的异形小型化滤波器pcell:

这是我自定义的巴伦pcell,一共定义了五个参数:匝数n、线宽w、线距s、x方向外边长l1、y方向外边长l2、左右侧间距l3。

ads design environment_ADS应用技巧3 — 画一个巴伦有多少种方法?相关推荐

  1. calendar获取月份少一个月_VBA 技巧:计算一个月有多少天?

    VBA 技巧:计算一个月有多少天? 问题: 有时我们需要知道一个月有多少天,或者知道最后一天是31号还是30号 我们可以通过VBA代码来计算 Sub nb_days_month()'将日期传入变量,月 ...

  2. 小技巧:安装Linux的五种方法和心得(转)

    小技巧:安装Linux的五种方法和心得(转) 一.硬盘安装分两种情况: A. 是从Win系统上安装 B.是从别的Linux启动安装 这里介绍大多数人使用的Windows系统安装,第二种方法我还没有调过 ...

  3. java一次能迈一级或两级台阶_有个人想上一个n级的台阶,每次只能迈1级或者迈2级台阶,问:这个人有多少种方法可以把台阶走完?...

    有个人想上一个n级的台阶,每次只能迈1级或者迈2级台阶,问:这个人有多少种方法可以把台阶走完? 相关问题: (1)有个人想上一个n级的台阶,每次只能迈1级或者迈2级台阶,问:这个人有多少种方法可以把台 ...

  4. 【面试题】一个环,有n个点, 问从0点出发,经过k步回到原点有多少种方法

    一.题目描述 一个环,有n个点(编号 0 ~ n-1 ), 问从0点出发,经过k步回到原点(0点)有多少种方法 ? 二.解题思路 & 代码 再回到 0 点可以从右面回来,也可以从左面回来,即先 ...

  5. 多个PDF文件如何合并成一个?两种方法轻松get

    在日常学习生活中,如果你需要将多个文档整合为一个完整的文件,比如说多篇文章.多张图片.多个表格等等,这时候就需要将这些文档合并成一个PDF文件.如何将多个PDF文件如何合并成一个?两种方法轻松帮你搞定 ...

  6. c语言编程题:m个人围成一圈,每数n个人就踢出一个直到剩下一个人,m个人围成一圈,1,2,3循环报数,报到3的人退出,并... m个人围成一个圈有多少种方法?...

    导航:网站首页 > m个人围成一圈,1,2,3循环报数,报到3的人退出,并... m个人围成一个圈有多少种方法? m个人围成一圈,1,2,3循环报数,报到3的人退出,并... m个人围成一个圈有 ...

  7. css画三角形的两种方法

    css画三角形的两种方法 画三角形 1 border 2 css的clip-path 画三角形 1 border <div class="left-down-small" / ...

  8. ai怎么做波普风圆点_超实用AI描边小技巧:AI画一个圆点组成的圆

    昨天有朋友问我怎么AI画一个圆点组成的圆,我第一反应是用描边,第二个备用方案是散点画笔.下面小编为大家介绍AI描边小技巧,推荐过来,一起来看看吧! 以下左图是描边画的,右图是散点画笔做的.对比一下,很 ...

  9. 几何画板画一个五边形内部的方法

    五边形属于多边形里面比较简单的,就是在四边形的基础上增加一条边而已,五边形在平面几何学上指所有由五条边围衬成及有五个角的多边形.完美五边形和正五边形都是五边形的一种特殊类型.几何画板作为专业绘图工具, ...

最新文章

  1. 楚留香手游系统互通的服务器,楚留香手游互通服务器汇总 哪些服能一起玩
  2. python输入语句-1、python基本的元素及输出语句
  3. 删除数据库所有表 序列号
  4. CVPR2020 | 参数量减半,北大开源全新高效空域转换模块,还原图像逼真细节
  5. 工作96:当前页面拿id
  6. Intel 64/x86_64/IA-32/x86处理器指令集 - CPUID (1) - 概述
  7. UOJ#422 小Z的礼物
  8. 第一篇:你不一定了解的推荐系统
  9. 车载与体征/手势检测 毫米波雷达信号处理流程
  10. Juniper Open contrail 虚拟网络互通
  11. 蓝色学校网站模板_中小学网站源码_学校网站管理系统
  12. html bootstrap主题,10大的 Metro 风格的 Bootstrap 主题和模板
  13. 电脑一键重装系统按F几进u盘启动
  14. 大学生生活中的三大痛点
  15. poe交换机供电过程中会有哪些风险?
  16. threejs+vue房子模型,实现BSP模型剪切,导入obj+mtl文件
  17. RxJava简单使用
  18. RJ45水晶头接线和网线测试仪如何使用
  19. java bean 优缺点_Java Bean Copy框架性能对比
  20. ES设置自定义分词器

热门文章

  1. C++ priority_queue对链表节点建立小根堆
  2. python计算PR曲线sklearn.metrics.precision_recall_curve
  3. Kali linux 渗透测试技术之搭建WordPress Turnkey Linux及检测WordPress 应用程序漏洞
  4. Mockito教程--思维导图笔记
  5. 直接插入排序比较次数_程序员必须要会的直接插入排序算法
  6. mysql改原始密码mac_MAC版修改MySQL初始密码的方法
  7. 外设驱动库开发笔记20:BME280压力湿度温度传感器驱动
  8. Base64编码的原理与常用实现
  9. 30岁学python全栈_知乎热帖!戳痛100万程序员:我30岁了,我还能学Python吗?
  10. 淮阴工学院计算机学院机房,实验室开放