当前位置: 首页 > news >正文

【Cadence射频仿真学习笔记】IC设计中电感的分析、建模与绘制(EMX电磁仿真,RFIC-GPT生成无源器件及与cadence的交互)

一、理论讲解

1. 电感设计的两个角度

  • 电感的设计可以从两个角度考虑,一个是外部特性,一个是内部特性。
  • 外部特性就是把电感视为一个黑盒子,带有两个端子,如果带有抽头的电感就有三个端子,需要去考虑其电感值、Q值和自谐振频率这三个参数
  • 电感的Q值表达式如下,可以发现当电感等效电阻很大的时候,Q值就会很低。
  • 电感的自谐振频率就是电感理论上可以操作的最大工作频率,当电感超过这个自谐振频率时,电感就会变成电容
    在这里插入图片描述

2. 螺旋电感值的计算

  • 在电感设计中,可以把电感视为一个分布式的模型,比如右边的电感,可以把他分为8个金属段,每个金属段都有自感,以及段与段之间的互感,互感包括相邻段之间的互感(比如1和5)是正的互感,还有每段金属与其对面金属之间的互感(比如1和3)是负的互感。所以这个电感从外部看,就是每段之间的自感和互感的叠加。
  • 每段金属的自感在下图左边,但这只是经验公式,
  • 可通过右下方的8段金属螺旋电感的计算公式
    在这里插入图片描述

3. 平面螺旋电感模型

  • 左图为平面螺旋电感及其剖面图,中间的图为其等效的电路。
  • 可以发现其既有电感,也有寄生电阻寄生电容。但是这个等效电路没有把金属导线之间的寄生电容考虑进去。
  • 寄生电阻主要有三个来源
    • 欧姆损耗:任何金属都有欧姆损耗
    • 涡流损耗:电感产生的磁场会透过衬底,在其上面感应出电流,这个电流产生的能量就会消耗在衬底上,又因为能量是守恒的,这部分消耗的能量最终还是来自于电感的,所以这部分的能量损耗还是算在电感上。
    • 趋肤效应
  • 寄生电容的来源

在这里插入图片描述

4. 电感设计考虑

  • 金属层的选择:当我们在拿到工艺库后,我们要去看它的顶层金属厚度是多少?有1层还是2层的厚金属。一般做的电感都是做在顶层金属上的,一方面是具有更大的厚度,这样寄生电阻会小一点,另一方面顶层金属离衬底距离最远,使其寄生电容最小。
  • 面积就是外直径,面积肯定是越小越好,但是过小的面积会导致电感的感值上不去,就算感值上去了,其Q值和自谐振频率也会变得很糟糕。所以如果性能达不到要求,还是要把面积增大。
    在这里插入图片描述

二、AI工具生成电感(RFIC-GPT)

1. RFIC-GPT生成电感

  • 打开AI工具的生成网站RFIC-GPT
    https://service.icprophet.com/design/Inductor
    在这里插入图片描述
  • 这里可以输入电感的电学指标,
  • 金属层厚度。由于电感是制作在工艺中最高层的金属,因为其有最大的厚度,做出来的电感质量也越好,所以选择工艺最大的金属厚度3.4um。
  • 输入完指标后,就点击提交计算按键
    在这里插入图片描述
  • 然后就可以生成电感了,这里有三个结果,一个是Q值误差最小,一个是。这里我们选择综合误差最小的压缩包,即inductor_all.zip
    在这里插入图片描述
  • 下载出来的是GDSII文件,
    在这里插入图片描述

