ahb2apb和apb2apb async bridge
AHB 3.0目前不支持security world.
AHB到APB的async bridge主要包括三个部分:
1)AHB domain
1)产生信号hactive = HSEL & HTRANS[1];新的传输地址有效
HTRANS的第一位表示一个新的seq或者连续的transfer
HTARNS的第零位表示一个idle或busy的transfer
用ahb的clock,寄存一拍
always @(posedge HCLK or negedge HRESETn)
if(!RESETn)
else if(HREADYin)
ahb_active = hactive
2)产生信号haccess = HREADYin & hactive;可以接受数据传输
HREADYin信号表示slave已经ready。
用ahb的clock,寄存一拍
always @(posedge HCLK or negedge HRESETn)
if(!RESETn)
else ahb_access = haccess
3)用ahb的clock,寄存write和addr
always @(posedge HCLK or negedge HRESETn)
if(!RESETn)
else if(haccess)
ahb_write = HWRITE
ahb_addr = HADDR
4)用ahb的clock,寄存wdata
产生信号ahb_wdata_ld = ahb_access & ahb_write
always @(posedge HCLK or negedge HRESETn)
if(!RESETn)
else if(ahb_wdata_ld)
ahb_wdata = HWDATA
5)产生信号HREADYout = ~ahb_active|apb_ack_pls
产生信号HRDATA = apb_rdata
2)AHB clock domain和APB clock domain的handshake
根据ahb_access信号,产生ahb_req信号,同时在apb_clk domain中进行sync
always @(posedge HCLK or negedge HRESETn)
if(!RESETn)
else if(ahb_access)
ahb_req = ~ahb_req
always @(posedge PCLK or negedge PRESETn)
if(!RESETn)
else
ahb_req_sync1 = ahb_req
ahb_req_sync2 = ahb_req_sync1
ahb_req_sync3 = ahb_req_sync2
ahb_req_pls = ahb_req_sync2^ahb_req_sync3
根据ahb_reg_pls_d信号,产生ahb_ack信号,同时在ahb_clk domain中进行sync
always @(posedge PCLK or negedge PRESETn)
if(!RESETn)
else if(ahb_reg_pls_d)
ahb_ack = ~ahb_ack
always @(posedge HCLK or negedge HRESETn)
if(!RESETn)
else
ahb_ack_sync1 = ahb_ack
ahb_ack_sync2 = ahb_ack_sync1
ahb_ack_sync3 = ahb_ack_sync2
ahb_ack_pls = ahb_ack_sync2^ahb_ack_sync3
3)APB domain
寄存ahb_req_pls一拍
always @(posedge PCLK or negedge PRESETn)
if(!RESETn)
else ahb_req_pls_d = ~ahb_req_pls
PWRITE/PADDR/PWDATA 直接连接到AHB的reg中,
PSEL = ahb_req_pls | ahb_req_pls_d
PENABLE = ahb_req_pls_d
apb_rdata的赋值
apb_rdata_ld = ahb_req_pls_d & ~ahb_write
always @(posedge HCLK or negedge HRESETn)
if(!RESETn)
else if(apb_rdata_ld)
apb_rdata = PRDATA
apb2apb的async bridge:
1)req由master端产生,在enable阶段有效,传递到slave端,有效一个cycle,用来锁存master端的addr/strb/data信号到slave的寄存器中。
2)ack信号由slave端产生,在sready有效且enable有效情况下产生。有效一个cycle,锁存rdata和resp。
3)Latch表示只含有if()的always模块,被综合为带clock gate的FF.

ahb2apb和apb2apb async bridge的更多相关文章
- APB总线
APB(Advance Peripheral Bus)是AMBA总线的一部分,从1998年第一版至今共有3个版本. AMBA 2 APB Specfication:定义最基本的信号interface, ...
- PL301 matrix内部模块
ASIB中的valid信号,有两部分,一部分add产生的地址映射,到main中的default addr.(vect) 一部分由Dmu和Cdas组成,到main中的build. Dmu:interco ...
- CDC spyglass
SoC中会有着几百的clock domains,millions的async data crossing. Glitch等cdc问题是netlist level simulation的主要目的. CD ...
- AMAB interconnector PL301(二)
1)Frequency Conversion Components:包含三种component. AXI-AXI async bridge:拥有两种mode:bypass mode 和 async m ...
- X-007 FriendlyARM tiny4412 u-boot移植之内存初始化
<<<<<<<<<<<<<<<<<<<<<<<<< ...
- tiny4412 --Uboot移植(5) DDR3内存
开发环境:win10 64位 + VMware12 + Ubuntu14.04 32位 工具链:linaro提供的gcc-linaro-6.1.1-2016.08-x86_64_arm-linux-g ...
- Mobilize.Net Silverlight bridge to Windows 10 UWP
Windows UWP 既 Windows 10 Universal Windows platform,这个微软基于Windows NT内核的个运行时(Runtime)平台,此平台横跨所有的 Wind ...
- 编程概念--使用async和await的异步编程
Asynchronous Programming with Async and Await You can avoid performance bottlenecks and enhance the ...
- [C#] async 的三大返回类型
async 的三大返回类型 序 博主简单数了下自己发布过的异步文章,已经断断续续 8 篇了,这次我想以 async 的返回类型为例,单独谈谈. 异步方法具有三个可让开发人员选择的返回类型:Task&l ...
随机推荐
- asp.net字符串的数学表达式计算结果
using System; using System.Collections.Generic; using System.Web; using System.CodeDom.Compiler; usi ...
- LINQ之select方法选择多个字段
单个字段: var list1 = list.Select(field1 => field1.CouponID).ToList(); 多个字段: var list1 = list.Select( ...
- Round and Round We Go
http://acm.hdu.edu.cn/showproblem.php?pid=1313 考查大整数与小整数相乘 #include<iostream> #include<cstd ...
- ios9 之后,Xcode7不推荐使用UIAlertView,改用UIAlertController+UIAlertAction(按钮)
/** * ios9 之后,Xcode7不推荐使用UIAlertView,改用UIAlertController+UIAlertAction(按钮) */ UIAlertController *al ...
- JS之mouseover和mouseenter
mouseenter事件只会触发一次,触发对象是注册对象或者注册对象的子元素 mouseover事件可以触发多次,触发对象是注册对象或者注册对象的子元素 <!DOCTYPE html> & ...
- Windows-002-U盘启动盘制作
通常我们安装系统时,均采用光盘的形式安装,只是这种方法需要随时随地的带着光盘,还不容易保存.携带光盘.这时,一个 U盘启动盘 就是您的首选了,此种方式的好处多多,比如:忘记开机密码.系统备份.安装系统 ...
- rank 和 星星评级
我们常常看到打分,如下图 这样的效果有几种方法 1.用:lt(index) /* $('dl').each(function(){ var ths = $(this); $(this).find('d ...
- [BS-12] JSON的基础知识--百科
JSON的基础知识--百科 http://baike.baidu.com/view/136475.htm
- C# GridControl 行背景颜色
使用C# DevExpress_gridControl 行号行样式显示行背景颜色,必须取消自动变换行色属性 取消Focus变色,属性为OptionSelection--EnableAppearance ...
- yaffs2物理存储
了解一个文件系统,除了了解运行机制(RAM结构)外,还需了解文件系统怎样物理存储的.RAM数据结构是为文件系统更好运行,而物理存储是文件系统载体.文件系统出问题后,最终要从物理存储寻找数据.参考&qu ...