serdes多速率动态重配系统和一种现场可编程门阵列
技术领域
1.本发明属于通信技术领域,特别涉及serdes多速率动态重配系统和一种现场可编程门阵列。
背景技术:
2.随着高速信息时代的到来,人们对各种电子产品的运行和数据传输速度有了更高的要求。为了在信息时代给人们更好的应用体验,电路设计师们针对数据的高速接口传输提出了各种实现方式。从最初的多通道并行数据传输,到更高速度的串行数据传输,高速电路传输技术已经取得了飞速发展。其中源于通信领域信号传输的高速serdes串行接口传输技术是目前传输速度最快,数据稳定性最高的串行传输技术,其正在被越来广泛低应用与各个领域。其中,serdes:(serializer/deserializer)串行器/解串器。
3.在可编程逻辑芯片领域中,由于fpga芯片内部蕴含着丰富的逻辑资源,数据的发送和接收量非常巨大,因此高速serdes串行接口传输技术在fpga可编程逻辑电路设计中开始得到广泛应用。而目前各大可编程芯片厂商xilinx,altera和lattice提供的serdes ip只是针对一种速率,不支持多种速率自适应。fpga的高速ip不支持动态重配问题,要实现不同速率必须使用多个serdes或者设计多个fpga镜像,这样就需要采用配置更高的芯片,从而增加设计硬件成本;设计多个镜像就会导致上层软件设计复杂度增加,或者根本不能满足客户需求。
技术实现要素:
4.为了解决上述技术问题,本发明提出了serdes多速率动态重配系统和一种现场可编程门阵列,能够实现serdes多速率动态重配,减小了开发复杂度和设计难度,降低开发风险,提高了可靠性,从而起到了节约成本的作用。
5.为实现上述目的,本发明采用以下技术方案:
6.serdes多速率动态重配系统,包括i2c从模块、寄存器读写模块、时钟供应模块和若干转换模块;
7.所述i2c从模块的输出端通过寄存器读写模块与时钟供应模块输入端相连;所述时钟供应模块的输出端分别连接转换模块的时钟信号输入端;
8.所述i2c从模块用于接收速率动态重配的指令,通过寄存器读写模块使时钟供应模块提供预设频率的时钟参考信号;所述转换模块用于接收时钟供应模块提供的参考时钟信号,实现高速串行接口并串转换,串并转换和时钟域转换,进而实现端口多功率动态重配。
9.进一步的,所述系统还包括mac模块;
10.所述i2c从模块接收速率动态重配的指令,使能速率切换寄存器,所述速率切换寄存器用于在gmii模块和stm16模块的手动控制下切换速率;然后通过mac模块做不同速率接口适配。
11.进一步的,所述i2c从模块接收速率动态重配的指令,关闭gmii模块和stm16模块的手动控制,采用轮询的方式动态重配转换模块和通过mac模块做不同速率接口适配。
12.进一步的,所述mac模块做不同速率接口适配之后,完成与对端接口link过程,link完成后通过寄存器通知上行控制模块当前接口工作速率;所述上行控制模块用于发出速率动态重配的指令。
13.进一步的,所述转换模块包括物理编码子层和物理媒介适配层;
14.所述物理编码子层用于实现并行信号帧头检测,数据编解码和数据时钟域转换;所述物理媒介适配层用于实现并串转换和串并转换,信号去加重,预加重和极性反转。
15.进一步的,时钟供应模块接入第一参考时钟信号和第二参考时钟信号,通过第一锁相环为转换模块提供参考频率;所述第一锁相环包括qpll0和qpll1,时钟切换信号的切换通过drp接口动态重配。
16.进一步的,所述寄存器读写模块的输出端通过drp接口与时钟供应模块的输入端相连。
17.进一步的,所述第一参考时钟信号和第二参考时钟信号还均与第二锁相环输出端相连;所述第二锁相环为各速率serdes提供不同频点参考频率;
18.所述第二锁相环的输入端连接晶振。
19.本发明还提出了一种现场可编程门阵列,包括现场可编程门阵列芯片的ps侧和pl侧;所述ps侧和pl侧之间通过i2c总线通信连接;
20.所述pl侧包括所述的serdes多速率动态重配系统;
21.所述ps侧为所述pl侧的操作系统;且所述ps侧与上行控制模块通信连接。
22.进一步的,所述现场可编程门阵列芯片选用xilinx的zynq7015芯片。
23.发明内容中提供的效果仅仅是实施例的效果,而不是发明所有的全部效果,上述技术方案中的一个技术方案具有如下优点或有益效果:
24.本发明提出了serdes多速率动态重配系统和一种现场可编程门阵列,该系统包括i2c从模块、寄存器读写模块、时钟供应模块和若干转换模块;i2c从模块的输出端通过寄存器读写模块与时钟供应模块输入端相连;时钟供应模块的输出端分别连接转换模块的时钟信号输入端;i2c从模块用于接收速率动态重配的指令,通过寄存器读写模块使时钟供应模块提供预设频率的时钟参考信号;转换模块用于接收时钟供应模块提供的参考时钟信号,实现高速串行接口并串转换,串并转换和时钟域转换,进而实现端口多功率动态重配。基于serdes多速率动态重配系统,本发明还提出了一种现场可编程门阵列。本发明中cpu通过动态重配gt_common和gt_channel,则可以实现端口多速率动态重配。cpu通过定时动态重配gt_common和gt_channel参数,然后轮训配置后端口link状态则可以实现多速率自适应调整。上述cpu操作也可以放在fpga内部完成,减小了开发复杂度和设计难度,降低开发风险,提高了可靠性,从而起到了节约成本的作用。
附图说明
25.如图1为本发明实施例1中serdes多速率动态重配系统硬件连接示意图;
26.如图2为本发明实施例1中转换模块连接示意图;
27.如图3为本发明实施例1中高速bank时钟架构框图;
28.如图4为本发明实施例1中serdes多速率动态重配框图。
具体实施方式
29.为能清楚说明本方案的技术特点,下面通过具体实施方式,并结合其附图,对本发明进行详细阐述。下文的公开提供了许多不同的实施例或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。应当注意,在附图中所图示的部件不一定按比例绘制。本发明省略了对公知组件和处理技术及工艺的描述以避免不必要地限制本发明。
30.实施例1
31.本发明实施例1提出了serdes多速率动态重配系统,研究高速ip的动态重配方案,能够降低开发难度和风险,降低运营成本,达到提高经济效益的目的。
32.如图1为本发明实施例1中serdes多速率动态重配系统硬件连接示意图;
33.其中:serdes:(serializer/deserializer)串行器/解串器;
34.fpga为(field programmable gate array)现场可编程门阵列;
35.gmii:(gigabit medium independent interface)千兆媒体独立接口;
36.1000base-x:(serial peripheral interface)光纤吉比特以太网;
37.stm16:(synchronous transfer moudule)同步传输模块;
38.dpll:(digital phase locked loop)数字锁相环;
39.pma:(physical media adaptation layer)物理媒介适配层;
40.pcs:(physical coding sublayer)物理编码子层;
41.mac:(media access control layer)介质访问控制层
42.cdr:(clock data recovery)时钟数据恢复;
43.ddr:(double data rate sdram)双倍速率同步动态随机存储器;
44.ps:(processing system)处理系统;
45.pl:(programmable logic)可编程逻辑。
46.其中fpga采用xilinx的zynq7015芯片,该芯片采用28nm工艺,serdes支持最大速率6.25gbps,芯片serdes总带宽25gbps。
47.动态存储器ddr与fpga的ps通信连接,用于运行运行boot和kernel使用;第一光模块和第二光模块挂载到zynq的pl侧高速bank上,由于芯片serdes带宽限制,设计速率设置为1gbps和2.5gbps。dpll是数字锁相环,主要为各速率serdes提供不同频点参考频率。
48.锁相环是一个相位反馈控制系统,在数字锁相环中,由于误差控制信号是离散的数字信号,而不是模拟电压,因而受控的输出电压的改变是离散的而不是连续的;此外,环路组成部件也全用数字电路实现,故而这种锁相环就称之为全数字锁相环(简称dpll)。
49.如图4为本发明实施例1中serdes多速率动态重配框图,即通过zynq内部pl侧的实现架构,该系统包括2c从模块、寄存器读写模块、时钟供应模块和若干转换模块;
50.i2c从模块的输出端通过寄存器读写模块与时钟供应模块输入端相连;时钟供应模块的输出端分别连接转换模块的时钟信号输入端;
51.i2c从模块用于接收速率动态重配的指令,通过寄存器读写模块使时钟供应模块
提供预设频率的时钟参考信号;转换模块用于接收时钟供应模块提供的参考时钟信号,实现高速串行接口并串转换,串并转换和时钟域转换,进而实现端口多功率动态重配。
52.其中时钟供应模块为gt_common模块,转换模块为gt_channel模块。gt_common模块主要为gt_channel模块提供参考时钟。gt_channel模块主要实现高速串行接口并串转换,串并转换和时钟域转换。
53.gmii模块调用xilinx的1000m base-x的ip,系统还包括mac模块;
54.i2c从模块接收速率动态重配的指令,使能速率切换寄存器,速率切换寄存器用于在gmii模块和stm16模块的手动控制下切换速率;然后通过mac模块做不同速率接口适配。
55.i2c从模块接收速率动态重配的指令,关闭gmii模块和stm16模块的手动控制,采用轮询的方式动态重配转换模块和通过mac模块做不同速率接口适配
56.本发明中,动态重配过程由上层软件通过i2c接口使能手动控制gmii模块和stm16速率切换寄存器,fpga完成gt_channel不同速率参数配置,并在mac层做不同速率接口适配,完成高速端口通信。另外,模块也支持自动适配过程,上层软件通过i2c接口关闭手动控制寄存器,使能自动适配寄存器,fpga通过轮训方式动态重配gt_channel和mac层不同速率适配,完成与对端接口link过程,link完成后通过寄存器通知cpu当前接口工作速率。
57.如图2为本发明实施例1中转换模块连接示意图;gt_channel包括pcs(物理编码子层)和pma(物理媒介适配层)模块。pma主要实现并串转换和串并转换,信号去加重,预加重和极性反转等。pcs主要实现并行信号帧头检测,数据编解码和数据时钟域转换等。
58.在本技术中,mac层通过fpga发送接口将以太网报文和stm16帧发送到物理编码子层(pcs),然后通过8b/10b等编码,时钟域转换,加扰过程,并串转换和预加重/去加重等过程,将报文发送到光模块;接收过程经过预加重/去加重,带外管理,时钟恢复,串并转换,数据对齐,数据解码,数据时钟域变换,到达fpga接收接口,再由mac层处理完成数据协商等。
59.时钟供应模块接入第一参考时钟信号和第二参考时钟信号,通过第一锁相环为转换模块提供参考频率;第一锁相环包括qpll0和qpll1,时钟切换信号的切换通过drp接口动态重配。
60.寄存器读写模块的输出端通过drp接口与时钟供应模块的输入端相连。
61.第一参考时钟信号和第二参考时钟信号还均与第二锁相环输出端相连;所第二锁相环为各速率serdes提供不同频点参考频率;
62.第二锁相环的输入端连接晶振。本发明实施例1的图1中列出与dpll相连两个晶振,频率分别为19.44mhz,25mhz。
63.如图3为本发明实施例1中高速bank时钟架构框图;图3中给出的高速bank时钟架构框图中有两组参考时钟输入mgt_clk0和mgt_clk1。高速bank上有四组serdes和一组gt_common,每组serdes有一个cpll锁相环,gt_common包含2个qpll锁相环。动态重配使用动态重配gt_common方式为gt_channel提供所需频率。
64.由上图可知,高速bank由4组高速通道组成,每组通道有一个cpll锁相环,线速率在1.6ghz~3.3ghz,均可以采用该锁相环提供参考钟;更高线速率设计需要使用qpll锁相环提供参考时钟。qpll锁相环包含两组锁相环qpll0和qpll1,时钟切换可以drp接口动态重配。设计中均使用cpll锁相环提供参考钟。
65.本发明实施例1提出的serdes多速率动态重配系统,由gmii模块,i2c_slave模块,
cpu_if模块,gt_common模块和gt_channel模块组成。cpu通过动态重配gt_common和gt_channel,则可以实现端口多速率动态重配。cpu通过定时动态重配gt_common和gt_channel参数,然后判断配置后端口link状态则可以实现多速率自适应调整。cpu操作也可以放在fpga内部完成,减小了开发复杂度和设计难度,降低开发风险,提高了可靠性,从而起到了节约成本的作用。
66.另外,本发明可以用在单端口多速率要求的项目中,serdes不使用动态重配最多支持4种速率(受cpll限制,最大线速率6.25gbps以下),高速最多支持2种速率(qpll0/1提供时钟)。端口需要支持不同平面业务时也可以使用该方案实现单端口支持不同业务切换。另外该方案也可以使用到智能网卡上实现10gbps/25gbps等速率切换。
67.实施例2
68.基于本发明实施例1提出的serdes多速率动态重配系统,本发明实施例2还提出了一种现场可编程门阵列,包括现场可编程门阵列芯片的ps侧和pl侧;ps侧和pl侧之间通过i2c总线通信连接;
69.pl侧包括serdes多速率动态重配系统;
70.ps侧为pl侧的操作系统;且ps侧与上行控制模块通信连接。
71.现场可编程门阵列芯片选用xilinx的zynq7015芯片。
72.ps为现场可编程门阵列的(processing system)处理系统;
73.pl现场可编程门阵列(programmable logic)可编程逻辑。通过在可编程逻辑中实现本技术的多速率动态重配。
74.上行控制模块为cpu,cpu通过动态重配gt_common和gt_channel,则可以实现端口多速率动态重配。cpu通过定时动态重配gt_common和gt_channel参数,然后判断配置后端口link状态则可以实现多速率自适应调整。
75.cpu操作也可以放在fpga内部完成,即通过现场可编程门阵列的的ps侧即操作系统来完成,本技术减小了开发复杂度和设计难度,降低开发风险,提高了可靠性,从而起到了节约成本的作用。
76.pl侧包括serdes多速率动态重配系统,用于实现多速率动态重配。即通过zynq内部pl侧的实现架构,该系统包括2c从模块、寄存器读写模块、时钟供应模块和若干转换模块;
77.i2c从模块的输出端通过寄存器读写模块与时钟供应模块输入端相连;时钟供应模块的输出端分别连接转换模块的时钟信号输入端;
78.i2c从模块用于接收速率动态重配的指令,通过寄存器读写模块使时钟供应模块提供预设频率的时钟参考信号;转换模块用于接收时钟供应模块提供的参考时钟信号,实现高速串行接口并串转换,串并转换和时钟域转换,进而实现端口多功率动态重配。
79.其中时钟供应模块为gt_common模块,转换模块为gt_channel模块。gt_common模块主要为gt_channel模块提供参考时钟。gt_channel模块主要实现高速串行接口并串转换,串并转换和时钟域转换。
80.gmii模块调用xilinx的1000m base-x的ip,系统还包括mac模块;
81.i2c从模块接收速率动态重配的指令,使能速率切换寄存器,速率切换寄存器用于在gmii模块和stm16模块的手动控制下切换速率;然后通过mac模块做不同速率接口适配。
82.i2c从模块接收速率动态重配的指令,关闭gmii模块和stm16模块的手动控制,采用轮询的方式动态重配转换模块和通过mac模块做不同速率接口适配
83.本发明中,动态重配过程由上层软件通过i2c接口使能手动控制gmii模块和stm16速率切换寄存器,fpga完成gt_channel不同速率参数配置,并在mac层做不同速率接口适配,完成高速端口通信。另外,模块也支持自动适配过程,上层软件通过i2c接口关闭手动控制寄存器,使能自动适配寄存器,fpga通过轮训方式动态重配gt_channel和mac层不同速率适配,完成与对端接口link过程,link完成后通过寄存器通知cpu当前接口工作速率。
84.如图2为本发明实施例1中转换模块连接示意图;gt_channel包括pcs(物理编码子层)和pma(物理媒介适配层)模块。pma主要实现并串转换和串并转换,信号去加重,预加重和极性反转等。pcs主要实现并行信号帧头检测,数据编解码和数据时钟域转换等。
85.在本技术中,mac层通过fpga发送接口将以太网报文和stm16帧发送到物理编码子层(pcs),然后通过8b/10b等编码,时钟域转换,加扰过程,并串转换和预加重/去加重等过程,将报文发送到光模块;接收过程经过预加重/去加重,带外管理,时钟恢复,串并转换,数据对齐,数据解码,数据时钟域变换,到达fpga接收接口,再由mac层处理完成数据协商等。
86.时钟供应模块接入第一参考时钟信号和第二参考时钟信号,通过第一锁相环为转换模块提供参考频率;第一锁相环包括qpll0和qpll1,时钟切换信号的切换通过drp接口动态重配。
87.寄存器读写模块的输出端通过drp接口与时钟供应模块的输入端相连。
88.第一参考时钟信号和第二参考时钟信号还均与第二锁相环输出端相连;所第二锁相环为各速率serdes提供不同频点参考频率;
89.第二锁相环的输入端连接晶振。本发明实施例1的图1中列出与dpll相连两个晶振,频率分别为19.44mhz,25mhz。
90.如图3为本发明实施例1中高速bank时钟架构框图;图3中给出的高速bank时钟架构框图中有两组参考时钟输入mgt_clk0和mgt_clk1。高速bank上有四组serdes和一组gt_common,每组serdes有一个cpll锁相环,gt_common包含2个qpll锁相环。动态重配使用动态重配gt_common方式为gt_channel提供所需频率。
91.由上图可知,高速bank由4组高速通道组成,每组通道有一个cpll锁相环,线速率在1.6ghz~3.3ghz,均可以采用该锁相环提供参考钟;更高线速率设计需要使用qpll锁相环提供参考时钟。qpll锁相环包含两组锁相环qpll0和qpll1,时钟切换可以drp接口动态重配。设计中均使用cpll锁相环提供参考钟。
92.本发明实施例2提出的一种现场可编程门阵列,减小了开发复杂度和设计难度,降低开发风险,提高了可靠性,从而起到了节约成本的作用。
93.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。另外,本技术实施例提供的上述技术方案中与现有技术中对应技术方案实现原理一致的部分并未详细说明,以免过多赘述。
94.上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制。对于所属领域的技术人员来说,在上述说明的基础上还可以做出其它不同形式的修改或变形。这里无需也无法对所有的实施方式予以穷举。在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。
技术特征:
1.serdes多速率动态重配系统,其特征在于,包括i2c从模块、寄存器读写模块、时钟供应模块和若干转换模块;所述i2c从模块的输出端通过寄存器读写模块与时钟供应模块输入端相连;所述时钟供应模块的输出端分别连接转换模块的时钟信号输入端;所述i2c从模块用于接收速率动态重配的指令,通过寄存器读写模块使时钟供应模块提供预设频率的时钟参考信号;所述转换模块用于接收时钟供应模块提供的参考时钟信号,实现高速串行接口并串转换,串并转换和时钟域转换,进而实现端口多功率动态重配。2.根据权利要求1所述的serdes多速率动态重配系统,其特征在于,所述系统还包括mac模块;所述i2c从模块接收速率动态重配的指令,使能速率切换寄存器,所述速率切换寄存器用于在gmii模块和stm16模块的手动控制下切换速率;然后通过mac模块做不同速率接口适配。3.根据权利要求2所述的serdes多速率动态重配系统,其特征在于,所述i2c从模块接收速率动态重配的指令,关闭gmii模块和stm16模块的手动控制,采用轮询的方式动态重配转换模块和通过mac模块做不同速率接口适配。4.根据权利要求2或3任意一项所述的serdes多速率动态重配系统,其特征在于,所述mac模块做不同速率接口适配之后,完成与对端接口link过程,link完成后通过寄存器通知上行控制模块当前接口工作速率;所述上行控制模块用于发出速率动态重配的指令。5.根据权利要求4所述的serdes多速率动态重配系统,其特征在于,所述转换模块包括物理编码子层和物理媒介适配层;所述物理编码子层用于实现并行信号帧头检测,数据编解码和数据时钟域转换;所述物理媒介适配层用于实现并串转换和串并转换,信号去加重,预加重和极性反转。6.根据权利要求1所述的serdes多速率动态重配系统,其特征在于,时钟供应模块接入第一参考时钟信号和第二参考时钟信号,通过第一锁相环为转换模块提供参考频率;所述第一锁相环包括qpll0和qpll1,时钟切换信号的切换通过drp接口动态重配。7.根据权利要求6所述的serdes多速率动态重配系统,其特征在于,所述寄存器读写模块的输出端通过drp接口与时钟供应模块的输入端相连。8.根据权利要求1所述的serdes多速率动态重配系统,其特征在于,所述第一参考时钟信号和第二参考时钟信号还均与第二锁相环输出端相连;所述第二锁相环为各速率serdes提供不同频点参考频率;所述第二锁相环的输入端连接晶振。9.一种现场可编程门阵列,其特征在于,包括现场可编程门阵列芯片的ps侧和pl侧;所述ps侧和pl侧之间通过i2c总线通信连接;所述pl侧包括权利要求1至权利要求8任意一项所述的serdes多速率动态重配系统;所述ps侧为所述pl侧的操作系统;且所述ps侧与上行控制模块通信连接。10.根据权利要求9所述的一种现场可编程门阵列,其特征在于,所述现场可编程门阵列芯片选用xilinx的zynq7015芯片。
技术总结
本发明提出了Serdes多速率动态重配系统和一种现场可编程门阵列,该系统包括I2C从模块、寄存器读写模块、时钟供应模块和若干转换模块;I2C从模块的输出端通过寄存器读写模块与时钟供应模块输入端相连;时钟供应模块的输出端分别连接转换模块的时钟信号输入端;I2C从模块用于接收速率动态重配的指令,通过寄存器读写模块使时钟供应模块提供预设频率的时钟参考信号;转换模块用于接收时钟供应模块提供的参考时钟信号,实现高速串行接口并串转换,串并转换和时钟域转换,进而实现端口多功率动态重配。本发明还提出了一种现场可编程门阵列。本发明减小了开发复杂度和设计难度,降低开发风险,提高了可靠性,从而起到了节约成本的作用。本的作用。本的作用。
技术研发人员:王金友 韩威 季冬冬
受保护的技术使用者:苏州浪潮智能科技有限公司
技术研发日:2021.11.05
技术公布日:2022/3/7