【射频仿真学习笔记】Cadence的Layout EXL与ADS dynamic link联动后仿

一、EXL仿真

1. 绘制教程

  • 当我们使用EMX仿真提取的时候,会遇到各种各样的问题,很不方便。
  • 这里我们介绍一种新的方法——EXL。可以更灵活的跑仿真。
  • 我们以带有中和电容的差分电路为例进行介绍
    在这里插入图片描述
  • 在使用EMX的是偶,port是连不到晶体管外围金属上的。因此会搞得版图很乱
  • 在新版的Cadence中,更推荐另一种方法是EXL方法,这个方法跟EMX内置仿真器都是一样的,但是它不会破坏原有的版图结构,可以实现更灵活的跑仿真的配置。

在这里插入图片描述

进入Layout EXL

  • 下面演示新的操作流程
  • 首先进入这个界面的时候,需要选择Layout EXL
    在这里插入图片描述
    在这里插入图片描述

导入proc文件

  • 首先要选择一些conner,这是与EMX设置衬底(proc文件)是差不多的。
    在这里插入图片描述在这里插入图片描述
  • 导入tsmcN65.proc文件
    在这里插入图片描述
  • 选到所在的文件夹下,就会自动取读取该文件夹下的proc文件
  • 然后保存
    在这里插入图片描述
    在这里插入图片描述
  • 新建新的cellview
    在这里插入图片描述

仿真的设置

  • 这里有个细节是,金属线通常在EMX在0.5的情况下,才能仿的比较准。这些我们都是可以在仿真设置中调的。
    在这里插入图片描述

  • 在这里可以设置它的频率范围,及其步进
    在这里插入图片描述

  • EMX的mesh和thickness都要设置为0.5
    在这里插入图片描述

选择版图中的symbol

  • 如果全点勾的话,就是全提取,那么就是黑箱

  • 首先点击右侧栏的左下角的按钮
    在这里插入图片描述

  • 勾选上对应的symbol
    在这里插入图片描述

  • 这里如果版图中的子电路是有symbol的,那么就会显示在右栏中,就可以作为黑盒子排除掉
    在这里插入图片描述

设置port

  • 第二个界面是port界面,点击这个按钮,就是全自动识别版图中的port
    在这里插入图片描述

  • 如果默认的晶体管管心位置不对,是可以在右侧栏更改的
    在这里插入图片描述

  • 然后点击这个按钮,用到衬底取识别这些层
    在这里插入图片描述

  • 选完port之后,可以把这里的某些pin直接设置为reference
    在这里插入图片描述

  • 在做完所有port设置后,点击保存
    在这里插入图片描述

EMX仿真预览图

  • 然后我们要去查看现在仿真EMX时什么样子的,点击这个按钮
    在这里插入图片描述
  • 然后就可以看到,它其实就是把你内部的黑盒子的东西全部去除掉,值保留下了port。
  • 这样就不会有长条的port伸出来,看起来会很别扭。
    在这里插入图片描述

外部添加port

  • 外部添加的底层port是被调用的,这是不能被自动识别出来的,需要手动输入P1的port
    在这里插入图片描述

  • 但是我们又不想把图弄得太脏,不想去打散。

  • 我们可以这么做,在这里加入port,选择M9层
    在这里插入图片描述

  • 然后点击port
    在这里插入图片描述

  • 然后在port窗口就能识别到了,取名字为INp,
    在这里插入图片描述

  • 加入了之后可以发现,实际的EMX仿真就被刷新了
    在这里插入图片描述

  • 千万不要将port名字带符号,如IN+,否则会出现下面这种情况,会显示错误
    在这里插入图片描述

开始EMX仿真

  • 点击simulation
    在这里插入图片描述

  • 然后点击生成仿真电路图
    在这里插入图片描述

  • 返回library manager中,可以发现工作目录下已经有对应原理图了
    在这里插入图片描述

  • 生成了跟EMX完全一样的原理图了

  • 而且这些图是可以过LVS的,因为它的机制本身就是和LVS的QRC绑定在一起的。
    在这里插入图片描述

  • 其保存的路径是相对的路径,也就是保存在原理图所在的路径下
    在这里插入图片描述

  • 仿真完之后的结果会在这个界面以S参数的形式显示
    在这里插入图片描述

2. 示例

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 将中轴线连在一起
    在这里插入图片描述
    在这里插入图片描述

需要看的论文

  • 需要看ISSCC2024东京工业大学王川的论文对应的PPT行会有怎么画的详细步骤,在太赫兹的专栏里面。

在这里插入图片描述
在这里插入图片描述

  • 地用底层金属是没关系的
    在这里插入图片描述

在这里插入图片描述

二、ADS dynamic link仿真