2. 导入到cadence中

  • 我们需要把这个文件导入到cadence中,打开cadence,
    在这里插入图片描述

  • 打开文件
    在这里插入图片描述

  • 选择刚才的GDSII文件
    在这里插入图片描述

  • Library就是生成的版图要放在哪个库中,即目标库

  • technology就是绑定的工艺库

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

  • 然后就可以发现对应的库已经生成好了layout
    在这里插入图片描述

  • 这就是生成的电感版图
    在这里插入图片描述

  • 但是需要注意,AI生成的电感默认是在M1-M3层,我们需要将金属层次改成工艺库中默认的层次。
    在这里插入图片描述

  • 比如tsmcN65库中的最高金属层是M9,我们就需要将M2层改成M9层

  • 点击NV,单独选中M2层所有对应的金属
    在这里插入图片描述

  • 将M2层全部改成M9层
    在这里插入图片描述

  • 电感的连接部分是M1,将其改为M8层
    在这里插入图片描述

  • M1和M2层之间的通孔,有VAR1改成VAR8,即M8和M9层之间的通孔
    在这里插入图片描述

  • M2的pin也要改成M9的pin
    在这里插入图片描述

  • 这样就修改完毕了
    在这里插入图片描述

三、EMX电磁仿真

  • 设计的电感指标如下图所示
  • 我们使用cadence中的EMX插件对无源器件(电感进行电磁仿真)
  • 这里可以选择使用AI生成的电感,也可以是自己在版图上画出来的电感。我们这里采用自己画的电感进行仿真
    在这里插入图片描述

