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

【Cadence射频仿真学习笔记】Pcell Designer设计电感学习笔记

Cadence的Pcell designer官方入门教程

一、下载Pcell Designer

  • 首先,前往Cadence网站下载Pcell Designer软件
    在这里插入图片描述
  • (具体安装过程就不记录了,大家自己去看视频吧)
    在这里插入图片描述

二、创建新的P-cell

  • 然后打开Virtuoso,点击Tools->Open Pcell Designer就可以打开了
    在这里插入图片描述
  • 然后选择导入的库及命名
  • File to import可以导入已经创建好的Pcell。
    在这里插入图片描述
  • 然后就可以打开很多窗口
  • 这里我们可以点击这个按钮来调整安排不同的窗口

在这里插入图片描述

  • 这里我们主要使用左侧窗口的控制台进行设计,
    在这里插入图片描述
    在这里插入图片描述
  • 首先,我们先添加一些变量
  • 我们点击Device->Edit device type
    在这里插入图片描述
  • 这个界面允许我们从Pcell designer中创建CDF,或者导入已经创建好的CDF文件
  • 这里我们点击Create
    在这里插入图片描述
  • 在添加的参数中我们可以选择其所属,是CDForPcell参数,both表示他们都是
  • 一般默认都是使用both
    在这里插入图片描述
  • 这里我们创建一个宽度参数名为w,并将其类型type选择为number
    在这里插入图片描述
  • 然后我们点击提示prompt,输入width
  • 选择单位unit,选择为length metric长度度量,表示当用户输入数字后,单位将自动定义为默认单位um
  • 选择数值value,默认数值为1u
    在这里插入图片描述
  • 然后添加其他参数
  • 当全部添加完成后,点击ok
    在这里插入图片描述
  • 然后就会在后侧栏看到刚才定义的参数变量。并显示了其参数定义和默认数值
    在这里插入图片描述

三、创建group和name

  • Pcell designer有两种按名称引用对象的机制
  • 第一个是Group组,对应于数据库组,允许在数据库本身内自动管理一组object,可以从Pcell外部引用
  • 第二个是Name名字,这表示object存储在Pcell内的变量里面。
    在这里插入图片描述
  • 这里将使用顶层单元设计器top cell designer的图形shape导入来说明这种方法
  • 当导入图形到Pcell designer,在这种情况下,我们选用可选的group 去定义他们
    在这里插入图片描述
  • 然后我们在控制台就可以看到刚才的两个矩形命令command被group command组命令给包围了。
  • 然后我们可以再次使用group command组命令,其他对象object也可以包含在同一个组group里面
    在这里插入图片描述
  • 接下来我们将导入带有名称name的形状shape。我们将门极图像(绿色)的name命名为gate
    在这里插入图片描述
  • 然后我们就可以在控制台发现它直接导入了矩形命令command。并且其指定将输出的参数名称命名为gate。
  • 如果这样做的话,每次设置变量gate的时候,它都会覆盖overwrite该变量的原有值
    在这里插入图片描述
  • 另一种方法是导入许多这样的形状,然后不给他们命名group name和name
    在这里插入图片描述
    在这里插入图片描述
  • 然后,我们可以在左侧command指示栏中输入name,然后选中这些object点击右键,选择Insert->Around
    在这里插入图片描述
  • 并将其命名为drain
  • 然后就可以发现这两个图形被归类到name里面了。就表示drain这个名字就等价于这两个图形了。
  • 每次使用给定名称时,name command都会添加到变量中已定义的任何现有形状中。
    在这里插入图片描述
    在这里插入图片描述
  • 其实,group和name不仅适用于形状的导入,还可以用它来收集整个Pcell的对象object,然后可以在任何作为几何输入的命令中调用它们
  • 最终,我们可以得到下面这些命令集
    在这里插入图片描述

