0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

SOC中AXI总线怎么连接

sakobpqhz6 来源:IC学习 作者:IC学习 2022-11-30 17:04 次阅读

AXI总线作为一种线,可以挂若干主设备与从设备,如果若干主设备要同时访问总线,必然会导致总线需要仲裁。本文不涉及细节,只简单减少原理,一般来说这个东西不需要自己写,ARM会提供,但是作为设计者要大致知道原理。

1. 所谓总线,是个什么意思。

d10b419e-6e04-11ed-8abf-dac502259ad0.jpg

实际上是有个interconnect的模块把所有东西连起来的。主设备会发起读写请求,从设备只能被动接受。SOC中的CPU或者其他加速核心比如AI加速器是主设备。从设备一般是存储啊外设啊之类的东西。基本的连接关系是这样的。

2. 这个Interconnect里有什么东西

这个Interconnect连接了整个系统,起到了仲裁的信号的作用,所以还是比较关键的。一般来讲,疯狂往interconnect上挂各种主从设备是会影响最后的时序的。由于AXI官方文档IHI0022E里面貌似是没有太多这方面介绍,换句话说,AXI协议并没有规定主从设备连一起应该如何工作,于是这里以赛灵思ug1037为基础介绍一下。

2.1 1to1 interconnect

d12c16bc-6e04-11ed-8abf-dac502259ad0.jpg

这个贼简单,不用过多减少。。。一对一的连上去就好了。模范夫妻。

2.2 N-to-1 Interconnect

d13f0542-6e04-11ed-8abf-dac502259ad0.png

这个是稍微复杂的版本,类似于一妻多夫。。。如果有多个主设备,一个从设备。那中间需要一个仲裁器。某个主设备传输前请求总线,如果总线忙就等着。一般来讲,最简单的仲裁原理是轮换优先级。例如有三个主设备ABC。上次总线权限给了A。则下次的优先级变为BCA。

2.3 1-to-N Interconnect

d165e284-6e04-11ed-8abf-dac502259ad0.png

1-to-N原理上比N-to-1简单。一夫多妻的版本。。。只需要简单判断一下地址确认要往哪个从设备里写,基本上就是多路选择器。不需要仲裁。总线也不会阻塞。

2.4 N-to-M Interconnect

这种情况就比较复杂了。。。涉及到多设备时间管理。但实际上稍微复杂一点的SOC这类情况才是常态。

d18cd420-6e04-11ed-8abf-dac502259ad0.jpg

如上图所示,读写通道是分开的。各自有一个仲裁器(Arbiter),仲裁原理和N-to-1是一致的。仲裁器会从所有写请求和所有读请求中各选出来一个来执行。

3. 实际上用的时候怎么用

自己造AXI的各种轮子其实是比较繁琐的,不仅仅是interconnect问题,举个简单的例子,AXI的DMA什么的自己造轮子DEBUG非常耗时。如果是FPGA,可以直接用XILINX的各路IP。如果是ASIC, 一般会有对应的IP卖。比如ARM提供的最小系统一般会自带这个interconnect。

如果SOC比较复杂,那还是有可能需要自己造这个轮子。比如为了压榨总线的性能,如果两个主设备访问的是两个不同的从设备,如果想实现同时执行,那对这个interconnect就有其他的要求。

4. 总结

一般情况下,总线可以理解为一种资源。由一对主从设备独占使用。对于AXI来讲,一般是两种资源,读总线和写总线,通过某种仲裁方式分配给不同的主从设备。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • soc
    soc
    +关注

    关注

    38

    文章

    3746

    浏览量

    215694
  • 总线
    +关注

    关注

    10

    文章

    2706

    浏览量

    87222
  • AXI总线
    +关注

    关注

    0

    文章

    65

    浏览量

    14158

原文标题:SOC中AXI总线是如何连接的