自己手动绘制电感layout

  • 我们打开cadence软件,新建一个版图layout设计窗口
    在这里插入图片描述

  • 我们先随意假定面积,假设面积为80*60um,看看性能是否满足要求,不满足再进一步增大。

  • 用标尺把面积长度给标定出来,按住“k”键
    在这里插入图片描述

  • 按住s键,把标尺进行缩放到精确值
    在这里插入图片描述

  • 按住A键,让标尺进行对齐
    在这里插入图片描述

  • 这样就把外部的轮廓勾勒出来了
    在这里插入图片描述

  • 接下来就开始绘制了,这个工艺库最高的金属层是M9,就用M9层来绘制
    在这里插入图片描述

  • 先随便画一条线
    在这里插入图片描述

  • 然后我们初步确定其线宽,选择为4um的宽度
    在这里插入图片描述

  • 然后按住A键,使走线与标尺进行对齐,并延长其长度到35um
    在这里插入图片描述

  • 然后再复制一个走线
    在这里插入图片描述

  • 然后再复制一条新走线到下面,并补充其走线长度
    在这里插入图片描述

  • 然后再补充两边的走线,这样就绕好一圈了
    在这里插入图片描述

  • 然后再上面引出两个端子
    在这里插入图片描述

  • 现在出现了一个问题,系统自动把整个都连成一个整体了,现在我们需要将这个金属线段给打散。
    在这里插入图片描述

  • 先选择这个金属线段,然后点击
    在这里插入图片描述

  • 就可以发现现在已经被打散了
    在这里插入图片描述

  • 然后就可以把其单独复制到另一边
    在这里插入图片描述

  • 然后给两个端子上打引脚,先选择M9的pin,
    在这里插入图片描述
    然后点击pin按钮
    在这里插入图片描述

  • 正端命名为pp,然后勾选create label,点击options
    在这里插入图片描述

  • 勾选上same as pin
    在这里插入图片描述

  • 然后就可以打pin了
    在这里插入图片描述
    在这里插入图片描述

  • 然后负端也一起打上pin
    在这里插入图片描述

  • 然后这个pin太小了,给他们放大
    在这里插入图片描述
    在这里插入图片描述

  • 我们先看这样绕了一圈,其感值有多大,进行保存,打开EMX
    在这里插入图片描述

  • 载入proc文件
    在这里插入图片描述

  • 加上端口名,地可以不填,默认
    在这里插入图片描述

  • 从1G仿真到10GHz
    在这里插入图片描述

  • 选择电感,不带屏蔽的差分电感
    在这里插入图片描述

  • 然后点击进行仿真
    在这里插入图片描述

  • 仿真结束后打开New,查看图像
    在这里插入图片描述

  • 查看现在的电感有多大,5GHz的感值为148pH
    在这里插入图片描述

  • 所以一圈的感知是不够的,还要多绕一圈

  • 把下面的金属线段删掉
    在这里插入图片描述

  • 将上面的金属线段复制到下面来,并留出缺口
    在这里插入图片描述

  • 从这个缺口做拐角多绕一圈。

  • 这里需要将直角的走线改成45度的走线
    在这里插入图片描述

  • 按住键盘P键,就是走线
    在这里插入图片描述

  • 修改其宽度为4um
    在这里插入图片描述

  • 按住键盘上的M键移动走线,让其对齐。
    在这里插入图片描述
    在这里插入图片描述

  • 然后再复制一份,做镜像
    在这里插入图片描述

  • 同样移动使其对齐对称
    在这里插入图片描述

  • 但是这里走线存在交叉,所以不能用同一层的金属,会短路。需要换一层进行跳线

  • 首先将其进行打散
    在这里插入图片描述

  • 将这个交叉部分换成M8金属层
    在这里插入图片描述

  • 然后再补一些金属上去,便于等会打孔
    在这里插入图片描述

  • 然后对齐
    在这里插入图片描述

  • 然后按住o键进行打孔,打的是M8-M9的过孔
    在这里插入图片描述

  • 过孔为4*4个
    在这里插入图片描述

  • 放在补充金属的中间
    在这里插入图片描述

  • 按住shift+F将过孔显示出来
    在这里插入图片描述

  • 然后复制一下,放到左下角处
    在这里插入图片描述

  • 然后对齐,这样交叉部分就搞定了
    在这里插入图片描述

  • 然后再补全走线
    在这里插入图片描述

  • 先打散走线,将其复制到另一侧
    在这里插入图片描述

  • 然后再补全上侧走线

  • 这样就有两圈的走线了,然后再来看现在的电感是否达到要求
    在这里插入图片描述

  • 相同操作进行仿真,可以看到现在5Ghz的电感有350pH
    在这里插入图片描述

  • 但是要求是500pH,还差一些,因此还是需要再加一圈

  • 删掉上面这个金属线段
    在这里插入图片描述

  • 需要再添加一圈,留出一段缺口
    在这里插入图片描述

  • 在缺口处进行交叉,可以看到这里交叉的线太短了,需要将其再画长一些
    在这里插入图片描述

  • 将交叉的线进行延长
    在这里插入图片描述

  • 同样,将一侧的交叉线换成M8
    在这里插入图片描述

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

  • 然后将下面的打孔复制过来,这样就完成连接的部分了
    在这里插入图片描述
    在这里插入图片描述
  • 然后补全内圈的连线,这时候再重新仿真查看电感值
  • 现在5GHz的时候是501pH,非常接近预期的电感值了
  • 此时Q值为10,满足设计指标
    在这里插入图片描述
  • 这时候就完成仿真设计了
  • 如果把内圈都画完了还没达到指标,说明刚开始的面积假设有问题,达不到设计要求,需要扩大面积再重新绘制,不断进行迭代。
    在这里插入图片描述

中心抽头

  • 题目还要求有中心抽头,抽头就是在对称点引一根线连接到VDD上
    在这里插入图片描述

  • 往上面引还是下面引取决于位置的摆放,看看电源线在哪个位置
    在这里插入图片描述

  • 注意引线不要跟交叉线重合了,可能需要跳线才能跳出去,不然就短路了。

  • 这里需要打一个pin,选择M9的pin层
    在这里插入图片描述

  • 选择create pin
    在这里插入图片描述

  • 将其命名问CT,即center cab中心抽头的缩写
    在这里插入图片描述

  • 然后将字体放大
    在这里插入图片描述

  • 然后就可以进行仿真了

  • 由于现在有三个pin端口了,所以EMX选项这里还需要添加一个ct

  • 然后为了便于观察自谐振频率的位置,扫频从0-100GHz,

  • 电感类型也要换成带抽头的,差分共模
    在这里插入图片描述

  • 再进行仿真

  • 先看下5GHz的电感值为500pH
    在这里插入图片描述

  • 达到最大电感的对应频率点就是自谐振频率点,为68.73GHz,是很高的值,满足设计的需求。
    在这里插入图片描述

  • 5GHz的Q值为9.78
    在这里插入图片描述

