完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
你好,
我打算建立通信以在两个处理器之间读写。 一方面是ASIC(MCIMX6)上的四核ARM Cortex A9处理器,另一方面是FPGA(ZC7020)。 我在FPGA端没有任何PCIe硬端口。 因此,有两种方法可以在这两个处理器之间建立通信。 如果我打算保留ZC7020,我有2个选择 1)使用I2C或SPI等串行总线接口(数据传输速率非常低,约为10 Mb /秒 2)使用AMBA AXI互连在两个处理器之间使用共享内存并建立此连接。 我想知道第二种方法产生的速度以及如何在vivado中执行这种共享内存概念? 请给我一个参考文章。 我需要两个处理器之间大约1.5 Gb / sec的速度。 否则,我可能不得不将设备更改为ZC7015并购买硬核PCIe IP并建立通信哪个非常昂贵。 如果我想在ZC7015上做一个软核PCIe,我需要遵循的步骤是什么。 |
|
相关推荐
4个回答
|
|
另一个不涉及serdes的选项是使用ddr lvds,如果你的asic支持源同步lvds链接。
1对时钟和2对ddr数据,你可以使用375 MHz时钟达到1.5 Gbps,这是一个非常合理的速度。 - 如果提供的信息有用,请将答案标记为“接受为解决方案”。给予您认为有用且回复的帖子。 |
|
|
|
Avrumw,正如你所说。
要建立共享内存,我需要双方都有内存控制器访问权限。 由于我的处理器中只有一个一次以一种方式发送数据,因此当有传入数据并利用共享内存时,我不能使用i2c发送中断吗? 如果是,如何在vivado中实现这个共享内存概念? 或者我可以在两个处理器之间使用gpio电缆吗? |
|
|
|
@ sunayana.chskradhar-
您可以下载PCIe的目标参考设计。 看看UG963: http://www.xilinx.com/support/documentation/boards_and_kits/zc706/2014_4/ug963-zc706-pcie-trd-ug.pdf 有一个关联的zip文件包含整个设计的Vivado项目。 这适用于ZC706板(XC7Z045器件),但您可以将其作为起点。 如果你寻找它们,那里有很多资源。 而且我相信AXI MM到PCIe IP是免费的(如果不是这样,请有人纠正我)。 |
|
|
|
由于我的处理器中只有一个一次以一种方式发送数据,因此当有传入数据并利用共享内存时,我不能使用i2c发送中断吗?
你必须意识到“共享内存”是一个软件概念。 为了使两个处理器共享一些内存区域,物理架构需要落后于允许两个处理器与该内存的某些连接。 存在许多不同类型的存储器架构 - 实现两个处理器可以访问相同存储器的架构将根据所使用的存储器而有所不同。 对于DDRx-SDRAM,我上面说的是一个很难的事实。 无论谁想要访问内存,都必须有一个且只有一个内存控制器。 出于电气和逻辑原因,DDRx-SDRAM协议不允许多个控制器访问同一存储器。 在电气方面,虽然数据和DQS信号是双向的,但终端和驱动器不允许多个控制器。 此外,还有所有动态终止和校准功能,可以将内存和控制器相互调整 - 没有多个控制器的机制。 在逻辑层面上,DDRx-SDRAM具有状态,控制器必须跟踪该状态。 同样,没有机制让不同的控制器相互“切换”。 因此,对于DDR-SDRAM,它根本不可能。 您可以在FPGA上使用内存(Block RAM)。 这些是双端口的,因此可以共享。 但是,没有“正常”机制将外部处理器连接到这些RAM - 您需要某种外部总线来执行此操作。 单端口外部SRAM也是如此 - 它们只能由一个控制器驱动。 因此,在所有这些情况下,您需要一些外部总线,允许您的ASIC处理器将数据发送到FPGA - 以便它可以将其发送到其内部Block RAM或外部存储器(通过在 FPGA)。 有一些双端口的外部存储器。 最常见的是QDRx-SRAM。 在QDR RAM中,有一个写端口和一个读端口,它们或多或少是独立的。 理论上,两个处理器可以共享这个外部存储器 - 只要一个处理器只能写入而另一个只能读取。 但是,任何现成的处理器都不太可能支持QDR - 它使用自己的协议而不用于通用计算(它主要用于数据包处理 - 它也非常昂贵)。 可能还有其他存储器是双端口的。 但是您面临同样的问题 - 您需要找到ASIC支持的外部双端口内存。 这是不太可能的 - 大多数处理器仅支持主存储的DDRx-SDRAM和用于启动和非易失性存储的各种闪存。 因此,放弃“共享内存”的概念 - 它并没有真正满足您的需求。 您需要的是外部处理器和FPGA之间的高速总线。 同样,外部CPU支持使用并行传输的任何东西都可以容纳在FPGA中 - FPGA几乎可以支持所有I / O标准,并且可以支持相当快的传输速度。 一旦建立了这种连接,就可以为处理器设计一种软件机制,以便在它们之间传递信息 - 无论是由邮箱,信号量还是共享内存(软件概念)完成,都可以由您来设计 - 但所有 他们首先需要处理器之间的某种形式的物理连接。 Avrum |
|
|
|
只有小组成员才能发言,加入小组>>
2448 浏览 7 评论
2846 浏览 4 评论
Spartan 3-AN时钟和VHDL让ISE合成时出现错误该怎么办?
2310 浏览 9 评论
3391 浏览 0 评论
如何在RTL或xilinx spartan fpga的约束文件中插入1.56ns延迟缓冲区?
2486 浏览 15 评论
有输入,但是LVDS_25的FPGA内部接收不到数据,为什么?
1773浏览 1评论
请问vc707的电源线是如何连接的,我这边可能出现了缺失元件的情况导致无法供电
623浏览 1评论
求一块XILINX开发板KC705,VC707,KC105和KCU1500
485浏览 1评论
2036浏览 0评论
762浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-13 06:46 , Processed in 1.336219 second(s), Total 53, Slave 47 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (威廉希尔官方网站 图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号