AHB总线问答.docx

上传人:b****4 文档编号:26879268 上传时间:2023-06-23 格式:DOCX 页数:15 大小:23.81KB
下载 相关 举报
AHB总线问答.docx_第1页
第1页 / 共15页
AHB总线问答.docx_第2页
第2页 / 共15页
AHB总线问答.docx_第3页
第3页 / 共15页
AHB总线问答.docx_第4页
第4页 / 共15页
AHB总线问答.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

AHB总线问答.docx

《AHB总线问答.docx》由会员分享,可在线阅读,更多相关《AHB总线问答.docx(15页珍藏版)》请在冰豆网上搜索。

AHB总线问答.docx

AHB总线问答

AHB总线问答

仲裁:

主设备可以在一个突发传输中解除HLOCK信号吗?

应用于:

AHBAHB规范中要求所有在地址传输相位内的控制(除了HADDR和HTRANS)在突发传输周期中保持稳定。

尽管HLOCK信号不是一个地址传输相位内的信号,但是它却直接控制HMASTLOCK信号,而该信号是在地址传输相位的。

所以HLOCK信号必须在整个突发传输周期中维持为高,并且只能在最后一个地址传输相位之后改变,HMASTLOCK信号随之改变。

仲裁:

主设备可以在被分配到总线而有不需要使用总线的时候进行一个不是IDLE的传输吗?

应用于:

AHB是的。

主设备可以在被分配到总线而有不需要使用总线的时候进行一个不是IDLE的传输。

但是请注意,在这种情况下任然建议主设备继续维持请求信号,以便仲裁器不会在传输过程中将总线使用权分配给另一个优先级更低的主设备。

仲裁:

如果一个主设备当前被默认分配到了总线使用权,那么它在开始一个非IDLE传输之前需要维持HBUSREQ多少个周期?

应用于:

AHB不需要。

主设备可以立即开始一次非IDLE传输。

仲裁:

HLOCK信号和HMASTLOCK信号之间有什么关系?

应用于:

AHB在每个传输周期中的地址传输相位开始的时候,仲裁器都会对将要驱动地址信号线的主设备的HLOCK信号采样,如果HLOCK信号在此时有效那么仲裁器就会拉高HMASTLOCK并维持整个传输周期中的地址传输相位阶段。

仲裁:

HGRANT信号可以在什么什么改变?

应用于:

AHBHGRANT信号可以在任意周期改变,并有可能是一下几种情况:

HGRANT信号有效,然后在当前传输周期完成之前移除。

这是有可能的并且是允许的,因为HGRANT信号只在HREADY信号为高的时候被主设备采样。

主设备可以不需要申请而得到总线使用权。

以上两点意味着主设备可能在申请总线的同时获得总线使用权。

这发生在在主设备在同一个周期申请总线并同时被仲裁器分配总线使用权。

仲裁:

为什么HADDR信号有时候是仲裁器的输入信号?

应用于:

AHB地址总线,HADDR,本是不需要作为仲裁器的输入信号的,但是在有些设计中却可以用于帮助仲裁器决定改变总线使用权的恰当时机。

例如,仲裁器可以设计成当突发传输到达4字边界的时候改变总线使用权。

仲裁器可以设计成总是允许突发传输完成吗?

应用于:

AHB应用于:

AMBAAHB从设备给出SPLIT,RETRY或ERROR响应总会引起突发传输提前结束,而这是不受仲裁器控制的,因此(仲裁器)必须予以支持。

未定义长度的INCR突发传输的结束点并不能预测到,所以还没有有效的方法设计仲裁器以保证在将总线授予另一个主设备时突发传输已经结束。

定长的INCRx和WRAPx突发传输能够计数它们传输的节拍,所以仲裁器可以允许他们传输结束。

但是由于AHB仲裁的同步时序,所以没有办法避免在突发传输第一次传输发起之后就立即结束突发传输的可能性。

仲裁器只有通过对HBURST信号的采样才知道一个定长的突发传输正在进行。

但是HBURST信号第一次可以被采样到的店是在突发传输第一节拍的第一个时钟周期之后,而在那时,仲裁器很可能已经决定将总线授予另一个主设备并相应要改变HGRANT信号。

