面向软件定义互连芯片的多协议SerDes时序约束方法

张丽 ,  董春雷 ,  李沛杰 ,  张霞 ,  虎艳宾

信息工程大学学报 ›› 2025, Vol. 26 ›› Issue (06) : 668 -673.

PDF (2254KB)
信息工程大学学报 ›› 2025, Vol. 26 ›› Issue (06) : 668 -673. DOI: 10.3969/j.issn.1671-0673.2025.06.006
电子科学与技术

面向软件定义互连芯片的多协议SerDes时序约束方法

作者信息 +

Multi-Protocol SerDes Timing Constraints Method for Software-Defined Interconnect Chips

Author information +
文章历史 +
PDF (2307K)

摘要

多协议SerDes是软件定义互连芯片的关键电路模块,为满足软件定义互连芯片中多种协议规范及多种速率对SerDes电路的需求,设计并实现一种面向软件定义互连芯片的多协议SerDes时序约束方法。首先,通过分析多协议SerDes时钟结构,明确了不同协议对SerDes的速率和时钟需求;然后,针对4种协议的时钟需求,设计了SerDes内外部带协议标签的时钟约束,生成了单一分组化约束文件。最后,时序验证及流片测试表明,所有时序路径均满足时序要求,时序约束设计正确、完备。

Abstract

Multi-protocol SerDes is a key circuit module for software-defined interconnect chips. To meet the requirements of various protocol specifications and multiple rates for SerDes circuits in such chips, a multi-protocol SerDes timing constraints method for software-defined interconnect chips is designed and implemented. Firstly, the rate and clock requirements of SerDes for different protocols are clarified through analysis of the clock structure of multi-protocol SerDes. Secondly, internal and external clock constraints with protocol tags of SerDes are designed for the clock requirements of four protocols, and a single packetized constraint file is generated. Finally, timing verification and tape-out testing demonstrate that all timing paths meet the timing requirements, with the timing constraints design being confirmed as correct and complete.

Graphical abstract

关键词

多协议SerDes / 时序约束 / 静态时序分析 / 软件定义互连 / 时序收敛

Key words

multi-protocol SerDes / timing constraints / static timing analysis / software-defined interconnect / timing closure

引用本文

引用格式 ▾
张丽,董春雷,李沛杰,张霞,虎艳宾. 面向软件定义互连芯片的多协议SerDes时序约束方法[J]. 信息工程大学学报, 2025, 26(06): 668-673 DOI:10.3969/j.issn.1671-0673.2025.06.006

登录浏览全文

4963

注册一个新账户 忘记密码

软件定义互连芯片是一款端口可灵活配置为以太网协议、RapidIO协议、FC协议以及PCIe协议,具有实现不同应用场景下对带宽、延迟和路由等进行软件定义能力的芯片,已广泛应用于图像传输、军事通信、5G无线通信、航空电子、射频一体化、高性能计算集群处理系统等领域。该芯片既可作为单一协议网络的交换芯片使用,也可工作于混合协议模式,实现不同协议之间的互连互通。其中,多协议SerDes是软件定义互连芯片实现多协议互连的重要电路模块,该模块的时序问题会直接影响软件定义互连芯片的稳定性和可靠性。
学术界对多协议SerDes展开了深入研究,主要集中在兼容多协议SerDes电路结构设计方面。文献[1-3]在多协议SerDes的统一架构设计上采用了不同方式;文献[4]针对结构优化对高性能SerDes电路进行了综合优化处理;文献[5]提出了一种应用于软件定义互连系统的多协议SerDes电路结构;文献[6]介绍了112 Gbps SerDes电路关键技术。时序约束设计方面,学术界主要关注静态时序分析技术和模式等,文献[7-8]关注常用的静态时序分析方法;文献[9]介绍了16 nm工艺下的一种静态时序分析技术;文献[10]介绍了基于解码芯片的PLL时钟偏差的约束设计方法;文献[11]针对RapidIO协议设计了全芯片时序约束文件。现有SerDes约束设计大都是针对特定单一协议的,针对多协议SerDes时序约束设计尚未有公开资料,而将单一协议SerDes时序约束设计方法运用到多协议SerDes时序约束上,需要针对每种协议规范分别单独设计约束文件,会导致静态时序分析运行次数成倍增加。
针对以上需求和问题,本文设计并实现了一种面向软件定义互连芯片的多协议SerDes时序约束方法,主要研究工作如下:1)分析了软件定义互连芯片多协议SerDes的时钟结构,明确了不同协议的速率和时钟频率要求。2)针对4种协议的时钟需求,设计了SerDes内外部带协议标签的时钟约束,生成了单一分组化约束文件。3)采用所设计的多协议SerDes时序约束文件进行了静态时序分析和流片测试验证。验证结果表明,该方法大大减少了静态时序分析的运行次数,显著提高了静态时序分析的工作效率;同时,很好地满足了多种协议的约束要求,保证了芯片的时序收敛。

