高速串行总线仿真(一)

1.高速串行接口
2.SERDES(串行/解串器)架构
3.高速串行链路仿真拓扑结构
4.高速串行信号仿真流程
5.IBIS-AMI模型
6.高速串行信号仿真方法

随着电子产品系统中数据传输速率的提高,互连传输带宽要求也越来越宽;而随着时钟
频率的提升,传统的并行接口技术已经成为数据传输的一大瓶颈。高速串行接口不仅提高了数据传输速率,还扩展了许多功能,从而满足了互连传输网络高带宽的需求,但是,高速串行传输也面临很多挑战,例如,怎样进一步提高数据传输速率?如何降低误码率(BER)?

如何保证信号和电源完整性的同时维持高功效不变,并优化设计效能?这些都是工程师需要面对的问题,但不管怎么样,高速串行信号已然是未来总线发展的趋势。
目前主要介绍使用 HyperLynx 中的两个重要串行通道仿真工具,即 IBIS-AMI 通道仿真
分析和 FastEye 通道仿真分析,并结合 PCIE串行总线分别介绍两种不同的分析仿真流程。通过学习,工程师可以在研发阶段深人了解及预防和解决高速串行传输所面临的问题。

1.高速串行接口

目前,对于高速串行接口没有一个明确的定义,只是在工程领域,一般把串行总线接口
称为高速串行接口。

从当前的信号速率来看,几乎所有的串行接口的速率都达到 Gb/s以上,如表所示
为当前主流的一些串行总线的信号速率。

以上只是部分串行总线,还有一些芯片厂商制定的适合芯片特定场合使用的总线也是高速的串行总线。

如 Intel 在主控芯片之间使用的QPI(Quick Path Inter connect)总线现在的最高速率也达到了9.6Gb/s;
AMD也有与 QPI类似的总线,即AMD芯片间的通信协议HT(Hyper Transport)总线,速率也可以达到6.4Gb/s;
Xilinx 也有制定Aurora 协议规范。总之,随着技术的发展,还会有更多的串行总线协议发布并被应用到产品中。
随着电子技术及产品发展的需求,几乎所有的总线每隔一段时间就会有新一代的规范发
布,如 USB-IF协会最新发布的 USB 3.1,速率达到了10Gb/s;
PCIe 4.0 可以提供每通道16GT/s 的速度。

2.SERDES(串行/解串器)架构

要介绍高速串行总线,就不得不提到 SerDes。SerDes 是 SERializer(串行器)/DESerializer(解串器)的简称。

串行器在发送端将接收多行并行输入数据,并将其压缩成较少的数据行再串行输出;而解串器就是在接收端,将序列化的串行数据作为输入、恢复并输出原始并行数据。SerDes 架构减少了芯片的引脚数和外围 PCB 布线的数量,这样可以减少设计的成本及外围电路的布线空间。同时,SerDes 架构通过将单端 TTL 和 CMOS 信号转换为低电压差分信号,这样可以很好地减少信号的噪声和电磁干扰的影响,进而可以实现高速率、远
距离传输。

SerDes 的主要构成分为3部分:
锁相环(Phase Locking Loop:PLL)模块、发送模块和接收模块。由这3 部分组成的 SerDes的简化结构如图所示。

锁相环模块主要为串行器和解串器提供参考时钟。串行器需要时钟产生电路,这个时钟
发生电路通常由锁相环来实现;解串器需要时钟和数据恢复电路(CDR),同样,这个时钟
恢复电路通常也由锁相环来实现。

SerDes不传送时钟信号,这也是SerDes最特别的地方,SerDes采用差分方式传送数据。

相比源同步接口,SerDes的主要特点包括:
1 在数据线中时钟内嵌,不需要传送时钟信号。
2 通过加重/均衡技术可以实现高速长距离传输,如背板。
3 使用了较少的芯片引脚。

3.高速串行链路仿真拓扑架构

由于信号的速率比较高,高速串行链路一般都比较复杂,信号经过的链路中的任何以一部分都需要被重点关注和研究。
如图所示为一个典型的高速串行链路拓扑结构,包含发送端、主板PCB、连接器、过孔、AC耦合电容、子卡PCB、接收端等。

在进行电路设计和信号完整性分析时,需要对每一个对信号有影响的部分进行分析和优化,尽量使性能和成本达到最优。

4.高速串行信号仿真流程

高速串行信号的仿真与其他并行信号的仿真类似,分为前仿真和后仿真;针对高速串行信号的仿真还可以分为无源仿真和有源仿真。不管哪种仿真,都还是主要包含分析系统的需
求、分解需要仿真的总线和信号网络、针对主要问题点进行仿真分析及获得仿真结果并给出相应的结论。

