Cadence OrCAD: 跨页符和电源符号命名优先级的一个小问题

news2024/11/25 22:35:16

Cadence OrCAD: 跨页符和电源符号命名优先级的一个小问题

遇到的问题

最近项目中,有个电源需要做负载端的反馈,类似下图的signal1和signal1N,反馈使用类似伪差分线,把电压信号和负载端的GND都连到DC-DC控制器。DC-DC对应的反馈引脚都有自己的名称,比如EAP和EAN,所以就有了下图的设计,在信号和GND各使用了一对跨页符,连接PAGE1和PAGE2。(PAGE3只是为了说明这个问题)

在检查layout的时候,突然发现PAGE1和PAGE2的GND是悬空的,没有和其他几页的GND相连。 赶紧更新了原理图改了一版,差点就只能飞线了。

排查原因,发现对于这种 电源符号+跨页符 的设计,最终网络名称是 跨页符的名称,就导致了PAGE1/2的网络名与PAGE3不同,虽然看起来都是接在GND,如下图。

对于这种问题,一般DRC不会报错。比如上面这个3页的例子中,PAGE1/2的"GND"网络有互联,PAGE3的GND连了至少2个引脚,所以各自都没有单端连接的错误。所以使用类似设计时需要特别注意。

似乎没有特别好的办法,最后还是删除了GND连接的跨页符signal1N,同时对layout的特别要求加了额外说明。

网络名称优先级

这个问题归结为网络命名优先级的问题。对于同一个网络,最终在网表中只有一个确定的名称,而在原理图中可能有各种不同的名字:自动生成的名称、alias、off-page、port、global(电源、地)等等,因此需要有一个规则来确定这个网络最终的名称。

查了OrCAD的手册,网络名称优先级从低到高为:

  1. 自动生成的名称
  2. Alias 别名
  3. Power object names 电源符号
  4. Off-page connectors 跨页符
  5. Hierarchical port names 端口
  6. 最高:Named nets (网络名?)

如果根据以上几点,还是不能确定网络名,则另外还有几点说明:

  • 最靠近顶层(root)的网络名,优先级更高。The net name closest to the “root” of the project takes precedence over those further away.
  • 如果网络是总线,那么最高位的alias有最高的优先级(不是太懂,举不出例子来,感觉也用不上)。If the net is a bus, the net alias assigned to the greatest number of bus members has the highest priority.
  • 同优先级下,命名是按照字母顺序。Among net names of equal precedence, priority follows an alphabetical order.

手册中还有一个比较啰嗦的例子:

As you can see, a net may change names several times as Create Netlist works. For example, the net may start with an alias of Battery on one page, be renamed ToBattery from an off-page connector, change again to become DC as a port is encountered, and finally change to BatteryBackup when Create Netlist finds a named net closer to the root schematic folder. Once the netlist is created, you can select any piece of the net anywhere in the design and see the net’s name as it is recorded in the netlist (BatteryBackup), not as it appears at that particular location.

简单搭了几个例子:可以看到,按照优先级从低到高的顺序,一层层把符号加上去,网络名称每次都与当前最高优先级的符号名称一致

关于最高优先级的net name

双击某段网络,打开net properties(或者右键-edit properties)。这边可以选择一个,我看到可选的范围是来自各个符号的名称,比如跨页符和端口。在这里把网络名称改为跨页符名称,t_offpage

可以看到,net name的优先级比端口port更高,修改之后,网络名为t_offpage,而不再是t_port

后记

看了优先级规则以后,发现之前的问题可以用改net name的方法解决,但是个人觉得还是不要这样操作,似乎还是容易错。毕竟net name不够直观,在原理图上不能直接看到。

参考资料

多翻翻Help。一般问题都能找到,就是要花点时间。(还是值得的,毕竟有时候会花更多的时间在网上搜解决方法,却找不到有用的信息)

比如这次的问题。位于:

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

字节跳动青训营--前端day1

文章目录前言一、 前端1 前端的技术栈2. 前端的边界3. 前端的关注点二、 HTML1. HTML常用标签及语义化2. HTML 语法3. 谁在使用我们写的HTML前言 仅以此文章记录学习历程 一、 前端 解决GUI人机交互问题 1 前端的技术栈 2. 前端的边界 nodejs–服务器端应用 electron… --客…

【数据结构】6.1 图的基本概念和术语

文章目录前言6.1 图的定义和术语前言 图是一种比线性表和树更为复杂的数据结构。 在线性结构中,结点之间的关系属于一个对一个;数据元素之间有着线性关系,每个数据元素只有一个直接前趋和一个直接后继, 在树形结构中,…

算法设计与分析课程

算法的由来 算法的定义 算法的定义:给定计算问题,算法是一系列良定义的计算步骤,逐一执行计算步骤可得到预期的输出。 良定义:定义明确无歧义 计算步骤:计算机可以实现的指令 有了良定义的计算步骤,计算机就…

Java基础篇01-运算符的使用

01| Java中的数据类型 ) 1. 数值型: 序号类型空间占用说明最小值最大值默认值优缺点对比举例1byte8位有符号整数-128(-2^7)127 (2^7-1)0byte 类型用在大型数组中节约空间,主要代替整数,因为 byte 变量占用的空间只有 int 类型的四分之一by…

6、Denoising Diffusion Probabilistic Models(扩散模型)

简介 主页:https://hojonathanho.github.io/diffusion/ 扩散模型 (diffusion models)是深度生成模型中新的SOTA。 扩散模型在图片生成任务中超越了原SOTA:GAN,并且在诸多应用领域都有出色的表现,如计算机…