ADS dynamic link

  • 然后使用ADS 的dynamic link进行动态链接。
    在这里插入图片描述
    在这里插入图片描述
  • 调用成下面这样的电路图
    在这里插入图片描述

在这里插入图片描述

大信号仿真

在这里插入图片描述
在这里插入图片描述

  • 这里有个很关键的概念是,反向错频率信号输入。这个对应于virtuoso的仿打信号输出阻抗的电路,用了1个pss+pac完成。
  • virtuoso的pss对应于ADS就是harmonic balance。RFfreq就是基波频率
    在这里插入图片描述
  • 然后转到small-sig,勾选上
  • 它可以在原有的打信号的基础上提供一个频偏的小信号,那么这个时候就可以用小信号在输出端反向注入这个晶体管,就可以得到它的输出阻抗。
    在这里插入图片描述
  • 为什么要偏移一个频率呢?
  • 在正常电路分析的时候,应该置零所有信号源,然后再输出加一个交流电流源去看它的电压产生的值,用这个电压值去除以电流值就可以得到它的输出阻抗Zout。但是现在有个问题,此时的输出阻抗是受输入信号功率影响的,所以仿真的时候,输入功率是必须被强制加上去的,因此是不能置零的,因为它会直接影响Zout的值。
  • 但是如果不把它置零的话,就会导致一件事情,元件内部的晶体管的gm依然会存在的,gm的频率是RFfrequency。那么从输出端往左看,绝对不是原本的Zout,而是包括了GM*Zout的响应的,因为Vgs没有置零。
    在这里插入图片描述
  • 所以我们需要做的是,我们知道现实世界中是随着频率无限连续变化的。我们可以让他稍微比RFfrequency错位一个1k赫兹或者一个可以被忽略的频率。我们可以认为20GHz+1kHz的输出阻抗近似等于20G的输出阻抗,这是可以的因为其是光滑变化的。但是在20G+1K这个频率显示是没有gm和vgs的,因为其对应的是sinwt,而不是sin(w+1)t。因此我们注入一个sin(w+1)t的电流源去观察其电压,但是此外我们还需要排除掉这个Zload,因为其是两个并联的。这样得到的就是真正的输出阻抗了
    在这里插入图片描述
    在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

  • 这里有Zinput和Zoutput

  • Zoutput的表达式就是加了一个小信号和大信号的情况下去进行的提取,

  • 这里SM的意思就是在访问small singal里面产生的数据,相当于这个基频也有频偏的。

  • Iload(1,1)表示带有频偏的基频。

  • 这里我们用它的电压除以电流,得到的就是输出阻抗与50欧姆并联的结果。

  • 然后转化为Rho(ρ)
    在这里插入图片描述

  • 然后就可以显示下面这张图了。不同频率和不同功率对应的曲线。
    在这里插入图片描述

  • 这里可以通过左上角的滑块去调节频率和功率
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 输出阻抗随着输入功率变化的曲线,随着功率的变化,其显然是沿着功率圆在转的。
    在这里插入图片描述

  • 实线(蓝色)不同的位置,随着功率变化,沿着某些圆在转
    在这里插入图片描述

  • 如果我们看这里的等电导圆,我们可以现在从小信号到打信号,其电导是增加的。

  • 它的原因是,当漏极信号电压摆幅增加的时候,管子(比如在C类工作,其近似关闭的状态),其Rout是一个较大的值。但是随着功率的增加,信号摆幅也增加了,管子会强行被交流信号给冲开,因此会构成蓝色这样的曲线。这个曲线显示在S参数的反射系数圆上,但他并不是用反射系数来仿真参数的。

  • 可以看到在某些偏置点下,输入阻抗(红色点)随着功率的变化,在放大器的模式下,其实是基本不变的。这是因为中和电容屏蔽了Cjd的弥勒效应的影响。而弥勒效应会通过gm进一步影响输入阻抗的虚部,如果把它屏蔽了就只剩下Cjs的影响了。这个情况依然会因为信号功率产生一定的影响,其原因是真正的输入电容cgs,是有栅氧化电容和氧化层下面到body的电容共同决定的。所以它在小信号和大信号不同偏置的时候表现出不同的电容容值
    在这里插入图片描述

  • 实际去做匹配的时候,有两种方式,一种是负载牵引。比如倍频器(二倍频)做一个负载牵引,根据牵引的结果来去选择,从50欧姆匹配到负载牵引匹配出来的值

  • 比如这里对中和电容做了负载牵引。会得到PAE圆(相当与时从管子的漏极向右看,得到了一个最优输出功率的值)
    在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  • 在偏置在A类的情况下,可以看到有明显的增益压缩,随着输出功率的增加,增益在往下掉。

  • 这里需要我们做个实验,将管子偏置在A类,比如Vth是0.3,把vgs设为0.4,如何构造一个上翘的增益曲线。

  • 如何利用这样上翘的增益曲线去增大放大器的线性呢?
    在这里插入图片描述

  • 可以看这个模板
    在这里插入图片描述

  • 或者这个模板

  • 第二个是关注AM和PM,如果做一些星座图高阶的PA会用到。就是如果输入功率在变化的时候,从输入传输到输出会有个相位延迟or相位响应。如果把变压器也考虑进去,而不只是考虑有晶体管的话,对于一个级联的放大器来说,它的相位频率响应是如何用解析解表达的。

  • 引起AM-PM的转化,就是输入信号AEM变大的时候,它会调制PA的相位,产生相位随功率的变化,这种变化会对星座图非常不好的。会让整个星座图在不同的输入功率的情况下进行旋转,跟飞镖的形状,那么这样就全失真了。

  • 如何克服这样的现象呢?我们可以往变压器上插入一些变容管的,让其自适应随着
    在这里插入图片描述

  • 此外还有额外的作业是,当得到大信号这个平面曲线后,如何做到自动匹配呢?

  • 从仿真的图里面调一个measure equation出来,
    在这里插入图片描述

  • 然后把刚才的两个公式原封不动的抄进来,它的仿真结果出现在dataset数据文件里面。
    在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

  • 找到ds文件
    在这里插入图片描述