对于 PCB 板级的仿真而言,主要针对发送端和接收端加重和均衡的选择、PCB材料的分析和选择、PCB互连通道的仿真和优化、过孔的仿真优化和设计、连接器与线缆的选择和互连优化以及其他无源器件的互连优化。

对于一个新立项的项目,一般高速串行总线仿真的流程如图所示:

如果仿真结果不满足设计要求,则需要进一步改善设计,然后再进行相应的仿真,直到
满足设计要求。

如果是前仿真,则输出相应的设计规范给对应的工程师进行下一步的设计;如果是后仿真,则在满足设计要求后可以运行下一步的制板生产。当然,每一家公司或每一个工程师的流程都存在一些异同,但最终的目的都是使互连系统满足设计要求。

5.IBIS-AMI模型
由于高速串行总线在使用的过程中经常出现由于链路较长或由于频率较高,造成信号衰
减过大,从而在接收端无法判别信号,所以这类 SerDes 架构的串行总线芯片都会有集成均衡或加重的电路;而普通的IBIS 模型又无法描述这些比较复杂的均衡和加重的电路,所以在 IBIS 模型的基础上,出现了一种更新的模型,即 IBIS-AMI 模型。

什么是IBIS-AMI模型?
首先,我们来了解一下IBIS和AMI模型,然后将二者合起来就得到了IBIS-AMI模型。

所谓的IBIS(Input/Output Buffer Information Specification)模型,一般指的是器件的V-I曲线和V-t曲线,这些曲线描述了器件的整个工作状态,以此来表征器件的输入输出特征。我们以CMOS管为例,它的IBIS曲线就是类似下面这样的曲线(这里只举例V-I曲线):

关于AMI模型,实质上就是一些优化算法,AMI的全称是:Algorithmic Modeling Interface,即算法建模接口,是 SERDES 行为模型的建模接口,可模拟 SERDES 功能,例如均衡和 CDR,当然现在DDR5也引进了AMI模型。简单点讲,就是信号从芯片发出时,要先经过算法的优化处理,如放大等(如果TX端有优化时),再经过通道,然后到达RX端,在RX端又经过算法的优化处理,如CTLE等(如果RX端有优化措施时),最后才送到真正的末端。

IBIS-AMI模型包含两部分,即电气部分和算法部分。电气部分与普通的IBIS模型类
似,但会增加调用 AMI 文件参数的语句。
一个完整的IBIS-AMI模型会包含IBIS模型文件、AMI参数文件和可执行文件,以本
章所使用的模型为例,其包含的主要文件如表所示。

在 IBIS 文件中会有执行语句选择 AMI 模型,具体内容如下,其中[ Algorithmic Model]
和[End Algorithmic Model]为关键字。

仿真软件会根据所使用的系统选择合适的 AMI 模型进行仿真,如果是 Windows 系统就
会选择对应于 Windows 的 AMI 模型,否则就选择对应 Linux 的 AMI 模型;同时模型还有系统位数之分,即分为64 位和 32位。很多工程师经常会遇到模型与系统不对应的情况,这就会导致软件无法执行仿真。

AMI模型文件中会定义IBIS-AMI的参数,一般包括两部分,即定义模型的处理流程
(Reserved_Parameters)和模型参数(Model_Specific)。其主要包含通道响应、加重、均衡、抖动等参数。例如,在 Model_Specific 中定义判决反馈均衡器(DFE)参数,名称是rx_dfe_t1,参数值范围是0~15,默认值是0,具体内容如下:

.dll和.so 文件为可执行算法文件,主要是描述信号的处理。这也是 IBIS-AMI 模
型的关键,IBIS 中调用的就是这个文件。一般来说,芯片厂商都会提供4 种不同系统的模型,与IBIS 文件、AMI 文件放在同一个路径下即可调用。

6.高速串行信号仿真方法

HyperLynx LineSim 和 BoardSim 中都有包含两类串行总线通道仿真模块向导,分别是 IBIS-AMI通道仿真分析和快速眼图(FastEye)通道仿真分析。
在 LineSim 和 BoardSim 中的仿真步骤都是一样的,在 LineSim 中进行前仿真时,需要根据预计的设计方式搭建仿真拓扑结构,然后仿真获得结果并得出结论,给项目输出设计规则;后仿真就直接在 BoardSim 中进行,验证设计是否满足系统要求。

接下来,以 LineSim 仿真软件为例,并以 PCI -E 高速串行总线的代表,分别用IBIS-AMI 串行通道仿真工具和快速眼图分析工具仿真分析 PCI -E串行总线。