1 多协议SerDes时钟结构

时序约束是基于软件定义互连芯片的时钟结构进行设计的,因此,首先对多协议SerDes的时钟结构进行分析,明确多协议SerDes的时钟需求。

软件定义互连芯片中的多协议SerDes支持16G FC协议、RapidIO 4.0协议、PCIe 4.0协议、200 G/100 G/50 G/40 G/25 G/10 G以太网协议等多种协议规范。应用于软件定义互连芯片中的多协议SerDes在时序方面存在如下技术难点:1)高速时钟频率要求,以太网协议支持的最大速率为53.125 Gbps,对应时钟频率为830.078 125 MHz;2)多通道绑定下的时钟同步问题,芯片端口宽度支持1X、2X、4X等模式绑定,NX模式下N个lane的时钟必须为同一速率;3)时钟域交叉(Clock Domain Crossing, CDC)问题,芯片涉及多时钟及不同时钟频率,不同协议时钟具有独立的时钟域。表1给出了不同协议的速率、接口位宽和时钟频率(TX/RX时钟),可以看出不同协议对SerDes时钟输出的频率要求不同,时序约束设计需要满足以上所有要求。多协议SerDes需要适配不同协议的通信要求、多频点需求以及编解码需求,完成多频点时钟的输出。

SerDes的时钟处理为子模块级的时钟模块,共包含6组X8 SerDes(含2个X4 SerDes)和1组X4 SerDes;其中6组X8 SerDes可支持以太网等4种不同的协议,1组X4 SerDes仅支持PCIe协议。多协议SerDes对外接口时钟信号(以X4 SerDes为例,如图1所示)包含接收数据rx_data的随路时钟rx_word_ clk0~3,以及发送数据tx_data的随路时钟tx_ word_clk0~3。这些对外时钟接口对应的源时钟点为SerDes内部的5组时钟,分别为tx16tclk_ch0~3、rx16tclk_ch0~3、tx20tclk_ch0~3、rx20tclk_ch0~3和rx32tclk_ch0~3。因此,要实现对外接口上时钟的时序定义,首先需要对每个SerDes内部管脚上的5组时钟进行主时钟定义,然后传递到SerDes内部生成时钟,最后传递到对外接口的生成时钟。

其中,在接口位宽为32 bit和64 bit时,tx_ word_ clk0选择内部时钟tx16tclk_ch0,rx_word_clk0选择内部时钟rx32tclk_ch0;在接口位宽为20和40 bit时,tx_word_clk0选择内部时钟tx20tclk_ch0,rx_ word_clk0选择内部时钟rx20tclk_ch0。rx16tclk_ch0需要与tx16tclk_ch0时钟频率保持一致。由此可以得到如表2所示的以太网协议的时钟频率要求。

其支持32和64 bit两组位宽和10.312 5 Gbps、25.781 25、26.562 5、53.125 Gbps这4种速率,按照不同位宽和速率的要求,tx16tclk_ch0~3和rx16 tclk_ch0~3需要设置的最高时钟频率为1 660 MHz,tx20tclk_ch0~3和rx20tclk_ch0~3需要设置的最高时钟频率为1 328 MHz,rx32tclk_ch0~3需要设置的最高时钟频率为830 MHz。以太网协议的时序约束设置即按这个最高频率进行时钟定义,其他协议的时钟频率根据其协议要求也有相应的关系,并据此进行约束设置。

2 多协议SerDes时序约束设计

2.1 设计思路

针对4种协议的不同时钟需求,将SerDes内外部时钟重新定义为带协议标签的时钟约束,并生成单一分组化约束文件,实现1个约束文件替代现有的4个单协议约束文件,减少约束文件的数量,进而减少静态时序分析的次数。对6组X8 SerDes分别进行4种协议的约束设计,时序约束设计流程如图2所示。

2.2 设计步骤

