发 帖  
原厂入驻New
[问答] 如何在Virtex-II Pro上实现仲裁器
109 仲裁器 处理器
分享
嗨,我的名字是Shamanth,这是我在这些论坛上的第一篇文章。我有一个循环仲裁器的verilog / vhdl代码。
它被设计为在具有3个独立处理器的系统中工作,每个处理器可能需要访问共享存储器(同步RAM)。
地址为12位,数据为8位。
我想在Virtex-II pro上实现仲裁器,两个PowerPcs同时独立运行。
我计划在两台电源上同时运行2个不同的程序,并使ppcs想要访问共享内存。
我假设两个电源都已经拥有自己的专用内存(bram's ......对吗?),我可以运行上面提到的两个不同的程序。
问题1:这可能吗?假设这是可能的,我计划将仲裁器绑定到PLB,使仲裁器位于PLB和共享存储器之间,而两个powerpcs可以将它们的请求发送到PLB和仲裁器上的仲裁器
可以决定哪一个应该被授予访问共享内存的权限。问题2:我可以这样做,还是有其他方法来连接仲裁者和PPC?如果可以的话,那么你们中的任何一个人都可以点亮一下
我是如何将仲裁者与PLB接口的。我一直在从xilinx网站上阅读PLB pdf。
它谈到了PLB主人和PLB奴隶。
问题3:这些PLB主设备和从设备究竟是什么?从我阅读和理解的内容来看,我认为我可以将仲裁器连接到主设备上的PLB,并将我的共享内存连接到接口的从设备端。
但在这种情况下,我无法弄清楚PPC如何连接到PLB。
如果我在这里正确的话,请评论。谢谢你,Shamanth。
0
2020-5-28 12:37:54   评论 分享淘帖 邀请回答
4个回答
欢迎来到论坛。
一种常见的方法是在两个处理器之间共享双端口BRAM。
这可能是在两个处理器之间共享内存的最直接的方法。
需要更多存储空间的应用程序的另一种方法是与多端口存储器控制器共享外部存储器。
MPMC2是一个独立的应用程序:http://www.xilinx.com/esp/wired/optical/xlnx_net/mpmc.htm
EDK 9.2i包括XPS中的MPMC3支持。
这里概述了一些有用的概念:
http://www.xilinx.com/support/documentation/white_papers/wp262.pdf(在Platform Studio中设计多处理器系统)http://www.xilinx.com/support/documentation/application_notes/xapp996.pdf(双处理器参考)
设计套件)请注意,我认为邮箱和互斥核心最初包含在EDK 9.2中。
如果您使用的是早期版本,我似乎记得在其中一个ML410项目中将这些视为本地pcores,但是暂时还没有看到:
http://www.xilinx.com/ml410-p/
Mater设备启动总线上的流量,例如PPC405和CDMAC。
从设备响应总线上的流量,例如。
UART,内存等
我将从双端口BRAM方法开始。
干杯,
btMessage由timpe于03-10-2008 12:11 AM编辑
2020-5-28 12:52:10 评论

举报

嘿,非常感谢您的快速回复。
我很高兴有人抽出时间回答我的问题。
也非常感谢pdfs的链接。
他们似乎真的很有资源。所以关于“在2个处理器之间共享一个双端口BRAM”,你建议:我可以用它来存储我的两个不同的程序,两个PPC同时运行,或者你的意思是我
将这个共享内存用于2个PPC而不是通过仲裁器?
因为,我必须实现我所谈论的仲裁者。
我的项目需要实施,以便两个PPC都必须去
通过我们将要实施的仲裁者,因为我们需要
显示我们的仲裁器如何工作。在这种情况下,我可以将仲裁器绑定到PLB,如果可以的话,我可以将PLB的哪一侧绑定到它?
即,我的仲裁器可以作为主设备连接,还是必须作为从设备连接到PLB?每当处理器需要访问额外的共享存储器时,它们就会向我们的仲裁器发送请求信号,
决定两个处理器中的哪一个应该访问内存。
所以我担心的是我是否必须使用PLB将仲裁器和处理器连接到上述控制信号,还是可以直接将处理器的输出连接到仲裁器,还是有其他方法可以解决这个问题?
我重复了一遍,或者如果我解释了太多细节,我这样做只是为了清楚地解释我的要求而没有别的。
谢谢.Shamanth。
2020-5-28 13:01:35 评论

举报

我建议在处理器之间共享双端口BRAM,因为从你的第一篇文章中你不得不使用仲裁器这一点并不明显。
我假设您找到了仲裁器,并且正在考虑将其用作允许处理器间通信到单个内存的可能机制。
BRAM的双端口特性使其成为避免使用仲裁器的一种自然方法(尽管需要一种机制来防止处理器同时写入同一位置 - 通常这是通过以下方式强制执行的:
每个处理器上的应用程序,例如处理器写入某个范围,另一个读取;反之亦然)。
现在听起来你必须为赋值实现仲裁器。
这是一个不同的故事......
在这种情况下,也许这些资源会有所帮助:
http://www.xilinx.com/support/documentation/application_notes/xapp644.pdf(PLB与使用数据包处理器软件进行OCM比较),http://www.xilinx.com/support/documentation/ip_documentation/plb_v34。
pdfhttp://www.xilinx.com/support/documentation/ip_documentation/plb_arbiter.pdf
在您的情况下,2个PPC405将是PLB v3.4主机,单个共享存储器将是PLB总线上的从机。
祝你好运,
BT
2020-5-28 13:17:30 评论

举报

请原谅我在第一篇文章中不清楚。
从现在开始我会尽力清楚。所以现在我的共享记忆将成为奴隶。
Neat.But我在哪里连接仲裁服务器?
它是PLB方面的主人还是奴隶?
正如我之前解释的那样,我的仲裁器有自己的一组控制信号。
它从两个处理器接收请求信号,然后将授权信号发送回其中一个。
请评论此界面。我们正在为项目使用XPS 8.1版本。
不知道它是否会在这里发生任何变化,因为我仍然可以使用PLBv3.4吗?最后一件事,我假设我可以让两个PPC同时独立运行吗?
如“多处理器”pdf所示,我可以有两个PPC(而不是像pdf中的一个PPC和一个微型光盘),每个PPC同时从两个独立的专用BRAM运行自己的程序?
或者即使他们必须共享他们的BRAM,我仍然可以同时运行两个PPC,因为我必须实时地从PPC向仲裁器生成请求信号以显示仲裁工作。
这是我的主要关注点。再次感谢pdfs .Shath。
2020-5-28 13:27:37 评论

举报

只有小组成员才能发言,加入小组>>

94个成员聚集在这个小组

加入小组

创建小组步骤

关闭

站长推荐 上一条 /7 下一条

快速回复 返回顶部 返回列表