APP下载

基于动态电路的高速发送端设计①

2017-01-10孟时光

高技术通讯 2016年7期
关键词:分频器触发器时序

孟时光

(*计算机体系结构国家重点实验室(中国科学院计算技术研究所) 北京 100190)(**中国科学院计算技术研究所 北京 100190)(***中国科学院大学 北京 100049)(****龙芯中科技术有限公司 北京 100095)



基于动态电路的高速发送端设计①

孟时光②**********

(*计算机体系结构国家重点实验室(中国科学院计算技术研究所) 北京 100190)
(**中国科学院计算技术研究所 北京 100190)
(***中国科学院大学 北京 100049)
(****龙芯中科技术有限公司 北京 100095)

为了降低高速串行接口中发送端的延迟,在研究、分析现有发送端结构的基础上,提出了新的数据跨时钟域传输方法并在实际电路中得到实现。此方法可以大幅降低数据跨时钟域传输时用于异步FIFO的延迟。而且,使用动态电路对高速发送端并串转换电路进行了晶体管级的改进,放松了关键路径的时序要求,使发送端整体电路能运行在更高的频率下。发送端电路使用40nm CMOS工艺实现,实际芯片测试数据表明,使用该电路的发送端可以稳定工作在13Gb/s的速率下。

高速发送端, 异步FIFO, 并串转换, 动态电路, 跨时钟域

0 引 言

随着处理器运算能力的不断提升,现代处理器对外的数据需求也在不断提升。但芯片管脚数量受到芯片面积的限制,数量增长缓慢。为解决运算数据量和管脚数量之间的矛盾,现代处理器普遍采用高速串行接口(high-speed serial interface, HSSI)来进行对外的数据通信[1]。高速串行接口(HSSI)的工作速率比内部处理器时钟频率高很多。使用HSSI可以用有限的接口数目达到很大的通信带宽。

HSSI主要分成发送端和接收端两大部分。内部处理器用总线输出数据到发送端。在这一过程中,数据需要由内部总线时钟域同步到发送端的数字时钟域,然后再进行并串转换(serialization)处理。同步之后的数据经过并串转换,将并行信号变成高速串行数据,然后由输出模块发送至电路板上的传输信道中。本文主要研究了发送端的结构,提出了芯片内部到发送端接口的新型跨时钟域同步方法,并对其后的并串转换模块使用动态电路方式进行改进,优化了并串转换的时序。本文提出的电路可在较低的电压下达到较高的工作速率。

1 发送端整体结构

高速串行接口发送端的主要功能是接收内部总线的并行信号,转换为高速串行信号发送到芯片外部。其整体结构见图1。

内部总线频率一般与发送端数字逻辑所用频率相同,但通过不同的锁相环产生,无法保证两者之间的相位关系。数据从内部总线传输到发送端时需要跨越时钟域。跨越时钟域的过程一般采用异步先进先出(FIFO)[2]。传统的异步FIFO耗时3~4个低频时钟周期[3]。本文提出的同步方法只需要1~2个低频时钟周期的延迟,大幅降低了数据传输的总延迟。

图1 发送端结构

在并行数据同步到发送端本地之后,并串转换模块将并行数据转换为串行数据。此模块时序约束较为严格。本文提出的动态并串转换器可简化结构,减少关键路径的数量。最后,串行数据在输出驱动器中进行预加重等调整,转换为模拟信号,输出到外部信道。

2 数据同步

在芯片中,为了节约引脚以及外部附属设备的成本,一般只带有一个晶体振荡器。此晶体振荡器产生的低频时钟提供给多个锁相环,产生处理器核心时钟、总线时钟以及各个外设所需的时钟。这些时钟经过倍频和分频后可以得到完全相同的频率,但同频时钟之间的相位差不确定。

串行高速接口的锁相环产生的高速时钟频率一般为内部总线的4或8倍。传统的跨时钟域传输数据的方式是使用异步FIFO完成数据的传递。异步FIFO的结构如图2所示[4]。

图2 传统异步FIFO结构

