一种单芯片异步通信接口的制作方法

文档序号:7636946阅读:300来源:国知局
专利名称:一种单芯片异步通信接口的制作方法
技术领域
本发明涉及集成电路领域,尤其涉及一种单芯片异步通信接口。
背景技术
随着集成电路工艺技术的不断进步,在深亚微米工艺节点下,集成电路设计方法学进入基于IP (Intellectual Property core,内核模块)核复用技术的片上系统(SOC, System On A Chip,系统级芯片)芯片设计。在SOC设计中,IP核间的互联结构是实现IP核可重用性和系统可扩展性的关键, 也是加速复杂和大型SOC设计和测试的关键。如图1示,采用专用直连线实现核间通信导致大量的互连引脚、较长的路由时间、较大的路由面积和不可扩展的系统,很少有设计采用这种方式;目前最常用的基于总线互连的核间通信结构,由于其减少的互连引脚、简化的布线资源以及较高的可扩展性而受到人们推崇,但是由于其共享的总线带宽而无法满足大规模系统的性能需求。同时,单芯片内IP核的数量和规模越来越大,伴随着不同类型存储器模块的使用,大型高性能数字系统设计中,同步设计方法遇到的问题也越来越多。时钟频率由于受到最大延迟操作的影响,不利于提高芯片的工作频率;系统时钟的分布也越来越复杂,不利于同步设计和多时钟设计的实现;芯片内部工作频率达到GHz以上时,时钟漂移和互连线延迟对时钟分布的影响也不容忽视;出于低功耗的考量,对于无效时钟操作的能量管理也十分必要。为解决上述问题,众多研究者提出基于异步交换网络的全局异步局部同步(GALS, Global Asynchronous Local Synchronous)工作模式的SOC芯片设计,又被称为片上网络 (N0C,Networks-on-Chip)芯片。片上网络可以提供理论上无限的可扩展性,还提供了标准化以及通信基础结构可重用的可能性,是未来大型数字系统芯片的发展方向。为实现片上网络中不同IP核之间的通信,同时满足IP核的可重用性,在连接到异步交换网络之前,需要对IP核进行接口设计或者包装,此接口设计需要满足异步通信网络之间的数据同步和传输。

