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. Vmware安装与VMware下Linux系统安装

    源文件地址:http://www.cnblogs.com/lclq/p/5619271.html 1.下载安装VMware,我安装的是VMware 12.VMware从11开始不再支持32位系统,32 ...

  2. js实现表格中不同单元格内容的替换(不同浏览器的节点属性兼容问题)

      ------->   效果:点击右下角单元格,左下角单元格内容被替换成和左上角相同,如上图所示. 实现方式:分别获取各个节点,并将左边节点的内容修改成左上方节点的内容. 代码: 注意的地方: ...

  3. [LeetCode] Longest Palindromic Substring(manacher algorithm)

    Given a string S, find the longest palindromic substring in S. You may assume that the maximum lengt ...

  4. TCP keepalive overview

    2. TCP keepalive overview In order to understand what TCP keepalive (which we will just call keepali ...

  5. Selenium2学习-011-WebUI自动化实战实例-009-JavaScript 在 Selenium 自动化中的应用实例之一(赋值)

    通常在编写 Selenium 的 WebUI 自动化脚本时,有些元素不易定位元素,或有些元素为隐藏的(此时用 WebElement.getText() 获取其值的时候,返回的结果为空),对日常的 UI ...

  6. cname和CDN

    http://blog.csdn.net/crazw/article/details/8986504 先说一下DNS的几个基本概念: 一. 根域 就是所谓的“.”,其实我们的网址www.baidu.c ...

  7. http://blog.csdn.net/maosidiaoxian/article/details/40109337

    http://blog.csdn.net/maosidiaoxian/article/details/40109337

  8. CFBundleVersion与CFBundleShortVersionString

    CFBundleVersion,标识(发布或未发布)的内部版本号.这是一个单调增加的字符串,包括一个或多个时期分隔的整数. CFBundleShortVersionString  标识应用程序的发布版 ...

  9. 使用openvswitch实现跨主机docker容器互联

    安装openvswitch的步骤请参考上一篇文章:http://www.cnblogs.com/xkops/p/5568167.html 环境:192.168.3.201 node1192.168.3 ...

  10. swiper有时候不能自动滚动的问题

    <script type="text/javascript"> $(function(){ var swiper = new Swiper('.swiper-conta ...