四、使用variable assistant

  • variable assistant显示在主控制台的右侧栏,以及render window渲染窗口的右侧。这里显示的是variable的所有初始值及其名称。
    在这里插入图片描述
  • 如果渲染窗口render window有多个实例instance,则variable assistant中会显示最后一个选定instance的相关值。
  • 并且在varibale assistant中还显示了与当前选择控制命令command中group指定变量的相关值,如果变量值有变化的话,右侧的variable assistant将对应的变量会变成绿色。
    在这里插入图片描述
  • 此外我们还可以对variable assistant显示的变量进行filter筛选和排序
  • sort by表示排序,可以进行A->Z排序
  • show by表示过滤,这里可以只显示Pcell相关的变量
    在这里插入图片描述
    在这里插入图片描述
  • 还有一种方法是点击route,在这里可以自定义命令command,比如可以筛选查看input输入、output输出的命令
  • 因此variable assistant允许以不同的方式查看数据。
    在这里插入图片描述

五、Geometric Queries

  • Geometric Queries允许你避免大量的计算在创建Pcells的时候,相反我们可以通过正在创建的原理图或者symbol来对这些形状进行测量调节,或者使用新的一组运算符从现有的object中创建新的形状。
    在这里插入图片描述

copy command

  • 下面来看一个在command中选择object的实例。
  • 首先使用copy command命令,在这种情况下我们已经将Pcell单元设置为具有group和name,这主要是为了给两者进行区分。
  • 我们可以将其source归类到一个现有的组group or name。这里选为group
  • 这里指定其距离dy为0.2,就是将其宽度设置为0.2um
    在这里插入图片描述
  • 现在改为使用Expression类型,但是为了缩小查找object的范围,我们可以通过Geometric Queries几何查询来查找
    在这里插入图片描述
  • 打开后,进行筛选,在左侧栏中选择Layer operator层运算符,并在该group周围(arround)插入layer operator
    在这里插入图片描述
  • 这样我们就可以选择复制该group的所在层的形状
    在这里插入图片描述
  • 然后点击Apply,然后就可以发现得到了该group特定层的形状
    在这里插入图片描述

distance operator

  • 选择distance command,将其命名为xdist,然后再次使用Expression进行度量
  • 这里我们有一个小方便的vista按钮,可以突出highlight显示Pcell中各种对象(如edge边缘,point点)。这样可以很好的生成Geometric Queries几何查询。
    在这里插入图片描述
    在这里插入图片描述
  • 然后我们可以来查看现在产生的Geometric Queries
    在这里插入图片描述
    在这里插入图片描述
  • 在这里有一个快捷键,我们可以直接复制expression
    在这里插入图片描述
  • 打开窗口后,先将source group给删掉
    在这里插入图片描述
  • 然后在左侧栏中选择name command,
    在这里插入图片描述
  • 然后希望xdist返回其自身值value,它将会说明右边缘right edge之间的存在是针对这个特定pcell单元的。
    在这里插入图片描述
  • 表示drain需要相较于右边缘需大于0.205um
    在这里插入图片描述

rectangle

  • 最后一个例子是如何创建一个新形状

  • 选择rectangle command,并将其所在层设置为nump
    在这里插入图片描述

  • 还是source expression
    在这里插入图片描述

  • 选择or operator,然后分别将Group设置为source,name设置为drain。
    在这里插入图片描述

  • 但是现在,它还包含在金属形状里面
    在这里插入图片描述
    在这里插入图片描述

  • 然后使用grow operator,这样可以指定增长的量,使其在四个不同维度上进行生长。
    在这里插入图片描述
    在这里插入图片描述

六、创建Temporary shapes

  • Temporary shapes是用于创建object,且不会直接出现在Pcell designer上。
  • 一种方法是在导入import时建立,
    在这里插入图片描述
    在这里插入图片描述
  • 可以发现创建的object被para command包围
  • 也可以发现,在此处突出显示的shape不会直接出现在pcell中。
    在这里插入图片描述
  • 这允许我们在使用对象object时候,如果我们把它向上移动,然后重新启动这个填充指令。via fill command将会使用这些视图,然后使用选中的这些视图填充此处的特定区域。
    在这里插入图片描述
  • 我们还可以做其他事情,在这种情况下使用cross connect command交叉连接指令
  • 这里打算在电感pcell里面使用
    在这里插入图片描述
  • 这里使用了para command包围了它,因为想创建、度量它,所以在创建转弯线时复制到各个地方。
  • 在这里我们是看不到cross connect交叉互连线的,但是在实际中他是不存在的
    在这里插入图片描述
  • 如果想更仔细查看这些para shape对象,可以点击这个icon,
    在这里插入图片描述
  • 因此para shape的好处是,它避免了必须创建一个临时的object,然后再Pcell删除掉他。