在这种情况下,只有一条从HBURST到HGRANT的组合路径能够帮助及时检测到突发传输以避免提前结束,但是组合路径在AHB总线中是不允许的。

主设备应该在一个锁定传输中什么时候拉高是释放HLOCK信号?

应用于:

AHB在一个锁定传输中,HLOCK信号必须至少在地址传输相位之前一个周期拉高。

这样才能保证仲裁器在地址传输相位开始的时候,采样到的HLOCK信号为高。

主设备应该在锁定传输中最后一次传输的地址传输相位发起之后释放HLOCK信号。

主设备应该在什么时候释放HBUSREQ信号?

应用于:

AHB

对于一个未定义长度的突发传输(INCR),主设备必须保持HBUSREQ信号为高一直到突发传输中的最后一次传输的地址传输相位发起之后。

这将意味着如果倒数第二次传输是一个零等待状态,那么主设备可能会在未定义长度突发传输之后还被授予总线都多一次额外的传输。

对于定长突发传输,主设备可以在第一次获得总线发起传输之后就释放HBUSREQ信号。

只所以可以这样做是因为仲裁器能够对突发传输中的传输节拍计数并保持主设备一直被授予总线知道突发传输的结束。

但是,仲裁器并没有强制要求必须允许突发传输的结束。

所以,如果仲裁器在突发传输结束之前就改变了HGRANT信号,那么主设备必须再次拉高HBUSREQ信号。

仲裁器在一次锁定传输之后什么时候会将总线授予另一个主设备?

应用于:

AHB仲裁器总会授予主设备在锁定传输周期之后一个额外的传输,所以主设备能够保证在锁定传输周期之后HMASTLOCK信号为低的时候执行一次传输。

而这恰巧又是在锁定传输的最后一次传输的数据相位上。

此时,仲裁器可以将改变HGRANT信号授予另一个主设备,但是如果在最后一次锁定传输的数据相位上收到一个RETRY响应,那么仲裁器将会继续驱动HGRANT信号以确保那个执行锁定传输的主设备继续获得总线;如果在最后一次锁定传输的数据相位上收到一个SPLIT响应,那么仲裁器将会将总线授予一个虚拟的主设备。

总体:

对于一个允许断电或者时钟停止的从设备,需要什么样的系统支持?

应用于:

AHB

如果系统视图访问一个断电的或者时钟停止的从设备,你必须确保这次访问能够唤醒电源供电或恢复时钟,或者配置AHB译码器所有这种类型的访问重定向到一个虚拟从设备,这样以避免系统访问一个无效的从设备时永远等停在那里。

这种方式的重定向需要确保随机IDLE地址的访问将会有HREADY为高,HRESP=OKAY的默认响应,但是对于真正的访问(NONSEQ或者SEQ)将会有ERROR响应。

总体:

什么时候可以发生突发传输提前结束?

应用于:

AHB突发传输提前结束或是因为仲裁器在突发传输过程中改变HGRANT信号,或是因为从设备在任一传输节拍中给出非OKAY响应。

注意虽然主设备不能决定一个定长的突发传输直到主设备被仲裁器或者从设备提示要这样做。

所有的AHB主设备,从设备和仲裁器都必须设计成支持突发传输提前结束。

总体:

HTRANS信号可以在HREADY为低时改变吗?

应用于:

AHB一般来说,AHB主设备不应该在HREADY信号为低的时候改变控制信号,但是在以下情况,允许改变HTRANS信号:

HTRANS=IDLEAHB主设备在执行一个内部操作并且没有发起一次总线传输。

但是在AHB等待状态下(HREADY为低),主设备可能会决定需要一次总线传输然后在下一个周期将HTRANS改为NONSEQ。

HTRANS=BUSY

HTRANS在此时正是给予主设备一定时间以完成其内部操作,而这可能是与HREADY信号无关的(例如,AHB中的等待状态)。

因此HTRANS信号可以在下一个周期改变为任意合法的值,如,在突发传输需要继续时改为SEQ,在突发传输结束时改为IDLE,在需要发起一个单独的传输时改为NONSEQ。

HRESP=SPLIT/RETRY