1)定义带协议标签的时钟约束。采用create_clock指令完成时钟约束定义,在同1个SerDes时钟管脚上分别定义4个不同协议的时钟,时钟名称上增加协议后缀用于区分。如SerDes内部时钟管脚上的时钟信号tx16tclk_ch0,时钟名称定义为*tx16tclk_ch0_eth、*tx16tclk_ch0_fc、*tx16tclk_ch0_srio、*tx16tclk_ch0_pcie共4个时钟,其中后缀“_eth”、“_fc”、“_srio”、“_pcie”即为协议标签。具体时序约束定义以以太网协议为例加以说明,5组SerDes内部管脚时钟约束定义脚本如下。

for {set n 1} {$n<7} {incr n} {

for {set m 1} {$m<3} {incr m} {

for {set k 1} {$k<5} {incr k} {

create_clock-name bank$n_SERDES$m _rx16tclk_ch$k_eth-period 0.6 [get_pins bank$n_inst/ U$m_X4_Serdes /rx16tclk_ch$k]-add

create_clock-name bank$n_SERDES$m _rx32tclk_ch$k_eth-period 1.2 [get_pins bank$n_inst/ U$m_X4_Serdes /rx32tclk_ch$k]-add

create_clock-name bank$n_SERDES$m _rx20tclk_ch$k_eth-period 0.75 [get_pins bank$n_inst/ U$m_X4_Serdes /rx20tclk_ch$k]-add

create_clock-name bank$n_SERDES$m _tx16tclk_ch$k_eth-period 0.6 [get_pins bank$n_inst/ U$m_X4_Serdes /tx16tclk_ch$k]-add

create_clock-name bank$n_SERDES$m _tx20tclk_ch$k_eth-period 0.75 [get_pins bank$n_inst/ U$m_X4_Serdes /tx20tclk_ch$k]-add

}

}

}

脚本中,n代表6组X8 SerDes,m代表每组X8 SerDes包含2个X4 SerDes,k代表每个X4 SerDes包含4条通道。约束脚本中时钟名称bank$n_SERDES $m_rx16tclk_ch$k_eth表示时钟约束定义在get_pins对应的时钟管脚上,即第n组X8 SerDes的第m个X4 SerDes的第k条通道的时钟信号tx16 tclk_ch$k。以太网协议下时钟bank$n_SERDES$m_rx16tclk_ch$k_eth对应的最高时钟频率为1 660 MHz,故时钟周期(period)设置为0.6 ns。为保证每一个协议对应的时钟定义都有效,设置(add)选项,避免后定义的时钟被覆盖掉。同理设置其他协议的时钟约束。

2)移除原生成时钟。采用remove_generated_ clock指令完成时序约束定义,移除SerDes原先定义的生成时钟。具体时序约束定义脚本为

for {set n 1} {$n<7} {incr n} {

for {set m 1} {$m<3} {incr m} {

for {set k 1} {$k<5} {incr k} {

remove_generated_clock [get_clocks bank$n_inst/ U$m_X4_Serdes /tx40tclk_ch$k]

remove_generated_clock [get_clocks bank$n_inst/ U$m_X4_Serdes / rx40tclk_ch$k]

}

}

}

tx40tclk_ch$k和rx40tclk_ch$k为原先定义的生成时钟,这些生成时钟没有区分不同协议,无法实现各协议时钟的传递。

3)重新定义带协议标签的生成时钟。采用create_generated_clock指令完成时钟约束定义,在SerDes内部分频时钟和外部接口时钟上重新定义带协议标签的生成时钟,协议标签与主时钟一致。具体时序约束定义同样以以太网协议为例加以说明,该协议下SerDes所有生成时钟约束定义脚本为

for {set n 1} {$n<7} {incr n} {

for {set m 1} {$m<3} {incr m} {

for {set k 1} {$k<5} {incr k} {

create_generated_clock-name bank$n_SERDES$m_ tx40tclk_ch$k_eth [get_pins bank$n_inst /U$m_X4_Serdes/tx40tclk_ch$k]-divide_by 2-master bank$n_SERDES$m_t x20tclk_ch$k_eth-source [get_attr [get_clocks bank$n_ SERDES$m_tx20tclk_ch$k_eth] sources]-add

create_generated_clock-name bank$n_SERDES$m_ rx40tclk_ch$k_eth [get_pins bank$n_inst/ U$m_X4_Serdes/rx40tclk_ch$k]-divide_by 2-master bank$n_SERDES$m_ rx20tclk_ch$k_eth-source [get_attr [get_clocks bank$n_ SERDES$m_rx20tclk_ch$k_eth] sources]-add

}

}

}