实践操作:设计电感的Pcell

  • 相信大家现在已经对画版图特别恼火了。因为如果不画版图,就观察不了这些性质,画了版图,版图就固定了,就无法对它的几何参数的规律进行研究。因此在设计这个放大器的时候,我们就会做很多重复的重复劳动。所以我们今天讲一个基础软件的应用,这个软件的名字叫P-cell designer

  • 这里以电感的设计来进行讲解,之后需要去尝试使用变压器设计

  • 打开Cadence,点击Tools->open pcell designer
    在这里插入图片描述
    在这里插入图片描述

  • 就会打开rendering window,这是渲染窗,即把所谓的代码进行渲染。
    在这里插入图片描述

  • shape drawing window可以在这里画草稿,但是在开发模式下是用不到的,
    在这里插入图片描述

  • 如果要定义一个参数化的几何图形,首先要定义其参数

  • 点击Device->Edit device type
    在这里插入图片描述

  • 然后这里有create,把所有想要的参数都加入进来

  • 这里特别要注意的是,我们要设置其类型,大部分是number,且其默认数据的小数点直接决定了其是整数还是小数,一般默认是要加小数点的,不然除法会出现问题。

  • 而像layer就是字符串类型
    在这里插入图片描述
    在这里插入图片描述

  • 这里所有操作都是树状的,不需要写入任何的代码

  • 如果是写代码,需要把每个点的坐标参数方程求解出来,会非常麻烦。

  • 这个软件的核心逻辑是根据程序运行到某一段(run to select),状态下已生成图像的量测结果,得到随着参数变化的测量值。并根据这些测量值去生成新的参数化的几何结构。

  • 总结下来就是根据参数化的测量值,去生成新的参数化的几何结构

在这里插入图片描述

  • 如何实现外围的圈,
  • 首先是通过group,就是一个几何组,对一批几何组的图形进行操作。我们需要知道这里的group name是一个指针,就是后面我们需要对这个已生成图像进行参数化的更改或参数化测量的时候,就需要通过name为ind_layout这个字符串去访问到这个几何图形。这个字符串是指向这个几何图形的指针。

在这里插入图片描述

  • 由于在这个VCO电感中不知道是需要重复多少圈的,要重复n次,也就是所谓的并联匝数。

  • 这里把并联匝数定为n,然后调用repeat command,即for循环。

  • 它的第一个量n即执行的次数(自减1),这个是内部变量
    在这里插入图片描述

  • 然后就是需要不断执行画圈的操作,在这里不断调用八边形函数,

  • 在我们要实现跨工艺的电感或者不同层的电感,就不要勾线layer,而是勾选expression。

  • 如果选择layer,那么这就是固定死的东西了,我们可以选择expression,让layer作为变量,手动输入M8M7

  • radius是电感的半径,R是电感最内圈的内径,n是匝数,宽度为w,s的间隔
    在这里插入图片描述

  • 对于这些group,其名字本身也是由n生成的。

  • sprintf是格式化写入。以整数的形式变成一个字符串输出,变成coil
    在这里插入图片描述

  • block是为了整理代码,其本身是没有任何逻辑上的意义的。这种情况不会产生新的量。只是对现有的量进行量测,或者定义一些局部变量的地方。所有的内容都是对上面的group去访问

  • 然后画完之后就要进行measurement,后面才能根据各种几何形状,各种顶点去生成新的图像。

  • 量测出来的值会随着参数尺寸的变化而变化
    在这里插入图片描述

  • 接下来,调用了turtle海龟命令。这里可以制造一个指针,参数化的轨迹。

  • line inner outer表示内到外的距离,TAPL是延伸长度。
    在这里插入图片描述

  • 起始点是tap start,这个点是通过前面量测结果得到的。
    在这里插入图片描述

  • 那么如何获得几何图形的抽象表征呢?

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

  • 首先在render window把已有的几何图形都点一下

  • 在这里就可以选择所有已有的

  • 把它的框获取出来
    在这里插入图片描述

  • 找到定位的点(会被高亮),这样就能获得起始点了

  • 并且这个点是参数化的,就是在电感几何尺寸在变化的时候
    在这里插入图片描述

  • 然后再这个turtle的基础上生成path,就是赋予一个轨迹实际的几何形状。实际的版图的mask

  • 将其layer
    在这里插入图片描述

  • 然后是extension是中间挖槽的部分
    在这里插入图片描述

  • 由于担心超过限定的范围,所以首先要查看是否有超过一定的值,超了的话就要固定这个值。if主要用于做异常处理
    在这里插入图片描述

  • 如果超了的话,就会报错。else命令返回报错信息到图上
    在这里插入图片描述
    在这里插入图片描述

  • chop就是对已有的图形用一个区域去切source的图形
    在这里插入图片描述

  • 切完之后去构建cross connect,去掉一半,只留下一半就变成45度的走线。
    在这里插入图片描述

  • 然后再镜像copy一下

  • 是沿着中轴线my进行镜像。

