都说高速信号过孔尽量少,高速先生却说有时候多点反而好?

news2024/11/15 5:43:33

作者:一博科技高速先生成员 黄刚

过孔在高速领域可谓让硬件工程师,PCB设计工程师甚至仿真工程师都闻风丧胆,首先是因为它的阻抗没法像传输线一样,通过一些阻抗计算软件来得到,一般来说只能通过3D仿真来确定,另外更难的是除了阻抗外,高频的损耗也根据过孔结构的不同差异非常巨大,过孔上的很多结构参数的不同都极其影响过孔的性能,综合上面的因素,大家都不想看到一条高速链路上出现太多的过孔。从下图其实可以看到,一个过孔能优化的地方其实是不少的哈!

要是大家去看一些行业内知名公司的设计指导,在高速串行设计上大多都会有这么一条规则,那就是严格控制高速串行信号收发链路中的过孔数量,一般给出高速链路在收发芯片之间只能有2个过孔,也就是中间就换一次层。

然而对于见多识广的PCB设计工程师,他们可能还经历过以下这种很难拍板的情况。

例如芯片到芯片互连的高速信号,我们知道,在不背钻的情况下,应该越靠近下层走线,性能会越好(芯片都在TOP层的情况),但是如果BGA的圈数比较多,可能用完了靠下的层,只能用靠上的层去走线了,那性能怎么办?要是超高速的25G以上的信号,可能直接背钻就背钻了,额外花点特殊工艺的费用就算了,但是如果速率只是不上不下的10G到12.5G左右呢?如果同时又是一些对成本比较敏感的消费类产品呢?那怎么办?背钻还是不背钻?

感觉速率没有非常高,说服不了客户,甚至说服不了自己一定要背钻,怀了一丝侥幸心理,不背钻也行。的确是不能往靠下的层去走了,过孔stub的长度也的确达到了一个技术上甚至工程师自己心理上的一个临界点。说到底,就还是成本和性能之间很难去做一个选择!

没办法,这个问题估计只有SI出身的高速先生能够给你答案了。当然,高速先生通过仿真可以告诉你如果不背钻和背钻这两种情况下的SI性能。但是高速先生还准备了另外一个更为折中的选择方案,就是不背钻的情况下也能改善性能的做法!当然这并不是我们高速先生发明的设计哈,是行业内一家龙头公司的专利。可以看到,这是一个非常巧妙的方法,本来一个换层过孔会导致很长的stub(下图的80mil),通过在表层再转一次过孔,就变成了20mil的短stub,当然代价就是多了一个过孔。但是达到的目的是走线层不需要发生变化,更重要的是不再需要因为长stub而需要背钻的工艺了。

当然,本系列的话题是通过仿真来分享SI的理论,上面的理论说的差不多了,那我们继续利用我们的3D软件去建一个U-turn的case,来仿真对比下这个方法的性能。

我们分别建立三个用作对比的3D模型,分别如下:

1,原始的没有U-turn设计也没有背钻的case,过孔stub为80mil。

2,原始的没有U-turn设计,但是进行背钻的case:

3,U-turn的设计case:

在保证整体走线长度相同的情况下,我们通过3D精确仿真来看看三种case下的无源损耗结果,从频域的损耗曲线来看,首先就能找到性能非常差的一根曲线,也就是原始设计不背钻的曲线,它在14GHz左右的时候有非常巨大的谐振点,在这个频点上,基本上和开路就没什么区别了。

然后我们重点来看背钻和U-turn的效果,从我们把频段缩小到10GHz的范围去看,发现U-turn的损耗的确会比直接背钻的case要差一点,但是仅仅是差一点点,对比不背钻的还是好了非常多!

恩,那这好一丢丢到底是好多少呢?不背钻的差很多又到底差了多少呢?很多朋友都对频域的损耗曲线看得不是很懂,那我们就换成时域的眼图角度给大家再对比下咯!

我们分别对三个case的链路发送一个12.5Gbps速率的随机码,然后经过链路后我们去看接收端的眼图,从眼图的指标上去看看它们在时域上的差距!