文章出处:【微信号:IC学习,微信公众号:IC学习】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    FPGA通过AXI总线读写DDR3实现方式

    AXI总线由一些核心组成,包括AXI主处理器接口(AXI4)、AXI处理器到协处理器接口(AXI
    发表于 04-18 11:41 120次阅读

    漫谈AMBA总线-AXI4协议的基本介绍

    本文主要集中在AMBA协议中的AXI4协议。之所以选择AXI4作为讲解,是因为这个协议在SoC、IC设计中应用比较广泛。
    发表于 01-17 12:21 390次阅读
    漫谈AMBA<b class='flag-5'>总线</b>-<b class='flag-5'>AXI</b>4协议的基本介绍

    AXI总线协议总结

    由由数据线、地址线、控制线等构成。 接口是一种连接标准,又常常被称之为物理接口。 协议是传输数据的规则。 1.简介 AXI4总线协议是 ARM 公司 提出的AMBA( Ad vanced Microcontroller Bus
    的头像 发表于 12-16 15:55 321次阅读

    AXI传输数据的过程

    AXI4为例,有AXI full/lite/stream之分。 在Xilinx系列FPGA及其有关IP核中,经常见到AXI总线接口,AXI
    的头像 发表于 10-31 15:37 469次阅读
    <b class='flag-5'>AXI</b>传输数据的过程

    ARM处理器中有些总线APB AHB AXI 3 AXI 4有什么不同?

    ARM处理器中有些总线APB AHB AXI 3 AXI 4,他们的有什么不同,各自作用?
    发表于 10-24 07:16

    AXI IIC总线接口介绍

    LogiCORE™IPAXI IIC总线接口连接到AMBA®AXI规范,提供低速、两线串行总线接口,可连接大量流行的设备。
    的头像 发表于 09-28 15:56 4544次阅读

    AMBA3.0 AXI总线接口协议的研究与应用

    本文介绍了AMBA3.0AXI的结构和特点,分析了新的AMBA3.0AXI协议相对于AMBA2.0的优点。它将革新未来高性能SOC总线互连技术,其特点使它更加适合未来的高性能、低延迟设
    发表于 09-20 08:30

    基于AXI总线的DDR3读写测试

    本文开源一个FPGA项目:基于AXI总线的DDR3读写。之前的一篇文章介绍了DDR3简单用户接口的读写方式:《DDR3读写测试》,如果在某些项目中,我们需要把DDR挂载到AXI总线上,
    的头像 发表于 09-01 16:20 2289次阅读
    基于<b class='flag-5'>AXI</b><b class='flag-5'>总线</b>的DDR3读写测试

    e203将外设空闲接口转换为AXI连接AXI_interconnection,再连接DDR就无法下载程序是为什么?

    我之前使用单个e203的核,可以下载程序。但是我想用e203作为一个控制器,将他的perips的多余接口o14,o15转换成axi总线接出去,连接axi_interconnecti
    发表于 08-12 08:02

    在开源的E203的AXI总线支持burst传输吗?

    请问在开源的E203的AXI总线支持burst传输吗?在sirv_gnrl_icb2axi.v模块中看到了 请问如何使用呢?相应的在NucleiStudio的代码
    发表于 08-12 06:13

    如何把ICB总线转为AXI

    现在我要用block design搭建SOC,需要将总线转为AXI。按照论坛的帖子,将e203_subsys_mems模块的sirv_g
    发表于 08-12 06:12

    SoC Designer AXI4协议包的用户指南

    这是SoC Designer AXI4协议包的用户指南。该协议包包含SoC Designer组件、探针和ARM AXI4协议的事务端口接口(包括对AMBA4
    发表于 08-10 06:30

    学习架构-AMBA AXI简介

    本指南介绍了高级微控制器总线体系结构(AMBA)AXI的主要功能。 该指南解释了帮助您实现AXI协议的关键概念和细节。 在本指南中,我们介绍: •AMBA是什么。 •为什么AMBA在现代SoC
    发表于 08-09 07:37

    Xilinx FPGA AXI4总线(一)介绍【AXI4】【AXI4-Lite】【AXI-Stream】

    从 FPGA 应用角度看看 AMBA 总线中的 AXI4 总线
    发表于 06-21 15:21 1876次阅读
    Xilinx FPGA <b class='flag-5'>AXI</b>4<b class='flag-5'>总线</b>(一)介绍【<b class='flag-5'>AXI</b>4】【<b class='flag-5'>AXI</b>4-Lite】【<b class='flag-5'>AXI</b>-Stream】

    AXI总线工作流程

    在zynq开发过程中,AXI总线经常遇到,每次看到AXI总线相关的信号时都一头雾水,仔细研究一下,将信号分分类,发现其实也不难。
    的头像 发表于 05-25 11:22 626次阅读
    <b class='flag-5'>AXI</b><b class='flag-5'>总线</b>工作流程