在这里插入图片描述

  • distance 命令是量测两个位置之间的距离
  • 然后返回的类型值 result type,如果返回来的值是用来移动的,就使用transformation;返回来的值绝对值就用lens,返回来的是距离值就用x distance或者y distance
    在这里插入图片描述
  • 构建完之后还需要进行电磁仿真,pin和label
  • 因此使用rectangle作为端口形状,label表示名称P1
    在这里插入图片描述
  • 最后一步就是导出
  • 如果直接在本library导出就会打乱开发环境,一般使用发布。因为直接使用的话这些底层构建代码就会暴露
  • 点击Tools->Deploy Pcell Designer Library
    在这里插入图片描述
  • 可以把开发库(一般用dev命名),发布到不带dev的库中
  • 这样就可以实现彻底的编码加密,实现自己的pdk。
    在这里插入图片描述
  • 如果想要调用别人的pdk进来,使用instance的命令。
    在这里插入图片描述
    在这里插入图片描述
  • 调用一个晶体管进来
    在这里插入图片描述
  • 然后就会显示所有的可调参数,然后添加进来used parameter,这样就可以做嵌套式的pcell
    在这里插入图片描述

  • 成品后的效果
    在这里插入图片描述
    在这里插入图片描述
  • 这里就可以像PDK库里面的电感一样改参数了
    在这里插入图片描述
  • 对于复杂电路,PDK上没有这些元件,就需要自己另外设计了。
  • 类似下面这个电路图,需要挖槽才能做出足够粗的电感。
    在这里插入图片描述

笔记总结

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

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

相关文章:

【Cadence射频仿真学习笔记】Pcell Designer设计电感学习笔记

Cadence的Pcell designer官方入门教程 一、下载Pcell Designer 首先,前往Cadence网站下载Pcell Designer软件 (具体安装过程就不记录了,大家自己去看视频吧) 二、创建新的P-cell 然后打开Virtuoso,点击Tools->…...

臻识相机,华夏相机,芊熠车牌识别相机加密解密

臻识,华夏,芊熠这三种车牌识别相机解密我都试过了,可以正常解密成功,其它品牌我暂时没有测试。超级简单,免费的,白嫖无敌! 流程: ①:先导出配置文件,例如我以…...

一个前端,如何同时联调多个后端

文章目录 场景解决方案思路实现步骤创建项目目标前端配置安装cross-env配置vue.config.js配置package.json 测试 场景 一个前端,需要同时和N个后端联调 一个需求里有若干个模块,分别给不同的后端开发,前端需要和N个后端联调 本地开启一个端…...

向量的点乘的几何意义

源自AI 向量的点乘(Dot Product)在几何和图形学中有重要的意义。它不仅是数学运算,还可以用来描述向量之间的关系。以下是点乘的几何意义及其应用: 1. 点乘的定义 对于两个向量 a 和 b,它们的点乘定义为:…...

如何组织和管理JavaScript文件:最佳实践与策略

在现代Web开发中,JavaScript已经成为不可或缺的一部分。随着项目规模的扩大,JavaScript代码的复杂性也随之增加。如何有效地组织和管理这些文件,不仅影响开发效率,还直接关系到项目的可维护性和可扩展性。本文将深入探讨如何组织和…...

mysql实时同步到es

测试了多个方案同步,最终选择oceanu产品,底层基于Flink cdc 1、实时性能够保证,binlog量很大时也不产生延迟 2、配置SQL即可完成,操作上简单 下面示例mysql的100张分表实时同步到es,优化备注等文本字段的like查询 创…...

DeepSeek动画视频全攻略:从架构到本地部署