正如AHB规范中所述,主设备必须在双周期响应SPLIT和RETRY的第二个周期保持HTRANS为IDLE,所以HTRANS会在第二个周期中从第一个周期中的值改变为IDLE。

HRESP=ERROR

主设备允许在回应ERROR响应时改变HTRANS信号,就像回应SPLIT/RETRY响应一样,并且取消当前突发传输中的后续传输(即使HTRANS当前表示的是定长突发传输)。

在这种情况下,HTRANS信号在第响应的二个周期改变为IDLE。

或者主设备也可以允许继续当前传输。

总体:

BUSY传输可以发生在突发传输之后吗?

应用于:

AHBBUSY传输只能发生在不定长突发传输(INCR)的结束。

BUSY传输不能发生在定长突发传输(SINGLE,INCR4,WAP4,INCR8,WAP8,INCR16,WAP16)的结束。

总体:

主设备可以在传输等待中改变地址和控制信号吗?

应用于:

AHB可以的。

如果地址和控制信号表示的是一个IDLE传输,那么主设备可以在HREADY为低的时候将传输改为一个真正的传输(NONSEQ)。

但是如果主设备当前正表示一个真正的传输(NONSEQ或者SEQ),那么主设备不能在传输等待中取消这次传输,除非主设备接收到SPLIT。

RETRY或者ERROR响应。

总体:

AHB主设备可以直接连到AHB从设备吗?

应用于:

AHB

任何不支持SPLIT响应的从设备都可以直接连到AHB主设备上。

如果从设备确实有使用SPLIT响应,那么一个简化版的中采取还是需要的。

如果一个AHB主设备直接连到AHB从设备,那么必须确保从设备在复位的时候维持HREADY信号为高,并且从设备选择信号HSEL永远维持为高。

总体:

所有的从设备都必须支持BUSY传输类型吗?

应用于:

AHB

是的。

所有从设备都必须支持BUSY传输类型以确保它能够与任何主设备兼容。

总体:

地址必须对齐吗?

即使是IDLE传输?

应用于:

AHB

是的。

地址应高根据传输宽度(HSIZE)对齐,即使是IDLE传输。

这会避免在仿真的时候,总线监视器发出的警告。

总体:

在AHB系统中可以支持多少个主设备?

应用于:

AHB

AHB规范中提供了最多16个主设备,然而,这还包括一个虚拟主设备,即真正的总线主设备最多之后15个。

习惯上总线主机号0被分配给虚拟总线主机。

总体:

AHB到APB的桥接器如何处理不是32-bits的访问?

应用于:

AHB,APB

桥接器应该简单的将整个32-bit的数据都传输过去。

但是请注意,当进行小于32-bit的数据传输时,确保外设正处在APB数据总线上的正确比特位上。

总体:

HREADY信号是从设备的输入信号还是输出信号?

应用于:

AHB

AHB从设备必须将HREADY信号既作为输入信号又作为输出信号。

从设备需要输出HREADY信号以便能够扩展传输中的数据传输相位。

从设备同时需要将HREADY信号作为一个输入信号,以便能够判断上一次选择的从设备在什么时候完成它的最后一次传输,以及当前从设备的数据传输相位即将开始。

每一个AHB从设备都应该有一个HREADY输出信号(习惯上命名为HREADYOUT)连接到从设备—主设备多路器上多路器的输出信号就是全局HREADY信号,它将连接到AHB系统上的所有主设备并且同时作为HREADY输入信号反馈输入到所有的从设备。

总体:

默认从设备真的需要吗?

应用于:

AHB

如果整个4Gbyte空间都被定义使用到了,那么默认从设备是不需要的。

但是,如果在整个存储地址空间分配上存在未定义的区域,那么确保在访问不存在的地址空间时AHB系统不会发生死锁是很重要的。

默认主设备的功能是非常简单的,并且同时在译码器中就实现了。

总体:

虚拟主设备真的需要吗?

应用于:

AHB

任何存在支持SPLIT响应的从设备的AHB系统都是需要有虚拟主设备的。

应为如果所有其它主设备都接收到了SPLIT响应,那么系统会将总线使用权分配给虚拟主设备。

