当前位置:文档之家› AMBA总线报告

AMBA总线报告

AMBA总线报告
AMBA总线报告

对AMBA片内总线通讯协议进行简要介绍之后,采用Top- Down设计方法完成了AMBA片内总线结构所有控制部件的RTL级硬件建模,并通过逻辑综合、优化得到了门级电路网表。经验证,符合AMBA规范,频率达100MHz。

关键词:AMBA 片内总线AHB仲裁器中央译码器APB桥

一、AMBA总线简介 (1)

1.1AMBA总线概况 (1)

1.1.1 高级高性能总线(AHB (1)

1.1.2 高级系统总线(ASB (1)

1.1.3 高级外设总线(APB) (1)

1.2 AMBA规范的目的 (1)

1.3 AMBA AHB介绍 (2)

二、AMBA片内总线通讯协议描述 (2)

2. 1AHB系统总线协议 (2)

2. 2APB外围总线协议 (3)

三、AMBA片内总线控制部件的设计 (3)

3. 1AHB仲裁器 (4)

3. 1. 1仲裁器优先级算法 (4)

3. 1. 2AHB仲裁器状态机 (4)

3. 1. 3AHB仲裁器状态机工作过程 (5)

3. 2中央译码器 (5)

3. 3多路选择器 (5)

3. 4虚拟/缺省总线主设备( dummy /default busmaster) (6)

3. 5外围总线桥 (6)

四、心得体会 (6)

五、参考文献 (7)

一、AMBA总线简介

1.1AMBA总线概况

高级微控制器总线体系(AMBA)规范定义了在设计高性能嵌入式微控制器时的一种片上通信标准。

根据AMBA标准定义了三种不同的总线:

(1). 高级高性能总线(AHB);

(2). 高级系统总线(ASB);

(3). 高级外设总线(APB)。

AMBA规范还包含一种测试方法以提供对宏单元进行测试和诊断访问的下部构造。

1.1.1 高级高性能总线(AHB

AMBA AHB是用于高性能、高时钟频率的系统模块。

AHB担当高性能系统的中枢总线。AHB支持处理器,片上存储器,片外存储器以及低功耗外设宏功能单元之间的有效连接。AHB也通过使用综合和自动测试技术的有效设计流来确保减轻使用负担。

1.1.2 高级系统总线(ASB

AMBA ASB是用于高性能的系统模块之间的。

AMBA ASB AHB的高性能特征的地方。ASB也支持处理器,片上存储器,片外存储器以及低功耗外设宏功能单元之间的有效连接。

1.1.3 高级外设总线(APB)

AMBA APB是用于低功耗外设的。

AMBA APB优化了最小功率消耗并且降低了接口复杂度以支持外设功能。APB 可以用来连接任意一种版本的系统总线。

1.2 AMBA规范的目的

AMBA

(1)促进带一个或多个CPU或者信号处理器的嵌入式微控制器产品的第一

(2)技术上独立并且高复用度的外设和系统宏单元能在多样的IC工序之间方便的移植,以及适用于完整定制、标准宏单元和门阵列技术;

(3)鼓励标准系统设计以提高处理器的独立性,提供高级cache CPU的发展

降低硅的下部构造要求以支持用在操作和生产测试时有效的片上和片外通信。

1.3 AMBA AHB介绍

AHB 是为提出高性能可综合设计的要求而产生的新一代AMBA 总线。它是一

种支持多

总线主机和提供高带宽操作的高性能总线。

AMBA AHB 实现了高性能,高时钟频率系统的以下特征要求:

(1).突发传输;

(2).分块处理;

(3).单周期总线主机移交;

(4).单时钟沿操作;

(5).非三态执行;

(6).更宽的数据总线架构(64 位或者128 位)。

这条高级总线和当今的ASB/APB 能够有效的桥接确保能够方便集成任何现有

的设计。

AMBA AHB 的设计可能包含一个或者多个主机,一个典型的系统将至少包含处理器和

测试接口。然而,将直接数据存取(DMA)或者数字信号处理器(DSP)包含

作总线主机

也很普通。

外部存储器接口,APB 桥和任何内部存储器是最常见的AHB 从机。然而,低带宽的外

设通常都是连接到APB 上。

二、AMBA片内总线通讯协议描述

2. 1AHB系统总线协议

AHB系统总线协议采用的是中央多路选择器互连方案。所有总线主设备发出它们想要执行传送的地址和控制信号,然后仲裁器决定把哪个主设备的地址和控制信号路由到所有从设备,中央地址译码器译码地址信息产生相应的从设备选择信号,同时控制从设备到主设备多路选择器把被寻址从设备的读数据和反应信号路由到所有到主设备。该互连方案集中体现在AHB系统总线的仲裁机制上,具体仲裁协议如下。

( 1)请求总线访问

AHB总线的仲裁是"隐含的",一次仲裁可以在前一次总线访问期间完成,从而仲裁不必占用AHB总线周期(总线空闲时除外)。正常情况下,仲裁器只有当一个猝发传送完毕之后才把总线占用移交给另外一个主设备,但为防止主设备对总线访问时间过分占用,仲裁器可根据其内部设定的Time- out机制提前终止猝发转送把

总线授权给请求访问总线的其他主设备。当主设备被授权总线并开始一个固定长度猝发传送后,没有必要继续请求总线,因为仲裁器通过监视猝发传送过程和HBU RST控制信号可以知道当前猝发传送何时结束; 对于长度不定的猝发传送,主设备应持续有效总线请求直至它发出最后一个传送,因为仲裁器不能预知不定长猝发传送何时终止。若主设备在进行当前猝发传送之后紧接着还要执行下一个猝发传送,它应在当前猝发传送期间重新有效总线请求信号,同样,若主设备在猝发传送过程中失去对总线的访问,它必须重新有效总线请求信号以便下次获得对总线的访问。

( 2)授权总线访问

仲裁器通过有效适当的HGRAN Tx 信号指明哪个主设备为当前最高优先权主设备。但此时并不表明该主设备就获得了总线, 只有等到HREADY被采样为高电平(前一个传送完成)时,它才真正获得总线所有权,开始总线访问。同时,仲裁器也将改变HMASTER信号译码出相应的主设备序号。由于AHB系统总线的地址/数据流水特性,数据总线的移交要滞后于地址总线的移交,因此,获得地址总线的主设备只有等到前一个主设备的数据段传送完成( HREADY变为高电平)后, 才可以拥有数据总线。

( 3)锁定传送

主设备进行锁定访问时, 必须有效HLOCKx信号向仲裁器指明当前传送为锁定序列。仲裁器通过监视来自每个主设备的HLOCKx 信号确保在锁定序列完成之前总线不能授权给其它主设备。在一个锁定序列传送完毕之后,仲裁器还将让该主设备继续保持总线进行一个附加传送以确保锁定序列的最后一个传送成功完成。仲裁器同时也要有效HMASTLO CK信号,它与地址和控制信号有相同的时序,该信号向从设备表明当前传送是锁定的,只有当前锁定传送处理完毕之后才可处理别的遗留交易。

2. 2APB外围总线协议

APB外围总线作为局部的二级总线,为系统总线提供了低功耗和接口设计简单的协议扩展,其实,它整体上可看作一个AHB从设备。APB数据传输协议相对AHB协议要简单许多,它仅支持一个主设备(外围总线桥)与多个从设备之间的数据通信,不支持性能高的数据传输带宽。具体接口规范如下。①.非流水特性: 地址和控制信号在整个数据访问期间保持有效。②.静态特性: 在外围总线不使用时,接口功耗为零。③非时钟接口特性: 通过解码选通脉冲产生时序,不必将高频率时钟广播到每个外围设备。④整个访问期间写数据有效。

三、AMBA片内总线控制部件的设计

本文根据上述协议并结合实际的32位系统所

需进行AMBA片内总线各个控制部件的设计。

3. 1AHB仲裁器

仲裁器是A HB系统总线的主要管理机构, 监视主设备发出的总线请求,根据内部设定的仲裁算法进行仲裁并给出相应的控制信号。此外,仲裁器还要处理来自从设备要求完成SPLIT 传送的请求。SPLIT传送是AHB系统总线的一个显著特性, 它在防止系统死锁方面和充分利用总线方面起到了积极的作用。本文给出的仲裁器设计中总线主设备数和从设备数可根据需要进行配置,最多可支持8个主设备和8个从设备。

3. 1. 1仲裁器优先级算法

为了合理地控制和管理系统中需要占用总线的数据源, AHB仲裁器必须实现一个特定的优先级仲裁算法,以便在多个主设备同时提出总线占用请求时,能依据该仲裁算法判决出哪个设备应获得对总线的控制权。由于总线仲裁算法从根本上说与AHB总线规范无关,所以可以根据实际需要自由地进行选择和修改。总线优先级仲裁算法通常有两种: 固定优先级算法和循环优先级算法。所谓固定优先级算法,就是指AHB总线中各主设备的优先级是事先确定好的,在仲裁器仲裁过程中固定不变;而循环优先级算法则不同,各主控器的优先级在仲裁器的仲裁过程中不是一成不变,而是根据一定规律发生变化的。两者各有利弊,采用固定优先级算法,可以对那些有重要数据传输、或有大量实时数据传输以及经常需要占用总线的主设备赋予较高的优先权,以便有效地利用AHB总线。固定优先级算法的缺点是,可能会出现总线主设备“撑死”和“饿死”的现象。相反,采用循环优先级算法则可以克服这种“饱饿”不均的弊端。在循环优先级算法中,由于其优先级随着每个总线周期动态地改变,各个设备在总线上的身份平等,获得总线占用权的机会均等。所以,在一定意义上来说,优先级循环是最公平的算法。循环优先级的缺点是当处理某些设备的大批量实时数据时会造成效率的降低。

本文根据实际系统需要采用了固定仲裁算法,且总线的缺省拥有者可进行自由配置以满足系统应用的灵活性。

3. 1. 2AHB仲裁器状态机

依据AHB总线传送协议,定义了六个状态:系统复位状态( RESET)、虚拟主设备(或缺省主设备)占用总线状态( DEFAU LTS)、单个传送与总线移交状态( HANDOV ER)、固定长度猝发传送状态( FIX ED)、不定长度猝发传送状态( UNDEFIN ED)和附加传送状态( EX TRA)。wai t表示从设备没有准备好( HREADY信号为低电平) ,需要插入等待周期;Req表示有主设备发出总线请求; Reqx 表示占有总线的主设备继续发出总线请求; Fix ed表示发起当前传送且为固定长度猝发传送类型; Incr 表示发起当前传送且为不定长度猝发传送类型; Sing le表示发起当前传送且为单个数据传送类型; Idle表示当前传送为空传送; Okay 表示从设备可以正常完成传送; ! Okay 表示从设备对当前传送作出错误或重试反应; Lockx 表示当前传送为锁定序列; Spli t表示从设备作出SPLIT反应; all- Spli t表示所有请求总线的主设备都接受到SPLI T反应; Spli tx 表明某个从设备请求可以完成SPLI T传送; unfinished表示当前猝发传送没有完成。

3. 1. 3AHB仲裁器状态机工作过程

系统复位过后进入DEFAU LTS状态,总线被授予预先设定的缺省主设备; 若总线上有主设备发出总线请求信号,仲裁器将根据内部设定的优先级算法,判决出当中的最高请求线,并把总线授予给相应的主设备,然后根据控制信号决定是否转入相应的猝发传送状态。当猝发传送完成后, 转入HANDOV ER状态重新进行总线仲裁与授权,若没有主设备申请总线,最后状态停靠在缺省主设备占用总线状态。

正常情况下,状态间的转移都是在时钟沿采样HREADY 有效时发生的,但对于异常情况即从设备作出错误或重试反应,状态机则会根据具体情况作出相应的特殊处理,例如正在进行猝发传送的FIXED状态中突然接收到! Okay 反应,状态机将立即转入HAN DOV ER状态重新进行总线仲裁与授权,而不管当前猝发传送是否完成。

对于锁定传送情况,仲裁协议要求当前主设备在完成锁定序列传送之后,继续保持总线进行一个附加的空传送,因此需要定义一个附加传送状态。因单个传送和不定长度猝发传送本身隐含着一个猝发传送完毕后的附加传送周期,因此这两种类型传送在锁定序列完毕之后没有必要进入EX TRA状态。锁定序列传送过程中接收到S PLIT反应,状态机立即转入HAN DOV ER状态并保持总线所有权不变,随后暂停在DEFAU LTS状态屏蔽当前主设备的总线所有权直到从设备发出完成SPLIT传送的请求。若锁定传送过程中接收到的是RETRY反应,仲裁器只需在转入HANDOV ER状态时保持总线所有权不变即可,随后的状态转移与正常情况相同。

3. 2中央译码器

AHB系统总线采用集中式的地址译码机制,有利于提高外围设备的可移植性,使外围设备独立于系统存储器映射,这一功能由中央译码器完成。为避免复杂的译码逻辑以确保总线的高速操作,本文在中央译码器的设计中,采用了简单的地址译码方案,即通过组合译码地址的高端位信号为AHB系统总线上的从设备产生相应的选择信号。此外,在该译码器模块中还实现了一个附加的缺省从设备, 用于处理系统应用中32位地址空间(亦即4 Gbyte存储器映射空间)没有被完全定义的情形。当主设备对不存在的地址空间进行访问时,由缺省从设备作出相应的反应,避免系统锁死。对此分两种情形来考虑:

①.如果对不存在的地址空间进行NON SEQU EN TIAL或SEQUEN TIAL 传送访问,缺省从设备应当作出ERRO R反应。

②.如果对不存在的地址空间进行IDLE 或BUSY传送访问,缺省从设备应当作出O KAY反应。

3. 3多路选择器

多路选择器使整个AHB系统互连起来,它把所需的控制信号和数据路由到相应的目的设备为完成相应的路由功能,它分为主设备到从设备多路选择器和从设备到主设备多路选择器; 因AHB系统总线的地址/数据流水特性,主设备到从设备多路选择器又分为地址/控制信号多路选择器和写数据多路选择器,且地址/控制信号多路选择器的控制信号比其他两个多路选择器的控制信号要提前一个总线周期。

3. 4虚拟/缺省总线主设备( dummy /default busmaster)

为配合整个AHB片内总线系统正常工作,还必须实现一个虚拟总线主设备,如果其它所有主设备都不能使用总线,此时总线就被授权给虚拟总线主设备。当虚拟主设备获得总线,它只能执行空( IDLE)传送。在以下两种情形下总线被授权给虚拟总线主设备:

①.从设备对锁定传送作出SPLIT反应时。

②. 所有其它主设备都在等待完成SPLIT传送时。

当总线上没有主设备发出总线请求亦即总线处于空闲时,总线将被授权给某个要求总线访问延迟时间小的主设备,也即最有可能请求总线的主设备,此时称这个总线主设备为缺省总线主设备,它不同于虚拟主设备。在本设计中缺省主设备可进行自由配置以满足系统应用的灵活性。通过判断总线被授权给虚拟或缺省主设备,可以预知总线上有没有进行新的数据传送,因此,可以作为一种有效机制使系统转入低功耗操作模式。

虚拟主设备的逻辑实现比较简单,只需把地址/控制信号多路选择器的虚拟主设备接口作相应的硬连线即可。唯一需要注意的是把HT RAN S信号硬驱动到IDLE,其它地址和控制信号的值可以任意。

3. 5外围总线桥

作为外围总线主要控制部件的外围总线桥,既是外围总线上唯一一个主设备,也是AHB系统总线上的一个从设备。其内部结构如图4所示,其主要功能是锁存来自AHB系统总线的地址、数据和控制信号,并提供二级译码以产生APB外围设备的选择信号,从而实现AHB协议到APB协议的转换。本文给出的外围总线桥设计不支持SPLIT传送。完成一次APB 读/写传送需要经过建立( SET UP)和使能( EN ABLE)两个状态,但读传送和写传送略有不同, APB读传送只需在EN ABLE状态提供数据,而APB写传送要求写数据在整个写操作期间保持有效,同时, AHB总线因地址/数据流水操作,数据滞后于地址/控制信号,考虑到这一点,在写操作的第一个传送开始前插入了一个写准备(WRITE READY)状态,并将读传送和写传送工作状态分开描述。

四、心得体会

通过这次实训,我收获了很多,一方面学习到了许多以前没学过的专业知识与知识的应用,另一方面还提高了自己动手做项目的能力。本次实训,是对我能力的进一步锻炼,也是一种考验。从中获得的诸多收获,也是很可贵的,是非常有意义的。

在实训中我学到了许多新的知识。是一个让我把书本上的理论知识运用于实践中的好机会,原来,学的时候感叹学的内容太难懂,现在想来,有些其实并不难,关键在于理解。同时也感谢老师和同学们在学习过程中的帮助。

五、参考文献

[1].专用集成电路和集成系统自动化设计方法(中国集成电路大全)[M].国防工业出版社.1997.

[2].史美萍,窦文华.基于EPLD的PCI总线仲裁器的设计与实现[M].电子技术应用, 2000.

[3].马光胜,冯刚等.SoC设计与IP核重用技术[M].国防工业出版社,2006

[4].叶以正,肖立伊等.集成电路IP核标准发展状况分析[J].中国集成电路,2005

相关主题
文本预览
相关文档 最新文档