HyperLynx(二十九)高速串行总线仿真(一)相关推荐

  1. HyperLynx(三十)高速串行总线仿真(二)

    高速串行总线仿真(二) 仿真实例 1.探索多层板中的PCI-E串行通道 2.设置叠层以减小损耗 3.分析通道的不同配置对损耗的影响 4.检测驱动端规范 5.检查接收器规范 6.通过仿真得出整个通道的驱 ...

  2. HyperLynx(三十二)高速串行总线仿真(四)

    高速串行总线仿真(四) 在上节的基础上 1.通过导出到LineSim验证一个串行通道 2.快速眼图仿真 3.高速串行总线设计注意事项 1.通过导出到LineSim验证一个串行通道 接下来,将导出网络到 ...

  3. HyperLynx(三十一)高速串行总线仿真(三)

    高速串行总线仿真(三) 1.从一个多层板工程中验证串行通道 2.在多层板中设置连接器模型 1.从一个多层板工程中验证串行通道 在本例练习中,将集中研究从芯片到插件形成的串行发射通道,并分析它的性能. ...

  4. 高速串行总线设计基础(五)揭秘SERDES高速面纱之多相数据提取电路与线路编码方案

    文章目录 前言 多相数据提取电路 线路编码方案 8B/10B编解码 运行差异(Running Disparity) 控制字符 Comma 检测 加扰技术 参考文献 前言 SERDES可以工作在多吉比特 ...

  5. 高速串行总线设计基础(三)SERDES的通用结构介绍

    文章目录 前言 SERDES的基本构造 SERDES的通用框图 市场上的SERDES或Transceiver展示 Xilinx的Transceiver架构展示 Altera的SERDES介绍 往期回顾 ...

  6. 高速串行总线设计基础(八)揭秘SERDES高速面纱之CML电平标准与预加重技术

    文章目录 前言 物理信号 预加重 差分传输线 参考资料 前言 对于数字工程师来说,我们可能关注的仅仅是本文中的差分信号电平标准以及预加重技术,CML电平标准是Transceiver技术的首选,在Xil ...

  7. 高速串行总线设计基础(四)眼图的形成原理

    前言 眼图的形成原理 眼图的参数含义 眼图的模板 眼图的识别依据? 前言 眼图的测量对于高速串行总线的重要性不言而喻,眼图反映了总线通道环境的优劣,信号的好坏等等,正确的识别眼图是一项基础技能,如果具 ...

  8. 高速串行总线系列(2)高速串行总线技术总览

    文章目录 嵌入式高速串行总线技术应用对比 SRIO总线 JESD204总线 PCIE SATA总线 Aurora FC标准 VPX架构 嵌入式高速串行总线技术应用对比 SRIO总线 SRIO(Seri ...

  9. 高速串行总线系列(1)8B/10B编码技术

    目录 8B/10B编码 5B/6B 编码表 3B/4B 编码表 控制字符编码表 8B/10B编码的利用率 参考文献 8B/10B编码 为什么要使用8B/10B编码? 8b/10b编码的特性之一是保证D ...

最新文章

  1. jdbc封装mysql_用Java手动封装JDBC连接池(一)
  2. pythonapp下载-QPythonapp下载
  3. 第四讲 deque
  4. [Gradle] 在 Eclipse 下利用 gradle 构建系统
  5. 浅谈web应用的负载均衡、集群、高可用(HA)解决方案
  6. cmake 判断操作系统平台
  7. c语言basic解释器,要理解解释器,做一个小解释器----小话c语言(20)
  8. PHP----练习-----新闻管理----增删改查
  9. CSS基础之清除浮动
  10. 【优化调度】基于matlab粒子群算法求解梯级水电站调度优化问题【含Matlab源码 767期】
  11. 【学习笔记】multiset+multimap之equal_range、upper_bound、lower_bound、count
  12. iOS图形学(四):iOS中的绘图框架
  13. 基于SSM的智慧房屋租赁系统
  14. Python图片添加好看的中文字体并根据图片动态改变文字大小
  15. android截屏方法是黑屏,Android截屏SurfaceView黑屏问题的解决办法
  16. win10的右键压缩菜单
  17. ResNet网络详解
  18. comp3411辅导assignment2
  19. experience(1):一个博士的经历(小木虫精华帖)
  20. FAST-LIO2代码解析(二)

热门文章

  1. 给32位系统装8g内存条能用吗?为什么?
  2. 上海交通大学计算机科学杨岚青博士,上海交通大学2014年硕士生拟录取名单公示(4)...
  3. 华为服务器2288h v5安装系统,华为2288装系统
  4. 区块链治理:用编程迎接未来
  5. 巴西柔术第三课:封闭式防守的降服技术
  6. 低版本ie浏览器禁用提示
  7. Compose把Text组件玩出新高度
  8. 数据提取-数据提取软件
  9. php html wxml,微信开发之WXML、WXSS 和JS的详细介绍
  10. 临近下班又开会,熬夜加班写纪要,语音转写还收费……