一种高速高可靠的片上网络适配单元的制作方法

文档序号:9600791阅读:245来源:国知局
一种高速高可靠的片上网络适配单元的制作方法
【技术领域】
[0001] 本发明涉及适用于通信速率及可靠性要求高的片上网络芯片等大规模集成电路, 特别是一种高速高可靠的片上网络适配单元。
【背景技术】
[0002] 随着片上系统设计复杂度及工艺集成度的提高,传统的片上共享总线体系结构由 于全局同步、线延时、信号完整性、可扩展性等原因成为系统性能提升的瓶颈,而基于包交 换技术的片上网络被认为是解决上述问题的可行方案。片上网络主要由计算资源节点、网 络适配单元和路由器组成。在系统中,网络适配单元是完成计算资源节点与路由器连接通 信服务的关键组件,其性能直接影响到系统并行处理能力、高带宽数据传输特性的发挥。
[0003] 在传统的片上网络适配单元设计中,计算资源节点通常采用10读写的方式与网 络适配单元进行数据交互,数据通信速率低,不利于系统并行性的发挥,无法有效满足片上 网络中异步时钟域间的数据高速传输要求,在诸如航天等有高可靠性要求的应用领域,网 络适配单元应能提供端到端的可靠通信。但是传统的片上网络适配单元可靠性设计比较单 一,主要采用结构冗余方式,这种方式虽在一定程度上提高了通信可靠性,但并未对数据传 输的正确性以及异步时钟域的亚稳态等影响通信可靠性的问题进行充分考虑。

【发明内容】

