1)Frequency Conversion Components:包含三种component。

AXI-AXI async bridge:拥有两种mode:bypass mode 和 async mode。所以需要外加一个independent clock来管理这个独立

的 clock domain。内部有两个信号SYNCMODEREQ(SI 端),SYNCMODEACK(MI 端)。

其中SYNCMODEACK信号由AWSYNCMODEACK,WSYNCMODEACK,BSYNCMODEACK,

ARSYNCMODEACK,RSYNCMODEACK相与来实现。

bypass mode中SYNCMODEREQ是"1"请求,async mode中SYNCMODEREQ是"0"请求。

在async实现中,所有的axi signal都会有register,为了跨时钟域会有3-4个时钟的buffer。

所有的transaction都会有FIFO。

Upwards-sync bridge:SI 端是slower external clock domain,MI 端是faster external clock domain。

global 信号有ACLKS,ACLKM,ACLKEN,ARESETn。其中ACLKEN信号由外部的clock controller来

决定。控制SI和MI端口的clock。

其他的signal,加register来同步。

Downwards-sync bridge:类似。

2)Data Bus Width Conversion Components:包含两种component。Downsizer,Expander两种component类似。

Downsizer:拥有两种模式:Pass-through mode 和 Downsizer mode。

在Downsizer mode中,该component 主要是处理data channel的multiplexing。将一个transaction根据

AxBURST,AxLEN,AxADDR分为多个transaction。其中涉及到address buffer/transition,

Transaction storage,Response signal,Atomic/Exclusive access。

address buffer/transition:AxSIZE需要根据MI接口定义来修改,FIXED/INCR burst变为 INCR burst,多个max length

与一个short length的burst的和,来保证传递的字节数一致。

对于WRAP burst,not-align时,第一个burst先变为一个align address INCR在MI端

口,align时,直接变为INCR burst但是address的处理与上一种FIXED/INCR不一样。

Response signal:对于在MI端口分开的transaction,收到的response是与transaction数目相同的。所以返回

到SI端口的response是经过处理的。详见相册。

Atomic/Exclusive access:这两种transaction再分为多个transaction时,情况比较特殊。

Atomic分成的多个transaction,除了最后一个子transaction是normal,其他所有的

transaction都是lock的。

Exclusive在read/write操作时,可以分为多个transaction仍保持exclusive不变。并各个

response都返回exokay。但是必须保证address不会overlapping。针对WRAP burst。

3)Interface Conversion Components:包含4中bridge,AHB-Lite到AXI,AHB-Lite到AXI for memory optimized.

AXI到AHB-Lite,AXI到APB。

AHB-Lite到AXI:Fixed-length AHB burst转换为等长的AXI burst。

Undefined-length burst转换为single transfer。

由于AHB不支持secure,所以AxPORT[1] tie to "0",所有的access都允许。

生成的AXI中不支持write strobe。

其他信号,如HWDATA,HRDATA,WDATA,RDATA,HWUSER,HRUSER,WUSER,RUSER都处于bypass mode

AHB-Lite到AXI memory optimized:应用HPROT信号,实现buffer writes,来提高总线性能。

支持broken bursts,

并且undefined-length INCR burst转换为INCR4 burst来提高通信速率。

(拥有一个4depth的buffer,并且address 不超过4KB)

register AHB signals来提高timing。

对于AHB侧的lock access,IDLE cycle不可以分隔一个locked access,但是IDLE transfer可以。

主要区别是HREADY是否会有效,这样AHB才会重新采样HMASTLOCK的值。

AXI到APB:因为生产的APB会有PSEL信号,所以bridge内部需要实现一个multiplexor来选择不同slave的PRDATA,PREADY,

PSLVERR信号。因APB总线速率较慢,所以bridge支持PREADY来表示slave插入wait states。

4)Register slice:有三种模式,Fully registerred, Registered forward path, Static bypass。

Fully registerred是一个default configeration,完全隔离Valid and AXI payload和 AXI ready信号。

Registered forward path,valid and payload signals被isolated,ready信号是一个combination path。

Static bypass:no timing isolated。