虚拟主设备中不需要什么逻辑,它的实现只需要简单的将其输入信号连接到地址/控制多路器的虚拟主机位置。

虚拟主机需要驱动HTRANS为IDLE,HLOCK为低,所有其它主设备输出信号驱动为合法状态。

总体:

主设备在扩展的传输中可以改变HADDR吗?

应用于:

AHB

如果主设备表示它想进行NOSEQ,SEQ或者BUSY传输,那么它就不允许在扩展的传输中(当HREADY为低时)改变地址总线上的值,除非它接收到了ERROR,RETRY或者SPLIT响应。

如果主设备表示它想进行一个IDLE传输,那么它可以改变地址信号。

总体:

有规定需要HPROT,HSIZE和HWRITE信号在突发传输中需要保持恒定吗?

应用于:

AHB

是的,控制信号必须在整个突发传输中都要保持恒定。

总体:

规范里面建议只有16个等待状态,如果需要16个以上的等待周期该怎么做?

应用于:

AHB

对于一些从设备而言,16个以上的等待周期是可以接受的。

例如,一个串行的ROM,它只在系统商店初始化的时候会被访问时会插入大量的等待状态,但是在系统完成上电初始化之后,它并不影响系统性能和延时的计算。

对于另一些从设备,存在多项选择。

SPLIT或者RETRY响应可以用于表示从设备暂时还不能执行数据传输请求,或者从设备被访问时,给出一个中断响应,或者在查询一个状态寄存器之后能访问。

这两种情况都表示从设备不能够在可接受的等待周期中给出应答。

总体:

不同的突发传输用在什么地方?

应用于:

AHB

通常,主设备在高速缓存行填充的时候使用回环突发传输,主设备先是想获取他想要的数据,然后完成突发传输把剩余的数据取出药用于高速缓存行填充。

增量突发传输主要用在像DMA控制器一类的主设备,需要填充一个可能不是地址边界对齐的存储器的缓冲区。

总体:

对于从设备而言,应该为HREADY和HRESP信号什么样的默认状态?

应用于:

AHB

建议HREADY的默认状态为高,并且HRESP为OKAY状态。

这样的组合能够保证从设备即使是在低功耗模式下也能对IDLE传输给出正确的响应。

总体:

虚拟总线主设备和默认总线主设备之间有什么区别?

应用于:

AHB

默认总线主设备是指系统中没有主设备在申请总线的时候,总线被分配给的那个主设备。

通常情况下,最有可能申请总线的主设备就是默认总线主设备。

虚拟主设备是指只进行IDLE传输的主设备。

系统需要虚拟主设备是以便仲裁器能够保证能够将总线分配给一个不进行任何实际传输的主设备。

仲裁器在以下两种情况下需要这样做:

在一个锁定传输中得到一个SPLIT响应;在所有其他主设备都已经得到SPLIT响应的情况下,又得到一个SPLIT响应。

总体:

HPROT信号默认应该是什么值?

应用于:

AHB

许多主设备不能产生准确的保护信息,那么对于这些主设备,HPROT信号默认应该表示为:

Non-cacheable,Non-bufferable,Privileged,DataAccesses,也就是HPROT[3:

0]=4'b0011。

总体:

AHB信号在复位时是什么状态?

应用于:

AHB

AHB规范中指出在复位时,总线信号应该是一个确定的有效的值。

简单的理解就是信号应该是逻辑‘0’或‘1’,而不是高阻态Hi-Z。

实际应该是什么样的有效的值要取决于设计者。

HTRANS信号是唯一一个在复位时确定的信号,它将强制为IDLE。

同时,HREADY信号在复位时保持高电平也很重要。

如果所有的系统从设备在复位时驱动HREADY信号为高,这将保证这是情况正常。

但是,如果存在从设备在复位的时候不是驱动HREADY为高的,应该保证复位时选中的那个从设备需要驱动HREADY为高。

总体:

主设备应该在什么时候重建被提前结束的突发传输?

有哪些限制它如何重建突发传输?

应用于:

AHB

唯一的限制就是主设备应该使用有效的突发传输组合来重建剩下的突发传输。

例如:

