CN105391508B - Qsgmii pcs发送方向状态机时分复用的架构、其控制方法及*** - Google Patents
Qsgmii pcs发送方向状态机时分复用的架构、其控制方法及*** Download PDFInfo
- Publication number
- CN105391508B CN105391508B CN201510672692.9A CN201510672692A CN105391508B CN 105391508 B CN105391508 B CN 105391508B CN 201510672692 A CN201510672692 A CN 201510672692A CN 105391508 B CN105391508 B CN 105391508B
- Authority
- CN
- China
- Prior art keywords
- state machines
- ordered
- code
- data
- group
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 28
- 238000012545 processing Methods 0.000 claims abstract description 51
- 230000001360 synchronised effect Effects 0.000 claims description 28
- 230000009885 systemic effect Effects 0.000 claims description 20
- 238000012827 research and development Methods 0.000 abstract description 4
- 238000012546 transfer Methods 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 5
- 235000013399 edible fruits Nutrition 0.000 description 5
- 101100283411 Arabidopsis thaliana GMII gene Proteins 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/062—Synchronisation of signals having the same nominal but fluctuating bit rates, e.g. using buffers
- H04J3/0632—Synchronisation of packets and cells, e.g. transmission of voice via a packet network, circuit emulation service [CES]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J2203/00—Aspects of optical multiplex systems other than those covered by H04J14/05 and H04J14/07
- H04J2203/0001—Provisions for broadband connections in integrated services digital network using frames of the Optical Transport Network [OTN] or using synchronous transfer mode [STM], e.g. SONET, SDH
- H04J2203/0046—User Network Interface
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Hardware Design (AREA)
- Time-Division Multiplex Systems (AREA)
Abstract
本发明提供一种QSGMII PCS发送方向状态机时分复用的架构、其控制方法及***,所述方法包括:设置一个GMII接口依次接收数据;在相同时钟周期下,4条所述逻辑通道依次时分复用同一个ordered_set状态机、code_group状态机对数据进行处理。本发明在整个数据处理过程中,在现有技术设置两个时钟的基础上仅保留一个时钟,使4条逻辑通道时分复用同一个ordered_set状态机和code_group状态机,并在相同的时钟周期下,将code_group状态机传递的数据直接进行编码后在一条物理链路上输出;如此,无需对数据进行跨时钟域的处理,有效的减少逻辑资源的使用,同时,上述状态机的时分复用,还可以有效的降低芯片的面积,降低芯片的研发及使用成本。
Description
技术领域
本发明涉及网络通信领域,尤其涉及一种QSGMII PCS发送方向状态机时分复用的架构、其控制方法及***。
背景技术
QSGMII是由CISCO公司定义的接口协议标准,同时也是业界所采用的QSGMII标准;该标准协议中定义QSGMII只有一条物理链路,其速率为5Gbps;相应的,其具有4条逻辑通道,每条的速率是1.25Gbps;4条逻辑通道是完全独立的,其符合CISCO定义的SGMII协议标准。
传统的QSGMII PCS发送方向架构如图1所示,4条逻辑通道是相互独立的,且为4条逻辑通道均单独配置工作在125MHz时钟下的ordered_set状态机和code_group状态机,同时,还需要额外配置一个500MHz的时钟,并在该500M的时钟下,对经过各自状态机处理后的4条逻辑通道数据进行跨时钟处理,最后,通过选择器对4条通道的数据进行选择编码成一条物理链路数据;上述两个时钟的设置,增加了芯片时钟树设计的复杂度和时钟资源,对数据进行异步处理的方式增加了芯片设计的风险和复杂度,同时,4个独立的ordered_set状态机和code_group状态机使用了较多的芯片逻辑资源,增加了芯片的面积,进而增加了芯片的使用成本。
发明内容
本发明的目的在于提供一种QSGMII PCS发送方向状态机时分复用的架构、其控制方法及***。
为实现上述目的之一,本发明一实施方式提供一种QSGMII PCS发送方向状态机时分复用的架构,所述架构包括:4条逻辑通道;
对应所述4条逻辑通道仅配置具有单一频率的一个时钟;
在相同时钟周期下,时分复用4条所述逻辑通道的一个ordered_set状态机和一个code_group状态机;
以及,为每条逻辑通道分别配置的ordered_set状态锁存器和code_group状态锁存器。
作为本实施方式的进一步改进,所述时钟的时钟频率设置为500MHz。
为实现上述目的之一,本发明一实施方式提供一种QSGMII PCS发送方向状态机时分复用的架构的控制方法,所述方法包括:通过同一个GMII接口依次接收数据;
在相同时钟周期下,4条所述逻辑通道依次时分复用同一个ordered_set状态机、code_group状态机对数据进行处理;
将code_group状态机处理后的数据依次进行编码后在一条物理链路上输出。
作为本实施方式的进一步改进,4条所述逻辑通道分别为逻辑通道0、逻辑通道1、逻辑通道2、逻辑通道3;
4条所述逻辑通道分别对应配置ordered_set状态锁存器0、ordered_set状态锁存器1、ordered_set状态锁存器2、ordered_set状态锁存器3;
“4条所述逻辑通道时分复用同一个ordered_set状态机对数据进行处理”具体包括:
M1、第1n个时钟周期内,n为大于等于1的正整数,接收对应逻辑通道0的GMII接口数据;
将当前接收到的GMII接口数据和ordered_set状态锁存器0的当前状态写到ordered_set状态机;
之后将当前ordered_set状态机的结果锁存到ordered_set状态锁存器0,同时将ordered_set状态机接收到的GMII接口数据直接同步到code_group状态机;
M2、第2n个时钟周期内,接收对应逻辑通道1的GMII接口数据;将当前接收到的数据和ordered_set状态锁存器1的当前状态写到ordered_set状态机;
之后将当前ordered_set状态机的结果锁存到ordered_set状态锁存器1,同时将ordered_set状态机接收到的数据直接同步到code_group状态机;
M3、第3n个时钟周期内,接收对应逻辑通道2的GMII接口数据;将当前接收到的数据和ordered_set状态锁存器2的当前状态写到ordered_set状态机;
之后将当前ordered_set状态机的结果锁存到ordered_set状态锁存器2,同时将ordered_set状态机接收到的数据直接同步到code_group状态机;
M4、第4n个时钟周期内,接收对应逻辑通道3的GMII接口数据;将当前接收到的数据和ordered_set状态锁存器3的当前状态写到ordered_set状态机;
之后将当前ordered_set状态机的结果锁存到ordered_set状态锁存器3,同时将ordered_set状态机接收到的数据直接同步到code_group状态机。
作为本实施方式的进一步改进,4条所述逻辑通道分别对应配置code_group状态锁存器0、code_group状态锁存器1、code_group状态锁存器2、code_group状态锁存器3;
“4条所述逻辑通道时分复用同一个code_group状态机对数据进行处理”具体包括:
N1、第1n个时钟周期内,将ordered_set状态机中对应逻辑通道0的数据、当前ordered_set状态机的结果,以及code_group状态锁存器0的当前状态写到code_group状态机;
之后将当前code_group状态机的结果锁存到code_group状态锁存器0;
N2、第2n个时钟周期内,将ordered_set状态机中对应逻辑通道1的数据、当前ordered_set状态机的结果,以及code_group状态锁存器1的当前状态写到code_group状态机;
之后将当前code_group状态机的结果锁存到code_group状态锁存器1;
N3、第3n个时钟周期内,将ordered_set状态机中对应逻辑通道2的数据、当前ordered_set状态机的结果,以及code_group状态锁存器2的当前状态写到code_group状态机;
之后将当前code_group状态机的结果锁存到code_group状态锁存器2;
N4、第4n个时钟周期内,将ordered_set状态机中对应逻辑通道3的数据、当前ordered_set状态机的结果,以及code_group状态锁存器3的当前状态写到code_group状态机;
之后将当前code_group状态机的结果锁存到code_group状态锁存器3。
作为本实施方式的进一步改进,“将code_group状态机处理后的数据依次进行编码后在一条物理链路上输出”具体包括:
将在第1n个时钟周期内code_group状态机处理后的特定数据替换为***预设代码后,进行编码输出。
为实现上述目的之一,本发明一实施方式提供一种QSGMII PCS发送方向状态机时分复用的架构的控制***,所述***包括:数据接收模块,用于通过同一个GMII接口依次接收数据;
数据处理模块,用于在相同时钟周期下,使4条所述逻辑通道依次时分复用同一个ordered_set状态机、code_group状态机对数据进行处理;
将code_group状态机处理后的数据依次进行编码后在一条物理链路上输出。
作为本实施方式的进一步改进,4条所述逻辑通道分别为逻辑通道0、逻辑通道1、逻辑通道2、逻辑通道3;
4条所述逻辑通道分别对应配置ordered_set状态锁存器0、ordered_set状态锁存器1、ordered_set状态锁存器2、ordered_set状态锁存器3;
所述数据处理模块具体用于:
第1n个时钟周期内,n为大于等于1的正整数,接收对应逻辑通道0的GMII接口数据;
将当前接收到的GMII接口数据和ordered_set状态锁存器0的当前状态写到ordered_set状态机;
之后将当前ordered_set状态机的结果锁存到ordered_set状态锁存器0,同时将ordered_set状态机接收到的GMII接口数据直接同步到code_group状态机;
第2n个时钟周期内,接收对应逻辑通道1的GMII接口数据;将当前接收到的数据和ordered_set状态锁存器1的当前状态写到ordered_set状态机;
之后将当前ordered_set状态机的结果锁存到ordered_set状态锁存器1,同时将ordered_set状态机接收到的数据直接同步到code_group状态机;
第3n个时钟周期内,接收对应逻辑通道2的GMII接口数据;将当前接收到的数据和ordered_set状态锁存器2的当前状态写到ordered_set状态机;
之后将当前ordered_set状态机的结果锁存到ordered_set状态锁存器2,同时将ordered_set状态机接收到的数据直接同步到code_group状态机;
第4n个时钟周期内,接收对应逻辑通道3的GMII接口数据;将当前接收到的数据和ordered_set状态锁存器3的当前状态写到ordered_set状态机;
之后将当前ordered_set状态机的结果锁存到ordered_set状态锁存器3,同时将ordered_set状态机接收到的数据直接同步到code_group状态机。
作为本实施方式的进一步改进,4条所述逻辑通道分别对应配置code_group状态锁存器0、code_group状态锁存器1、code_group状态锁存器2、code_group状态锁存器3;
所述数据处理模块还用于:
第1n个时钟周期内,将ordered_set状态机中对应逻辑通道0的数据、当前ordered_set状态机的结果,以及code_group状态锁存器0的当前状态写到code_group状态机;
之后将当前code_group状态机的结果锁存到code_group状态锁存器0;
第2n个时钟周期内,将ordered_set状态机中对应逻辑通道1的数据、当前ordered_set状态机的结果,以及code_group状态锁存器1的当前状态写到code_group状态机;
之后将当前code_group状态机的结果锁存到code_group状态锁存器1;
第3n个时钟周期内,将ordered_set状态机中对应逻辑通道2的数据、当前ordered_set状态机的结果,以及code_group状态锁存器2的当前状态写到code_group状态机;
之后将当前code_group状态机的结果锁存到code_group状态锁存器2;
第4n个时钟周期内,将ordered_set状态机中对应逻辑通道3的数据、当前ordered_set状态机的结果,以及code_group状态锁存器3的当前状态写到code_group状态机;
之后将当前code_group状态机的结果锁存到code_group状态锁存器3。
作为本实施方式的进一步改进,所述数据处理模块还用于:
将在第1n个时钟周期内code_group状态机处理后的特定数据替换为***预设代码后,进行编码输出。
与现有技术相比,本发明的有益效果是:本发明的QSGMII PCS发送方向状态机时分复用的架构、其控制方法及***,在QSGMII PCS发送方向,仅配置具有单一频率的一个时钟,一个ordered_set状态机和一个code_group状态机,保证在同一个时钟周期下,4条逻辑通道时分复用同一个ordered_set状态机和code_group状态机,并在相同的时钟下,将code_group状态机传递的数据直接进行编码后在一条物理链路上输出;本发明在整个数据处理过程中,在现有技术中设置两个时钟的基础上,仅保留一个时钟,如此,无需对数据进行跨时钟域的处理,有效的降低的芯片设计的风险和复杂度,减少逻辑资源的使用,同时,上述状态机的时分复用,还可以有效的降低芯片的面积,降低芯片的研发及使用成本。
附图说明
图1是本发明背景技术中所提及的传统的QSGMII PCS发送方向架构的示意图;
图2是本发明一实施方式中QSGMII PCS发送方向状态机时分复用的架构的示意图;
图3是本发明一实施方式中QSGMII PCS发送方向状态机时分复用的架构的控制方法的流程图;
图4是本发明一实施方式中QSGMII PCS发送方向状态机时分复用的架构的控制***的模块示意图。
具体实施方式
以下将结合附图所示的具体实施方式对本发明进行详细描述。但这些实施方式并不限制本发明,本领域的普通技术人员根据这些实施方式所做出的结构、方法、或功能上的变换均包含在本发明的保护范围内。
如图2所示,本发明一实施方式中提供一种QSGMII PCS发送方向状态机时分复用的架构。
所述架构包括:4条逻辑通道,对应所述4条逻辑通道仅配置具有单一频率的一个时钟;在相同时钟周期下,时分复用4条所述逻辑通道的一个ordered_set状态机和一个code_group状态机;以及,为每条逻辑通道分别配置的ordered_set状态锁存器和code_group状态锁存器。
其中,本发明一具体示例中,4条逻辑通道分别为逻辑通道0、逻辑通道1、逻辑通道2、逻辑通道3;所述时钟的时钟频率设置为500MHz;4条所述逻辑通道分别对应配置ordered_set状态锁存器0、ordered_set状态锁存器1、ordered_set状态锁存器2、ordered_set状态锁存器3,以及分别对应配置code_group状态锁存器0、code_group状态锁存器1、code_group状态锁存器2、code_group状态锁存器3;另外,在ordered_set状态机与ordered_set状态锁存器之间,以及在code_group状态机和code_group状态锁存器之间还配置不同的选择器,用于在不同的时钟周期下,选择相应的逻辑通道以及相应的ordered_set状态锁存器和相应的code_group状态锁存器,具体的,通道选择器1为2位的无条件加法器,相应的,可根据加法器的当前数值选择对应的逻辑通道;选择器2用于根据确定的逻辑通道选择对应的ordered_set状态锁存器的状态及相应的数据,并将其写入到ordered_set状态机;通道选择器3同样为2位的无条件加法器,相应的,可根据加法器的当前数值选择对应的逻辑通道;选择器4用于根据确定的逻辑通道选择对应的code_group状态锁存器的状态及相应的数据,并将其写入到code_group状态机。需要说明的是,通道选择器1和通道选择器2可以合并为一个通道选择器进行设置,在此不做详细赘述。
将该架构与图1所示架构进行对比,本实施方式中,减少一个工作在125MHZ的时钟,如此,数据不需要进行跨时钟域的处理,同时,4条逻辑通道时分复用同一个ordered_set状态机和code_group状态机,可以有效降低芯片的面积。
结合图3所示,在本发明的一实施方式中,QSGMII PCS发送方向状态机时分复用的架构的控制方法包括通过同一个GMII接口依次接收数据;在相同时钟周期下,4条所述逻辑通道依次时分复用同一个ordered_set状态机、code_group状态机对数据进行处理;将code_group状态机处理后的数据依次进行编码后在一条物理链路上输出。
本发明一实施方式中,4条所述逻辑通道依次时分复用同一个ordered_set状态机对数据进行处理具体包括:
M1、第1n个时钟周期内,n为大于等于1的正整数,将当前接收到的数据和ordered_set状态锁存器0的当前状态写到ordered_set状态机;之后将当前ordered_set状态机的结果锁存到ordered_set状态锁存器0,同时将ordered_set状态机接收到的数据直接同步到code_group状态机;
M2、第2n个时钟周期内,将当前接收到的数据和ordered_set状态锁存器1的当前状态写到ordered_set状态机;之后将当前ordered_set状态机的结果锁存到ordered_set状态锁存器1,同时将ordered_set状态机接收到的数据直接同步到code_group状态机;
M3、第3n个时钟周期内,将当前接收到的数据和ordered_set状态锁存器2的当前状态写到ordered_set状态机;之后将当前ordered_set状态机的结果锁存到ordered_set状态锁存器2,同时将ordered_set状态机接收到的数据直接同步到code_group状态机;
M4、第4n个时钟周期内,将当前接收到的数据和ordered_set状态锁存器3的当前状态写到ordered_set状态机;之后将当前ordered_set状态机的结果锁存到ordered_set状态锁存器3,同时将ordered_set状态机接收到的数据直接同步到code_group状态机。
可以理解的是,由于,在500MHz的时钟下,一个ordered_set状态机时分复用于4条逻辑通道,相应的,在每个时钟周期下,也仅会有一个对应相应逻辑通道的数据进行输出,即:通过4条逻辑通道依次传递的数据会依次串行的输出在所述ordered_set状态机输出结果上,送给code_group状态机。
本发明一实施方式中,4条所述逻辑通道依次时分复用同一个code_group状态机对数据进行处理具体包括:
N1、第1n个时钟周期内,将ordered_set状态机中对应逻辑通道0的数据、当前ordered_set状态机的结果,以及code_group状态锁存器0的当前状态写到code_group状态机;之后将当前code_group状态机的结果锁存到code_group状态锁存器0;
N2、第2n个时钟周期内,将ordered_set状态机中对应逻辑通道1的数据、当前ordered_set状态机的结果,以及code_group状态锁存器1的当前状态写到code_group状态机;之后将当前code_group状态机的结果锁存到code_group状态锁存器1;
N3、第3n个时钟周期内,将ordered_set状态机中对应逻辑通道2的数据、当前ordered_set状态机的结果,以及code_group状态锁存器2的当前状态写到code_group状态机;之后将当前code_group状态机的结果锁存到code_group状态锁存器2;
N4、第4n个时钟周期内,将ordered_set状态机中对应逻辑通道3的数据、当前ordered_set状态机的结果,以及code_group状态锁存器3的当前状态写到code_group状态机;之后将当前code_group状态机的结果锁存到code_group状态锁存器3。
可以理解的是,由于,在500MHz的时钟下,一个code_group状态机时分复用于4条逻辑通道,相应的,在每个时钟周期下,也仅会有一个对应相应逻辑通道的数据进行输出,即:通过4条逻辑通道依次传递的数据会依次串行的输出在所述code_group状态机输出结果上,并依次进行编码后在一条物理链路上输出。
本发明一实施方式中,“将code_group状态机处理后的数据依次进行编码后在一条物理链路上输出”具体包括:
将在第1n个时钟周期内code_group状态机处理后的数据替换为***预设代码后,进行编码输出;以使4条逻辑通道的数据被合并到一条物理链路上传输后,进一步的在接收方向能够从一条物理链路上易于分离出4条逻辑通道的数据。
本发明具体示例中,发送方向上,逻辑通道上传递的数据为K28.5,所述***预设代码为K28.1,如此,在发送方向上,将逻辑通道0上的K28.5替换为K28.1后,再进行编码输出。
进一步的,当接收方向监测到所述***预设代码后,将监测的所述***预设代码设置为逻辑通道0的数据,其后三个时钟周期内接收到的数据分别设置为逻辑通道1的数据、逻辑通道2的数据以及逻辑通道3的数据;即,本发明具体示例中,在接收方向上,将逻辑通道0上的K28.1恢复为K28.5后,再进行解码输出,在此不做详细赘述。
可以理解的是,本示例中,由于code_group状态机时分复用4条逻辑通道,故,对应4条逻辑通道的数据在每个时钟周期内,均由code_group状态机依次进行编码后在一条物理链路上输出,故,无需设置用于选择code_group状态机中相应数据到物理链路上的编码器,直接对code_group状态机输出的8bit数据进行8b/10b编码即可。
进一步的,由于4条逻辑通道对应的数据被直接合并在同一条物理链路上进行传输,为了方便在接收方向将该相应的4条数据进行分解,将在第1n个时钟周期内code_group状态机处理后的数据替换为***预设代码,在接收方向时,当监测到所述***预设代码后,可以判断当前数据对应逻辑通道0,如此,在接收方向上,将监测的所述***预设代码以及其后三个时钟周期内接收到的数据分别设置为逻辑通道0的数据、逻辑通道1的数据、逻辑通道2的数据以及逻辑通道3的数据,之后再按照接收的顺序进行解码输出,在此不做详细赘述。
为了方便描述,以一个循环周期为例做具体介绍,该示例中,以4个时钟周期作为一个循环周期。
设置一个GMII接口,并在相同的时钟周期下,依次接收数据,在该架构中,4条逻辑通道在相邻时钟周期内,依次处理数据,并在每条链路对数据处理结束后,按照处理顺序依次输出。
本示例在500MHz的时钟周期下,GMII接口在每个时钟周期下,均接收一个相应的GMII接口数据,并将该GMII接口数据经ordered_set状态机、code_group状态处理后,依次进行编码后在一条物理链路上输出。
相应的,在第一个时钟周期到来时,接收对应逻辑通道0的GMII接口数据,将当前接收到的GMII接口数据直接写入到ordered_set状态机中,并将ordered_set状态锁存器0的当前状态同时写到ordered_set状态机,以指示数据的传递方向及目的端口;
进一步的,在当前时钟周期内,将当前ordered_set状态机的结果锁存到ordered_set状态锁存器0,以供下一个到达ordered_set状态机0的GMII接口数据调用;
进一步的,将ordered_set状态机接收到的GMII接口数据在当前周期内,直接同步到code_group状态机;
进一步的,code_group状态机接收ordered_set状态机传递的对应逻辑通道0的GMII接口数据、当前ordered_set状态机的结果,同时一并将code_group状态锁存器0的当前状态同时写到code_group状态机,以指示数据的传递方向及目的端口;
进一步的,在当前时钟周期内,将当前code_group状态机的结果锁存到code_group状态锁存器0,以供下一个到达code_group状态机的、且处于同一逻辑通道的GMII接口数据调用。
进一步的,将当前的code_group状态机的结果进行编码后输出到一条物理链路上。另外,在第一个时钟周期内,将code_group状态机的输出数据用以***预设代码在编码时进行标识,以利于接收方向区分数据。
本示例中,所述code_group状态机的结果为特定字符K28.5,将其替换为***预设代码K28.1后进行编码输出到物理链路上。
在第二个时钟周期到来时,接收对应逻辑通道1的GMII接口数据,将当前接收到的GMII接口数据直接写入到ordered_set状态机中,并将ordered_set状态锁存器1的当前状态同时写到ordered_set状态机,以指示数据的传递方向及目的端口;
进一步的,在当前时钟周期内,将当前ordered_set状态机的结果锁存到ordered_set状态锁存器1,以供下一个到达ordered_set状态机1的GMII接口数据调用;
进一步的,将ordered_set状态机接收到的GMII接口数据在当前周期内,直接同步到code_group状态机;
进一步的,code_group状态机接收ordered_set状态机传递的对应逻辑通道1的GMII接口数据、当前ordered_set状态机的结果,同时一并将code_group状态锁存器1的当前状态同时写到code_group状态机,以指示数据的传递方向及目的端口;
进一步的,在当前时钟周期内,将当前code_group状态机的结果锁存到code_group状态锁存器1,以供下一个到达code_group状态机的、且处于同一逻辑通道的GMII接口数据调用。
进一步的,将当前的code_group状态机的结果进行编码后输出到一条物理链路上。
在第三个时钟周期到来时,接收对应逻辑通道2的GMII接口数据,将当前接收到的GMII接口数据直接写入到ordered_set状态机中,并将ordered_set状态锁存器2的当前状态同时写到ordered_set状态机,以指示数据的传递方向及目的端口;
进一步的,在当前时钟周期内,将当前ordered_set状态机的结果锁存到ordered_set状态锁存器2,以供下一个到达ordered_set状态机2的GMII接口数据调用;
进一步的,将ordered_set状态机接收到的GMII接口数据在当前周期内,直接同步到code_group状态机;
进一步的,code_group状态机接收ordered_set状态机传递的对应逻辑通道2的GMII接口数据、当前ordered_set状态机的结果,同时一并将code_group状态锁存器2的当前状态同时写到code_group状态机,以指示数据的传递方向及目的端口;
进一步的,在当前时钟周期内,将当前code_group状态机的结果锁存到code_group状态锁存器2,以供下一个到达code_group状态机的、且处于同一逻辑通道的GMII接口数据调用。
进一步的,将当前的code_group状态机的结果进行编码后输出到一条物理链路上。
在第四个时钟周期到来时,接收对应逻辑通道3的GMII接口数据,将当前接收到的GMII接口数据直接写入到ordered_set状态机中,并将ordered_set状态锁存器3的当前状态同时写到ordered_set状态机,以指示数据的传递方向及目的端口;
进一步的,在当前时钟周期内,将当前ordered_set状态机的结果锁存到ordered_set状态锁存器3,以供下一个到达ordered_set状态机3的GMII接口数据调用;
进一步的,将ordered_set状态机接收到的GMII接口数据在当前周期内,直接同步到code_group状态机;
进一步的,code_group状态机接收ordered_set状态机传递的对应逻辑通道3的GMII接口数据、当前ordered_set状态机的结果,同时一并将code_group状态锁存器3的当前状态同时写到code_group状态机,以指示数据的传递方向及目的端口;
进一步的,在当前时钟周期内,将当前code_group状态机的结果锁存到code_group状态锁存器3,以供下一个到达code_group状态机的、且处于同一逻辑通道的GMII接口数据调用。
进一步的,将当前的code_group状态机的结果进行编码后输出到一条物理链路上。
如此循环,在第1n个时钟周期到来时,n为大于等于1的正整数,循环第一个时钟周期处理数据的过程,依次类推,在第2n个时钟周期到来时,循环第二个时钟周期处理数据的过程,在第3n个时钟周期到来时,循环第三个时钟周期处理数据的过程,在第4n个时钟周期到来时,循环第四个时钟周期处理数据的过程,在此不做详细赘述,如此,4条逻辑通道时分复用同一个ordered_set状态机、以及时分复用同一个code_group状态机,有效的减少逻辑资源的使用,以及降低芯片的面积,降低芯片的研发及使用成本。
结合图4所示,本发明一实施方式提供的QSGMII PCS发送方向状态机时分复用的架构的控制***包括:数据接收模块100、数据处理模块200。
数据接收模块100用于通过同一个GMII接口依次接收数据。
数据处理模块200用于在相同时钟周期下,使4条所述逻辑通道依次时分复用同一个ordered_set状态机、code_group状态机对数据进行处理,并将code_group状态机处理后的数据依次进行编码后在一条物理链路上输出。
本发明一实施方式中,数据处理模块200使4条所述逻辑通道依次时分复用同一个ordered_set状态机对数据进行处理具体包括:
第1n个时钟周期内,n为大于等于1的正整数,将当前接收到的数据和ordered_set状态锁存器0的当前状态写到ordered_set状态机;之后将当前ordered_set状态机的结果锁存到ordered_set状态锁存器0,同时将ordered_set状态机接收到的数据直接同步到code_group状态机;
第2n个时钟周期内,将当前接收到的数据和ordered_set状态锁存器1的当前状态写到ordered_set状态机;之后将当前ordered_set状态机的结果锁存到ordered_set状态锁存器1,同时将ordered_set状态机接收到的数据直接同步到code_group状态机;
第3n个时钟周期内,将当前接收到的数据和ordered_set状态锁存器2的当前状态写到ordered_set状态机;之后将当前ordered_set状态机的结果锁存到ordered_set状态锁存器2,同时将ordered_set状态机接收到的数据直接同步到code_group状态机;
第4n个时钟周期内,将当前接收到的数据和ordered_set状态锁存器3的当前状态写到ordered_set状态机;之后将当前ordered_set状态机的结果锁存到ordered_set状态锁存器3,同时将ordered_set状态机接收到的数据直接同步到code_group状态机。
可以理解的是,由于,在500MHz的时钟下,一个ordered_set状态机时分复用于4条逻辑通道,相应的,在每个时钟周期下,也仅会有一个对应相应逻辑通道的数据进行输出,即:通过4条逻辑通道依次传递的数据会依次串行的输出在所述ordered_set状态机输出结果上,送给code_group状态机。
本发明一实施方式中,数据处理模块200使4条所述逻辑通道依次时分复用同一个code_group状态机对数据进行处理具体包括:
第1n个时钟周期内,将ordered_set状态机中对应逻辑通道0的数据、当前ordered_set状态机的结果,以及code_group状态锁存器0的当前状态写到code_group状态机;之后将当前code_group状态机的结果锁存到code_group状态锁存器0;
第2n个时钟周期内,将ordered_set状态机中对应逻辑通道1的数据、当前ordered_set状态机的结果,以及code_group状态锁存器1的当前状态写到code_group状态机;之后将当前code_group状态机的结果锁存到code_group状态锁存器1;
第3n个时钟周期内,将ordered_set状态机中对应逻辑通道2的数据、当前ordered_set状态机的结果,以及code_group状态锁存器2的当前状态写到code_group状态机;之后将当前code_group状态机的结果锁存到code_group状态锁存器2;
第4n个时钟周期内,将ordered_set状态机中对应逻辑通道3的数据、当前ordered_set状态机的结果,以及code_group状态锁存器3的当前状态写到code_group状态机;
之后将当前code_group状态机的结果锁存到code_group状态锁存器3。
可以理解的是,由于,在500MHz的时钟下,一个code_group状态机时分复用于4条逻辑通道,相应的,在每个时钟周期下,也仅会有一个对应相应逻辑通道的数据进行输出,即:通过4条逻辑通道依次传递的数据会依次串行的输出在所述code_group状态机输出结果上,并依次进行编码后在一条物理链路上输出。
本发明一实施方式中,数据处理模块200将code_group状态机处理后的数据依次进行编码后在一条物理链路上输出”具体包括:
将在第1n个时钟周期内code_group状态机处理后的数据替换为***预设代码后,进行编码输出;以使4条逻辑通道的数据被合并到一条物理链路上传输后,进一步的在接收方向能够从一条物理链路上易于分离出4条逻辑通道的数据。
本发明具体示例中,发送方向上,逻辑通道上传递的数据为K28.5,所述***预设代码为K28.1,如此,在发送方向上,将逻辑通道0上的K28.5替换为K28.1后,再进行编码输出。进一步的,当接收方向监测到所述***预设代码后,将监测的所述***预设代码设置为逻辑通道0的数据,其后三个时钟周期内接收到的数据分别设置为逻辑通道1的数据、逻辑通道2的数据以及逻辑通道3的数据;即,本发明具体示例中,在接收方向上,将逻辑通道0上的K28.1恢复为K28.5后,再进行解码输出,在此不做详细赘述。
可以理解的是,本示例中,由于code_group状态机时分复用4条逻辑通道,故,对应4条逻辑通道的数据在每个时钟周期内,均由code_group状态机依次进行编码后在一条物理链路上输出,故,无需设置用于选择code_group状态机中相应数据到物理链路上的编码器,直接对code_group状态机输出的8bit数据进行8b/10b编码即可。
进一步的,由于4条逻辑通道对应的数据被直接合并在同一条物理链路上进行传输,为了方便在接收方向将该相应的4条数据进行分解,将在第1n个时钟周期内code_group状态机处理后的数据替换为***预设代码,在接收方向时,当监测到所述***预设代码后,可以判断当前数据对应逻辑通道0,如此,在接收方向上,将监测的所述***预设代码以及其后三个时钟周期内接收到的数据分别设置为逻辑通道0的数据、逻辑通道1的数据、逻辑通道2的数据以及逻辑通道3的数据,之后再按照接收的顺序进行解码输出,在此不做详细赘述。
综上所述,本发明的QSGMII PCS发送方向状态机时分复用的架构、其控制方法及***,在QSGMII PCS发送方向,仅配置具有单一频率的一个时钟,一个ordered_set状态机和一个code_group状态机,保证在同一个时钟周期下,4条逻辑通道时分复用同一个ordered_set状态机和code_group状态机,并在相同的时钟下,将code_group状态机传递的数据直接进行编码后在一条物理链路上输出;本发明在整个数据处理过程中,在现有技术中设置两个时钟的基础上,仅保留一个时钟,如此,无需对数据进行跨时钟域的处理,有效的降低的芯片设计的风险和复杂度,减少逻辑资源的使用,同时,上述状态机的时分复用,还可以有效的降低芯片的面积,降低芯片的研发及使用成本。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***中模块的具体工作过程,可以参考前述方法实施方式中的对应过程,在此不再赘述。
以上所描述的***实施方式仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件是逻辑模块,即可以位于芯片逻辑中的一个模块中,或者也可以分布到芯片内的多个数据处理模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施方式方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本申请可用于众多通用或专用的通信芯片中。例如:交换芯片、路由器芯片,服务器芯片等等。
应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施方式中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施方式的具体说明,它们并非用以限制本发明的保护范围,凡未脱离本发明技艺精神所作的等效实施方式或变更均应包含在本发明的保护范围之内。
Claims (6)
1. 一种QSGMII PCS发送方向状态机时分复用的架构的控制方法,其特征在于,所述方法包括:
通过同一个GMII接口依次接收数据;
在相同时钟周期下,4条逻辑通道依次时分复用同一个ordered_set状态机、code_group状态机对数据进行处理;
将code_group状态机处理后的数据依次进行编码后在一条物理链路上输出;
其中,4条所述逻辑通道分别为逻辑通道0、逻辑通道1、逻辑通道2、逻辑通道3;
4条所述逻辑通道分别对应配置ordered_set状态锁存器0、ordered_set状态锁存器1、ordered_set状态锁存器2、ordered_set状态锁存器3;
“4条所述逻辑通道时分复用同一个ordered_set状态机对数据进行处理”具体包括:
M1、第1n个时钟周期内,n为大于等于1的正整数,接收对应逻辑通道0的GMII接口数据;
将当前接收到的GMII接口数据和ordered_set状态锁存器0的当前状态写到ordered_set状态机;
之后将当前ordered_set状态机的结果锁存到ordered_set状态锁存器0,同时将ordered_set状态机接收到的GMII接口数据直接同步到code_group状态机;
M2、第2n个时钟周期内,接收对应逻辑通道1的GMII接口数据;将当前接收到的数据和ordered_set状态锁存器1的当前状态写到ordered_set状态机;
之后将当前ordered_set状态机的结果锁存到ordered_set状态锁存器1,同时将ordered_set状态机接收到的数据直接同步到code_group状态机;
M3、第3n个时钟周期内,接收对应逻辑通道2的GMII接口数据;将当前接收到的数据和ordered_set状态锁存器2的当前状态写到ordered_set状态机;
之后将当前ordered_set状态机的结果锁存到ordered_set状态锁存器2,同时将ordered_set状态机接收到的数据直接同步到code_group状态机;
M4、第4n个时钟周期内,接收对应逻辑通道3的GMII接口数据;将当前接收到的数据和ordered_set状态锁存器3的当前状态写到ordered_set状态机;
之后将当前ordered_set状态机的结果锁存到ordered_set状态锁存器3,同时将ordered_set状态机接收到的数据直接同步到code_group状态机。
2.根据权利要求1所述的QSGMII PCS发送方向状态机时分复用的架构的控制方法,其特征在于,
4条所述逻辑通道分别对应配置code_group状态锁存器0、code_group状态锁存器1、code_group状态锁存器2、code_group状态锁存器3;
“4条所述逻辑通道时分复用同一个code_group状态机对数据进行处理”具体包括:
N1、第1n个时钟周期内,将ordered_set状态机中对应逻辑通道0的数据、当前ordered_set状态机的结果,以及code_group状态锁存器0的当前状态写到code_group状态机;
之后将当前code_group状态机的结果锁存到code_group状态锁存器0;
N2、第2n个时钟周期内,将ordered_set状态机中对应逻辑通道1的数据、当前ordered_set状态机的结果,以及code_group状态锁存器1的当前状态写到code_group状态机;
之后将当前code_group状态机的结果锁存到code_group状态锁存器1;
N3、第3n个时钟周期内,将ordered_set状态机中对应逻辑通道2的数据、当前ordered_set状态机的结果,以及code_group状态锁存器2的当前状态写到code_group状态机;
之后将当前code_group状态机的结果锁存到code_group状态锁存器2;
N4、第4n个时钟周期内,将ordered_set状态机中对应逻辑通道3的数据、当前ordered_set状态机的结果,以及code_group状态锁存器3的当前状态写到code_group状态机;
之后将当前code_group状态机的结果锁存到code_group状态锁存器3。
3.根据权利要求2所述的QSGMII PCS发送方向状态机时分复用的架构的控制方法,其特征在于,“将code_group状态机处理后的数据依次进行编码后在一条物理链路上输出”具体包括:
将在第1n个时钟周期内code_group状态机处理后的数据替换为***预设代码后,进行编码输出。
4.一种QSGMII PCS发送方向状态机时分复用的架构的控制***,其特征在于,所述***包括:
数据接收模块,用于通过同一个GMII接口依次接收数据;
数据处理模块,用于在相同时钟周期下,使4条逻辑通道依次时分复用同一个ordered_set状态机、code_group状态机对数据进行处理;
将code_group状态机处理后的数据依次进行编码后在一条物理链路上输出;
其中,4条所述逻辑通道分别为逻辑通道0、逻辑通道1、逻辑通道2、逻辑通道3;
4条所述逻辑通道分别对应配置ordered_set状态锁存器0、ordered_set状态锁存器1、ordered_set状态锁存器2、ordered_set状态锁存器3;
所述数据处理模块具体用于:
第1n个时钟周期内,n为大于等于1的正整数,接收对应逻辑通道0的GMII接口数据;
将当前接收到的GMII接口数据和ordered_set状态锁存器0的当前状态写到ordered_set状态机;
之后将当前ordered_set状态机的结果锁存到ordered_set状态锁存器0,同时将ordered_set状态机接收到的GMII接口数据直接同步到code_group状态机;
第2n个时钟周期内,接收对应逻辑通道1的GMII接口数据;将当前接收到的数据和ordered_set状态锁存器1的当前状态写到ordered_set状态机;
之后将当前ordered_set状态机的结果锁存到ordered_set状态锁存器1,同时将ordered_set状态机接收到的数据直接同步到code_group状态机;
第3n个时钟周期内,接收对应逻辑通道2的GMII接口数据;将当前接收到的数据和ordered_set状态锁存器2的当前状态写到ordered_set状态机;
之后将当前ordered_set状态机的结果锁存到ordered_set状态锁存器2,同时将ordered_set状态机接收到的数据直接同步到code_group状态机;
第4n个时钟周期内,接收对应逻辑通道3的GMII接口数据;将当前接收到的数据和ordered_set状态锁存器3的当前状态写到ordered_set状态机;
之后将当前ordered_set状态机的结果锁存到ordered_set状态锁存器3,同时将ordered_set状态机接收到的数据直接同步到code_group状态机。
5.根据权利要求4所述的QSGMII PCS发送方向状态机时分复用的架构的控制***,其特征在于,4条所述逻辑通道分别对应配置code_group状态锁存器0、code_group状态锁存器1、code_group状态锁存器2、code_group状态锁存器3;
所述数据处理模块还用于:
第1n个时钟周期内,将ordered_set状态机中对应逻辑通道0的数据、当前ordered_set状态机的结果,以及code_group状态锁存器0的当前状态写到code_group状态机;
之后将当前code_group状态机的结果锁存到code_group状态锁存器0;
第2n个时钟周期内,将ordered_set状态机中对应逻辑通道1的数据、当前ordered_set状态机的结果,以及code_group状态锁存器1的当前状态写到code_group状态机;
之后将当前code_group状态机的结果锁存到code_group状态锁存器1;
第3n个时钟周期内,将ordered_set状态机中对应逻辑通道2的数据、当前ordered_set状态机的结果,以及code_group状态锁存器2的当前状态写到code_group状态机;
之后将当前code_group状态机的结果锁存到code_group状态锁存器2;
第4n个时钟周期内,将ordered_set状态机中对应逻辑通道3的数据、当前ordered_set状态机的结果,以及code_group状态锁存器3的当前状态写到code_group状态机;
之后将当前code_group状态机的结果锁存到code_group状态锁存器3。
6.根据权利要求5所述的QSGMII PCS发送方向状态机时分复用的架构的控制***,其特征在于,
所述数据处理模块还用于:
将在第1n个时钟周期内code_group状态机处理后的数据替换为***预设代码后,进行编码输出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510672692.9A CN105391508B (zh) | 2015-10-15 | 2015-10-15 | Qsgmii pcs发送方向状态机时分复用的架构、其控制方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510672692.9A CN105391508B (zh) | 2015-10-15 | 2015-10-15 | Qsgmii pcs发送方向状态机时分复用的架构、其控制方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105391508A CN105391508A (zh) | 2016-03-09 |
CN105391508B true CN105391508B (zh) | 2018-01-05 |
Family
ID=55423376
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510672692.9A Active CN105391508B (zh) | 2015-10-15 | 2015-10-15 | Qsgmii pcs发送方向状态机时分复用的架构、其控制方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105391508B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106375077A (zh) * | 2016-08-29 | 2017-02-01 | 宁波三星医疗电气股份有限公司 | Si4463芯片采用gpio模式实现数据传输的方法 |
CN108111449B (zh) * | 2016-11-25 | 2020-12-29 | 深圳市中兴微电子技术有限公司 | 一种数据处理方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN2886921Y (zh) * | 2005-12-06 | 2007-04-04 | 东南大学 | 多通道无失配时钟控制装置 |
CN2896368Y (zh) * | 2006-04-17 | 2007-05-02 | 四川大学 | 基于PXI/CompactPCI总线的多通道数据同步采集卡 |
CN102255683A (zh) * | 2011-07-08 | 2011-11-23 | 电子科技大学 | 一种用于高速光时分复用***的时钟恢复方法 |
CN103472438A (zh) * | 2013-09-24 | 2013-12-25 | 上海无线电设备研究所 | 多通道信号脉压时分复用装置 |
-
2015
- 2015-10-15 CN CN201510672692.9A patent/CN105391508B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN2886921Y (zh) * | 2005-12-06 | 2007-04-04 | 东南大学 | 多通道无失配时钟控制装置 |
CN2896368Y (zh) * | 2006-04-17 | 2007-05-02 | 四川大学 | 基于PXI/CompactPCI总线的多通道数据同步采集卡 |
CN102255683A (zh) * | 2011-07-08 | 2011-11-23 | 电子科技大学 | 一种用于高速光时分复用***的时钟恢复方法 |
CN103472438A (zh) * | 2013-09-24 | 2013-12-25 | 上海无线电设备研究所 | 多通道信号脉压时分复用装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105391508A (zh) | 2016-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11444798B2 (en) | Methods and apparatus for configuring a flex ethernet node | |
CN109150361B (zh) | 一种传输网络***、数据交换和传输方法、装置及设备 | |
CN103281252B (zh) | 一种基于多路径传输的报文流量控制方法和装置 | |
CN109495519B (zh) | 物理编码电路及高速接口协议交换芯片 | |
CN107682217A (zh) | 以太网信号调度方法、装置和*** | |
AU2003287964A1 (en) | Methods, interface unit and nodes for using in parallel a communication network for real-time applications and non real-time applications | |
CN105009540A (zh) | 一种加扰方法及加扰装置 | |
CN103530245B (zh) | 一种基于fpga的srio互联交换装置 | |
CN103916909A (zh) | 基带池*** | |
WO2019090696A1 (zh) | 光传输单元信号的传输方法和装置 | |
CN105391508B (zh) | Qsgmii pcs发送方向状态机时分复用的架构、其控制方法及*** | |
CN105516288B (zh) | 采用单根Serdes扩展物理接口的装置、其控制方法及控制*** | |
CN108809642A (zh) | 一种基于fpga的多通道数据万兆加密认证高速传输实现方法 | |
CN107957967A (zh) | 经高速串行链路的配置 | |
CN105024948A (zh) | 一种基于芯片的数据传输方法、装置及*** | |
CN108023743A (zh) | 一种端口的自协商方法和设备 | |
CN108134650A (zh) | 一种物理层电路 | |
CN104038851A (zh) | 用于最低阶光学数据单元的子速率映射 | |
CN105530205A (zh) | 一种微波设备汇聚的装置和方法 | |
WO2018196833A1 (zh) | 报文发送方法和报文接收方法及装置 | |
CN102857436A (zh) | 一种基于irf网络的流量传输方法和设备 | |
CN104917704B (zh) | 同一架构中复用10GBase‑R PCS和40GBase‑R PCS的方法及*** | |
CN106713149A (zh) | 路由器的子卡和线卡板 | |
CN106506118B (zh) | Usxgmii多通道ipg精确补偿的方法及*** | |
CN101729207B (zh) | 一种信令采集方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address |
Address after: 215000 unit 13 / 16, 4th floor, building B, No.5 Xinghan street, Suzhou Industrial Park, Jiangsu Province Patentee after: Suzhou Shengke Communication Co.,Ltd. Address before: Xinghan Street Industrial Park of Suzhou city in Jiangsu province 215021 B No. 5 Building 4 floor 13/16 unit Patentee before: CENTEC NETWORKS (SU ZHOU) Co.,Ltd. |
|
CP03 | Change of name, title or address |