异步FIFO内含有一个寄存器堆以及数据有效位、头指针、尾指针等附属逻辑。在传输数据时,先在写使能有效的时钟上升沿写入数据。在一个时钟周期之后写入有效位,并把尾指针加1。这样操作可以保证数据有效位置位时,数据已经完整地写入寄存器堆了。此时,如果头尾指针相同,且指向的数据位有效,则向总线写入端输出FIFO已满信号,阻止总线向FIFO写入数据。数据写入之后,高速接口逻辑使用其本地数字域的低频时钟读取FIFO头指针指向的数据。如果数据有效,则清除此有效位,并将头指针加1。

在读取FIFO中的数据时,如果先读取有效位,之后一拍再读取数据,则整个跨时钟域数据传输需要四个时钟周期的延时。如果同时读取有效位和数据,则需要3个时钟周期的延时。

高速串行接口中数字控制域所用的低频时钟由高频时钟分频得到。如果芯片内部的总线时钟可以直接控制分频器,保证分频得到的低频时钟的上升沿不在总线时钟的上升沿附近,则接收端低频时钟对总线数据进行采样时不会产生亚稳态状态。

使用高频时钟对芯片内部传输到接口的总线时钟进行采样,有可能采样到时钟跳变边沿,得到不稳定的采样结果。使用这个不稳定的结果产生一个重置信号,然后控制分频器可得到稳定的内部分频时钟。跨时钟域传输的时钟和数据流程如图3所示。

图3 跨时钟域传输结构

图4展示了图3中关键节点的时序。在本文实现的结构中,串行接口的高频时钟为总线时钟频率的4倍。

在图4中,接口高频时钟对总线时钟的采样遇到亚稳态情况,采样结果不稳定。由采样结果产生的重置信号可能位于R1和R2两个位置中的一个。

图4 分频器控制时序

按照图4的时序,分频器需要做出一定的改变。分频器收到重置信号之后,不一定要回到00状态,而是采用同步置位方式,将下一拍的内部分频状态置于00或01状态。传统分频器状态机与改变后的分频器状态机的对比如图5所示。

图5 分频器状态机

使用修改后的分频器,在图4的情况下,重置信号处于R1或R2位置中的任意一个,此时分频器状态机将锁定到图4所示的位置。输出低频时钟与总线时钟相差180°相位,保证图3的采样结构中数据采样的正确性。

如果高频时钟的相位比图4位置略靠后,重置信号只出现在R1位置。分频器状态机处于图4位置或提前一个状态。输出时钟的相位与总线时钟相差90°或180°。

如果高频时钟的相位比图4位置略靠前,则重置信号只出现在R2位置。分频器状态机处于图4位置或落后一个状态。输出时钟的相位与总线时钟相差180°或270°。

综上所述,无论高频时钟与总线时钟的相位关系如何,最终生成的发送端低频时钟与总线时钟相位相差90°至270°。两个时钟上升沿之间有足够大的时间差,保证数据采样的正确性。

发送端分频器生成的时钟可直接采样总线并行数据,如图3所示。相对于传统的使用异步FIFO的方法,本文所述方法的延迟时间小于一个总线时钟周期。这可以减小处理器对外通信的延迟,提升整体性能。

3 并串转换模块

传统的发送端并串转换主要有两种方式,一种是移位寄存器方式,另一种是多级树形结构。这两种结构的并串转换模块在图6(a)和6(b)中展示[5]。

(a) 移位寄存器方式

(b) 树形并串转换

移位寄存器方式完成的并串转换结构每4个周期载入一次并行数据,在其后的几个周期之内将数据按顺序移动到输出端,完成并串转换。这种方式所需的功耗较大,速度较低,通常不使用这种转换方式。另一种并串转换方式为树形并串转换结构。多路数据由多个二选一数据选择器MUX选择,得到最终输出结果。转换路径上的时序较为严格,需要在其中加入触发器和锁存器来保证并串转换的时序[6]。

在树形并串转换模块中,关键路径为分频器到并串转换内部触发器的路径。由分频器内部的状态机触发器输出,经过两级二选一逻辑门,到达并串转换内部的触发器输入端。这段路径的延迟时间要小于一个高速时钟周期。另一条关键路径为并串转换内部触发器到二选一MUX之间的路径。为保证输出的信号不带有毛刺,这段路径的延迟时间应当小于半个时钟周期。