四、原理图调用版图模型

  • 在EMX选项设置中,点击Spar可以生成s参数文件
    在这里插入图片描述

  • 这里调出显示没有GND,直接不用管它,因为版图中就是没有GND的
    在这里插入图片描述

  • 然后就显示已经生成好了,是nport文件
    在这里插入图片描述

  • 然后就可以在library中找到这个文件了
    在这里插入图片描述

  • 在生成nport的同时,还会生成一个s参数的文件
    在这里插入图片描述

  • 它会在设计目录下生成一个EMX_work目录
    在这里插入图片描述

  • 就可以找到对应电感的文件夹了
    在这里插入图片描述

  • 这里有个.s2p文件,这个文件就是生成的s参数文件
    在这里插入图片描述

  • 如果想要在原理图中调用这个s参数文件

  • 先创建一个testbench
    在这里插入图片描述
    在这里插入图片描述

  • 在analoglib库中调用nport器件。
    在这里插入图片描述

  • 然后设置其属性

  • 由于刚才的电感是两端口的器件,所以端口数设置为2

  • s parameter data file参数的文件,填入刚才生成s参数文件的绝对路径,即文件所在的位置,并带上文件的名字。
    在这里插入图片描述

  • 这样就可以生成电感的原理图了

在这里插入图片描述

  • 注意这里多了下面的第三段,由于EMX中默认有一个地,就直接连接到电路中外部的地就可以了
    在这里插入图片描述
  • 这里可以测试一下这个电感器件的symbol是否正确,做一个仿真,仿真的电路如下。
    在这里插入图片描述

相关文章:

【Cadence射频仿真学习笔记】IC设计中电感的分析、建模与绘制(EMX电磁仿真,RFIC-GPT生成无源器件及与cadence的交互)

一、理论讲解 1. 电感设计的两个角度 电感的设计可以从两个角度考虑,一个是外部特性,一个是内部特性。外部特性就是把电感视为一个黑盒子,带有两个端子,如果带有抽头的电感就有三个端子,需要去考虑其电感值、Q值和自…...

Definition of Done

Definition of Done English Version The team agrees on, a checklist of criteria which must be met before a product increment “often a user story” is considered “done”. Failure to meet these criteria at the end of a sprint normally implies that the work …...

【漏洞复现】CVE-2023-37461 Arbitrary File Writing

漏洞信息 NVD - cve-2023-37461 Metersphere is an opensource testing framework. Files uploaded to Metersphere may define a belongType value with a relative path like ../../../../ which may cause metersphere to attempt to overwrite an existing file in the d…...

简单工厂模式和策略模式的异同

文章目录 简单工厂模式和策略模式的异同相同点:不同点:目的:结构: C 代码示例简单工厂模式示例(以创建图形对象为例)策略模式示例(以计算价格折扣策略为例)UML区别 简单工厂模式和策…...

HuggingFace datasets - 下载数据

文章目录 下载数据修改默认保存地址 TRANSFORMERS_CACHE保存到本地 & 本地加载保存加载 读取 .arrow 数据 下载数据 1、Python 代码下载 from datasets import load_dataset imdb load_dataset("imdb") # name参数为full或mini,full表示下载全部数…...

梯度(Gradient)和 雅各比矩阵(Jacobian Matrix)的区别和联系:中英双语

雅各比矩阵与梯度:区别与联系 在数学与机器学习中,梯度(Gradient) 和 雅各比矩阵(Jacobian Matrix) 是两个核心概念。虽然它们都描述了函数的变化率,但应用场景和具体形式有所不同。本文将通过…...

Vscode搭建C语言多文件开发环境

一、文章内容简介 本文介绍了 “Vscode搭建C语言多文件开发环境”需要用到的软件,以及vscode必备插件,最后多文件编译时tasks.json文件和launch.json文件的配置。即目录顺序。由于内容较多,建议大家在阅读时使用电脑阅读,按照目录…...