时钟名称bank$n_SERDES$m_tx40tclk_ch$k_eth定义在get_pins对应的时钟管脚上;生成时钟为主时钟的二分频时钟,设置divide_by的选项值为2,主时钟为对应master的选项值bank$n_ SERDES$m_tx20tclk_ch$k_eth;主时钟和其生成时钟均带有以太网“_eth”协议标签,确保了以太网协议的时钟定义只作用于该协议范围。

4)定义时钟同异步关系。采用set_clock_group指令完成时钟同异步关系定义,在同1个SerDes时钟管脚上定义的4个不同协议的时钟物理上是独立的,静态时序分析时将不再对其进行时序检查。具体时序约束定义以第1组X8 SerDes的第1个X4 SerDes的第1条通道的时钟tx16tclk_ch0为例加以说明,同异步关系设置为

set_clock_group-physically_exclusive

-name bank1_serdes1_tx16tclk_ch0

-group [get_clocks bank1_SERDES1 _tx16tclk_ch0_eth]

-group [get_clocks bank1_SERDES1_tx16tclk_ch0_fc]

-group [get_clocks bank1_SERDES1 _tx16tclk_ch0_srio]

-group [get_clocks bank1_SERDES1 _tx16tclk_ch0_pcie]

其中,group的选项值为定义在tx16tclk_ch0上的4种协议的时钟,其同异步关系为物理独立,故设置为physically_exclusive。

3 时序分析及结果

3.1 时序分析策略

软件定义互连芯片采用Synopsys公司的静态时序分析工具Prime time(简称PT)进行时序验证,该工具是业界认可的签核(Sign-Off)工具。布局布线后的静态时序分析为芯片流片前的时序验证,需严格满足时序要求。

静态时序分析需要在多个场景下进行分析,其中寄生参数工艺角、PVT工艺角以及工作模式决定了场景的类别[12]。软件定义互连芯片寄生参数工艺角包含TYPICAL(互连电阻和电容都是标准值)、CMAX(有最大电容的互连工艺角)、CMIN(有最小电容的互连工艺角)、RCMAX(有最大互连RC乘积的互连工艺角)、RCMIN(有最小互连RC乘积的互连工艺角)共5种类型。PVT工艺角包含:1)LT Corner:快速工艺高电压供电0.88 V/低温度-40 ℃;2)ML Corner:快速工艺ff/高电压供电0.88 V/高温度125 ℃;3)WC Corner: 慢速工艺低电压供电0.72 V/高温度125 ℃;4)WCL Corner:慢速工艺低电压供电0.72 V/低温度-40 ℃;5)TYP Corner:标准工艺标准电压供电0.8 V/标准温度85 ℃;6)TYP25 Corner:标准工艺标准电压供电0.8 V/标准温度25 ℃共6种类型。工作模式包含Function(功能模式)、Function1(功能模式1)、MBIST(BIST测试模式)、Shift(移位扫描测试模式)、Capture(捕获扫描测试模式)及AC(AC测试模式)共6种模式。

通过将以上5种寄生参数工艺角和6种PVT工艺角进行组合,软件定义互连芯片可产生TT_ TYP-ICAL_85、WCL_CMAX_ccworst_-40、TT25_TYPIC-AL_25、WCL_RCMAX_ccworst_-40、ML_RCMAX_ccworst_125、ML_CMAX_ccworst_125、ML_RCMIN_cc-best_125、ML_CMIN_ccbest_125、WC_CMAX_ccworst_125、WC_RCMAX_ccworst_125、LT_RCMIN_ccbest_-40、LT_CMIN_ccbest_-40、LT_RCMAX_ccworst_-40、LT_CMAX_ccworst_-40共14种工作环境;建立时间只保留TT_TYPICAL_85和TT25_TYPICAL_25共2种工作环境;保持时间包含所有14种工作环境;故建立时间和保持时间合计有16种工作环境。静态时序分析需针对16×6共计96个场景进行时序验证。采用每种协议规范分别单独设计约束文件,需要运行96×4共计384次静态时序分析;而采用本文设计的单一分组化约束文件,只需要运行96次,大大降低了静态时序分析工作运行次数。