最后一级并串转换模块由发送端高频时钟直接驱动选择信号,这模块之前的触发器和锁存器也工作在高频时钟域。数字电路中常用的静态触发器无法工作在较高的频率下,电流模逻辑(curren mode logic, CML)电路和动态电路[7](单相时钟(true single phase clock, TSPC)电路)可在高频下工作。在本文设计的5GHz~10GHz的工作频率范围中,动态触发器比电流模电路的面积和功耗消耗要小[8]。而且动态电路可以定制成标准单元的样式,与数字标准单元混用。

传统的树形并串转换动态触发器和最后一级二选一MUX的晶体管级电路如图7所示。

图7 传统并串转换电路

图7上面一排左半部分为动态触发器,右半部分为二选一MUX。下面一排为动态触发器和锁存器。

动态触发器在工作过程中,其内部节点在时钟为高的半个周期之内有驱动;在时钟为低的半个周期之内无驱动,仅依靠存储的电荷保持正确的输出。在无驱动的半个周期,如果有其他的电路对该节点进行驱动,则会影响此时输出的数值。利用动态触发器此项特点,可直接产生串行数字信号,不需要二选一MUX电路完成最后的串行工作。

改进后的电路如图8所示。

图8 改进的并串转换电路

改进的并串转换电路使用差分时钟驱动。与传统的二转一转换电路相比,减少了一个二转一MUX和两个动态触发器的输出反相器。这在减小面积、功耗的同时,消除了触发器到二转一MUX之间的时序约束路径。

本文提出的并串转换电路对差分时钟的差分性要求不高。在两路时钟不交叠的情况下,只要时钟之间上升沿的位置相差180°,则输出的信元宽度不变,输出1010连续跳变信号的占空比为50%。在实际使用中,并串转换部分的驱动时钟可特意调整到占空比小于50%的状态,以确保两个时钟不交叠。

在时钟不交叠的情况下,输出数据的宽度只与驱动时钟上升沿之间的距离相关。借助上节的四分频器,可得到四相不交叠的时钟。采用四相时钟驱动两个四转一并串转换,可得到半速串行数据流。转换模块及四相时钟的产生结构如图9所示。

八转二串并转换模块包括两个四转一并串转换模块,其中一个负责奇数位的数据转换,另一个负责偶数位的数据转换。四分频器产生四路时钟,每个状态对应一路时钟输出,时钟占空比为25%,时钟周期与总线时钟相同。为保证输出数据的占空比良好,需要将四路时钟对齐到高频时钟上。

图9 8-2并串转换电路

四相时钟用锁存器延迟后,和高频时钟相与,得到对齐的脉冲信号。使用这个脉冲信号驱动动态触发器,得到串行数据流。

理论上,采用更多相的时钟可以直接完成多转一的并串转换,但更多的并行触发器会使得输出节点的负载过重,影响电路的工作速度。因此,在高速串行接口中,一般最多只使用四相时钟生成四转一的并串转换数据。

八转二并串转换模块与前述二转一并串转换模块串联,可完成整个并串转换工作,并串转换的时序如图10所示。

在图10中,并串转换的数据为0-7,其前后的数据标记为8-F。时钟上标记的数字表示这是多路时钟的不同路的脉冲。在并串转换中,为保证时序,数据6和7被锁存器延迟半个周期。由图10中可见,8位并行数据先转换为奇偶两路数据,然后转换成输出的高速串行数据。

4 芯片实际测试结果

含有本发送端的芯片采用40nm CMOS工艺设计制造。实际芯片照片及设计版图见图11及图12。实际芯片包括接收端和发送端两部分,发送端的并串转换部分占用芯片面积很小,大约15μm×15μm。

图10 8-1并串转换时序

图11 芯片显微镜照片

本文设计的并串转换模块已经经过实际流片检验。在实际芯片的测试中,接收并发送的最高速率为13Gb/s。图12给出了输出1010信号时输出端的眼图。

图12 输出13Gb/s 1010数据眼图

图13为输出端输出PRBS-7随机序列时的眼图。