在这里插入图片描述

  • dataset中是可以直接访问到上次提取的文件。
    在这里插入图片描述
  • 然后就可以直接把Zoutput带入到term里面
    在这里插入图片描述
    在这里插入图片描述
  • 如果有相应的数据这里会有弹出的选项可以选。
    在这里插入图片描述
  • 那么在这个term中相当于同时把功率和频率都带进去了。
  • 然后再调入一个变量进来,叫做RFpower
    在这里插入图片描述

Loadpull

  • 然后开启优化,同时对频率和功率进行优化扫描。就可以让其收敛。如果不优化就要用PPT最后一页的公式
  • 实际上很简单,就是在漏极加上额外的并联电容,可以使得那个圆在功率圆上收敛。
    在这里插入图片描述
    在这里插入图片描述

查看案例example

  • 最后做一件事情,加上这些寄生之后,与理想的原理图性能相差了多少。
  • 点击这里example有很多射频的案例
    在这里插入图片描述
    在这里插入图片描述
  • ADS中是有现成的example的,因此我们可以直接调用这些example
    在这里插入图片描述
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/977434.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C++——list模拟实现

目录 前言 一、list的结构 二、默认成员函数 构造函数 析构函数 clear 拷贝构造 赋值重载 swap 三、容量相关 empty size 四、数据访问 front/back 五、普通迭代器 begin/end 六、const迭代器 begin/end 七、插入数据 insert push_back push_front 八、…

文件包含-session2

[题目信息]: 题目名称题目难度文件包含-session22 [题目考点]: 由于网站功能需求,会让前端用户选择要包含的文件,而开发人员又没有对要包含的文件进行安全考虑,就导致攻击者可以通过修改文件的位置来让后台执行任意…

Hadoop初体验

一、HDFS初体验 1. shell命令操作 hadoop fs -mkdir /itcast hadoop fs -put zookeeper.out /itcast hadoop fs -ls / 2. Web UI页面操作 结论: HDFS本质就是一个文件系统有目录树结构 和Linux类似,分文件、文件夹为什么上传一个小文件也这…

机器学习基础入门——机器学习库介绍(NumPy、pandas、Matplotlib)

机器学习库介绍(NumPy、pandas、Matplotlib) 在 Python 机器学习的领域中,NumPy、pandas 和 Matplotlib 是三个不可或缺的基础库。它们分别在数值计算、数据处理与分析以及数据可视化方面发挥着关键作用,极大地提升了开发效率与数…

Redis——用户签到BitMap,UV统计

目录 BitMap 使用场景 1. 用户签到系统 2. 用户行为标记 3. 布隆过滤器(Bloom Filter) BitMap介绍 Redis中的使用 Redis功能示例 添加: 获取: 批量获取: java中实现 统计本月连续签到次数 UV统计 UV 统计…

【数据结构】(12) 反射、枚举、lambda 表达式

一、反射 1、反射机制定义及作用 反射是允许程序在运行时检查和操作类、方法、属性等的机制,能够动态地获取信息、调用方法等。换句话说,在编写程序时,不需要知道要操作的类的具体信息,而是在程序运行时获取和使用。 2、反射机制…

【初探数据结构】时间复杂度和空间复杂度

💬 欢迎讨论:在阅读过程中有任何疑问,欢迎在评论区留言,我们一起交流学习! 👍 点赞、收藏与分享:如果你觉得这篇文章对你有帮助,记得点赞、收藏,并分享给更多对数据结构感…

