一种串行高速芯片互连接口逻辑设计与实现_李仁刚
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
到了设计性能要求和可靠性要求,互连接口数据传输速率达到 6. 4GT / s。
关键词 串行总线接口 扰码 FPGA 可靠性
中图法分类号 TN407;
文献标志码 A
随着计算机技术和半导体技术的飞速发展,庞 大的数据计算和数据分析,复杂的图形分析和科学 预算等信息领域对计算机系统的性能要求极高,大 型科学、工程计算和大规模数据处理为系统芯片间 高速数据传输带来了巨大的挑战。尤其是近几年, 半导体技术随着摩尔定律的规律不断向前发展,高 速串行总线接口大幅提升了数据传输速率,不断满 足计算机 系 统 的 性 能 发 展 要 求,在 各 种 数 字 处 理 器、桥片和 外 设 芯 片 的 互 连 领 域 中,高 速 串 行 总 线 技术发挥 了 巨 大 作 用[1]。 在 半 导 体 技 术 不 断 发 展 和高速 LVDS ( Low-Voltage Differential Signaling,低 压差分信号) 实现技术不断进步的基础上,高速串 行总线技术发展迅速,相继出现了包括 AGP( Accelerate Graphical Port,加速图形接口) 、PCIe( Peripheral Component Interconnect Express,高速个人计算机 扩展总线接口规范) 、SATA ( Serial Advanced Technology Attachment,串行高级技术附件) 、DDR( Double Data Rate,双倍速率同步动态随机存储器) 、Infiniband( 支持多并发链接的“转换线缆”) 等多个串行
2012 年 6 月 26 日收到 核高基专项( 2011ZX01034-002-002-004) 、 973 计划( 2010CB735905) 、高效能服务器和 存储技术国家重点实验室课题基金资助
第一作者简介: 李仁刚( 1980—) ,山东莱阳人,芯片设计工程师,硕 士,研究方向: 集成电路设计技术和计算机体系结构,E-mail: lirg@ inspur. com。
科学技术与工程
12 卷
进过程中,发送序列和接收序列的判断序列均有序 列产生器 生 成。 例 如,在 环 回 测 试 状 态 下,环 回 序 列由序列 产 生 器 产 生,并 由 发 送 器 传 输 至 对 方 环 回,同时序列产生器生成的环回序列交由环回自测 单元,以做 环 回 数 据 的 比 对 判 断,计 算 误 码 率。 为 保证初始化过程的稳定性,序列产生器生成各个子 状态条件下接收序列的判断数量,以判断互锁握手 序列的是否可正确接收。为降低系统功耗,或者链 路发生部分故障时,序列产生器产生发送方向和接 收方向的 Lane Drop 序列,用以关闭部分数据传输 通道。 2. 5 配置寄存器模块设计
互连标准和技术,可以说过去的几十年是高速串行 总线技术不断创新的年代[2]。
本文基于高速串行总线技术的研究,充分考虑 高速信号传 输 特 点,串 行 总 线 传 输 的 带 宽 优 势,以 及具体传输协议的研究分析,实现了一种商用处理 器接口协议芯片,实现了与处理器互连和芯片间互 连,并基于 FPGA 平台实现调试验证。
( 3) 实现传输模式全宽 N 通道、半宽 N /2 通道 等传输模式的转化;
( 4) 接收远程数据,并组成本地上层链路层逻 辑需要的位宽数据;
( 5) 接收远程时钟信号。 2. 2 链路检测模块设计
链路检测的设计思想主要是基于链路可用性 的考虑提出来的。因高速信号硬件设计和 PCB 制 造工艺的影响,高速串行接口互连硬件平台的链路 故障在所难免,为提高硬件平台链路级故障测试效 率,协议实现物理链路检测功能。在 FPGA 实现平 台上链路检测分为处理器方向和 FPGA 方向,如图 3 所示,处理器探测 FPGA 电路初始条件下 RocketIO 为下电状态,其电气特性为高阻态“1”,RocketIO 上 电时,其工作状态呈现低阻 抗 状 态“0 ”,因 此 处 理 器 检测到 FPGA 逻辑从“1”变为“0”,即物理互连链路 的存在,否则便存在链路连接故障。同样的,如图 4 所示在 FPGA 探测处理器 电 路 中,通 过 R3、R4 将 RocketIO Tx 置为高阻态“1”,通过 R1、R2 连接的双 向 SelectIO 来探测处理器 Rx 的存在,若 SelectIO D + 、D - 都 为“0 ”,则 处 理 器 Rx 存 在,反 之,不 存在[7]。
31 期
李仁刚,等: 一种串行高速芯片互连接口逻辑设计与实现
8237
接收数据和 PRBS 序列异或,使数据还原; 偏移校正 逻辑目的是采用通道自对齐方案去除通道之间的 偏差[6]。接收器主要完成如下功能:
( 1) 完成各通道数据传输的偏移校正,即实现 多通道传输的通道对齐;
( 2) 产生 PRBS 伪随机序列完成对接收数据的 解扰码;
李仁刚1,2 王恩东1,2 胡雷钧1,2 秦济龙2
( 高效能服务器和存储技术国家重点实验室1 ,济南 250013; 浪潮( 北京) 电子信息产业有限公司2 ,北京 100085)
摘 要 在计算机系统中,总线技术对整个系统的性能和功能都有直接影响,通过研究高速信号传输的特点,分析串行高速
芯片互连协议,实现了一种串行高速芯片互连接口逻辑,并实现了 FPGA 平台的与处理器互连和芯片间互连的验证。最终达
第 12 卷 第 31 期 2012 年 11 月 1671—1815( 2012) 31-8235-06
通信技术
科学技术与工程
Science Technology and Engineering
Vol. 12 No. 31 Nov. 2012 2012 Sci. Tech. Engrg.
一种串行高速芯片互连接口逻辑设计与实现
在 FPGA 验证平台结构设计中,如图 2 所示,设 计双路处理器系统验证平台,选择 Xilinx Virtex6 系 列 FPGA 芯片实现商用处理器接口协议芯片逻辑。
8236
科学技术与工程
12 卷
图 1 串行链路互连结构示意图
验证系统中实现多条高速串行总线接口,包括: 链 路 0、链路 1、链路 2、链路 3,其中链路 0 为处理器间 互连链路,链路 1、2 为处理器与 FPGA 实现的接口 协议芯片间互连链路,链路 3 为接口协议芯片间互 连链路,通过该测试结构可有效实现商用处理器接 口协议芯片的多种互连测试。
( 1) 状态机配置寄存器,主要负责完成协议状 态机的功能配置;
( 2) 测试工具箱寄存器,主要负责完成序列生 成、检查配置,以及环回测试控制配置;
( 3) 电气参数寄存器,主要负责完成发送端和 接收端链路电气参数的配置,包括均衡参数和加重 参数。
3 仿真验证分析
用 Candence NC_Verilog 对上述商用处理器接 口协议芯片设计进行仿真模拟,基于仿真环境互连 拓扑结构设 计,构 建 商 用 处 理 器 仿 真 验 证 环 境,通 过配置寄存器实现芯片逻辑功能的配置,验证状态 机各个状态以及子状态的逻辑功能,判断芯片互连 初始化过程是否满足设计要求[9,10]。模拟波形如图 6 所示,可以看到两个互连协议芯片按照互锁步进 机制,由初始状态“00 ”、复位状态“01 ”、检 测 子状 态 “02 、03 ”、校验子状态“04 、05 、06 ”、配 置 子状 态“07 、 08、09”,最终完成了互连初始化到达“10”状态。
图 3 处理器探测 FPGA 电路
2. 3 协议状态机模块设计
图 5 协议状态机结构图
2. 4 序列产生器模块设计 序列 产 生 器 模 块 用 来 产 生 TS ( Training se-
quence) 序列,并产生各状态下 TS 序列需要的参数。 在互连初始化过程中状态机各个子状态的互锁步
8238
( 5) 通过时钟通道完成时钟的发送。 Rx 接收器主要包括: 分路调整控制逻辑、序列 解扰逻辑、偏移校正逻辑等组成部分。分路调整控 制逻辑通过 DEMUX 完成链路传输宽度的选择,在 非全宽模式下调整选择使用的数据传输通道组合; 解扰逻辑与扰码逻辑是一对反操作,目的是将输出 的串行数据变为白噪声,消除因为规则数据产生的 EMI 干扰,扰码原理是将 TX 发送数据和 PRBS 并行 序列异或,解扰码原理和扰码实现方法相同,将 RX
( 1) 接收本地上层链路层数据并通过 N 条数 据通道完成发送;
( 2) 产生 PRBS 伪随机数据对其传输数据进行 扰码,并通过 N 条数据通道完成发送;
( 3) 接收序列产生器模块发出的训练序列,并 通过 N 条数据通路完成发送;
( 4) 实现传输模式全宽 N 通道、半宽 N /2 通道 等传输模式的转化;
Tx 发送器主要由分路调整控制逻辑、乱序扰码 逻辑、RocketIO 等组成部分。分路调整控制逻辑将 收到的上层数据通过分路 MUX 分配到全宽 N 通道 或者半宽 N /2 通道,并且在非全宽模式下调整选择 使用的数据传输通道组合[5]; 乱序扰码逻辑负责产 生 PRBS 序 列,根 据 随 机 数 据 的 长 短 ( 如 PRBS7、 PRBS23 等) 可选择 ROM 查表法或 LFSR 算法实现 每周期生成伪随机数据; RocketIO 负责高速信号的 对外传输。其主要完成如下功能:
图 2 串行链路接口协议芯片 FPGA 测试结构图
2 模块设计
2.来自百度文库1 收发模块设计 收发模块是商用处理器接口协议芯片的重要
组成部分,负 责 实 现 数 据 和 时 钟 的 发 送 和 接 收,其 中数据通道支持 6. 4 GT / s 高速传输,同时支持慢速 100 MHz 传输模式,不同传输模式下时钟通道时钟 传输频率分别为 3. 2 GHz、50 MHz[3—4]。
图 4 FPGA 探测处理器电路
协议状态机模块控制互连链路的初始化过程, 商用处理器接口协议芯片互连初始化过程经过三 个阶段,包括: 检测、校验、配置,其初始化过程状态 如图 5 所示,Tx 发送器和 Rx 接收器都是由静止状 态经过复位进入活动状态。按照状态机状态跳变 条件和控制,当满足 Next State 转换条件时,状态机 将由 Current State 跳转到 Next State,并执行该状态 下的相应操作。各个阶段的初始化过程由状态机 控制,每个 阶 段 又 包 括 多 个 子 状 态,其 中 检 测 过 程 包括时钟 通 道 检 测 子 状 态、数 据 通 道 检 测 子 状 态、 时钟信号质量检测子状态,主要负责互连双方物理 链路的检测,确保数据传输的链路连接和时钟传输 的可用性。
寄存器( Registers) 组用以实现接口协议芯片的 功能配置,并且在调试、测试和 FPGA 实现阶段为系 统的可实现操作提供配置支持。寄存器组可通过 内部配置、外部软件配置和复位缺省值三种方式取 得配置值[8]。内部配置主要是基于 FPGA 实现和配 置选项少等方面考虑的,由于部分配置功能逻辑实 现极其复杂,为了提高 FPGA 资源的利用率,通过内 部配置多次综合的方式实现; 外部软件配置主要是 针对配置选项极其复杂的功能选项配置,通过外部 接口软件配置方式快速实现协议芯片的配置操作; 复位缺省值是指所有的配置寄存器在接口协议芯 片复位操作时均会恢复到缺省配置。配置寄存器 组的寄存器类型主要包括如下三类:
1 串行链路互连结构实现
在计算机系统中,总线的性能对整个系统的性 能和功能都有直接影响。如 1 图所示为系统处理器 等芯片间高速串行总线互连的结构示意图,以协议 状态机以及控制模块为核心,通过灵活的硬线连接 逻辑机制配合各个感知功能模块和控制单元,以及 其他配置存储单元完成高效高可靠的物理链路互 连。该串行总线体系结构能够最大限度的兼顾自 适应互连需求和高带宽连接需求,能够在数据传输 故障时触发 带 内 复 位、重 新 进 行 链 路 检 测、自 适 应 的剔除故障数据通道或者时钟通道、无故障数据通 道自动降宽重组。同时互连协议支持可变位宽和 自动位整理 功 能,有 效 降 低 系 统 功 耗,提 高 了 传 输 性能和稳定性。