3.2 时序分析结果

将对应的网表文件、约束文件、库时序文件、库视图文件等文件作为输入加载到PT工具,针对6种工作模式进行了setup和hold的静态时序分析,时序分析结果如图3~图8所示。其中,在Function及Function1正常功能模式下,TT85的setup最大时序违反为-53 ps;通过对该条电路进行详细地时序分析,发现违反的时钟域为CORE_PLL_pll_clk2时钟,该时钟按照1.25 ns进行时序分析,实际该时钟可调整为1.56 ns,因此该违例可忽略。另外在Capture测试模式下,setup有6条违反,均与设计中的某SENSOR IP相关,经确认该IP相关时序要求可放宽,因此此类违例也可忽略。

除setup和hold时序检查外,max_transition、min_transition、max_cap、min_cap、noise、si_double_switch、min_period、min_pulse等均满足时序要求。因此,软件定义互连芯片的所有时序结果都满足设计及工艺要求,时序收敛。目前软件定义互连芯片已在中芯国际12 nm工艺下成功流片,完成了实验室测试和自动化机台测试,测试结果表明各项指标均满足要求。

4 结束语

基于12 nm工艺设计研发的软件定义互连芯片可灵活配置为4种异构协议。为了满足这4种协议规范对SerDes电路的需求,设计并实现了一种面向软件定义互连芯片的多协议SerDes时序约束设计方法,通过定义带协议标签的SerDes内外部时钟约束,解决了每种协议规范分别单独设计约束文件导致的静态时序分析运行次数成倍增加的问题,显著提高了静态时序分析效率,缩短了验证周期。时序验证和流片后测试结果表明,该时序约束方法正确。所提时序约束设计方法对于芯片设计时序验证方面具有一定的参考价值。

参考文献

[1]

RAGHAVENDRA R GRATHOR B S. A 1-tap 10.3 125 Gb/s programmable voltage mode line driver in 28 nm CMOS technology[C]∥Proceedings of 2016 29th International Conference on VLSI Design and 2016 15th International Conference on Embedded Systems. Piscataway,USA: IEEE, 2016:174-178.

[2]

WANG J FFAN X NSHI X Yet al. A fractional-N frequency divider for multi-standard wireless transceiver fabricated in 0.18 μm CMOS process[J]. Journal of Semiconductors201738(12):1-8.

[3]

CHATTOPADHYAY BBHAT S NNAYAK Get al. A 12.5 Gbps transmitter for multi-standard SERDES in 40 nm low leakage CMOS process[C]∥Proceedings of 2018 31st International Conference on VLSI Design and 2018 17th International Conference on Embedded Systems. Piscataway,USA: IEEE, 2018:13-18.

[4]

YOON J HKWON KBAE H M. 3.125-to-28.125 Gb/s 4.72 mW/Gb/s multi-standard parallel transceiver supporting channel-independent operation in 40-nm CMOS[J]. IEEE Transactions on Circuits and Systems I: Regular Papers202067(8):2647-2658.

[5]

李沛杰,沈剑良,苑红晓,.一种应用于软件定义互连系统的多协议SerDes电路[J].电子学报202149(4):817-823.

[6]

董春雷,赵博,吕平,.112 Gbps SerDes电路关键技术综述[J].集成电路与嵌入式系统2025.25(10):47-54..

[7]

郭静静,赵东敏,蔡志匡.统计静态时序分析方法综述[J].固体电子学研究与进展202343(4):316-322

[8]

唐拓,张伟.专用集成电路静态时序分析[J].微处理机201233(2):17-18;22.

[9]

胡云生,胡越黎,王伟平,.16 nm工艺下的新一代静态时序分析技术SOCV[J].计算机测量与控制2017(4):213-215;243.

[10]

刘宁宁,田泽,郭蒙.基于H.264/AVC解码芯片的静态时序分析约束设计[J].计算机技术与发展201424(5):90-94.

[11]

张丽,沈剑良,李沛杰,.RapidIO交换芯片的静态时序约束设计[J].现代电子技术202346(4):1-6.

[12]

BHASKER JRAKESH C. IC芯片设计中的静态时序分析实践[M].刘斐然,译.北京:机械工业出版社,2022:255-258.

基金资助

国家重点研发计划(2022YFB2901000)

AI Summary AI Mindmap
PDF (2254KB)

80

访问

0

被引

详细

导航
相关文章

AI思维导图

/