在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 3704|回复: 9

[求助] 请教各位大侠:一个模块能不能同时作为一种总线(如APB)的master,slave?

[复制链接]
发表于 2017-2-16 10:18:16 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
请教各位大侠:
1、一个模块能不能同时作为一种总线(如APB)的master,slave?
2、如果已经有一个模块再一种总线(如APB,axi)上进行数据传输,是不是其他模块就不能通过这一总线传输数据呢?
3、可以通过APB总线访问内存吗?
小白求助,望各位大侠不吝赐教~~~
发表于 2017-2-16 11:44:12 | 显示全部楼层




   1  能   2  一般是一个总线连接多个外设,具体到某一个时间点,只能有一个外设传输数据,即所有外设是共享总线,分时使用。
   3 可以
 楼主| 发表于 2017-2-16 14:57:16 | 显示全部楼层
回复 2# sme-ic


   谢谢指教~
   我要设计一个模块,software通过apb总线配置这个模块(slave)的寄存器,同时这个模块还要作为APB master从memory读取数据,这样  模块就得有2个APB接口,一个slave,一个master,请问这样设计合理吗?
   恳请赐教~~~
发表于 2017-2-16 17:52:09 | 显示全部楼层


回复  sme-ic


   谢谢指教~
   我要设计一个模块,software通过apb总线配置这个模块(slave)的寄存 ...
digital_ic_d 发表于 2017-2-16 14:57




   模块的配置是合理的,但模块对mem的访问,除非是memery需要被多个apb master访问,如果memory是这个模块私有的,就没有必要采用apb master了,直接按memory的时序做接口就行了。
 楼主| 发表于 2017-2-17 14:30:55 | 显示全部楼层
本帖最后由 digital_ic_d 于 2017-2-17 14:38 编辑

回复 4# sme-ic


    首先谢谢您的耐心解答~~~
    memory是系统内存,可以通过APB访问吗?一般系统内存会连接APB总线吗?
    我要做的是一个控制器IP,其中已经有一个模块A通过axi master访问内存进行数据传输了,但是控制器IP中还有另一个模块B需要访问内存,
    请问:1、再做一个APB master访问内存
             2、还是通过模块A的AXI master访问内存
             3、还是再做一个AXI master访问内存
    怎么做比较好呢?
发表于 2017-2-17 17:41:17 | 显示全部楼层


回复  sme-ic


    首先谢谢您的耐心解答~~~
    memory是系统内存,可以通过APB访问吗?一般系统内存 ...
digital_ic_d 发表于 2017-2-17 14:30



   memory通过axi/ahb/apb都可以访问,不过一般追求性能,都是挂在最高频率的总线上

  要实现你的功能,有2种方法
   1 使用双口SRAM,一个被axi master访问,一个被apb master访问
   2 两个master (axi/apb)都可以访问memory,在2 个master和memory之间有一个控制电路,用来对master的仲裁,以及产生memory的读/写时序。
 楼主| 发表于 2017-2-20 16:33:41 | 显示全部楼层
回复 6# sme-ic


    首先谢谢您的耐心解答~~~
    我要做的是一个IP核,不包括SRAM的设计,想尽量与常见的SOC架构配套,就是不知道通过APB master访问内存是否合理?
    您所说的第2种方法,两个master是指一个AXI,一个APB吗?还是指2个AXI?这种方法采用2个master,但是每次只能一个master进行访问,相比起“模块B也通过模块A的AXI master访问内存”有什么优势吗?
    我问题比较多~给您添麻烦了~再次感谢您的热情帮助~~~
发表于 2017-2-20 17:48:34 | 显示全部楼层
哎,你理解起来怎么这么困难。

1. APB master访问内存是否合理,这个只有你自己知道。功能上来说,当然是可以实现的。
2. 要实现你5楼的功能,你这个模块只能做2个SLAVE接口,一个用于axi master访问memory,一个用于你新增的APB master来访问memory。memory如果是单端口,只能分时用了,即两个slaver接口是互斥的,新的访问必须等待旧访问的结束。
 楼主| 发表于 2017-2-21 16:18:56 | 显示全部楼层
回复 8# sme-ic


    抱歉~理解能力有限~现在懂了~
    万谢~万谢~
发表于 2017-3-5 08:34:14 | 显示全部楼层
可以的,一边收一边发很常见
可以的,只要别同时发就行
可以的,微慢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-4-19 15:25 , Processed in 0.035447 second(s), 7 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表