DeepSeek 本身并不直接生成动画视频,而是通过与一系列先进的 AI 工具和传统软件协作,完成动画视频的制作任务。这一独特的架构模式,使得 DeepSeek 在动画视频创作领域发挥着不可或缺的辅助作用。其核心流程主要包括脚本生成、画面设计、视频合成与后期处理这几个关键环节。 …...

第3章 3.3日志 .NET Core日志 NLog使用教程

3.3.1 .NET Core日志基本使用 书中介绍了把日志输出到控制台的使用方式: 安装 Microsoft.Extensions.Logging 和 Microsoft.Extensions.Logging.Console 日志记录代码: using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.…...

R语言NIMBLE、Stan和INLA贝叶斯平滑及条件空间模型死亡率数据分析:提升疾病风险估计准确性...

全文链接:https://tecdat.cn/?p40365 在环境流行病学研究中,理解空间数据的特性以及如何通过合适的模型分析疾病的空间分布是至关重要的。本文主要介绍了不同类型的空间数据、空间格点过程的理论,并引入了疾病映射以及对空间风险进行平滑处理…...

Java 反射 (Reflection) 详解

一、什么是 Java 反射? Java 反射 (Reflection) 是 Java 语言的一个强大特性,它允许 在运行时 检查和修改类、接口、字段和方法的信息,而不需要在编译时知道这些信息。 换句话说,反射可以让你在程序运行过程中“动态”地获取类的…...

在 C++ 中,`QMessageBox_s::question_s2` 和 `app.question_s2` 的区别(由DS-V3生成)

在 C 中,QMessageBox_s::question_s2 和 app.question_s2 的区别主要在于它们的调用方式和上下文范围。以下是对两者的详细解释: 1. QMessageBox_s::question_s2 解释: QMessageBox_s::question_s2 是一个静态成员函数的调用。它属于类 QMess…...

vxe-grid 通过配置式给单元格字段格式化树结构数据,转换树结构节点

vxe-grid 通过配置式给单元格字段格式化树结构数据,转换树结构节点 比如用户自定义配置好的数据源,通过在列中配置好数据,全 json 方式直接返回给前端渲染,不需要写任何格式化方法。 官网:https://vxetable.cn npm i…...

大厂算法面试常见问题总结:高频考点与备战指南

在大厂算法面试中,数据结构与算法是必考的核心内容。 无论是校招还是社招,算法题的表现往往决定了面试的成败。 为了帮助大家更好地备战,本文总结了大厂算法面试中的高频考点,并提供了详细的备战建议,助你轻松应对面…...

制造行业CRM选哪家?中大型企业CRM选型方案

在当今竞争激烈的制造行业中,企业对于客户关系管理(CRM)系统的需求日益增强,高效、智能的CRM系统已成为推动企业业务增长、优化客户体验的关键。在制造业 CRM 市场中,纷享销客和销售易都备受关注,且各自有着…...

PHP集成软件用哪个比较好?

在Windows环境下,使用PHP时,通常需要一个集成开发环境(IDE)或者集成软件来简化开发和调试过程。以下是几款常用且推荐的PHP集成软件,每款都有其特点,可以根据需求进行选择: 1. XAMPP 特点&…...

当pcie设备变化时centos是否会修改网络设备的名称(AI回答)

当pcie设备变化时centos是否会修改网络设备的名称 在CentOS(以及其他基于Linux的操作系统)中,网络接口的命名通常遵循特定的规则,尤其是在使用PCIe设备(如网络适配器)时。网络接口的命名通常基于设备的物理…...

Mac arm架构使用 Yarn 全局安装 Vue CLI

dgqdgqdeMacBook-Pro spid-admin % vue --version zsh: command not found: vue要使用 Yarn 安装 Vue CLI,你可以执行以下命令: yarn global add vue/cli这个命令会全局安装 Vue CLI,让你可以使用 vue 命令创建、管理 Vue.js 项目。以下是一…...

【Python游戏】双人简单对战游戏

以下是一个使用 Python 的 pygame 库实现的简单对战游戏示例,游戏中玩家可以控制两个角色进行对战,并且支持自定义图片(最好使用无底色的png图片)。完整源码以及实现思路: import pygame import os# 初始化 Pygame pygame.init()# 设置游戏窗…...

