高速接口IO片上SSN分析方法

2024-08-29 18:36

本文主要是介绍高速接口IO片上SSN分析方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Gbps信号在当今的高速IO设计中非常常见。由于封装和板上的寄生电感,高速信号在高频下汲取电流,导致大的电源尖峰或骤降。像DDR5这样的并行总线接口有20多个高速IO一起切换,导致同时切换噪声(SSN)。SSN的不期望的产物是定时抖动或等效地称为PSIJ。随着并行总线中信号数量的增加,SSN进一步增加。当多个输出缓冲器同时改变其逻辑状态时,会产生大功率和接地反弹,如图所示。

图片

SSN产生机理

下图显示了系统PDN的等效电路,包括板、封装和管芯。片上PDN有助于在DC和高频中提供噪声。芯片上的导线结构很小,具有电阻,导致电网上的IR下降。芯片上的DC电压下降取决于位置,即靠近电源凸点的电路电压下降很小,而远离电源凸块的块电压下降很高。通过提高电源凸点电压来补偿芯片上的DC电压降并不是最好的解决方案。电路的这种位置依赖性在PCB和封装中并不重要,因为与管芯上的金属网布线相比,数字电源接地平面更大。芯片内部管子上电路的开关活动导致高频电流通过PDN,从而产生电压纹波。这种纹波可以使用On DIE DECAP来控制。

图片

ODC与封装电感一起导致中频谐振,如下图所示。如果汲取的电流的频率落在PDN谐振频率范围内,谐振可能导致巨大的电源噪声。封装谐振频率还取决于板 PDN电感以及封装PDN电感。

图片

板PCB通常比封装更大,因此板PDN电感比封装PDN电感小。晶体管切换是非常快的事件,PCB上的DCDC/LDO将无法满足芯片上电路的电流需求,因为稳压器离芯片太远(电感过高) 。电压纹波和接地反弹主要是由PDN 的电感(L*di/dt)引起的,如前文图所示。DDR5等并行总线接口中的SSN是由于大量驱动器同时切换导致电源和接地轨中的电压尖峰而发生的。SSN的结果是变化是总线上的延迟或定时偏移,过冲以及欠射信号导致波形失真,从而损害时序和电压裕度。从芯片驱动的电流通过其电源引脚和接地引脚具有返回路径。由于SSN的设计标准是电感时间常数需要明显小于其电容时间常数,因此需要容纳更多数量的电源和接地引脚以减少回路电流的电感。SSN可以通过信号SlewRate速率控制、片上PDN去耦优化、凸块和BGA球映射优化来控制,以保持电感环路较小。数据刺激模式编码方案还可以通过减少开关活动和控制 刺激频率范围以使PDN谐振不被激发来减少PG轨道上的 噪声。随着技术节点的收缩,晶体管切换得越快,每个凸块的瞬态电流越高,由于C4凸块间距的等效收缩尚未发生,SSN变得更糟。

片上SSN分析方法

SSN分析的第一步是PDN模型的提取。下图显示了芯片的典型PDN网络。通常,需要芯片的GDSII或DEF LEF来进行布局提取。GDS可以是完整的芯片布局,也可以是只有IO环及其 PDN的部分布局。GDS定义了不同单元的放置位置、芯片上的电源和接地布线(宽度、间距、方向、利用率)以及单元与这些电源和接地线的连接。提取可以是R、 RC或RLC。仅提取“R”对于IRDROP分析有用,而对于SSN 类型的分析则需要RC或RLC提取。 

图片

片上PDN提取仅涉及电阻和电容的计算,因为片上PDN的电感可以忽略不计。裸片上解封装包括放置在设计中的去耦电容器单元以及由功率路由和电路提供的寄生电容。对于数字电路,寄生电容的重要部分来自在给定时间不翻转的电路块的电容。具有一些近似值的商业工具可以基于块中切换的概率来提取较大电路块中的平均电容。对于模拟和混合信号电路,由于非有源而产生的寄生电容与由功率路由提供的寄生电容相比,电路明显更小。

图片


由于PDN是powermesh的网络,片上PDN的RC网络将具有数百万个节点。这种庞大的模型不能用于瞬态模拟,同时仿真时间也太长。RC模型的降阶是设计中的一个关键步骤。模型阶数减少从较大的线性电路开始,并将其减少到较小的线性等效电路,而不会对电路性能产生很大影响。在估计电路块的电源引脚上的正确纹波电压时,归一算法的准确性是非常关键的。商业仿真工具提供了使用Y矩阵进行模型降阶和极点数量较少的合成的算法。通过将片上PDN与封装和板上PDN相结合,并从芯片的金属层上的一个端口观察,可以得出系统PDN阻抗分布,如图所示。

图片