好,唰的一声,我们就把三个case的眼图结果仿真出来了,从眼图的结果对比来看,不背钻的情况的确眼图的结果差,不仅是眼高差了一截,还有眼宽也差。而对比背钻和U-turn的结果,发现两者仅仅是眼高上有微小的差异,眼宽指标几乎相同。

通过上述我们对U-turn方法的介绍和仿真结果对比,U-turn的确是在5到10G这个频段解决stub偏长的一个很好的方法。因为在这个频段的信号处于对过孔stub开始变得敏感的阶段,但是又没到一定需要背钻的更高频段的信号,这个时候如果遇到一些对成本控制比较严格的产品,U-turn无疑是个很好的选择,但是它也并不是信手拈来般那么好做,首先空间上需要额外的一段走线和一个过孔的空间,更重要的是这个多加的过孔也是需要一定的优化的哦,并不是说随便打个过孔就ok,因此使用U-turn时也必须要有一定的设计功底,甚至仿真能力才可以,大家如果真遇到了上述的情况的话,也可以考虑下这个方法哈!

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

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

相关文章

二叉树的性质与推导及常见习题整理

目录 一、性质推导 二、常见的二叉树性质习题 1. 某二叉树共有 399 个结点,其中有 199 个度为 2 的结点,则该二叉树中的叶子结点数为()。 2.在具有 2n 个结点的完全二叉树中,叶子结点个数为(&#xff…

字母板上的路径[提取公共代码,提高复用率]

提取公共代码前言一、字母版上的路径二、贪心1、idea2、go3、代码不断拆分复用的过程总结参考文献前言 写代码,在提高效率的同时,要方便人看,这个人包括自己。大函数要拆分成一些小函数,让每个函数的宏观目的和步骤都显得清晰&am…

分享微信点餐小程序搭建步骤_微信点餐功能怎么做

线下餐饮实体店都开始摸索发展网上订餐服务。最多人选择的是入驻外卖平台,但抽成高,推广还要另买流量等问题,也让不少商家入不敷出。在这种情况下,建立自己的微信订餐小程序,做自己的私域流量是另一种捷径。那么&#…

分类模型评估:混淆矩阵、准确率、召回率、ROC

1. 混淆矩阵 在二分类问题中,混淆矩阵被用来度量模型的准确率。因为在二分类问题中单一样本的预测结果只有Yes or No,即:真或者假两种结果,所以全体样本的经二分类模型处理后,处理结果不外乎四种情况,每种…

反应-扩散方程(Reaction-diffusion system)

文章目录单组分反应-扩散方程双组分反应-扩散方程三组分和更多组分的反应-扩散方程Fishers equationKPP方程Belousov–Zhabotinsky reaction历史化学机理变体Noise-induced order数学背景Briggs–Rauscher reactionZFK equation行波解渐近解外部区域内部区域KPP-ZFK 转变Clavin…

13-PHP使用过的函数 121-130

121、bindColumn 将字段绑定到变量上 // while,foreach,list()进行结果数组的解构,解构到变量中; //!要在预处理对象上调用bindColumn函数 $stmt->bindColumn(id,$id); $stmt->bindColumn(name,$name); $stmt->bindColumn(sex,$sex); $stmt->bindColumn…

flink solt概念详解

ask是flink中的一个逻辑概念,一个任务由一个或者多个算子组合而成(多个算子构成一个任务是需要满足一定的条件才可以,有兴趣的老铁可以来了解一下 Operator Chain),为了提升任务执行的效率,可以对任务配置并行度,使任务在实际运行…

【服务器数据恢复】FreeNAS层UFS2文件系统数据恢复案例

服务器数据恢复环境: Dell存储服务器,采用esxi虚拟化系统,esxi虚拟化系统里有3台虚拟机;上层iSCSI使用FreeNAS构建,通过iSCSI方式实现FCSAN功能;FreeNAS层采用UFS2文件系统。 esxi虚拟化系统里有3台虚拟机中…

python中使用numpy包的向量矩阵相乘

一直对np的线性运算不太清晰,正好上课讲到了,做一个笔记整个理解一下 1.向量和矩阵 在numpy中,一重方括号表示的是向量vector,vector没有行列的概念。二重方括号表示矩阵matrix,有行列。 代码显示如下: …

VMware 复制已有的虚拟机并修改IP地址

第一步:关闭当前机器第二步:在VMware中右键要克隆的机器 选择管理-->克隆第三步:启动新克隆的虚拟机 修改主机名 如 hostname slave2第四步:修改克隆的虚拟机的ip地址和mac地址(注意:由于slave2是克隆出…

直流电机驱动模块开发,为电子设备提供动力之源

直流电机分为有刷直流电机和无刷直流电机两种,有刷直流电机连接上直流电就能转动,但是想要做到精准的转速和方向控制离不开电机驱动模块;无刷直流电机则必须要有驱动才能转动,直流电机驱动模块能够充分利用和有效发挥电源的能量功…

MQTT X 1.9.1 发布:资源消耗降低 80%,稳定性大幅提升

经过两个 Beta 版本迭代,近日,MQTT 5.0 客户端工具 MQTT X 正式发布了 1.9.1 稳定版本。 该版本通过大规模性能优化以及已知问题修复实现了稳定性的飞跃提升。特别是在性能方面,以接收大量消息场景为例,v1.9.1 相比于上一版本&am…

【数据结构与算法】单调队列 | 单调栈

🌠作者:阿亮joy. 🎆专栏:《数据结构与算法要啸着学》 🎇座右铭:每个优秀的人都有一段沉默的时光,那段时光是付出了很多努力却得不到结果的日子,我们把它叫做扎根 目录👉…

【Python入门第七天】Python 数字

Python 数字 Python 中有三种数字类型: intfloatcomplex 为变量赋值时,将创建数值类型的变量: 实例 x 10 # int y 6.3 # float z 2j # complex如需验证 Python 中任何对象的类型,请使用 type() 函数: 实…

计算机图形学:中点Bresenham算法画椭圆

作者:非妃是公主 专栏:《计算机图形学》 博客地址:https://blog.csdn.net/myf_666 个性签:顺境不惰,逆境不馁,以心制境,万事可成。——曾国藩 文章目录专栏推荐专栏系列文章序一、实现思路二、…

分布式-分布式事务和分布式锁

分布式事务有哪些解决方案 分布式事务 指事务的参与者、支持事务操作的服务器、存储等资源分别位于分布式系统的不同节点之上。 分布式事务就是一个业务操作,是由多个细分操作完成的,而这些细分操作又分布在不同的服务器上;事务&#xff0c…

数据库(第一天)

文档信息 文档类别正式文档文档编号数据库基础课 1.2-001版本1.2-001文档名称数据库基础课编写负责人/编写时间梁昭东/2023 年 1 月 30 日审核负责人/审核时间年 月 日批准人/批准时间年 月 日 变更记录 日期版本号变更内容修订者2023.01.30v1.2版根据实际情况增删了部分内容…

LINUX【线程概念】

线程线程概念线程的优点线程的缺点线程异常线程用途linux进程和线程线程控制pthread 库创建线程线程等待线程退出线程分离线程互斥线程互斥相关概念线程互斥互斥量互斥量接口初始化互斥量销毁互斥量互斥量的加锁和解锁互斥量实现原理线程概念 线程是进程中的一个执行流 一个进程…

ShonyDanza:如何利用Shodan实现自定义的安全研究与网络防护

关于ShonyDanza ShonyDanza是一款支持自定义且易于使用的安全工具,该工具基于Shodan实现其功能,并且可以利用Shodan的强大能力帮助研究人员实现安全研究、安全测试和安全防护等任务。 ShonyDanza的功能包括: 1、根据搜索条件获取IP 2、根据…

LabWindows CVI 2017开发笔记--串口调试软件实例

一、新建工程 打开LabWindows CVI软件,在桌面新建SerialDebug文件夹用来保存工程文件,在欢迎页点击New–>Project 或者在软件首页点击File–>New–>Project 将Project创建在新的Workspace中,设置完成后点击OK 新建一个用户GUI界…