【docker概念和实践 1】 基本概念和组成原理

一、说明 初学Docker就一个字:乱!这是因为Docker是一个庞大体系,初学时不了解全貌,处于“盲人摸象”状态,因不能通晓要领,学了一点,过后就忘了。而了解Docker全貌并非易事,官方文档也…

前端学习记录-Javascript

pink JS基础语法JavaScript核心教程阮一峰JS基础 JS基础语法 初识JS JS三种书写位置:行内、内嵌、引入式。单行注释 ctrl/ 多行注释 shift alt a输入输出语句 声明变量 var age;变量命名规范:字母、数字、下划线、美元符号组成,区分大小写…

质量体系搭建

测试团队的发展历程 初期阶段 特点:提供“保姆式”服务,以发现BUG为主要任务。 工作主要:以功能测试、兼容行测试为主的手工测试,每天进行大量的、重复性的工作,即便如此依然会有遗漏。刚起步的测试团队基本处于这个阶…

LeetCode分类刷题----哈希表篇

哈希表哈希表1.有效的字母异位词242.有效的字母异位词383.赎金信49.字母异位词分组438.找到字符串中所有字母异位词2.两个数组的交集349.两个数组的交集350.两个数组的交集||3.快乐数202202.快乐数4.两数之和1.两数之和5.四数相加454.四数相加||6.三数之和15.三数之和7.四数之和…

ARM 实时时钟 RTC

一、何为实时时钟 (1) real time clock,真实时间,就是所谓的xx年x月x日x时x分x秒星期x. (2) RTC是 SoC 中一个内部外设,RTC 有自己独立的晶振提供 RTC 时钟源(32.768KHz),内部有一些寄存器用来记录时间&am…

微信小程序登陆,后端接口实现 - springboot

登录流程 1、通过调用wx.login获取登录凭证(code) uni-app通过调用uni.login 2、前端将code提交给服务器,springboot访问 auth.code2Session,使用 code 换取 openid、unionid、session_key 等信息。 3、完成登录操作&#xff0…

数学计算-C语言实现

任务描述 计算如下公式的值: 其中π=3.1415926 本关知识 C语言常用数学函数及其用法 在使用C语言数学函数时候,应该在该源文件中使用以下命令行包含库文件: #include <math.h> 或 #include "math.h" 本题中用到的C语言数学函数如下: abs函数: 求整型…

Pytorch模型自定义数据集训练流程

文章目录Pytorch模型自定义数据集训练流程1、任务描述2、导入各种需要用到的包3、分割数据集4、将数据转成pytorch标准的DataLoader输入格式5、导入预训练模型&#xff0c;并修改分类层6、开始模型训练7、利用训好的模型做预测Pytorch模型自定义数据集训练流程 我们以kaggle竞…

交互与前端20 APIFunc.DataBase监控

说明 APIFunc.DataBase的第一版有一个监控一直在做agg,造成数据库的无谓消耗,所以一定得修补。在修补的同时,做了一些主要的修改: 1 【自增ID】给Mongo的In和Out增加了数据的自动编号和随机数生成。2 【使用缓存】通过Redis缓存,极大的的减轻了Mongo(主库)的负担这样,使得…

Kruskal重构树学习笔记(C++)

Kruskal重构树学习笔记 提示&#xff1a; 学习Kruskal重构树之前建议先了解一下Kruskal算法&#xff0c;虽然不了解这个影响不会很大 但一定要了解一下并查集的算法 接下来如果想要应用Kruskal重构树&#xff0c;一定要了解一下LCA算法 什么是Kruskal重构树 这里先简单说…

exec函数族详解

文章目录exec介绍exec族execl函数execlp函数execv函数exec介绍 通过命令查看帮助&#xff1a;man 3 exec exec 函数族的作用是根据指定的文件名找到可执行文件&#xff0c;并用它来取代调用进程的内容&#xff0c;换句话说&#xff0c;就是在调用进程内部执行一个可执行文件。…

基于多线程版本的定时器

定时器 1)咱们前面学习过的阻塞队列&#xff0c;相比于普通的队列线程安全&#xff0c;相比于普通的队列起到一个更好的阻塞效果 2)虽然使用阻塞队列&#xff0c;可以达到销峰填谷这样的一个效果&#xff0c;但是峰值中有大量的数据涌入到队列中&#xff0c;如果后续的服务器消…

教程:Flutter 和 Rust混合编程,使用flutter_rust_bridge自动生成ffi代码

实践环境&#xff1a;Arch Linuxflutter_rust_bridge官方文档Flutter环境配置教程 | Rust环境配置教程记录使用flutter_rust_bridge遇到的一些坑。假设已经我们配置了Fluuter与Rust环境现在直接使用flutter_rust_bridge模板创建自己的项目运行&#xff1a;git clone https://gi…

W13Scan 扫描器挖掘漏洞实践

一、背景 这段时间总想捣鼓扫描器&#xff0c;发现自己的一些想法很多前辈已经做了东西&#xff0c;让我有点小沮丧同时也有点小兴奋&#xff0c;说明思路是对的&#xff0c;我准备站在巨人的肩膀去二次开发&#xff0c;加入一些自己的想法&#xff0c;从freebuf中看到W13Scan…

进程调度模块

目录 1.进程介绍 2.进程调度 2.1.进程状态 2.2.进程调度函数 ---schedule 2.3.进程切换函数 ---switch_to&#xff08;&#xff09; 1.进程介绍 在进程模块里面&#xff0c;我们知道了进程就是一个task_struct的结构体&#xff0c;里面含有进程的各种信息。进程存放在进程…