图13 输出13Gb/s PRBS-7数据眼图

5 结 论

本文主要研究了高速串行接口中数据发送端的各部分电路。本文使用高频时钟,对发送端中的数据同步逻辑进行改进,减少了数据经过同步FIFO所需要的延迟时间,减小了同步FIFO的面积及功耗。然后提出了新型高速并串转换电路,优化了并串转换关键路径的时序,使动态电路结构的并串转换器可以工作在更高的频率下。经过实际流片测试检验,本文所用的发送端串并转换结构的工作速率已能满足现有商用处理器芯片对外高速接口的速率要求。

[1] Stojanovic V, Horowitz M. Modeling and analysis of high-speed links. In: Proceedings of the Custom Integrated Circuits Conference, San Jose, USA, 2003. 589-594

[2] Sabih S. Asynchronous FIFO buffer for synchronizing data transfers between clock domains. US patent: US7310396, 2007

[3] Wielage P, Marinissen E J, Altheimer M, et al. Design and DfT of a high-speed area-efficient embedded asynchronous FIFO. In: Proceedings of the Design, Automation & Test in Europe Conference & Exhibition, Nice, France. 2007. 1-6

[4] Chelcea T, Nowick S M. Low-latency asynchronous FIFO’s using token rings. In: Proceedings of the 6th International Conference on Advanced Research in Asynchronous Circuits & Systems, Eilat, Israel, 2000. 210-220

[5] Razavi B. Design of Integrated Circuits for Optical Communications , 2nd ed. New York: Wiley, 2012. 356-364

[6] Hafez A A, Chen M S, Yang C K K. A 32-48 Gb/s serializing transmitter using multiphase serialization in 65 nm CMOS technology.IEEEJournalofSolid-StateCircuits, 2015, 50(3):763-775

[7] Yuan J, Svensson C. New single-clock CMOS latches and flipflops with improved speed and power savings.IEEEJournalofSolid-StateCircuits, 1997, 32(1):62-69

[8] Wang H, Lee J. A 21-Gb/s 87-mW transceiver with FFE/DFE/Analog equalizer in 65-nm CMOS technology.JournalofSolid-StateCircuits,IEEE, 2010, 45(4):909-920

Design of a high-speed transmitter based on dynamic circuits

Meng Shiguang**********

(*State Key Laboratory of Computer Architecture(Institute of Computing Technology, Chinese Academy of Sciences), Beijing 100190)(**Institute of Computing Technology, Chinese Academy of Sciences, Beijing 100190)(***University of Chinese Academy of Sciences, Beijing 100049)(****Loongson Technology Corporation Limited, Beijing 100095)

To lower the transmitter’s delay of a high-speed serial interface, a new data transmission method under clock domain crossing was presented and realized in practical circuit design based on investigating and analyzing existing transmitter structures. This method can greatly reduce the delay for asynchronous FIFO during the data transmission under clock domain crossing. Moreover, the high-speed transmitter’s serializing circuits were improved at transistor level by using dynamic circuits to relax critical paths’ timing requirement, so the transmitter’s whole circuit can work under the higher frequency. The proposed transmitter’s circuit was manufactured with the 40nm CMOS technology, and the testing results demonstrate that the transmitter using the circuit can stably work at the rate of 13Gb/s.

high speed transmitter, asynchronous FIFO, serializer, dynamic circuits, clock domain crossing

①国家“核高基”科技重大专项课题(2014ZX01020201, 2014ZX01030101),国家自然科学基金(61521092, 61432016)资助项目。

②男,1989年生,博士生;研究方向:计算机系统结构;联系人, E-mail: mengshiguang@ict.ac.cn (

2016-03-10)

猜你喜欢

分频器触发器时序
一种基于0.18μm SiGe工艺的8GHz前置分频器
高频、低相噪、双模分频器设计
清明
浅谈时序逻辑电路的成长记忆
基于不同建设时序的地铁互联互通方案分析
一种面向高精度锁相环的小数分频器设计*
基于FPGA 的时序信号光纤传输系统
使用触发器,强化安全性
基于模体演化的时序链路预测方法
基于0.18 μm CMOS工艺的ZigBee分频器设计