如果一个主设备要进行一次8拍的突发传输,但是在传输3拍之后就失去了总线控制权,那么剩下的5拍传输可以使用1拍SINGLE突发传输加一次4拍的INCR4传输,或者也可以使用5拍的未定义长度INCR突发传输。

为了简单,建议主设备使用INCR突发传输去完成剩下的传输。

总体:

为什么一次突发传输不允许跨域1kbyte边界?

应用于:

AHB

如果AHB从设备在突发传输开始的时候采样到HSELx信号,它就会知道它将在整个突发传输过程中都被选择。

同样的,对于在突发传输开始的时候没有被选择的从设备也知道它在下一次突发传输之前都不会被选择到。

1kbyte是AHB从设备在存储器空间分配中可以占据的最小空间。

因此,如果一个突发传输跨越了1kbyte边界,那么访问可能是开始的时候访问一个从设备而后的传输又转向另一个从设备,而根据上述原因,这是不允许发生的。

选择1kbyte边界是因为它对于一个合理的突发传输已经足够大,但是对于那些可以对其到1kbyte空间而无需使用太多的可用内存空间的外设来说又太小。

如何将一个AHB主设备连到一个AHB-lite系统上?

应用于:

AHB

AHB-lite系统没有任何仲裁逻辑,所以全功能AHB主设备将会永久的获得总线。