Windows11切换回Windows10风格右键菜单

参考文章:Win11新版右键菜单用不惯?一键切换回Win10经典版!-CSDN博客 以管理员权限运行命令行cmd 切换为经典旧版右键菜单,执行 reg.exe add “HKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\InprocServe…...

怎么学习调试ISP的参数

摄像头的 **Sensor 获取的 RAW 数据** 是未经处理的原始图像数据,通常需要经过 **ISP(Image Signal Processor,图像信号处理器)** 的处理,才能生成可用的图像或视频。ISP 的作用是对 RAW 数据进行一系列图像处理操作&a…...

装饰模式(Decorator Pattern)重构java邮件发奖系统实战

前言 现在我们有个如下的需求,设计一个邮件发奖的小系统, 需求 1.数据验证 → 2. 敏感信息加密 → 3. 日志记录 → 4. 实际发送邮件 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其…...

Spring Boot 实现流式响应(兼容 2.7.x)

在实际开发中,我们可能会遇到一些流式数据处理的场景,比如接收来自上游接口的 Server-Sent Events(SSE) 或 流式 JSON 内容,并将其原样中转给前端页面或客户端。这种情况下,传统的 RestTemplate 缓存机制会…...

React第五十七节 Router中RouterProvider使用详解及注意事项

前言 在 React Router v6.4 中&#xff0c;RouterProvider 是一个核心组件&#xff0c;用于提供基于数据路由&#xff08;data routers&#xff09;的新型路由方案。 它替代了传统的 <BrowserRouter>&#xff0c;支持更强大的数据加载和操作功能&#xff08;如 loader 和…...

《Playwright:微软的自动化测试工具详解》

Playwright 简介:声明内容来自网络&#xff0c;将内容拼接整理出来的文档 Playwright 是微软开发的自动化测试工具&#xff0c;支持 Chrome、Firefox、Safari 等主流浏览器&#xff0c;提供多语言 API&#xff08;Python、JavaScript、Java、.NET&#xff09;。它的特点包括&a…...

从深圳崛起的“机器之眼”:赴港乐动机器人的万亿赛道赶考路

进入2025年以来&#xff0c;尽管围绕人形机器人、具身智能等机器人赛道的质疑声不断&#xff0c;但全球市场热度依然高涨&#xff0c;入局者持续增加。 以国内市场为例&#xff0c;天眼查专业版数据显示&#xff0c;截至5月底&#xff0c;我国现存在业、存续状态的机器人相关企…...

前端导出带有合并单元格的列表

// 导出async function exportExcel(fileName "共识调整.xlsx") {// 所有数据const exportData await getAllMainData();// 表头内容let fitstTitleList [];const secondTitleList [];allColumns.value.forEach(column > {if (!column.children) {fitstTitleL…...

Linux简单的操作

ls ls 查看当前目录 ll 查看详细内容 ls -a 查看所有的内容 ls --help 查看方法文档 pwd pwd 查看当前路径 cd cd 转路径 cd .. 转上一级路径 cd 名 转换路径 …...

JVM垃圾回收机制全解析

Java虚拟机&#xff08;JVM&#xff09;中的垃圾收集器&#xff08;Garbage Collector&#xff0c;简称GC&#xff09;是用于自动管理内存的机制。它负责识别和清除不再被程序使用的对象&#xff0c;从而释放内存空间&#xff0c;避免内存泄漏和内存溢出等问题。垃圾收集器在Ja…...

成都鼎讯硬核科技!雷达目标与干扰模拟器,以卓越性能制胜电磁频谱战

在现代战争中&#xff0c;电磁频谱已成为继陆、海、空、天之后的 “第五维战场”&#xff0c;雷达作为电磁频谱领域的关键装备&#xff0c;其干扰与抗干扰能力的较量&#xff0c;直接影响着战争的胜负走向。由成都鼎讯科技匠心打造的雷达目标与干扰模拟器&#xff0c;凭借数字射…...

蓝桥杯3498 01串的熵

问题描述 对于一个长度为 23333333的 01 串, 如果其信息熵为 11625907.5798&#xff0c; 且 0 出现次数比 1 少, 那么这个 01 串中 0 出现了多少次? #include<iostream> #include<cmath> using namespace std;int n 23333333;int main() {//枚举 0 出现的次数//因…...