[0004] 本发明解决的技术问题是:克服现有技术的不足,提供了一种通过采用DMA控制 +地址描述符表+异步先入先出队列方法解决了异步时钟域间任意长度数据包高速传输瓶 颈问题的高速高可靠的片上网络适配单元。
[0005] 本发明的技术解决方案是:一种高速高可靠的片上网络适配单元,包括资源接口 模块、DMA控制模块、数据同步模块、网络接口模块,其中
[0006] 资源接口模块,接收片上计算资源节点产生的接收功能指令后,进行接收使能,接 收片上计算资源节点产生的发送功能指令后,进行发送使能;
[0007] DMA控制模块,当进行接收使能时,读取接收描述符表,如果接收描述符表中接收 缓冲区起始地址为合法的存储地址且计算资源节点中接收缓冲区不满时,产生并发送读请 求信号至数据同步模块并更新接收描述符表中接收缓冲区存储状态,当数据同步模块中第 一接收先入先出队列不满时,产生第一接收先入先出队列不满信号至网络接口模块,否则 控制资源接口模块重新接收片上计算资源节点产生的接收功能指令,当第一接收先入先出 队列不为空时,控制第一接收先入先出队列将数据依次送至计算资源节点中接收缓冲区; 当进行发送使能时,读取发送描述符表,如果发送描述符表中发送缓冲区起始地址为合法 的存储地址且发送缓冲区不为空时,产生并发送写请求信号至数据同步模块并更新发送描 述符表中当前发送缓冲区存储状态,当数据同步模块中第一发送先入先出队列不为空时, 产生第一发送先入先出队列不为空信号并送至网络接口模块,当第一发送先入先出队列不 满时,控制第一发送先入先出队列从计算资源节点中发送缓冲区读取数据,否则控制资源 接口模块重新接收片上计算资源节点产生的发送功能指令;所述的发送描述符表包括128 个发送描述符,每个发送描述符由发送缓冲区状态、发送缓冲区起始地址组成,其中,发送 缓冲区状态指计算资源节点中当前发送缓冲区的存储状态,发送缓冲区起始地址为该缓冲 区的首地址;所述的接收描述符表包括128个接收描述符,每个接收描述符由接收缓冲区 状态、接收缓冲区起始地址组成,其中,接收缓冲区状态指计算资源节点中当前接收缓冲区 的存储状态,接收缓冲区起始地址为该缓冲区的首地址;
[0008] 数据同步模块,包括第一发送先入先出队列、第一接收先入先出队列;第一接收先 入先出队列,接收DMA控制模块的读请求信号,如果第一接收先入先出队列不满,则允许网 络接口模块写入网络数据包中数据,否则不允许网络接口模块数据写入数据,当第一接收 先入先出队列不为空时,将第一接收先入先出队列中数据依次送至计算资源节点中接收缓 冲区;
[0009] 第一发送先入先出队列,接收DMA控制模块的写请求信号,如果第一发送先入先 出队列不满,则从计算资源节点中发送缓冲区读取数据,否则不从计算资源节点中发送缓 冲区读取数据,当第一发送先入先出队列不为空信号时,允许网络接口模块依次读取数 据;
[0010] 网络接口模块,接收网络数据包后进行校验,当校验通过且接收到第一接收先入 先出队列不满信号时,将网络数据包送至数据同步模块并写入第一接收先入先出队列,否 则重新接收网络数据包;当接收到第一发送先入先出队列不为空信号时,从数据同步模块 中读取数据后按照网络数据包格式进行封装,并将网络数据包发送至片上路由器。
[0011] 所述的DMA控制模块包括控制寄存器、状态寄存器、发送描述符表地址寄存器、接 收描述符表地址寄存器,其中
[0012] 当进行接收使能时,控制寄存器从接收描述符表地址寄存器中读取接收描述符 表,如果接收描述符表中接收缓冲区起始地址为合法的存储地址且接收缓冲区不满时,产 生并发送读请求信号至数据同步模块并更新接收描述符表中接收缓冲区存储状态,状态寄 存器监测接收过程,当数据同步模块中第一接收先入先出队列不满时,产生第一接收先入 先出队列不满信号至网络接口模块,当第一接收先入先出队列不为空时,控制第一接收先 入先出队列将数据依次送至计算资源节点中接收缓冲区,如果接收描述符表中接收缓冲区 起始地址为不合法的存储地址或计算资源节点中接收缓冲区已满,则控制寄存器控制资源 接口模块重新接收片上计算资源节点产生的接收功能指令;
[0013] 当进行发送使能时,控制寄存器从发送描述符表地址寄存器中读取发送描述符 表,如果发送描述符表中发送缓冲区起始地址为合法的存储地址且发送缓冲区不为空时, 产生并发送写请求信号至数据同步模块并更新发送描述符表中当前发送缓冲区存储状态, 状态寄存器监测发送过程,当数据同步模块中第一发送先入先出队列不为空时,产生第一 发送先入先出队列不为空信号并送至网络接口模块,当第一发送先入先出队列不满时,控 制第一发送先入先出队列从计算资源节点中发送缓冲区读取数据,如果发送描述符表中发 送缓冲区起始地址为不合法的存储地址或发送缓冲区已满,则控制寄存器控制资源接口模 块重新接收片上计算资源节点产生的发送功能指令。
[0014] 所述的网络接口模块包括接收单元、发送单元,第二接收先入先出队列单元、第二 发送先入先出队列单元,其中:
[0015] 第二接收先入先出队列单元,接收网络数据包后进行缓存后送至接收单元,当接 收到第一接收先入先出队列不满信号时,将校验后的网络数据包送至数据同步模块并写入 第一接收先入先出队列;
[0016] 接收单元,接收网络数据包后进行校验,如果校验通过且当第二接收先入先出队 列不满时,则将网络数据包写入第二接收先入先出队列;
[0017] 第二发送先入先出队列单元,当接收到第一发送先入先出队列不为空信号时,从 数据同步模块的第一发送先入先出队列读取数据并缓存;
[0018] 发送单元,从第二发送先入先出队列单元中读取数据后按照网络数据包格式进行 封装,并将网络数据包送至片上路由器。
[0019] 所述的校验包括格式校验、奇偶校验。
[0020] 所述的第一发送先入先出队列、第一接收先入先出队列、第二接收先入先出队列 或第二发送先入先出队列为双端口RAM。
[0021] 本发明与现有技术相比的优点在于:
[0022] (1)本发明片上网络适配单元采用DMA控制+地址描述符表+异步先入先出队列 的高速设计方案,解决了异步时钟域间任意长度数据包高速传输的瓶颈问题,提高了系统 实时性。与采用10访问模式的网络适配单元相比,其通信性能提升约63.53% ;
[0023] (2)本发明片上网络适配单元具有数据错误、非法字符、数据包异常终止、链路状 态异常等故障检测与恢复能力,同时具有较短的故障恢复时间;
[0024] (3)本发明片上网络适配单元包含两个网络接口模块,这种双冗余网络接口设计, 提高了片上系统中计算资源节点与通信网络的连接度,提高了系统整体通信可靠性。与没 有进行容错设计的网络适配单元相比,避免丢包的概率大约提升1. 83倍。
【附图说明】
[0025] 图1为本发明一种高速高可靠的片上网络适配单元的整体结构图;
[0026] 图2为本发明一种高速高可靠的片上网络适配单元的数据接收过程状态转移过 程;
[0027] 图3为本发明一种高速高可靠的片上网络适配单元的数据发送过程状态转移过 程;
[0028] 图4为本发明一种高速高可靠的片上网络适配单元中DMA数据接收、发送地址描 述符和数据缓冲区关系示意图;
[0029] 图5为本发明一种高速高可靠的片上网络适配单元中异步先入先出队列结构示 意图;
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1