一种片间高速互联的链路层设计方法和系统的制作方法_4

文档序号:8447522阅读:来源:国知局
提高数据传输的效率。而后链路层传输??榻ǖ狼趾蟮氖荽渲列椴?,从而完成数据的传输。芯片可以将进入协议层的数据传输至芯片内部的CPUCORE中进行运算处理。
[0074]芯片除了接收另一芯片传输的数据之外,也需要发送数据至其他芯片,从而实现数据的共享交互。如图4所示,为本发明另一实施例所述的实现片间高速互联的链路层设计方法的流程图。芯片在发送数据至其他芯片时,具体包括如下步骤:
[0075]首先进入步骤S301链路训练??榻辛绰费盗?,同步不同芯片之间的PCS层。链路训练可以通过以下方式进行:例如需要同步芯片A和芯片B的PCS层,芯片A中的链路训练??榛嵯蛐酒珺中的链路训练??榉⑺鸵欢窝盗芳蛄?,所述训练集序列为进行链路训练的一组随机测试数据,可以是字符串等。当芯片B的链路训练??槭盏叫酒珹发送的训练序列集后,会作出相应反馈,例如芯片B可以发送反馈信息至芯片A的链路训练???,从而保证芯片A和芯片B之间在进行数据传输过程中是同步的,排除芯片A不断发出数据而芯片B却未能收到A发出数据的故障可能。
[0076]而后进入步骤S401协议包通道管理??槎孕椴惴⑺偷氖萁型ǖ狼止芾?。数据在进行通道区分前,往往数据容量较大,容易影响数据传输时的速度,因而对数据进行区分通道管理,使得不同数据可以在对应的通道中传输,不仅可以使得数据传输有序进行,同时可以提高数据传输的效率。
[0077]而后进入步骤S402数据校验??榧觳馐菔欠裾?,在本实施方式中,数据校验??榧觳馐菔欠裾凡捎肅RC校验,CRC即循环冗余校验码(Cyclic RedundancyCheck),是数据通信领域中最常用的一种差错校验码,其特征是信息字段和校验字段的长度可以任意选定。CRC校验(循环冗余检查)是一种数据传输检错功能,对数据进行多项式计算,并将得到的结果附在帧的后面,接收设备也执行类似的算法,以保证数据传输的正确性和完整性。例如可以另一芯片在传输数据前在数据的信息字段后加入校验字段,形成处理后的数据,当芯片收到上述处理后的数据,会采用相应的算法剔除检验字段,剥离出处理后的数据中的信息字段并与原信息字段进行比较,如果一致则说明数据正确,如果不一致则说明数据错误。例如,某一芯片发送的数据包含有20Bit的信息字段,在将该数据发送至另一芯片前,可以在该数据信息字段末尾添加SBit的校验字段,形成处理后的数据字段,当另一芯片接收该处理后的数据字段后,会采用相应的算法剥离该处理后的数据字段末尾的Sbit数据,将剩下20Bit的数据所包括的信息与原有20Bit的信息字段,若两者一致则说明该数据为正确数据,若不一致则说明该数据错误。
[0078]对于校验错误的数据,可以选择将数据丢弃。而对于数据校验??樾Q檎返氖?,可以进入步骤S403数据加扰??槎允萁屑尤?,数据编码??槎允萁斜嗦?。为了保证数据传输的安全性,通常在数据传输前会对数据进行编码和加扰处理,所述数据包括SBit和1Bit的数据,加扰处理可以采用加扰算法来进行,加扰算法是使用一个伪随机码序列与编码数据进行相乘,完成对数据进行加密。数据编码??榭梢远约尤藕蟮氖萁斜嗦?,增强数据在传输过程中的安全性。
[0079]由于不同芯片之间是通过PMA物理介质子层进行连接的,因而在进行数据交互前,需要通过接口控制??槭沟肞CS层与PMA物理介质子层的接口建立连接。接口控制??榭刂芇CS层与PMA物理介质子层的接口建立连接后,就可以进入步骤S404PCS层传输??榻嗦牒蟮氖萃ü齈MA物理介质子层发送至另一芯片。另一芯片接收编码后的数据后,就可以作进一步操作。
[0080]在本实施方式中,所述PMA物理介质子层包括高速serdes,所述高速serdes的数量为一条以上。使用高速serdes进行不同芯片间连接,不仅使芯片可以快速捕捉到数据传输时的信号,同时还可以使得数据的传输更加高效、快速。
[0081]在本实施方式中,所述PCS层逻辑电路还包括数据加密??楹褪萁饷苣??。所述数据加密??橛糜诙允萁屑用?;所述数据解密??橛糜诙允萁薪饷?。数据在传输至PCS层逻辑电路时,数据加密??榭梢圆捎眉用芩惴ǘ允萁屑用?,当另一芯片接收该加密数据时,另一芯片上的数据解密??榭梢圆捎糜爰用芩惴ㄏ喽杂Φ慕饷芩惴ǘ允萁薪饷?;或者,数据在另一芯片的数据加密??榻屑用芎?,当PCS层逻辑电路接收到该加密的数据后,会采用与加密算法相对应的解密算法对数据进行解密。通过对数据传输过程中进行加密和解密的设置,大大提高了数据传输的安全性。
[0082]在本实施方式中,所述链路层逻辑电路还包括重传控制???。因而在数据校验??榧觳馐莶徽?,将数据丢弃后,还可以进入步骤S306重传控制??樵谑菪Q槟?榧觳獾绞荽湟斐J狈⒊鍪葜卮肭?,或者,进入步骤S405重传控制??樵诮邮盏绞葜卮肭蠛?,对数据进行备份并再次传输。所述数据传输异常包括数据被丢弃、数据传输错误、数据传输超时、逻辑电路断开等异常状况。当芯片在接收另一芯片传输的数据时,如果遇到数据传输异常,将导致芯片迟迟收不到另一芯片所发出的数据,这有可能是数据传输延迟或者逻辑电路本身存在问题等因素造成的,此时芯片链路层逻辑电路中的重传控制??榭梢韵蛄硪恍酒⑵鹗葜卮肭?,而另一芯片中的重传控制??樵诮邮盏绞葜卮肭蠛?,将对传输的数据进行备份并再次传输数据。另一芯片的重传控制??樵诮邮盏绞葜卮肭笄?,仍在向芯片传输数据,而一旦没有对数据进行备份,则会导致数据丢失,因而需要对数据进行保存备份。同理可得,当芯片是作为发送端,发送数据到另一芯片时,则另一芯片在检测到数据异常时会向芯片发出数据重传请求,芯片中的重传控制??樵诮邮盏街卮刂魄肭蠛?,会对数据进行备份并再次传输。通过发送数据重传请求,可以便于判断分析数据传输异常的原因,进而检测人员可以采取相应措施加以解决。
[0083]在本实施方式中,所述链路层逻辑电路还包括中断请求???。所述中断请求??橛糜谠谥卮刂颇?榉⒊龅氖葜卮肭蟠问ど桡兄岛?,发起数据中断请求。例如芯片A向芯片B传输数据,当遇到数据传输异常情况时,芯片B的重传控制??榛嵯蛐酒珹发起数据重传请求,而芯片A在接收到芯片B发送的数据重传请求后,会重新向芯片B发送数据。但重新发送的数据还是有可能遇到数据传输异常的状况,因而芯片B的重传控制??榛嵩俅蜗蛐酒珹发起数据重传请求。当芯片B向A发起的数据重传次数过多(超过预设阈值)时,则往往说明芯片A和芯片B之间的交互存在故障,因而会发起数据中断数据请求,芯片A暂时停止再向芯片B发送数据,检测人员可以通过再次测试芯片A和芯片B,分析判断数据传输不成功的原因所在,进而采取相应措施加以解决。
[0084]上述技术方案所述的一种实现片间高速互联的链路层方法和系统,所述系统包括多个芯片,所述芯片包括链路层逻辑电路和PCS层逻辑电路;所述链路层逻辑电路包括数据校验???,协议包通道管理???,链路层传输???;所述PCS层逻辑电路包括链路训练???,PCS层传输???,接口控制???,数据编码???,数据解码???,数据加扰??楹褪萁馊拍??;所述链路层逻辑电路与PCS层逻辑电路连接;所述方法包括以下步骤:首先链路训练??榻辛绰费盗?,同步不同芯片之间的PCS层;而后接口控制??榭刂芇CS层与PMA物理介质子层的接口连接,PCS层传输??榻邮樟硪恍酒氖?,所述另一芯片数据为另一芯片通过PMA物理介质子层发送至PCS层传输??榈氖?;而后数据解码??槎允萁薪饴?,数据解扰??槎允萁薪馊?;而后数据校验??榧觳馐菔欠裾?,若数据正确则协议包通道管理??槎允萁型ǖ狼止芾?,链路层传输??榻ǖ狼趾蟮氖荽渲列椴?;若数据不正确则将该数据丢弃;或者,所述方法包括以下步骤:首先链路训练??榻辛绰费盗?,同步不同芯片之间的PCS层;而后协议包通道管理??槎孕椴惴⑺偷氖萁型ǖ狼止芾?;而后数据校验??榧觳馐菔欠裾?,若数据正确则据加扰??槎允萁屑尤?,数据编码??槎允萁斜嗦?;若数据不正确则将该数据丢弃;而后接口控制??榭刂芇CS层与PMA物理介质子层的接口连接,PCS层传输??榻嗦牒蟮氖萃ü齈MA物理介质子层发送至另一芯片。上述设计方法和系统不仅提供了一种多芯片之间片间高速互联的链路层的整体架构,同时可以实现个芯片之间快速进行数据交互,大大提升了数据传输处理的效率,因而在集成电路设计领域具有广阔的市场前景。
[0085]需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1
imtoken助记词怎么填-imtoken钱包没有收益-imtoken矿工费太贵了-im钱包官网:token.im