一种SOC芯片之间的高速信息共享方法与流程

文档序号:13164459阅读:1289来源:国知局
一种SOC芯片之间的高速信息共享方法与流程

本发明涉及一种soc芯片之间的高速信息共享方法,属于电子芯片数据通信技术领域。



背景技术:

systemonchip,简称soc,即片上系统。它由微处理器(cpu)内核模块、用户可编程逻辑模块(fpga)、嵌入的存储器控制模块、与外部通讯的接口模块等模块组成。由于soc强大的处理性能和灵活的可定制性,在嵌入式产品中得到了越来越广泛的应用。这也必然带来一个问题,即如何实现soc芯片之间快速的数据通信和信息共享。

随着技术的发展和应用需求的提升,soc芯片被越来越多的嵌入式应用所接受,其中以xilinx和altera两家公司推出的soc芯片最具特色,定制化功能最强。如xilinx公司推出的zynq-7000系列芯片配备单(双)核armcortex-a9微处理器,该微处理器与基于28nm工艺的artix-7(kintex®-7)用户可编程逻辑集成,通过内部amba-axi4高带宽总线互连,可实现优异的性能功耗比和最大的设计灵活性。另外,zynq-7000具有高达6.25m的用户可编程逻辑单元以及由用户可编程逻辑控制的6.6gbps到12.5gbps的串行解串收发器(serializeranddeserializer简称serdes),用于高速数据通信。

以往微处理器芯片之间数据通信一般是通过由微处理器控制的通信外设进行互连操作的,首先微处理器将数据直接拷贝或由微处理器调用dma将数据搬移至外设缓存,再由外设将数据打包后发送至对侧,对侧接收到报文后或直接通过中断告知微处理器将数据拷贝搬移至内存,或由dma搬移至内存后再通过中断告知微处理器,这或多或少需要微处理器的参与,占用微处理器处理资源,且微处理器响应速度有限,因此通信实时性较差。

传统微处理器芯片之间数据通信的数据流可分解为数据从内存搬移至外设缓存-外设与外设之间报文传输-外设缓存搬移至内存这几个步骤。由于数据从内存搬移至外设缓存、数据的打包和解包、数据从外设缓存搬移至内存过程中都需要微处理器的参与,且微处理器对事件的响应速度有限,因此,在数据搬移过程中存在较大的处理延时和不确定性,另外也额外占用了微处理器的处理资源。

本发明针对以上缺陷设计了一种实现soc芯片之间快速数据通信和信息共享的方法。由于传统微处理器芯片没有集成用户可编程逻辑模块,无法进行定制化设计,而soc芯片不仅集成了高性能微处理器还配置了用户可编程逻辑。因此,本发明实现的是基于soc芯片之间的快速数据通信和信息共享的方法,该方法由soc内置用户可编程逻辑模块实现,数据从内存搬移至外设缓存、数据的打包和解包、数据从外设缓存搬移至内存,全程都不需要微处理器的参与,减轻了微处理器的处理负担,并且用户可编程逻辑是并行处理系统实时处理能力强,可大大降低数据搬移过程的处理延时和不确定性。



技术实现要素:

目的:为了克服现有技术中存在的不足,本发明提供一种soc芯片之间的高速信息共享方法。

技术方案:为解决上述技术问题,本发明采用的技术方案为:

一种soc芯片之间的高速信息共享方法,包括步骤如下:

步骤一:在两侧soc芯片内存空间分别划分“写数据空间”和“读数据空间”;

步骤二:用户可编程逻辑模块通过axi_hp端口直接将“写数据空间”数据搬移至高速收发器的发送fifo;

步骤三:高速收发器将发送fifo中的数据封装成报文后发送给对侧高速收发器;

步骤四:对侧高速收发器接收到报文后解析出数据填入接收fifo;

步骤五:对侧用户可编程逻辑模块通过axi_hp端口直接将高速收发器接收fifo中的数据写入“读数据空间”;