AMAB interconnector PL301(二)的更多相关文章

  1. AMBA interconnector PL301(一)

    HPM(High-Performance Matrix)是一个自生成的AMBA3 bus subsystem. 由一个AXI bus matrix,Frequency Conversion Compo ...

  2. 【小程序分享篇 二 】web在线踢人小程序,维持用户只能在一个台电脑持登录状态

    最近离职了, 突然记起来还一个小功能没做, 想想也挺简单,留下代码和思路给同事做个参考. 换工作心里挺忐忑, 对未来也充满了憧憬与担忧.(虽然已是老人, 换了N次工作了,但每次心里都和忐忑). 写写代 ...

  3. 前端开发中SEO的十二条总结

    一. 合理使用title, description, keywords二. 合理使用h1 - h6, h1标签的权重很高, 注意使用频率三. 列表代码使用ul, 重要文字使用strong标签四. 图片 ...

  4. 【疯狂造轮子-iOS】JSON转Model系列之二

    [疯狂造轮子-iOS]JSON转Model系列之二 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 上一篇<[疯狂造轮子-iOS]JSON转Model系列之一> ...

  5. 【原】Android热更新开源项目Tinker源码解析系列之二:资源文件热更新

    上一篇文章介绍了Dex文件的热更新流程,本文将会分析Tinker中对资源文件的热更新流程. 同Dex,资源文件的热更新同样包括三个部分:资源补丁生成,资源补丁合成及资源补丁加载. 本系列将从以下三个方 ...

  6. 谈谈一些有趣的CSS题目(十二)-- 你该知道的字体 font-family

    开本系列,谈谈一些有趣的 CSS 题目,题目类型天马行空,想到什么说什么,不仅为了拓宽一下解决问题的思路,更涉及一些容易忽视的 CSS 细节. 解题不考虑兼容性,题目天马行空,想到什么说什么,如果解题 ...

  7. MIP改造常见问题二十问

    在MIP推出后,我们收到了很多站长的疑问和顾虑.我们将所有疑问和顾虑归纳为以下二十个问题,希望对大家理解 MIP 有帮助. 1.MIP 化后对其他搜索引擎抓取收录以及 SEO 的影响如何? 答:在原页 ...

  8. 如何一步一步用DDD设计一个电商网站(二)—— 项目架构

    阅读目录 前言 六边形架构 终于开始建项目了 DDD中的3个臭皮匠 CQRS(Command Query Responsibility Segregation) 结语 一.前言 上一篇我们讲了DDD的 ...

  9. ASP.NET Core 之 Identity 入门(二)

    前言 在 上篇文章 中讲了关于 Identity 需要了解的单词以及相对应的几个知识点,并且知道了Identity处在整个登入流程中的位置,本篇主要是在 .NET 整个认证系统中比较重要的一个环节,就 ...

随机推荐

  1. SIP学习(实例详解)

    本文摘自:http://blog.chinaunix.net/uid-20655530-id-1589483.html 学习 SIP 协议最快捷的方法是通过范例来学习, 找到了一个完整的呼叫流程,le ...

  2. Android.mk学习 笔记

    感谢: 原创作品 转载请注明出处:http://www.cnblogs.com/langlang/ 作者email: dayhappyhappy@163.com LOCAL_PATH := $(cal ...

  3. android获取设备全部信息

    private static final String FILE_MEMORY = "/proc/meminfo"; private static final String FIL ...

  4. python和pywin32实现窗口查找、遍历和点击

    Pywin32是一个Python库,为python提供访问Windows API的扩展,提供了齐全的windows常量.接口.线程以及COM机制等等. 1.通过类名和标题查找窗口句柄,并获得窗口位置和 ...

  5. JMeter学习-005-JMeter 主要组件概要介绍及执行顺序

    本文将对 JMeter 主要组件(主要涉及 Threads(Users).Test Fragment.逻辑控制器.配置元件.定时器.前置处理器.Sampler.后置处理器.断言.监听器 十大组件)进行 ...

  6. 通过iphone蓝牙与经过苹果MFI授权认证的硬件通讯,传输图片(转)

    http://blog.csdn.net/hwj2012/article/details/7883711 相关: http://blog.csdn.net/xufeidll/article/detai ...

  7. 程序设计: 猫大叫一声,所有的老鼠都开始逃跑,主人被惊醒。(C#语言)

    要求:  1.要有联动性,老鼠和主人的行为是被动的.  2.考虑可扩展性,猫的叫声可能引起其他联动效应. 我么能事件来一步一步来实现: 将要执行的老鼠逃跑,和主人惊醒的行为注册到事件中,猫叫之后引发事 ...

  8. Linux 基本收集

    ifconfig eth0 192.168.1.223 切换到root账号开始是$符号输入su输入root密码转换成# 就变成了root账号 dr 查看盘符ls /etc/ 查看etc文件夹下面的文件 ...

  9. box2dweb基础

    简介 大名鼎鼎的物理引擎box2d基本上大家都听说过,网上有两个javascript版本的box2d库,一个时box2djs,已经停止维护,一个是box2dweb.下面就来介绍一下box2dweb的基 ...

  10. hive 的mysql配置

    hive默认使用的是Derby数据库,Derby是一个嵌入式数据库,数据库一般创建在运行hive命令的目录,如果切换目录运行,则找不到数据库 hive mysql配置: 官网地址:https://cw ...