HPM(High-Performance Matrix)是一个自生成的AMBA3 bus subsystem。

由一个AXI bus matrix,Frequency Conversion Components,Data Bus Width Conversion Components,

Interface Protocol Conversion Components,Buffering Components组成。

一个HPM可以实现,SI/MI的个数配置;multi-layer AXI routing;32bit/64bit/128bit的互联;AHB-Lite/AXI/APB的bridge实现;

async/sync频率转换;各个clock domain的sync;register slice的自配置来提高最高工作频率;

QoS/Arbitration来实现各个master的轮流访问。

AMBA Designer是一个可配置的工具,来产生HPM的RTL,Testbench,Stimulus。

HPM的几个基本feature:Routing data width---native data width,AXI bus matrix的默认数据位宽。32bit/64bit/128bit。

Routing address width---native address width,AXI bus matrix的默认地址位宽,

必须大于等于slave中的最大地址线宽度。32bit/64bit。

number of master interface;

number of slave interface。

Slave interface的几个feature:1)Name,最多16个ASCII码组成,字母加数字。然后自动加上AXI/AHB/APB的信号前缀。

2)ID width,针对AXI,表示ID信号的位宽。

3)Decode register,在decode address 加入register slice,目的是分隔critical path,

以增加latency为代价提高工作频率。

4)Read acceptance capability,SI可以缓存的最大数目的read transaction,一般就是内部FIFO深度。

注意它与interface protocol相互制约,只能最小值,起作用。

5)Write acceptance capability,SI可以缓存的最大数目的write transaction,一般就是内部FIFO深度。

注意它与interface protocol相互制约,只能最小值,起作用。

6)Arbitration scheme,在HPM内部的不同master的transaction调度算法,一般有两大类:

fixed-priority style scheme;

round-robin style scheme;

用户可以直接通过AMBA designer生成,也可以SoC通过APB配置。

HPM对read和write实现一个共享的arbiter,所以一个slave只能同时接受一个master的

读写。

7)Sparse connect,在HPM中每个SI都有自己的decoder,在SI和MI之间只是mapping关系时,可以定义一个

Sparse connect来减少不必要的逻辑。

8)Cyclic scheme,针对一个master发送transaction时,防止deadlock。具体方式:

Single slave scheme:同一时刻,一个master只能发给一个slave transaction。

Higher rank scheme:master可以连续的发送多个transaction给不同的slave,但是必须按

higher rank的顺序来。即一个master一个transaction未结束时,再

给一个higher rank的slave发送。

Unique ID scheme:一个master的transaction都是Unique ID的,那么可以多发给N个

slave。

Hybrid scheme:一个master对于同一个slave,不论ID,transaction可以共发多个,

对于不同的slave,transaction ID必须unique。

Single-slave-per-ID:最灵活的配置,同一ID的transaction必须去同一slave,其余

transaction可以任意共发。

9)Peripheral register slices:可配置的插入一到两个register slices到peripheral。位置由AMBA designer决定

一般一个靠近peripheral,一个靠近interconnect。register对于AXI每个channel都

是独立的,私有的。

10)Clock domain crossing:Crossing type分为三种:downwards-sync scheme;upwards-sync scheme;

re-sync scheme(async domain buffer)。

11)Interface data width:可以配置为32bit/64bit/128bit;可以分为downsizer component;

upsizer component。

13)Interface address width:包含两个attributes:address width、address tie-off value。

这个width不能大于routing address width。

12)Interface protocol conversion:包含AXI/AHB-Lite Master/AHB-Lite Slave。

Master interface的几个feature:大致与SI类似,除了以下几个:

1)write issuing capability,表示MI接口中写操作的FIFO深度,如果小于SI中的write acceptance capability可能会影响

性能。

2)Address map,分为Address range和RemapRange。

MemLo/MemHi:用64bit表示;还有一组remap的参数。

RemapMove:针对remap的slave的remap使能。

3)Interface protocol conversion,增加APB interface。

4)Programmable QoS,只支持有一定acceptance capability的slave。当某一个MI上的outstanding

transaction达到一定的value,然后MI还可以接受由QoS指定的SI上的transaction。

在subsystem中,master连接到Slave Interface(SI),slave连接到Master Interface(MI)。

3X4 的interconnector表示连接三个master,四个slave的bus system。

matrix中的tidemark,应用在慢时钟域向快时钟域进行数据传输时,可以设置tidemark,FIFO首先缓存慢时钟域的数据到一定的数量,

之后才向快时钟域传输数据。