步骤六:跳回步骤二,重复以上过程。

作为优选方案,所述soc芯片采用zynq-7000系列soc芯片。

作为优选方案,所述“写数据空间”的内存空间为2k字节。

作为优选方案,所述“读数据空间”的内存空间为2k字节。

作为优选方案,两侧高速收发器通过用户可编程逻辑模块定制的高速pciegen2x4通信链路传输报文。

作为优选方案,两侧高速收发器通过用户可编程逻辑模块定制的高速rocketio通信链路传输报文。

有益效果:本发明提供的一种soc芯片之间的高速信息共享方法,该方法由soc内置用户可编程逻辑模块实现,不需要微处理器的参与,大大减轻了微处理器的处理负担。

1)在soc芯片内存空间划分出两块连续地址空间,分别标识为“写数据空间”和“读数据空间”。本侧“写数据空间”数据实时同步到对侧“读数据空间”,然后微处理器直接访问“读数据空间”内存数据,通过这种方式实现soc芯片之间快速数据通信和信息共享。

2)本侧“写数据空间”数据到对侧“读数据空间”实时同步操作由用户可编程逻辑实现,通过axi_hp端口直接将“写数据空间”数据搬移至高速收发器的发送fifo,将高速收发器接收fifo中的数据直接写入“读数据空间”,全程都不需要微处理器的参与,减轻了微处理器的处理负担,并且用户可编程逻辑是并行处理系统实时处理能力强,可大大降低数据搬移过程的处理延时和不确定性。

附图说明

图1为soc芯片内存划分示意图;

图2为两块soc芯片快速数据通信示意图。

具体实施方式

下面结合附图对本发明作更进一步的说明。

本发明提出的实现soc芯片之间快速数据通信和信息共享的方法,以xilinx公司的zynq-7000系列soc芯片为例进行说明。zynq-7000系列soc芯片内部采用amba-axi4总线,允许用户可编程逻辑通过高性能axi总线接口(highperformanceaximasterport,axi_hp)直接访问微处理器内存空间,该总线为64位全双工总线,总线频率150mhz,支持burst(突发)传输模式。

如图1所示,首先,两侧芯片各自划分两块2k字节连续的内存地址空间,分别标记为“写数据空间”和“读数据空间”。“写数据空间”与对侧芯片的“读数据空间”数据实时同步,每3微秒整个数据空间同步刷新一遍,即本对侧数据信息同步延时为3微秒,通过此方式实现两侧soc芯片信息共享。

其次,用户可编程逻辑通过axi_hp高性能总线接口,从“写数据空间”将数据搬移至可编程逻辑内部fifo中,该fifo作为外部通信接口发送缓存,同时用户可编程逻辑将外部通信接口接收fifo的数据搬移至“读数据空间”。

再次,用户可编程逻辑在芯片之间建立高速通信链路,如图2所示。通过调用串行解串收发器,由用户可编程逻辑定制出高速pciegen2x4或rocketio通信链路,将发送fifo中的数据组织为通信报文发送给对侧,同时接收对侧通信报文解析整理后填入接收fifo。

综上,soc芯片之间的数据通信和信息共享可分为以下几个步骤:

a.在各自芯片内存空间划分“写数据空间”和“读数据空间”;

b.用户可编程逻辑通过axi_hp端口直接将“写数据空间”数据搬移至高速收发器的发送fifo;

c.高速收发器将发送fifo中的数据封装成报文后发送给对侧高速收发器;

d.对侧高速收发器接收到报文后解析出数据填入接收fifo;

e.对侧用户可编程逻辑通过axi_hp端口直接将高速收发器接收fifo中的数据写入“读数据空间”;

f.跳回步骤b,重复以上过程。

由于步骤b至步骤f全过程都不需要微处理器的参与,完全由用户可编程逻辑完成,无论是信息更新的实时性还是处理效率都很高,同时也减轻了微处理器的处理负担。

以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1