发明内容
本发明要解决的主要技术问题是,提供一种单芯片异步通信接口及单芯片异步通信方法,能够满足异步通信网络之间的数据同步和传输,从而可用于基于异步通信的片上网络中不同IP核之间的互连。为解决上述技术问题,本发明采用的技术手段如下一种单芯片异步通信接口,包括时钟模块、同步块、输入输出控制器,所述时钟模块与所述同步块相连,用于向所述同步块提供时钟信号;所述输入输出控制器与所述时钟模块和所述同步块相连,用于同外部网络进行异步握手通信,并产生控制信号控制数据输入所述同步块,以及经过所述同步块处理后的数据的输出,同时控制所述时钟模块的启停;所述同步块用于根据所述控制信号和时钟信号,对输入的数据进行同步和处理,并将处理后的数据进行同步并输出。进一步地,所述输入输出控制器包括与所述时钟模块和同步模块相连的输入控制器和输出控制器,所述输入控制器用于从外部网络接收数据,判断该数据是否有效,如是, 则检查并保存所述数据的选择信息,并根据所述选择信息产生输入控制信号,控制所述数据输入所述同步块,同时开启所述时钟模块;所述输出控制器用于根据所述选择信息生成输出控制信号,控制所述同步块输出经过处理后的数据,并发送到外部网络,同时关闭所述时钟模块。进一步地,所述同步块包括功能子模块、功能子模块接口和数据同步接口,所述数据同步接口与所述时钟模块、输入输出控制器和功能子模块接口相连,用于在所述时钟信号的驱动下,接收所述外部网络的数据,再根据所述控制信号,将所接收的数据进行保存, 以及接收由所述功能子模块接口发送来的数据并保存,再根据所述控制信号,将存储的数据输出至所述外部网络;所述功能子模块接口与所述功能子模块和时钟模块相连,用于在所述时钟信号的驱动下,读取存储在所述数据同步接口中存储的数据,并进行解包处理,再发送给所述功能子模块,以及用于接收经过所述功能子模块处理的数据,并进行打包处理, 再发送给所述数据同步接口 ;所述功能子模块与所述时钟模块相连,用于在所述时钟信号的驱动下,对经过解包后的数据进行处理,并将处理后的数据发送给所述功能子模块接口。进一步地,所述数据同步接口包括输入先入先出存储器、输出先入先出存储器、旁路先入先出存储器和端口子模块;所述端口子模块与所述输入先入先出存储器、输出先入先出存储器、旁路先入先出存储器、输入控制器和输出控制器相连,用于根据所述控制信号,将接收的外部网络的数据分发给相应的所述输入先入先出存储器,或者旁路先入先出存储器,以及用于根据所述控制信号,读取所述输出先入先出存储器或者旁路先入先出存储器中存储的数据,并发送至外部网络;所述输入先入先出存储器与所述功能子模块接口相连,用于存储所述端口子模块分发来的数据;所述输出先入先出存储器与所述功能子模块接口相连,用于存储所述功能子模块接口发送来的数据;所述旁路先入先出存储器用于存储所述端口子模块分发来的输入数据。进一步地,所述数据同步接口为多层数据同步接口,所述输入输出控制器为多个, 且每一层所述数据同步接口与一个输入输出控制器相连,所述同步块还包括与所述多层数据同步接口和功能子模块接口相连的路由器和多选器,所述多选器用于当所述输入输出控制器控制所述多层数据同步接口写入数据后,轮询读取所述多层数据同步接口的输入先入先出存储器中存储的数据,并将当前读取的数据发送至所述功能子模块接口 ;所述功能子模块接口则用于接收所述当前读取的数据,并进行解包后发送给所述功能子模块,以及用于将经过所述功能子模块处理后所述当前读取的数据进行打包后,发送给所述路由器;所述功能子模块则用于处理解包后的所述当前读取的数据,并发送给所述功能子模块接口 ; 所述路由器用于接收所述功能子模块接口发送来的经过处理的所述当前读取的数据,并将其发送给对应层的数据同步接口中进行存储;所述数据同步接口中,所述当前读取的数据对应层的数据同步接口,用于根据其对应的输入输出控制器的控制信号,将经过处理的所述当前读取数据发送至外部网络,其它层的所述数据同步接口用于根据其对应层的输入输出控制器的控制信号,直接将其内部存储的未经过处理的数据发送至外部网络。
进一步地,所述多层数据同步接口包括与所述时钟模块相连的多层端口子模块, 多个输入先入先出存储器,多个输出先入先出存储器和多个旁路先入先出存储器,每一层所述端口子模块与一个输入先入先出存储器、一个输出先入先出存储器和一个旁路先入先出存储器相连,且与一个输入控制器和一个输出控制器相连,所述多层端口子模块用于在时钟信号的驱动下,根据对应层的所述控制信号,将输入数据分发并存储在对应层的所述输入先入先出存储器,或者旁路先入先出存储器,并且,由所述当前读取的数据对应层数据同步接口中的所述端口子模块,用于将其对应的输出先入先出存储器中存储的经过处理的当前读取数据输出至外部网络,其它层数据同步接口中的所述端子模块,用于将其对应的旁路输入输出存储器中存储的未经过处理的数据输出至外部网络。进一步地,所述端口子模块包括多路选择器和多路分发器,所述多路分发器与所述输入输出控制器、时钟模块和输入先入先出存储器、旁路先入先出存储器相连,用于在时钟信号的驱动下,根据所述控制信号将输入数据分发给对应的所述输入先进先出存储器, 或者旁路先入先出存储器;所述多路选择器与所述输入输出控制器、时钟模块和输出先入先出存储器、旁路先入先出存储器相连,用于在时钟信号的驱动下,根据所述控制信号,选择所述输出先入先出存储器中存储的经过功能子模块处理后的数据,或者所述旁路先入先出存储器中的数据,并读取、输出至外部网络。一种单芯片异步通信方法,包括输入输出控制器与外部网络进行异步通信握手,并生成控制信号,发送至同步块和时钟模块;开启时钟模块,并向所述同步模块提供时钟信号;所述同步模块在所述时钟信号的驱动下,根据所述控制信号,从外部网络接收数据,并对所述数据进行同步、处理;将经过处理的数据进行同步,再根据所述控制信号将所述处理过的数据输出至外部网络;关闭所述时钟模块。进一步地,所述输入输出控制器包括与外部网络、时钟模块和同步块相连的输入控制器和输出控制器所述输入输出控制器与外部网络进行异步通信握手,并生成控制信号,发送至同步块和时钟模块的步骤包括所述输入控制器接收所述外部网络的数据,判断所述数据是否有效,如是则检查所述数据的地址信号,并根据所述地址信号生成相应的选择信息,并保存;根据所述选择信息生成输入控制信号,并发送给所述同步块和时钟模块;当所述同步块将经过的数据处理同步后,所述输出控制器根据所述选择信息生成输出控制信号,并发送给所述同步块和时钟模块。进一步地,所述同步块包括与所述时钟模块相连的功能子模块、功能子模块接口和数据同步接口,所述功能子模块接口与所述功能子模块和数据同步接口相连,所述数据同步接口与所述输入输出控制器相连;所述同步块在所述时钟信号的驱动下,根据所述控制信号,从外部网络接收数据, 并对所述数据进行同步、处理的步骤包括
所述数据同步接口在时钟信号的驱动下,接收所述外部网络的数据,并根据所述控制信号,对接收的数据进行保存;所述功能子模块接口读取所述数据同步接口中存储的数据,对其进行解包后,发送给所述功能子模块;所述功能子模块处理经过解包后的数据,并将处理后的数据发送给所述功能子模块接口 ;所述同步块将处理后的数据进行同步,再发送至所述外部网络的步骤包括所述功能子模块接口打包所述处理后的数据,并将打包后的数据发送给所述数据同步接口 ;所述数据同步接口存储经过所述功能子模块打包后的数据,并根据所述控制信号输出所存储的数据至外部网络。进一步地,所述数据同步接口包括与所述输入输出控制器和所述时钟模块相连的输入先入先出存储器、输出先入先出存储器、旁路先入先出存储器和端口子模块所述数据同步接口在时钟信号的驱动下,接收所述外部网络的数据,并根据所述控制信号,对接收的数据进行保存的步骤包括所述端口子模块在时钟信号的驱动下,接收所述外部网络的数据;根据所述控制信号,将输入的数据分发给相应的输入先入先出存储器或者旁路先入先出存储器进行存储;所述数据同步接口将经过所述功能子模块打包后的数据进行存储,并根据所述控制信号将所述数据发送至外部网络的步骤包括所述输出先入先出存储器接收所述功能子模块接口发送来的打包后的数据,并存储;所述端口子模块根据所述控制信号,读取所述输出先入先出存储器内存储的打包后的数据或者旁路先入先出存储器内存储的数据,并发送至外部网络。 进一步地,所述数据同步接口为多层数据同步接口,所述输入输出控制器为多个, 每层所述数据同步接口对应与一个输入输出控制器相连,所述同步块还包括与所述多层数据同步接口和功能子模块接口相连的路由器和多选器所述数据同步接口在时钟信号的驱动下,接收所述外部网络的数据,并根据所述控制信号,对接收的数据进行保存的步骤包括所述多层数据同步接口在时钟信号的驱动下,接收所述外部网络的数据,并根据对应层的输入输出控制器输出的所述控制信号,对接收的数据进行保存;所述功能子模块接口读取所述数据同步接口中存储的数据,对其进行解包后,发送给所述功能子模块的步骤包括所述多选器轮询读取所述多层数据同步接口中存储的数据,并将当前读取的数据发送至所述功能子模块接口;所述功能子模块接口接收所述当前读取的数据,对其进行解包后,发送给所述功能子模块;所述功能子模块处理经过解包后的数据,并将处理后的数据发送给所述功能子模块接口的步骤包括
所述功能子模块对解包后的所述当前读取的数据进行处理,并将处理后的所述当前读取的数据发送给所述功能子模块接口;所述功能子模块接口对所述处理后的数据进行打包,并将打包后的数据发送给所述数据同步接口的步骤包括所述功能子模块接口对处理后的所述当前读取的数据进行打包,并将打包后的数据发送给所述路由器;所述路由器则将打包后的数据发送给所述当前读取数据对应层的数据同步接 Π ;所述数据同步接口将经过所述功能子模块接口打包后的数据进行存储,并根据所述控制信号将存储的数据发送至外部网络的步骤包括所述当前读取的数据对应层的数据同步接口,根据其对应的输入输出控制器输出的控制信号,将内部存储的经过处理的所述当前读取数据输出至外部网络;其他层的数据同步接口,根据其对应的输入输出控制器输出的控制信号,将存储的未经过处理的数据输出至外部网络。进一步地,所述多层数据同步接口包括与所述时钟模块相连的多层端口子模块, 多个输入先入先出存储器,多个输出先入先出存储器和多个旁路先入先出存储器,每一层所述端口子模块与一个输入先入先出存储器、一个输出先入先出存储器和一个旁路先入先出存储器相连,所述输入输出控制为多个,每个输入输出控制器与一层所述端口子模块相连所述多选器轮询读取所述多层数据同步接口中存储的数据,并将当前读取的数据发送至所述功能子模块接口的步骤包括所述多选器轮询读取所述多层端口子模块对应的多个输入先入先出存储器中存储的数据,并将当前读取的数据发送至所述功能子模块接口 ;所述路由器则将打包后的数据发送给所述当前读取的数据对应层的数据同步接口的步骤包括所述路由器将打包后的数据发送给所述当前读取的数据对应层数据同步接口对应的输出先入先出存储器;所述当前读取的数据对应层的数据同步接口,根据其对应的输入输出控制器输出的控制信号,将内部存储的经过处理的所述当前读取数据输出至外部网络的步骤包括所述多选器当前读取的一层数据同步接口对应的一层端口子模块,读取其对应的输出先入先出存储器中存储的,经过处理的数据,并输出至外部网络;其他层所述数据同步接口,根据其对应的输入输出控制器输出的控制信号,将存储的未经过处理的数据输出至外部网络的步骤包括其它层数据同步接口对应的所述端口子模块,读取各层端口子模块对应的旁路输入输出存储器中存储的未经过处理的数据,并输出至外部网络。本发明的有益效果是本发明的单芯片异步通信接口包括时钟模块、输入输出控制器和同步模块,其中输入输出控制器用于与外部异步网络进行异步握手通信,并产生控制信号控制时钟模块的启停,以及数据输入输出该同步模块,时钟模块用于向同步模块提供时钟信号,同步模块用于根据该控制信号和时钟信号,对输入的数据进行同步和处理,并将处理后的数据进行同步,再由输入输出控制器输出到外部异步网络。本发明的单芯片异步通信接口通过同步块在时钟的驱动下,根据输入输出控制器的控制信号完成对输入的外部网络数据的同步和处理,并将处理后的数据输出至外部网络,从而满足了异步通信网络之间的数据同步和传输,进而实现网络中不同IP核之间的互连。本发明的单芯片通信接口的数据同步接口为多层数据同步接口,且每一层数据同步接口对应一个输入输出控制器,所述同步块还包括与该多层数据同步接口相连的多选器和路由器,其中多层数据同步接口与多维外部网络连接,用接收外部网络的数据;多选器用于轮询地读取该多层数据同步接口中的数据,并发送给功能子模块接口,功能子模块接口则用于接收多选器当前读取的数据,并将其解包后,发送给功能子模块,以及接收经过功能子模块处理后的数据,并进行打包,将打包后的数据发送给路由器;路由器则用于接收经过打包后的数据,并将其发送给该当前读取的数据对应层的数据同步接口进行存储;当前读取的数据对应层数据同步接口用于根据其对应的输入输出控制器的控制信息,将接收的所述经过打包和处理后的数据发送至外部异步网络,其它层数据同步接口用于根据其对应层的输入输出控制器的控制信息,直接将其内部存储的未经过处理的数据发送至外部网络。 本发明通过该多层数据同步接口接收多维外部网络的数据,并由多选器轮询地读取多层数据同步接口的数据,由功能子模块进行处理,再由多选器当前读取的一层数据同步接口将处理后的数据发送至外部网络,而其它层数据同步接口,则根据相应的控制信号,直接将其内部存储的未经过处理的数据输出至外部网络,从而支持多维网络数据的处理和同步。