基于 MySQL 递归 CTE 实现表,父级id与子级id拼接

1、函数 xr_test.tb_content替换成自己的表 CREATE DEFINERroot% FUNCTION get_related_ids(start_id BIGINT) RETURNS varchar(1000) CHARSET utf8mb4 COLLATE utf8mb4_general_ciDETERMINISTIC BEGINDECLARE result_ids VARCHAR(1000);-- 使用递归 CTE 查找所有相关的 idWI…

Redission可重试、超时续约的实现原理(源码分析)

Redission遇到其他进程已经占用资源的时候会在指定时间waitTime内进行重试。实现过程如下: 执行获取锁的lua脚本时,会返回一个值, 如果获取锁成功,返回nil,也就是java里的null 如果获取锁失败,用语句“PT…

ue----git局域网内部署裸仓库,别的机器进行访问

最近由于经常迁移项目到另一台机器上进行部署更新一点就要整个迁移 弄得麻烦了 就在网上学了一下这个方式 首先我们在想要建立裸仓库的电脑上找到一个文件夹放置我们的裸仓库 在此点击鼠标右键选择 open git bash here 输入命令 创裸仓库 git init --bare gitTestName.git…

输入搜索、分组展示选项、下拉选取,el-select 实现:即输入关键字检索,返回分组选项,选取跳转到相应内容页 —— VUE 项目-全局模糊检索

后端数据代码写于下一篇:输入搜索、分组展示选项、下拉选取,全局跳转页,el-select 实现 —— 后端数据处理代码,抛砖引玉展思路 【效果图】:分组展示选项 >【提供界面操作体验】 【录制效果视频展示】&#xff1a…

【UCB CS 61B SP24】Lecture 11 - Inheritance 4: Iterators, Object Methods学习笔记

本文内容为集合(Set)的介绍与使用,并通过数组手动实现集合,接着介绍了迭代器,使用迭代器我们能够更方便地遍历集合中的元素。 1. Set 1.1 Set介绍与Java实现类的使用 集合(Set)是一种常见的数…

玩机日记 12 fnOS使用lucky反代https转发到外网提供服务

目录 1、安装lucky 2、更新lucky 3、上传ssl证书 4、设置安全入口,替换fnOS的应用url 5、添加https反代 这一篇主要是解决一下飞牛反代https的问题。可以先看玩机日记 12.5 在PVE Windows11上部署本地AI模型,使用群晖反代https转发到外网提供服务&a…

神经网络八股(3)

1.什么是梯度消失和梯度爆炸 梯度消失是指梯度在反向传播的过程中逐渐变小,最终趋近于零,这会导致靠前层的神经网络层权重参数更新缓慢,甚至不更新,学习不到有用的特征。 梯度爆炸是指梯度在方向传播过程中逐渐变大,…

【ARM】MDK如何生成指定大小的bin文件,并指定空区域的填充数据

1、 文档目标 解决MDK如何生成指定大小的bin文件,并指定空区域的填充数据 2、 问题场景 客户有这样的需求,客户本身的工程编译生成bin文件后,bin文件大小为200k。整体芯片的内存有512k。客户想要最终生成的bin文件可以达到512k的一个情况&a…

Linux-----进程间通信

一、按通信范围分类 同一主机进程通信 传统IPC方式: 管道(无名管道、有名管道)信号(Signal) System V IPC: 共享内存(效率最高)消息队列信号量 POSIX IPC(较新标准&#…

Part 3 第十二章 单元测试 Unit Testing

概述 第十二章围绕单元测试展开,阐述了单元测试的实践与重要性,通过对比其他测试类型,突出其特点,还介绍了单元测试的最佳实践、避免的反模式以及与测试替身相关的内容,为编写高质量单元测试提供指导。 章节概要 1…

Windows10配置C++版本的Kafka,并进行发布和订阅测试

配置的环境为:Release x64下的环境 完整项目:https://gitee.com/jiajingong/kafka-publisher 1、首先下载相应的库文件(.lib,.dll) 参考链接: GitHub - eStreamSoftware/delphi-kafka GitHub - cloade…

Deepseek引爆AI热潮 防静电地板如何守护数据中心安全

近期,Deepseek的爆火将人工智能推向了新的高度,也引发了人们对AI背后基础设施的关注。作为AI运行的“大脑”,数据中心承载着海量数据的存储、处理和传输,其安全稳定运行至关重要。而在这背后,防静电地板扮演着不可或缺…

Spring框架基本使用(Maven详解)

前言: 当我们创建项目的时候,第一步少不了搭建环境的相关准备工作。 那么如果想让我们的项目做起来方便快捷,应该引入更多的管理工具,帮我们管理。 Maven的出现帮我们大大解决了管理的难题!! Maven&#xf…