自定义 C++ 编译器的调用与管理

在 C 项目中,常常需要自动化地管理编译流程,例如使用 MinGW 或 Visual Studio 编译器进行代码的编译和链接。为了方便管理不同编译器和简化编译流程,我们开发了一个 CompilerManager 类,用于抽象编译器的查找、命令生成以及执行。…...

时间管理系统|Java|SSM|JSP|

【技术栈】 1⃣️:架构: B/S、MVC 2⃣️:系统环境:Windowsh/Mac 3⃣️:开发环境:IDEA、JDK1.8、Maven、Mysql5.7 4⃣️:技术栈:Java、Mysql、SSM、Mybatis-Plus、JSP、jquery,html 5⃣️数据库可…...

用SparkSQL和PySpark完成按时间字段顺序将字符串字段中的值组合在一起分组显示

用SparkSQL和PySpark完成以下数据转换。 源数据: userid,page_name,visit_time 1,A,2021-2-1 2,B,2024-1-1 1,C,2020-5-4 2,D,2028-9-1 目的数据: user_id,page_name_path 1,C->A 2,B->D PySpark: from pyspark.sql import SparkSes…...

Sentinel 学习笔记3-责任链与工作流程

本文属于sentinel学习笔记系列。网上看到吴就业老师的专栏,原文地址如下: https://blog.csdn.net/baidu_28523317/category_10400605.html 上一篇梳理了概念与核心类:Sentinel 学习笔记2- 概念与核心类介绍-CSDN博客 补一个点:…...

Latex 转换为 Word(使用GrindEQ )(英文转中文,毕业论文)

效果预览 第一步: 告诉chatgpt: 将latex格式中的英文翻译为中文(符号和公式不要动),给出latex格式第二步: Latex 转换为 Word(使用GrindEQ ) 视频 https://www.bilibili.com/video/BV1f242…...

使用Chat-LangChain模块创建一个与用户交流的机器人

当然!要使用Chat-LangChain模块创建一个与用户交流的机器人,你需要安装并配置一些Python库。以下是一个基本的步骤指南和示例代码,帮助你快速上手。 安装依赖库 首先,你需要安装langchain库,它是一个高级框架&#x…...

国家认可的人工智能从业人员证书如何报考?

一、证书出台背景 为进一步贯彻落实中共中央印发《关于深化人才发展体制机制改革的意见》和国务院印发《关于“十四五”数字经济发展规划》等有关工作的部署要求,深入实施人才强国战略和创新驱动发展战略,加强全国数字化人才队伍建设,持续推…...

【网络云计算】2024第51周-每日【2024/12/17】小测-理论-解析

文章目录 1. 计算机网络有哪些分类2. 计算机网络中协议与标准的区别3. 计算机网络拓扑有哪些结构4. 常用的网络设备有哪些,分属于OSI的哪一层5. IEEE802局域网标准有哪些 【网络云计算】2024第51周-每日【2024/12/17】小测-理论-解析 1. 计算机网络有哪些分类 计算…...

每日十题八股-2024年12月19日

1.Bean注入和xml注入最终得到了相同的效果,它们在底层是怎样做的? 2.Spring给我们提供了很多扩展点,这些有了解吗? 3.MVC分层介绍一下? 4.了解SpringMVC的处理流程吗? 5.Handlermapping 和 handleradapter有…...

网络方案设计

一、网络方案设计目标 企业网络系统的构成 应用软件 计算平台 物理网络及拓扑结构 网络软件及工具软件 网络互连设备 广域网连接 无论是复杂的,还是简单的计算机网络,都包括了以下几个基本元素 : 应用软件----支持用户完成专门操作的软件。…...

学习记录:electron主进程与渲染进程直接的通信示例【开箱即用】