由于封装电感和片上电容的相互作用,可以在中频范围内看到谐振。SSN分析需要捕获电路块汲取的电流,同时运行瞬态电路仿真来捕捉电路块电源接地(PG)引脚上的电流分布。电路块的电源引脚上的纹波取决于PDN网络设计。PDN的RC常数相对于电路的PG引脚越小,纹波越小。PDN设计的简化RC网络需要与电路的电流特征或spice模型相结合。与使用电路的spice模型相比,使用电流特征减少了瞬态模拟时间。任何一种方法都能提供完全相同的结果。在这个阶段可以优化片上解封装,以保持每个电路块上的纹波较低。图7显示了典型的SSO瞬态模拟设置。芯片PDN可以建模为集总 Rdie和Cdie或分布式宽带spice电路。Rdie-Cdie集总建模允许更快的瞬态模拟,但会损失准确性。集总芯片PDN的优点是快速的假设分析。最终的签核分析需要使用芯片PDN的分布式模型来完成。EM求解器利用信号和电源接地信息提取PCB和封装。需要确保PCB和封装的无源性和因果性。需要模拟偶数和奇数激励pattern的SSN模拟。捕获各种信号质量参数,如总线上的最小-最大偏斜、过冲、振铃。此外,在奇数和偶数模式激励下,可以捕捉到最小和最大电源噪声。 

图片

对于并行总线接口,非常需要知道同时切换的输出驱动器的正确数量。优化存在系统信道中的SSN对于确保片上PDN不会过载至关重要,因为当电容负载直接连接到IO焊盘时,电源噪声最差且不现实。

这篇关于高速接口IO片上SSN分析方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1118628

相关文章

Java IO 操作——个人理解

之前一直Java的IO操作一知半解。今天看到一个便文章觉得很有道理( 原文章),记录一下。 首先,理解Java的IO操作到底操作的什么内容,过程又是怎么样子。          数据来源的操作: 来源有文件,网络数据。使用File类和Sockets等。这里操作的是数据本身,1,0结构。    File file = new File("path");   字

springboot体会BIO(阻塞式IO)

使用springboot体会阻塞式IO 大致的思路为: 创建一个socket服务端,监听socket通道,并打印出socket通道中的内容。 创建两个socket客户端,向socket服务端写入消息。 1.创建服务端 public class RedisServer {public static void main(String[] args) throws IOException {

Java基础回顾系列-第七天-高级编程之IO

Java基础回顾系列-第七天-高级编程之IO 文件操作字节流与字符流OutputStream字节输出流FileOutputStream InputStream字节输入流FileInputStream Writer字符输出流FileWriter Reader字符输入流字节流与字符流的区别转换流InputStreamReaderOutputStreamWriter 文件复制 字符编码内存操作流(

android java.io.IOException: open failed: ENOENT (No such file or directory)-api23+权限受权

问题描述 在安卓上,清单明明已经受权了读写文件权限,但偏偏就是创建不了目录和文件 调用mkdirs()总是返回false. <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/><uses-permission android:name="android.permission.READ_E

JavaEE-文件操作与IO

目录 1,两种路径 二,两种文件 三,文件的操作/File类: 1)文件系统操作 File类 2)文件内容操作(读文件,写文件) (1)打开文件 (2)关闭文件 (3)读文件/InputStream (4)写文件/OutputStream (5)读文件/reader (6)写文件/writer (7)Scanner 四,练习: 1,两种路径 1)绝对路径

Python---文件IO流及对象序列化

文章目录 前言一、pandas是什么?二、使用步骤 1.引入库2.读入数据总结 前言 前文模块中提到加密模块,本文将终点介绍加密模块和文件流。 一、文件流和IO流概述         在Python中,IO流是用于输入和输出数据的通道。它可以用于读取输入数据或将数据写入输出目标。IO流可以是标准输入/输出流(stdin和stdout),也可以是文件流,网络流等。

标准IO与系统IO

概念区别 标准IO:(libc提供) fopen fread fwrite 系统IO:(linux系统提供) open read write 操作效率 因为内存与磁盘的执行效率不同 系统IO: 把数据从内存直接写到磁盘上 标准IO: 数据写到缓存,再刷写到磁盘上

linux基础IO——动静态库——进程编址、进程执行、动态库加载

前言:本节内容为基础IO部分的最后一节, 主要是为了讲一下动静态库里面的动态库如何加载到内存, 动态库的地址等等。 但是,这些内容牵扯到了程序的编址, 程序的加载, 进程的执行等等知识点, 所以,我们会从程序的编址讲起, 一直到进程的执行, 以及动态库加载结束。         ps:本节内容涉及到了进程地址空间, 磁盘的内容, 建议友友们了解相关知识后再来观看。 目录

mybatis错误——java.io.IOException Could not find resource comxxxxxxMapper.xml

在学习Mybatis的时候,参考网上的教程进行简单demo的搭建,配置的没有问题,然后出现了下面的错误! Exception in thread "main" java.lang.RuntimeException: org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration. Cause:

day09-IO-字符流其它流

一、字符流 字符流(只能做文本文件的处理)字符输入流 Reader--FileReader字符输出流 Writer--FileWriter​使用文件字符输入流的好处:读取中文不会出现乱码问题 1.1 字符输入流 构造器说明public FileReader (File file)创建字符输入流管道与源文件接通public FileReader(String pathname)创建字