全功能AHB主设备HBUSREQ输出信号保留不接,HGRANT输入信号直接接到逻辑‘1’(1'b1)。

由于AHB-lite不支持SPLIT和RETRY响应,AHB-liteHRESP信号只有1位,所以全功能AHB主设备HRESP[1:

0]输入信号应该将HRESP[1]接到逻辑‘0’(1'b0)。

全功能AHB主设备是在锁定传输的地址传输相位之前驱动HLOCK信号的,并且通常是经由仲裁模块重现返回到全功能主设备以产生HMASTLOCK信号,这将是和地址传输相位对其的。

下面的Verilog代码可以用来产生AHBLOCK->AHB-lite的HMASTLOCK信号返回时序功能。

always@(negedgeHRESETnorposedgeHCLK)begin

if(!

HRESETn)

HMASTLOCK<=1'b0;

elsebegin

if(HREADY)

HMASTLOCK<=HLOCK;

end

end

下面的例子显示了可以在总线上产生的HTRANS传输顺序:

一个普通的4拍突发传输跟一个IDLE传输。

N-S-S-S-I

一个带有BUSY传输的普通4拍突发传输。

N-S-B-S-B-S-I

一个4拍突发传输跟着另一个突发传输。

N-S-S-S-N-S-S-S-I

一个单次传输跟一个4拍的突发传输。

N-N-S-S-S-I

一个单次传输跟一个IDLE传输。

N-I

一个带有BUSY传输的未定义长度突发传输。

N-B-S-B-S-B-I

一个带有BUSY传输的未定义长度突发传输紧跟着另一个突发传输。

N-B-S-B-S-B-N-S

如何将一个AHB从设备连到一个AHB-lite系统上?

应用于:

AHB

只要从设备不产生SPLIT或者RETRY响应,那么AHB从设备和AHB-lite是兼容的,可以之间连接。

如果AHB从设备需要产生RETRY响应,那么需要一个Ahb2Ahb桥接器(在ARMAMBADesignKit(ADK)中有几个例子)连接AHB从设备和AHB-lite系统。

这个Ahb2Ahb能够本地支持RETRY响应,并保持AHB-lite系统端的HREADY为低(1'b0)。

如果AHB从设备需要支持SPLIT响应,那么不仅需要上面支持RETRY响应用到的Ahb2Ahb桥接器,还需要一个本地虚拟主设备和一个仲裁器。

SPLIT响应需要仲裁器将总线分配给两一个主设备,所以需要一个虚拟主设备放在本地全功能AHB总线上去驱动IDLE传输,只到从设备可以去完成SPLIT传输。

AHB和AHB-lite有什么区别?

应用于:

AHB

AHB-lite是全功能的AMBA2AHB规范的一个简化版本,只支持一个主设备。

这样的简化移除了仲裁逻辑所需要的信号,HBUSREQ信号和HGRANT信号,并且HRESP信号只需要1位,SPLIT和RETRY从设备响应只用在对多主设备的支持上。

移除任何仲裁逻辑同时意味着AHB主设备HLOCK输出信号需要会发给与地址传输相位对其的HMASTLOCK信号(通常由AHB仲裁器完成的功能)。

AMBA系统镇中复位信号应该维持多少个周期?

应用于:

AHB,APB

建议系统上的主设备组件和从设备组件应该在复位请求大于1或者2个周期时清除状态。

同时建议系统设计者应该维持复位信号至少16个周期,除非知道有主设备组件或者从设备组件需要更长周期的复位请求。

AHB怎样处理锁定传输中的SPLIT响应?

应用于:

AHB

如果一个传输中受到SPLIT响应,那么仲裁器就会夺回被SPLIT的主设备的总线使用权并该主设备将不会再参与仲裁,直到从设备表示传输可以完成。

如果一次访问是锁定的,那么该次访问就不能被其它主设备的访问所打断。

AHB系统在处理这两种需求同时发生的情况只有一条途径,那就是将总线分配给“虚拟主设备”。

虚拟主设备只进行IDLE传输,这在锁定传输中式允许的,如果将总线分配给其它任何主设备都将违背锁定传输协议,如果仲裁器忽略SPLIT相同将违背SPLIT协议,所以虚拟主设备是唯一的选择。

虚拟主设备同时用在所有主设备都收到SPLIT响应的情况下(虚拟主设备不能接受SPLIT响应)。

建议支持split的从设备的设计者能确保从设备监听HMASTLOCK输入信号,以便在锁定传输中不返回SPLIT响应,应为那样也是无济于事的。

SPLIT/RETRY:

SPLIT和RETRY响应可以在突发传输中的任何时候给出吗?

应用于:

AHB

是的,从设备可以在突发传输中的任何一次传输给出SPLIT,RETRY,ERROR响应。

从设备被没有限制只能在第一次传输给出这些响应。

SPLIT/RETRY:

从设备可以在给出SPLIT响应的同一个周期拉高HSPLITx信号吗?

应用于:

AHB

不可以。

规范中要求HSPLITx信号只能在给出SPLIT响应之后被拉高。

SPLIT/RETRY:

从设备可以同时使用SPLIT和RETRY响应吗?

应用于:

AHB

通常,从设备并不同时使用SPLIT和RETRY响应。

对于那些可能同时被多个不同的主设备访问的从设备都应该使用SPLIT响应。

RETRY响应主要用在只被一个主设备访问的外设中。

SPLIT/RETRY:

所有的主设备都应该支持SPLIT和RETRY吗?

应用于:

AHB

是的。

所有主设备都必须支持SPLIT和RETRY响应,以确保它们能够和任何的从设备兼容。

主设备处理SPLIT和RETRY响应的方式都是一样的。

注意:

如果系统是基于AHB-lite的,SPLIT和RETRY响应都是不支持的。

AHB-lite是单主设备方案,所以SPLIT和RETRY响应都是没有意义的。

SPLIT/RETRY:

所有的从设备都应该支持SPLIT和RETRY吗?

应用于:

AHB

不是的。

从设备只需要支持它需要使用的响应类型。

例如:

一个简单的片上存储器模块可以在仅仅一个等待状态后就能够响应所有的传输,那么它就不需要SPLIT和RETRY响应。

SPLIT/RETRY:

在SPLIT响应或RETRY响应之后的IDLE传输中,应该在总线上给出什么地址?

应用于:

AHB

其实在这个传输周期中,总线上是什么地址信号并没有什么影响。

被选择的不应该有任何行为,并且必须给出零等待的OKAY响应。

在许多情况下,主设备保持地址信号不变将会更简单,地址信号保持主设备想要进行的下一次传输的地址不变,并只在下一次传输返回那个因为SPLIT或是RETRY响应而必须重新进行的传输的地址上。

在一些设计上,主设备可能是在IDLE传输周期中返回到那个需要重传的地址上,这个当然也是完全可以接受的。

SPLIT/RETRY:

SPLIT和RETRY响应有什么不同?

应用于:

AHB

SPLIT和RETRY响应都被从设备在需要很多周

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1