electron主进程与渲染进程直接的通信示例 1. 背景: electronvue实现桌面应用开发 2.异步模式 2.1使用.send 和.on的方式 preload.js中代码示例: const { contextBridge, ipcRenderer} require(electron);// 暴露通信接口 contextBridge.exposeInMa…...

【Java数据结构】ArrayList类

List接口 List是一个接口,它继承Collection接口,Collection接口中的一些常用方法 List也有一些常用的方法。List是一个接口,它并不能直接实例化,ArrayList和LinkedList都实现了List接口,它们的常用方法都很相似。 Ar…...

HDR视频技术之十:MPEG 及 VCEG 的 HDR 编码优化

与传统标准动态范围( SDR)视频相比,高动态范围( HDR)视频由于比特深度的增加提供了更加丰富的亮区细节和暗区细节。最新的显示技术通过清晰地再现 HDR 视频内容使得为用户提供身临其境的观看体验成为可能。面对目前日益…...

变量 varablie 声明- Rust 变量 let mut 声明与 C/C++ 变量声明对比分析

一、变量声明设计:let 与 mut 的哲学解析 Rust 采用 let 声明变量并通过 mut 显式标记可变性,这种设计体现了语言的核心哲学。以下是深度解析: 1.1 设计理念剖析 安全优先原则:默认不可变强制开发者明确声明意图 let x 5; …...

相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)

【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...

CRMEB 框架中 PHP 上传扩展开发:涵盖本地上传及阿里云 OSS、腾讯云 COS、七牛云

目前已有本地上传、阿里云OSS上传、腾讯云COS上传、七牛云上传扩展 扩展入口文件 文件目录 crmeb\services\upload\Upload.php namespace crmeb\services\upload;use crmeb\basic\BaseManager; use think\facade\Config;/*** Class Upload* package crmeb\services\upload* …...

【论文阅读28】-CNN-BiLSTM-Attention-(2024)

本文把滑坡位移序列拆开、筛优质因子,再用 CNN-BiLSTM-Attention 来动态预测每个子序列,最后重构出总位移,预测效果超越传统模型。 文章目录 1 引言2 方法2.1 位移时间序列加性模型2.2 变分模态分解 (VMD) 具体步骤2.3.1 样本熵(S…...

3-11单元格区域边界定位(End属性)学习笔记

返回一个Range 对象,只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意:它移动的位置必须是相连的有内容的单元格…...

云原生玩法三问:构建自定义开发环境

云原生玩法三问:构建自定义开发环境 引言 临时运维一个古董项目,无文档,无环境,无交接人,俗称三无。 运行设备的环境老,本地环境版本高,ssh不过去。正好最近对 腾讯出品的云原生 cnb 感兴趣&…...

Kafka入门-生产者

生产者 生产者发送流程: 延迟时间为0ms时,也就意味着每当有数据就会直接发送 异步发送API 异步发送和同步发送的不同在于:异步发送不需要等待结果,同步发送必须等待结果才能进行下一步发送。 普通异步发送 首先导入所需的k…...

【C++进阶篇】智能指针

C内存管理终极指南:智能指针从入门到源码剖析 一. 智能指针1.1 auto_ptr1.2 unique_ptr1.3 shared_ptr1.4 make_shared 二. 原理三. shared_ptr循环引用问题三. 线程安全问题四. 内存泄漏4.1 什么是内存泄漏4.2 危害4.3 避免内存泄漏 五. 最后 一. 智能指针 智能指…...

免费数学几何作图web平台

光锐软件免费数学工具,maths,数学制图,数学作图,几何作图,几何,AR开发,AR教育,增强现实,软件公司,XR,MR,VR,虚拟仿真,虚拟现实,混合现实,教育科技产品,职业模拟培训,高保真VR场景,结构互动课件,元宇宙http://xaglare.c…...

数据结构:递归的种类(Types of Recursion)

目录 尾递归(Tail Recursion) 什么是 Loop(循环)? 复杂度分析 头递归(Head Recursion) 树形递归(Tree Recursion) 线性递归(Linear Recursion)…...