设置tidemark的好处是增加了快时钟域的带宽利用率,缺点是增加了处于慢时钟域的master的latency。

AMBA interconnector PL301(一)相关推荐

  1. AMAB interconnector PL301(二)

    1)Frequency Conversion Components:包含三种component. AXI-AXI async bridge:拥有两种mode:bypass mode 和 async m ...

  2. ARM AMBA 外围设备 的datasheet

    可以去网页地址在线浏览对应的datasheet: http://infocentre.arm.com/help/index.jsp?topic=/com.arm.doc.set.primecell/i ...

  3. amba_device amba总线

    什么是AMBA? --- AMBA是一个片内总线规范. ARM官网的介绍: http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dd ...

  4. AMBA、AHB、APB、AXI总线介绍和对比

    一.引出 研究STM32H7的总线系统,对AXI.AHB.APB.ASB有点兴趣,于是去简单了解了一下,总结如下: 说到AXI.AHB.APB.ASB就得先说AMBA(Advanced Microco ...

  5. AMBA、AHB、APB、AXI总线

    AMBA.AHB.APB总线 * AMBA (Advanced Microcontroller Bus Architecture) 高级微处理器总线架构 * AHB (Advanced High-pe ...

  6. AMBA总线协议AHB、APB

    一.什么是AMBA总线 AMBA总线规范是ARM公司提出的总线规范,被大多数SoC设计采用,它规定了AHB (Advanced High-performance Bus).ASB (Advanced ...

  7. AMBA与Wishbone总线简介

    什么是AMBA片上总线? 随着深亚微米工艺技术日益成熟,集成电路芯片的规模越来越大.数字IC从基于时序驱动的设计方法,发展到基于IP复用的设计方法,并在SOC设计中得到了广泛应用.在基于IP复用的So ...

  8. 深度解读AMBA、AHB、APB、AXI总线

    什么是AMBA? 现如今,集成电路芯片的规模越来越大.数字IC从基于时序驱动的设计方法,发展到基于IP复用的设计方法,并在SoC设计中得到了广泛应用.在基于IP复用的SoC设计中,片上总线设计是最关键 ...

  9. AMBA协议之AXI协议——中文翻译

    AMBA协议之AXI协议--中文翻译 本规范的编写是为了帮助那些想要熟悉高级微控制器总线架构(AMBA)和设计与AXI协议兼容的系统和模块的硬件和软件工程师. 文章目录 AMBA协议之AXI协议--中 ...

最新文章

  1. 双网卡绑定-bond0
  2. 使用JSON替代XML
  3. oracle并行收集统计信息慢,Oracle 学习之性能优化(四)收集统计信息
  4. c#动态修改代码的crackme
  5. WSGI、uwsgi和uWSGI
  6. spring的依赖注入
  7. leetcode 834. Sum of Distances in Tree | 834. 树中距离之和(树形DP)
  8. XGBoost的GPU用法
  9. react.lazy 路由懒加载_React lazy/Suspense使用及源码解析
  10. 日志显示TypeError: Failed to fetch报错与TypeError: NetworkError when attempting to fetch resource报错
  11. 装饰器python的通俗理解_Python装饰器的通俗理解
  12. 发行版,distutils,setuptools和distutils2之间的区别?
  13. 论文管理软件 Zotero 备忘
  14. 三乘三魔方教程,按步骤来肯定能搞出来
  15. 【汇编】更灵活的定位内存地址方式——and,or命令、SI、DI变址寄存器、直接寻址[idata]、寄存器间接寻址[bx]、寄存器相对寻址[bx+idata]、基址变址寻址、相对基址变址寻址
  16. artdialog v6强大的模态对话框v6版api
  17. 手Q与微信:最终结局将会是手足相残!
  18. 【JavaScript】DOM编程-DHTML与Windows对象
  19. 概率统计_假设检验——单边检验的接受域和拒绝域
  20. 暮然回首,发现自己已经老了

热门文章

  1. java ipv4和ipv6通信_IPv6与IPv4连接负载
  2. 兄弟9055cdn硒鼓清零_dcp—9020cdn硒鼓怎么清零
  3. 使用MMS(MongoDB Monitoring Service)监控MongoDB
  4. 简单的Net::FTP模块的简单应用
  5. Mysql设置某字段唯一
  6. 基于VUE+TS中引用ECharts的中国地图和世界地图密度表
  7. 魅族Flyme5系统内置原生铃声免费下载
  8. nrpe的安装和配置(转)
  9. Mysql的master,slave的配置
  10. CCNA初学者应该知道的词