图la、图Ib和图Ic分别为采用专用直连线互联、SOC共享总线互联和NOC异步通信互联的方式实现核间通信的示意图;图2为本发明的单芯片异步通信接口的一种实施例的模块结构示意图;图3为本发明的单芯片异步通信接口的一种实施例整机结构示意图;图4为本发明的单芯片异步通信接口中的数据同步接口的一种实施例的结构示意图;图5为本发明的单芯片异步通信接口中的端口子模块的结构的一种实施例,及其与其他模块的连接示意图;图6为本发明的多层数据同步接口的一种实施例的结构示意图;图7为基于本发明的单芯片异步通信接口的单芯片异步通信方法的一实施例的流程图;图8为本发明的单芯片异步通信方法的步骤Sl的一种实施例的流程图;图9为本发明的单芯片异步通信方法的步骤S3的一种实施例的流程图;图10为本发明的单芯片异步通信方法的步骤S4的一种实施例的流程图;图11为本发明的单芯片异步通信方法的又一实施例的流程图;图12为本发明的单芯片异步通信方法的步骤SOl的一种实施例的流程图;图13为本发明的单芯片异步通信方法的步骤S03的一种实施例的流程图;图14为本发明的单芯片异步通信方法的步骤S04的一种实施例的流程图。
具体实施例方式下面通过具体实施方式
结合附图对本发明作进一步详细说明。请参考图2,本实施方式的单芯片异步通信接口包括时钟模块1,输入输出控制器 2和同步模块3。其中,时钟模块1与同步模块3相连,用于为同步模块3提供时钟信号;输入输出控制器2与该时钟模块1和同步模块3相连,用于同外部异步网络进行异步握手通信,并产生控制信号控制时钟模块1的启停,以及控制数据输入该同步模块3和经过该同步块3处理的数据的输出;同步模块3,用于根据该输入输出控制器2的控制信号和时钟模块 1的时钟信号对输入数据进行同步和处理,并对处理后的数据进行同步并输出。本实施方式通过由输入输出控制器2来控制数据输入或输出该同步块3,而该同步快3在时钟模块1的时钟信号的驱动下,以及输入输出控制器2的控制信号的控制下, 对由外部异步网络输入的数据进行同步和处理,再将处理后的数据进行同步,并输出至外部异步网络,使得异步通信网络之间的数据通过本实施方式的异步通信接口实现同步和传输,从而实现不同IP核之间的互连。实施例一请参考图2,本实施例的单芯片异步通信接口包括时钟模块1,输入输出控制器2, 和同步模块3。其中,输入输出控制器包括输入控制器21和输出控制器22时钟模块1与同步模块3相连,用于为同步模块3提供时钟信号;输入控制器21与同步模块3和时钟模块 1相连,用于从外部异步网络接收数据,判断该数据是否有效,如是,则检查并保存数据的选择信息,并根据该选择信息生成输入控制信号,从而控制同步模块3从外部异步网络接收数据,同时开启时钟模块1 ;同步模块3对输入的数据进行同步和处理,并将处理后的数据进行同步后输出至外部异步网络;输出控制器22与同步模块3和时钟模块1相连,用于根据数据的选择信息生成输出控制信号,从而控制同步模块3输出经过处理后的数据,并发送到外部异步网络,同时关闭时钟模块1。请参考图3、图4和图5,本实施方式的单芯片异步通信接口的同步模块3,包括数据同步接口 31、功能子模块接口 32和功能子模块33,其中数据同步接口 31包括输入 FIF0311、输出FIF0313、旁路FIF0312,以及由多路分发器3141和多路选择器3142组成的端口子模块314。该多路分发器3141与时钟模块1、输入控制器21、输入FIF0311和旁路 FIF0312相连,输入控制器21用于根据输入数据的地址信号生成选择信息和输入控制信号,该输入控制器21根据该选择信息确定写入数据的输入FIF0311,或者旁路FIF0312,输入控制器21将该输入控制信号发送给多路分发器3141 ;多路分发器3142则用于根据该输入控制信号,将写入的数据分发给相应的输入FIF0311或者旁路FIF0312,从而实现同步; 输入FIF0311与功能子模块接口 32相连,旁路FIF0312与多路选择器3142相连,两者均用于存储该多路选择器3141发送来的输入数据;功能子模块接口 32与功能子模块33相连, 用于读取该输入FIF0311中的输入数据,并将其解包后发送给功能子模块33,以及用于接收功能子模块33发送来的数据,并将其打包后发送给输出FIF0313 ;该功能子模块33用于对功能子模块32发送来的输入数据进行处理,并将处理后的数据发送给该功能子模块接口 32 ;输出FIF0313与功能子模块接口 32和多路选择器3142相连,用于存储该功能子模块接口 32发送来的打包后的数据;输出控制器22根据选择信息,生成相应的输出控制信号, 控制多路选择器3142将存储在输出FIF0313中打包后的数据或者存储在旁路FIF0312中由多路分发器3141分发来的数据发送到外部异步网络。本实施方式中,数据的选择信息包括数据的地址信号,该地址信号指保存该输入数据的输入FIF0311或者旁路FIF0312,以及保存输入数据经过处理后得到的输出数据的输出FIF0313,并且该选择信息预先保存在输入控制器21中。本实施方式中输入控制器21 根据数据的选择信息,即地址信号,得知输入数据的数据应该写入输入FIF0311或者旁路 FIF0312,则生成相应的控制信号,即输出一个电平信号,控制多路分发器3141将数据分发给该地址信号中选定的输入FIF0311或者旁路FIF0312 ;输出控制器22根据该选择信息, 生成相应的控制信号,即输出一个电平信号,控制多路选择器3142将存储在旁路FIF0312 中的数据或者存储在输出FIF0313中经过处理的数据的输出至外部异步网络。基于上述的单芯片异步通信接口,本实施方式还提供一种单芯片异步通信方法, 具体步骤如下Si,输入输出控制器2与外部异步网络进行异步通信握手,并生成控制信号,发送至同步块3和时钟模块1。请参考图8,本实施方式中的步骤Sl包括S11,输入控制器21与外部异步网络进行异步通信握手,接收外部异步网络的数据。S12,检测其有效信号和地址信号,并判断相应数据的有效信号是否有效,如是,则根据该地址信号生成相应的选择信息和输入控制信号,并保存该选择信息,将输入控制信号发送给同步块3和时钟模块1。本实施方式中的输入控制信号即为输入控制器21输出的一个电平信号,当数据的有效信号有效时,该输入控制器21输出一个电平信号则作为同步块3写入数据的使能信号,控制同步块3能够接收外部异步网络的数据,否则该同步块3无法接收该外部异步网络的数据。本实施方式中的选择信息指根据数据的地址信号产生的,并保存在一个控制信息 FIFO中,以提供给输出控制器22根据该选择信息进行相应的输出控制,其用于选择用来存储输入数据的同步块3的输入FIF0311或者旁路FIF0312 ;以及选择输出FIF0313中存储的经过处理的数据,或者选择旁路FIF0312中存储的数据输出至外部异步网络。S2,时钟模块1开启,并向同步块3提供时钟信号。S3,同步模块3在时钟信号的驱动下,根据输入控制信号的控制,从外部异步网络接收数据,并对所述数据进行同步、处理。请参考图9,本实施方式的步骤S3包括S31,同步块3中数据同步接口 31的端口子模块314的多路分发器3141接收到时钟信号后,根据输入控制信号,将输入的数据分发给对应的输入FIF0311或者旁路 FIF0312,从而完成对输入的外部网络数据的分发和同步。S32,功能子模块接口 32读取该输入FIF0311内存储的数据。S33,功能子模块接口 32将接收的数据进行解包处理,再发送给功能子模块33。本实施方式中,由于数据在网络中传递需要一些标志信息,如ID、校验码等防止数据丢失和错误;同时如果是串行数据,特别是不定长的串行数据,还需要起始位、截止位等来标示数据的开始和结束。上述标志信息和数据的有效部分一起构成了网络中的数据,称之为网络包。由于不同的网络环境所需要的标志信息不同,因此其构成的网络包不同。但是在功能子模块33进行处理的时候,只需要网络包中数据的有效部分,因此本实施方式通过功能子模块接口 32将输入的数据进行解包处理,再发送给功能子模块313进行处理的。S34,功能子模块33对该数据进行处理,并将处理后的数据发送给功能子模块接 Π 32。本实施方式中,这里功能子模块33对该数据的处理为IP核自身的处理功能。S4,所述同步块将经过处理的所述数据进行同步并输出至外部异步网络。请参考图10,本实施方式中的步骤S4包括S41,功能子模块接口 32对经过处理后的数据进行打包处理,并发送给输出 FIF0313,实现完成对输出的经过处理的数据的同步。本实施方式中,由于不同的网络环境所需要的标志信息不同,因此其构成的网络包不同,因此,本实施方式的功能子模块接口 32还将功能子模块31输出的经过处理的数据进行打包处理后,再发送给输出FIF0312从而再输出至外部异步网络。本实施方式中通过功能子模块接口 32,将输入数据进行解包后发送给功能子模块 33处理,并将处理后的数据打包后,再发送出去,从而保证了该功能子模块313的独立性和可复用性,使其适用于不同网络。S42,输出控制器22根据选择信息,即选择将该输出FIF0313中存储的经过处理的数据,或者旁路FIF0312中存储的数据,生成相应的输出控制信号,发送给时钟模块1和端口子模块314的多路选择器3142。本实施方式中,输出控制器22在同步块3获取外部网络的数据请求后,从输入控制器21的控制信息FIFO中读取选择信息,并根据该选择信息从输出FIFO或者旁路FIFO 读取相应的数据并输出。本实施方式中,如果选择信息选择的是输出FIF0313,但输出FIF0313为空,即数据在功能子模块33中尚未处理完,则该输出控制器22暂不响应外部网络,直到输出 FIF0313中有数据为止;如果选择信息选择的是旁路FIF0312,由于旁路FIF0312中的数据不用经过功能子模块33的处理,因此不会有延迟,则直接将旁路FIF0312中存储的未经过处理的数据输出至外部网络。S43,关闭时钟模块1。S44,多路选择器3142在输出控制信号的控制下,将输出FIF0313中存储的经过处理的数据,或者旁路FIF0312中存储的数据输出至外部异步网络。本实施方式的异步通信方法通过由同步块3中的数据同步接口 31在时钟模块1 时钟信号的驱动下,并根据输入控制器21的输入控制信号,接收外部异步网络发送来的数据,并选择将其存储在内部的输入FIF0311或者旁路FIF0312中,即在输入控制信号的控制下实现输入数据的分发和保存,并实现数据同步,并通过功能子模块接口 32将输入 FIF0311中存储的数据进行解包后,送入功能子模块33进行处理,并将处理后的数据打包后,发送给对应的输出FIF0313中保存,即由功能子模块33对输入的数据进行处理,并由输出FIF0313来对经过处理的数据实现同步,从而再由多路选择器3142根据输出控制器22 发送来的输出控制信号,选择将输出FIF0313中存储的经过处理的数据或者旁路FIF0312 中存储的数据发送至外部异步网络,从而满足了异步通信网络之间的数据同步和传输,进而实现网络中不同IP核之间的互连。实施例二请参考图3,本实施例的单芯片异步通信接口包括时钟模块1,输入输出控制器2, 和同步模块3。其中,输入输出控制器2包括输入控制器21和输出控制器22时钟模块1与同步模块3相连,用于为同步模块3提供时钟信号;输入控制器21与同步模块3和时钟模块 1相连,用于从外部异步网络接收数据,判断该数据是否有效,如是,则检查并保存数据的选择信息,并根据该选择信息生成输入控制信号,从而控制同步模块3从外部异步网络接收数据,同时开启时钟模块1 ;同步模块3对输入的数据进行同步和处理,并将处理后的数据进行同步后输出至外部异步网络;输出控制器22与同步模块3和时钟模块1相连,用于根据数据的选择信息生成输出控制信号,从而控制同步模块3输出经过处理后的数据,并发送到外部异步网络,同时关闭时钟模块1。请参考图6,为了支持多维网络,本实施方式的单芯片异步通信接口的同步模块 3,包括功能子模块接口 32、功能子模块33和多层数据同步接口 31,以及与功能子模块接口 32和多层数据同步接口 31相连的多选器315和路由器316。其中多层数据同步接口 31包括多个输入FIF0311、多个输出FIF0313、多个旁路FIF0312,以及由多路分发器3141和多路选择器3142组成的多层端口子模块314,且每一层端口子模块314的多路分发器3141与时钟模块1、一个输入FIF0311、一个输出FIF0313、一个旁路FIF0312相连。每一个输入控制器21用于根据输入数据的地址信号生成选择信息和输入控制信号,该选择信息已经确定将输入数据写入输入FIF0311,或者旁路FIF0312,输入控制器21将该输入控制信号发送给对应层的多路分发器3141 ;每一层的多路分发器3142则用于根据对应的输入控制器21输出的输入控制信号,将输入数据分发给对应层的输入FIF0311或者旁路FIF0312,从而实现同步;多选器315与功能子模块接口 32和每层端口子模块314对应的输入FIF0311相连, 用于轮询读取多层端口子模块314中存储的数据,并将当前读取的数据发送给功能子模块接口 32 ;与功能子模块33相连的功能子模块接口 32,则用于接收该多选器315发送来的当前读取的数据,并将其进行解包后,发送给功能子模块33,以及用于接收功能子模块33处理后当前读取数据,并将其打包后,发送给路由器316 ;功能子模块33用于对功能子模块接口 32发送来的当前读取的数据进行处理,并将处理后的当前读取的数据发送给功能子模块接口 32 ;路由器316将经过打包和处理后的当前读取的数据发送给该多选器315当前读取的数据对应层的数据同步接口 31对应的输出FIF0313 ;该层端口子模块314对应的输出控制器22则根据选择信息,生成输出控制信号,控制该层端口子模块314对应的多路选择器3142读取该输出FIF0313中存储的经过处理的当前读取的数据,并输出至外部异步网络,其他层端口子模块314对应的输出控制器22则根据选择信息,生成相应的输出控制信号,控制相应层的端口子模块314中的多路选择器3142读取相应的旁路FIF0312中存储的数据,并将其输出至外部异步网络。本实施方式中数据的选选择信息包括数据的地址信号,该地址信号指保存该输入数据的输入FIF0311或者旁路FIF0312,以及保存输入数据经过处理后得到的输出数据的输出FIF0313。并且该选择信息预先保存在输入控制器21中。本实施方式中输入控制器21 根据数据的选择信息,即地址信号,控制输入数据写入输入FIF0311或者旁路FIF0312,输出控制器22根据该选择信息,控制存储在旁路FIF0312中的数据或者存储在输出FIF0313中经过处理的数据的输出。请参考图11,基于上述的具有多层数据同步接口的单芯片异步通信接口,本实施方式的单芯片异步异步通信方法如下S01,每一个输入输出控制器2与外部异步网络进行异步通信握手,并生成相应的控制信号,发送至同步块3和时钟模块1。请参考图12,本实施方式中的步骤SOl包括S011,每一个输入控制器21接收外部异步网络的数据的有效信号和选择信息。S012,每一个输入控制器21判断对应数据的有效信号是否有效,如是,则根据该数据的地址信号生成相应的选择信息和输入控制信号,保存该选择信息,并将输入控制信号发送给同步块3和时钟模块1。本实施方式中的控制信号即为输入控制器21输出的一个电平信号,当数据的有效信号有效时,该输入控制器21输出一个电平信号则作为同步块3写入数据的使能信号, 控制同步块3能够接收外部异步网络的数据,否则该同步块3无法接收该外部异步网络的数据。本实施方式中的选择信息为对应于各层数据同步接口 31的输入控制器21根据数据的地址信号产生的,并保存在对应层的输入控制器21的控制信息FIFO中,以提供给输出控制器22根据该选择信息进行相应的输出控制,其用于选择用来存储输入数据的相应层的数据同步接口 31中的输入FIF0311或者旁路FIF0312;以及选择将相应层的输出 FIF0313中存储的经过处理的数据,或者旁路FIF0312中存储的数据输出至外部异步网络。S02,时钟模块1开启,并向同步块3提供时钟信号。S03,同步模块3在时钟信号的驱动下,以及输入控制信号的控制下,从外部异步网络接收数据,并对输入的数据进行同步、处理。请参考图13,本实施方式的步骤S03包括S031,同步块3的每一层数据同步接口 31对应的该层端口子模块314的多路分发器3141接收时钟信号和输入控制信号。S032,该多路分发器3141在时钟信号的驱动下,根据该输入控制信号,将该层的输入数据分发给该层中对应的输入FIF0311或者旁路FIF0312,从而实现输入数据的同步。S033,同步块3的多选器315采用轮询读取该多层数据同步接口 31中输入 FIF0311中的数据,并将当前读取的数据发送给功能子模块接口 32。本实施方式中,当由于该多层数据同步接口 31及各层数据同步接口 31所连接的外部网络为相互独立时的,则该多层数据同步接口 31中的数据也相互独立,并且由于同一时刻功能子模块33只能处理一层数据同步接口 31的内存储的数据,因此则该多选器315 采用轮询的方式,从多层数据同步接口 31中,一层一层地选择,并读取其输入FIF0311中存储的数据,并将当前读取的数据通过功能子模块接口 32发送给功能子模块33处理,直至输入控制器21不再接收外部数据或者将该多层数据同步接口 31轮询完;且读取数据的时候包含该数据的层数ID。S034,功能子模块接口 32接收该多选器315发送来的当前读取的数据,并进行解包处理后,再发送给功能子模块33。本实施方式中,由于该多选器315采用轮询的方式,从多层数据同步接口 31中一层一层地选择并读取其输入FIF0311中的数据,则该功能子模块接口 32也相应地,根据该多选器315的轮询读取,轮询地接该多选器315发送来的数据,并进行解包处理后再发送给功能子模块33,即当多选器315每读取一层数据同步接口 31对应输入FIF0311中的数据时,该功能子模块接口 32则接收一次该多选器315发送来的当前读取的数据,当多选器 315选定另一层数据同步接口 31,并读取其数据时,则该功能子模块32也接收一次该多选器315发送来的数据,依次类推,直至该多层数据同步接口 31轮询完。本实施方式中,由于数据在网络中传递需要一些标志信息,如ID、校验码等防止数据丢失和错误;同时如果是串行数据,特别是不定长的串行数据,还需要起始位、截止位等来标示数据的开始和结束。上述标志信息和数据的有效部分一起构成了网络中的数据,称之为网络包。由于不同的网络环境所需要的标志信息不同,因此其构成的网络包不同。但是在功能模块进行处理的时候,只需要网络包中数据的有效部分,因此本实施方式通过功能子模块接口 32将输入的数据进行解包处理,再发送给功能子模块33处理。S035,功能子模块33对解包后的当前读取数据进行处理,并将处理后的数据发送给功能子模块接口 32。本实施方式中,这里功能子模块33对解包后的数据的处理为I P核自身的处理功能。S04,所述同步块3将经过处理的数据进行同步并输出至外部异步网络。请参考图14,本实施方式中的步骤S4包括S041,功能子模块接口 32对经过处理后的当前读取的数据进行打包处理,并发送给路由器316。本实施方式中,由于不同的网络环境所需要的标志信息不同,因此其构成的网络包不同,因此,本实施方式的功能子模块接口 32还将功能子模块33输出的经过处理的数据进行打包处理后,再发送给输出FIF0313从而再输出至外部异步网络。本实施方式中通过功能子模块接口 32,将每一层数据同步接口的输入数据进行解包后发送给功能子模块33处理,并将处理后的数据打包后,再发送出去,从而保证了该功能子模块313的独立性和可复用性,使其适用于不同网络。S042,路由器316将打包后的数据发送至当前读取的数据对应层的数据同步接口 31中对应的输出FIF0313进行存储,从而实现输出数据的同步。本实施方式中,数据处理完后,路由器316则根据该数据的层数ID,将处理后的数据发送到相应层的输出FIF0313。本实施方式中,路由器316同一时刻只能够将经过处理的数据发送给对应的一层数据同步接口 31。S043,每一层数据同步接口 31对应的输出控制器22根据选择信息,生成输出控制信号,并发送给时钟模块1和对应层的端口子模块314的多路选择器3142。S044,多选器315当前读取的一层端口子模块314内的多路选择器3142,根据对应输出控制器22的输出控制信号,读取该层对应的输出FIF0313中存储的经过处理的数据, 并输出至外部异步网络。S045,其它层的端口子模块314内的多路选择器3142根据对应输出控制器22的输出控制信号,将该层对应的旁路FIF0312中存储的数据输出至外部异步网络。S046,重复执行步骤S033至S045,直至各层数据同步接口 31中输入FIF0311中存
18储的输入的数据被处理完,并发送至外部网络。S047,关闭时钟模块1。本实施方式中,时钟模块1需要接受各层数据同步接口 31对应的输入控制器21 的输入控制信号和输出控制器22的输出控制信号的共同控制,因此,当输入控制器21不再从外部接收数据、功能子模块33将存有数据的所有数据同步接口 31的输入FIF0311中的数据处理完,并输出至相应输出FIF0313、各层数据同步接口 31相应的多路选择器3142,根据相应层的输出控制器22的输出控制信号,将相应层输出FIF0313或旁路FIF0312中的数据全部发送完毕之后,该时钟模块才关闭。本实施方式的基于具有多层数据同步接口的单芯片异步通信接口的异步通信方法,通过由同步块3中的多层数据同步接口 31在时钟模块1时钟信号的驱动下,并根据相应层对应的输入控制器21的输入控制信号,接收外部异步网络发送来的数据,并选择将其存储在每层数据同步接口 31内对应的输入FIF0311或者旁路FIF0312中,即在输入控制信号的控制下实现多维网络的输入数据的分发和保存,并实现输入数据的同步,再通过多选器315采用轮询读取多层数据同步接口 31中各层对应输入FIF0311中的数据,并将当前读取的数据通过功能子模块接口 32送入功能子模块33进行处理,然后再通过该功能子模块接口 32将处理后的数据,发送给路由器316,路由器316则将处理后的当前读取的数据发送给该输入FIF0311对应的输出FIF0313中进行存储,从而实现经过处理的数据即输出数据的同步,且该层输出FIF0313根据其对应的输出控制器22的输出控制信号,将该输出 FIF0313中存储的经过处理的数据发送至外部网络,而其他各层数据同步接口 31的端口子模块314的多路选择器3142根据对应的输出控制器22发送来的输出控制信号,选择将对应层的旁路FIF0312中存储的未经过处理的数据发送至外部异步网络,直至该多选器315 将该多层数据同步接口 31中的数据轮询读取完,功能子模块33将存有数据的所有数据同步接口 31的输入FIF0311中的数据处理完,并输出至相应输出FIF0313、各层数据同步接口 31根据相应层的输出控制器22的输出控制信号,将相应层输出FIF0313或旁路FIF0312中的数据全部发送完,从而满足了异步通信网络之间的数据同步和传输,进而实现网络中不同IP核之间的互连。同时,本实施方式中与多层数据同步接口 31相连的外部网络相互独立,但由于同一时刻同步块3只能对个外部网络的数据进行同步和处理,因此,本实施方式通过多选器315采用轮询的方式将多层数据同步接口 31相应的输入FIF0311中存储的数据,一层一层地选择送入功能子模块33进行处理,再由路由器316将经过处理的数据输出至相应的输出FIF0313中,即保证了同一时刻只选择一个外部网络的数据进行处理,并将处理后的数据输出至对应的外部网络,同时支持多维网络数据的处理和同步。当然本实施方式中,如果多层数据接口 31及其所连接的外部网络相互依赖时,即功能子模块33对各层数据同步接口 31的输入FIF0311的数据需求有特定的顺序,并且处理后数据的输出也与功能子模块33和外部网络有关,因此,当多层数据接口 31及其所连接的外部网络相互依赖时,由该功能子模块33或外部网络来控制多选器315选择各层输入 FIF0311中存储的数据被读取的顺序,以及控制路由器316将处理后的数据发送至相应层的输出数据。以上内容是结合具体的实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
权利要求
1.一种单芯片异步通信接口,其特征在于,包括时钟模块、同步块、输入输出控制器, 所述时钟模块与所述同步块相连,用于向所述同步块提供时钟信号;所述输入输出控制器与所述时钟模块和所述同步块相连,用于同外部网络进行异步握手通信,并产生控制信号控制数据输入所述同步块,以及经过所述同步块处理后的数据的输出,同时控制所述时钟模块的启停;所述同步块用于根据所述控制信号和时钟信号,对输入的数据进行同步和处理,并将处理后的数据进行同步并输出。
2.如权利要求1所述的单芯片异步通信接口,其特征在于,所述输入输出控制器包括与所述时钟模块和同步模块相连的输入控制器和输出控制器,所述输入控制器用于从外部网络接收数据,判断该数据是否有效,如是,则检查并保存所述数据的选择信息,并根据所述选择信息产生输入控制信号,控制所述数据输入所述同步块,同时开启所述时钟模块;所述输出控制器用于根据所述选择信息生成输出控制信号,控制所述同步块输出经过处理后的数据,并发送到外部网络,同时关闭所述时钟模块。
3.如权利要求1所述的单芯片异步通信接口,其特征在于,所述同步块包括功能子模块、功能子模块接口和数据同步接口,所述数据同步接口与所述时钟模块、输入输出控制器和功能子模块接口相连,用于在所述时钟信号的驱动下,接收所述外部网络的数据,再根据所述控制信号,将所接收的数据进行保存,以及接收由所述功能子模块接口发送来的数据并保存,再根据所述控制信号,将存储的数据输出至所述外部网络;所述功能子模块接口与所述功能子模块和时钟模块相连,用于在所述时钟信号的驱动下,读取存储在所述数据同步接口中存储的数据,并进行解包处理,再发送给所述功能子模块,以及用于接收经过所述功能子模块处理的数据,并进行打包处理,再发送给所述数据同步接口 ;所述功能子模块与所述时钟模块相连,用于在所述时钟信号的驱动下,对经过解包后的数据进行处理,并将处理后的数据发送给所述功能子模块接口。
4.如权利要求3所述的单芯片异步通信接口,其特征在于,所述数据同步接口包括输入先入先出存储器、输出先入先出存储器、旁路先入先出存储器和端口子模块;所述端口子模块与所述输入先入先出存储器、输出先入先出存储器、旁路先入先出存储器、输入控制器和输出控制器相连,用于根据所述控制信号,将接收的外部网络的数据分发给相应的所述输入先入先出存储器,或者旁路先入先出存储器,以及用于根据所述控制信号,读取所述输出先入先出存储器或者旁路先入先出存储器中存储的数据,并发送至外部网络;所述输入先入先出存储器与所述功能子模块接口相连,用于存储所述端口子模块分发来的数据;所述输出先入先出存储器与所述功能子模块接口相连,用于存储所述功能子模块接口发送来的数据;所述旁路先入先出存储器用于存储所述端口子模块分发来的输入数据。
5.如权利要求3所述的单芯片异步通信接口,其特征在于,所述数据同步接口为多层数据同步接口,所述输入输出控制器为多个,且每一层所述数据同步接口与一个输入输出控制器相连,所述同步块还包括与所述多层数据同步接口和功能子模块接口相连的路由器和多选器,所述多选器用于当所述输入输出控制器控制所述多层数据同步接口写入数据后,轮询读取所述多层数据同步接口的输入先入先出存储器中存储的数据,并将当前读取的数据发送至所述功能子模块接口 ;所述功能子模块接口则用于接收所述当前读取的的数据,并进行解包后发送给所述功能子模块,以及用于将经过所述功能子模块处理后所述当前读取的数据进行打包后,发送给所述路由器;所述功能子模块则用于处理解包后的所述当前读取的数据,并发送给所述功能子模块接口 ;所述路由器用于接收所述功能子模块接口发送来的经过处理的所述当前读取的数据,并将其发送给对应层的数据同步接口中进行存储;所述数据同步接口中,所述当前读取的数据对应层的数据同步接口,用于根据其对应的输入输出控制器的控制信号,将经过处理的所述当前读取数据发送至外部网络,其它层的所述数据同步接口用于根据其对应层的输入输出控制器的控制信号,直接将其内部存储的未经过处理的数据发送至外部网络。
6.如权利要求5所述的单芯片异步通信接口,其特征在于,所述多层数据同步接口包括与所述时钟模块相连的多层端口子模块,多个输入先入先出存储器,多个输出先入先出存储器和多个旁路先入先出存储器,每一层所述端口子模块与一个输入先入先出存储器、 一个输出先入先出存储器和一个旁路先入先出存储器相连,且与一个输入控制器和一个输出控制器相连,所述多层端口子模块用于在时钟信号的驱动下,根据对应层的所述控制信号,将输入数据分发并存储在对应层的所述输入先入先出存储器,或者旁路先入先出存储器,并且,由所述当前读取的数据对应层数据同步接口中的所述端口子模块,用于将其对应的输出先入先出存储器中存储的经过处理的当前读取数据输出至外部网络,其它层数据同步接口中的所述端子模块,用于将其对应的旁路输入输出存储器中存储的未经过处理的数据输出至外部网络。
7.如权利要求4至6中任意一项所述的单芯片异步通信接口,其特征在于,所述端口子模块包括多路选择器和多路分发器,所述多路分发器与所述输入输出控制器、时钟模块和输入先入先出存储器、旁路先入先出存储器相连,用于在时钟信号的驱动下,根据所述控制信号将输入数据分发给对应的所述输入先进先出存储器,或者旁路先入先出存储器;所述多路选择器与所述输入输出控制器、时钟模块和输出先入先出存储器、旁路先入先出存储器相连,用于在时钟信号的驱动下,根据所述控制信号,选择所述输出先入先出存储器中存储的经过功能子模块处理后的数据,或者所述旁路先入先出存储器中的数据,并读取、输出至外部网络。
8.—种单芯片异步通信方法,其特征在于,包括输入输出控制器与外部网络进行异步通信握手,并生成控制信号,发送至同步块和时钟模块;开启时钟模块,并向所述同步模块提供时钟信号;所述同步模块在所述时钟信号的驱动下,根据所述控制信号,从外部网络接收数据,并对所述数据进行同步、处理;将经过处理的数据进行同步,再根据所述控制信号将所述处理过的数据输出至外部网关闭所述时钟模块。
9.如权利要求8所述的方法,其特征在于,所述输入输出控制器包括与外部网络、时钟模块和同步块相连的输入控制器和输出控制器所述输入输出控制器与外部网络进行异步通信握手,并生成控制信号,发送至同步块和时钟模块的步骤包括所述输入控制器接收所述外部网络的数据,判断所述数据是否有效,如是则检查所述数据的地址信号,并根据所述地址信号生成相应的选择信息,并保存;根据所述选择信息生成输入控制信号,并发送给所述同步块和时钟模块; 当所述同步块将经过的数据处理同步后,所述输出控制器根据所述选择信息生成输出控制信号,并发送给所述同步块和时钟模块。
10.如权利要求8所述的方法,其特征在于,所述同步块包括与所述时钟模块相连的功能子模块、功能子模块接口和数据同步接口,所述功能子模块接口与所述功能子模块和数据同步接口相连,所述数据同步接口与所述输入输出控制器相连;所述同步块在所述时钟信号的驱动下,根据所述控制信号,从外部网络接收数据,并对所述数据进行同步、处理的步骤包括所述数据同步接口在时钟信号的驱动下,接收所述外部网络的数据,并根据所述控制信号,对接收的数据进行保存;所述功能子模块接口读取所述数据同步接口中存储的数据,对其进行解包后,发送给所述功能子模块;所述功能子模块处理经过解包后的数据,并将处理后的数据发送给所述功能子模块接Π ;所述同步块将处理后的数据进行同步,再发送至所述外部网络的步骤包括 所述功能子模块接口打包所述处理后的数据,并将打包后的数据发送给所述数据同步接口 ;所述数据同步接口存储经过所述功能子模块打包后的数据,并根据所述控制信号输出所存储的数据至外部网络。
11.如权利要求10所述的方法,其特征在于,所述数据同步接口包括与所述输入输出控制器和所述时钟模块相连的输入先入先出存储器、输出先入先出存储器、旁路先入先出存储器和端口子模块所述数据同步接口在时钟信号的驱动下,接收所述外部网络的数据,并根据所述控制信号,对接收的数据进行保存的步骤包括所述端口子模块在时钟信号的驱动下,接收所述外部网络的数据; 根据所述控制信号,将输入的数据分发给相应的输入先入先出存储器或者旁路先入先出存储器进行存储;所述数据同步接口将经过所述功能子模块打包后的数据进行存储,并根据所述控制信号将所述数据发送至外部网络的步骤包括所述输出先入先出存储器接收所述功能子模块接口发送来的打包后的数据,并存储; 所述端口子模块根据所述控制信号,读取所述输出先入先出存储器内存储的打包后的数据或者旁路先入先出存储器内存储的数据,并发送至外部网络。
12.如权利要求10所述的方法,其特征在于,所述数据同步接口为多层数据同步接口, 所述输入输出控制器为多个,每层所述数据同步接口对应与一个输入输出控制器相连,所述同步块还包括与所述多层数据同步接口和功能子模块接口相连的路由器和多选器所述数据同步接口在时钟信号的驱动下,接收所述外部网络的数据,并根据所述控制信号,对接收的数据进行保存的步骤包括所述多层数据同步接口在时钟信号的驱动下,接收所述外部网络的数据,并根据对应层的输入输出控制器输出的所述控制信号,对接收的数据进行保存;所述功能子模块接口读取所述数据同步接口中存储的数据,对其进行解包后,发送给所述功能子模块的步骤包括所述多选器轮询读取所述多层数据同步接口中存储的数据,并将当前读取的数据发送至所述功能子模块接口;所述功能子模块接口接收所述当前读取的数据,对其进行解包后,发送给所述功能子模块;所述功能子模块处理经过解包后的数据,并将处理后的数据发送给所述功能子模块接口的步骤包括所述功能子模块对解包后的所述当前读取的数据进行处理,并将处理后的所述当前读取的数据发送给所述功能子模块接口;所述功能子模块接口对所述处理后的数据进行打包,并将打包后的数据发送给所述数据同步接口的步骤包括所述功能子模块接口对处理后的所述当前读取的数据进行打包,并将打包后的数据发送给所述路由器;所述路由器则将打包后的数据发送给所述当前读取数据对应层的数据同步接口; 所述数据同步接口将经过所述功能子模块接口打包后的数据进行存储,并根据所述控制信号将存储的数据发送至外部网络的步骤包括所述当前读取的数据对应层的数据同步接口,根据其对应的输入输出控制器输出的控制信号,将内部存储的经过处理的所述当前读取数据输出至外部网络;其他层的数据同步接口,根据其对应的输入输出控制器输出的控制信号,将存储的未经过处理的数据输出至外部网络。
13.如权利要求12所述的方法,其特征在于,所述多层数据同步接口包括与所述时钟模块相连的多层端口子模块,多个输入先入先出存储器,多个输出先入先出存储器和多个旁路先入先出存储器,每一层所述端口子模块与一个输入先入先出存储器、一个输出先入先出存储器和一个旁路先入先出存储器相连,所述输入输出控制为多个,每个输入输出控制器与一层所述端口子模块相连所述多选器轮询读取所述多层数据同步接口中存储的数据,并将当前读取的数据发送至所述功能子模块接口的步骤包括所述多选器轮询读取所述多层端口子模块对应的多个输入先入先出存储器中存储的数据,并将当前读取的数据发送至所述功能子模块接口 ;所述路由器则将打包后的数据发送给所述当前读取的数据对应层的数据同步接口的步骤包括所述路由器将打包后的数据发送给所述当前读取的数据对应层数据同步接口对应的输出先入先出存储器;所述当前读取的数据对应层的数据同步接口,根据其对应的输入输出控制器输出的控制信号,将内部存储的经过处理的所述当前读取数据输出至外部网络的步骤包括所述多选器当前读取的一层数据同步接口对应的一层端口子模块,读取其对应的输出先入先出存储器中存储的,经过处理的数据,并输出至外部网络;其他层所述数据同步接口,根据其对应的输入输出控制器输出的控制信号,将存储的未经过处理的数据输出至外部网络的步骤包括其它层数据同步接口对应的所述端口子模块,读取各层端口子模块对应的旁路输入输出存储器中存储的未经过处理的数据,并输出至外部网络。
全文摘要
本发明公开了一种单芯片异步通信接口。本发明的单芯片异步通信接口包括时用于提供时钟信号的时钟模块;用于同外部网络进行异步握手通信,并产生控制信号控制数据的输入,以及经过处理后的数据的输出,同时控制时钟模块的启停的输入输出控制器;以及用于根据输入输出控制器的控制信号对输入的数据流进行分发,处理和同步,并将处理后的数据输出至外部网络的同步块。本发明的单芯片异步通信接口通过同步块在时钟的驱动下,根据输入输出控制器的控制信号完成对输入的外部网络数据的同步和处理,并将处理后的数据输出至外部网络,从而满足了异步通信网络之间的数据同步和传输,进而实现网络中不同IP核之间的互连。
文档编号H04L29/06GK102185760SQ20111009114
公开日2011年9月14日 申请日期2011年4月12日 优先权日2011年2月23日
发明者李铃, 王新安, 王腾, 胡子一, 谢峥, 陈志光 申请人:北京大学深圳研究生院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1