一种ambaahb总线实现方法及装置的制作方法

文档序号:6597463阅读:240来源:国知局
专利名称:一种amba ahb总线实现方法及装置的制作方法
技术领域
本发明涉及嵌入式系统领域,尤其涉及一种AMBA AHB总线实现方法及装置。 半导体工艺的进步和集成电路设计技术的发展,使得在单一芯片上集成整个 系统的功能部件成为可能,目前SoC设计已经成为当今集成电路的主流。上市时间 (Time-to-Market)的要求越来越苛刻,为縮短设计和验证周期,基于IP (Intellectual Property)复用的设计方法已经在SoC设计中得到广泛采用。片上总线(On Chip Bus)作 为SoC集成系统的互连结构,解决了各个IP功能模块间的相互通信问题,包括数据格式、时 序、协议等方面。主流的SoC片上总线技术使用国际上公开通用的总线结构,比较成熟的主 要有ARM公司的AMBA (Advanced Microcontroller Bus Architecture)总线、IBM公司的 CoreCo皿ect总线等。 ARM公司在嵌入式微处理器领域内取得的巨大成功,使得基于AMBA的总线结构 成为嵌入式SoC领域最为广泛采用的总线架构,已成为业界的事实标准。集成到嵌入式系 统芯片上的IP模块具有AMBA总线接口 ,丰富的IP库是基于AMBA总线结构的嵌入式SoC 的巨大优势。AMBA总线规定了三种总线标准AHB(Advanced High-performance Bus)、 ASB (Advanced System Bus)和APB (Advanced Peripheral Bus)。随着系统芯片规模的不 断扩大,需要在单一芯片上集成越来越多功能部件,如何在系统时序越来越复杂的情况下, 尽量降低关键时序路径的延迟,达到芯片高频率下的时序收敛成为当前主流系统芯片设计 的重要挑战。 为了解决上述的技术问题,提供了种AMBA AHB总线实现方法及装置,其目的在于, 縮短通过AHB的时序路径,方便达到总线高频率下的时序收敛,在此前提下尽量控制逻辑 复杂度,维持低延迟的AHB传输和较小的设计面积。 本发明提供了一种AMBA AHB总线实现方法,在AHB总线选通逻辑控制单元与主设 备之间设置AHB总线桥接器,用于实现访存AHB总线的时序收敛;AHB总线选通逻辑控制单 元包括地址和控制复用器以及写数据复用器,仲裁器与地址和控制复用器以及写数据复用 器分别连接。 对于写交易,AHB总线桥接器寄存主设备提供的地址和控制信号,写数据以及地址 和控制信号;AHB总线桥接器将寄存的地址和控制信号,或者写数据以及地址和控制信号 发送到AHB总线供从设备采集; 对于读交易,AHB总线桥接器寄存主设备提供的地址和控制信号;AHB总线桥接器 将寄存的地址和控制信号发送到AHB总线供从设备采集,并将从设备返回的读数据发送到 主设备。 在主设备发出一次单个写交易时执行如下步骤
背景技术
发明内容
步骤11, AHB总线桥接器发现主设备发起一次写交易后,寄存地址和控制信号;
步骤12,AHB总线桥接器进行总线申请并得到授权后,AHB总线桥接器通知主设备 将写数据保持,AHB总线桥接器寄存写数据; 步骤13, AHB总线桥接器将寄存后的地址和控制信号发送到AHB总线上供从设备 采集; 步骤14, AHB总线桥接器将寄存后的写数据发送到总线上供从设备采集,从而实 现一次写交易。 在主设备发出一次单个读交易时执行如下步骤 步骤21, AHB总线桥接器发现主设备发起一次读交易后,寄存地址和控制信号;
步骤22, AHB总线桥接器进行总线申请并得到授权; 步骤23, AHB总线桥接器将寄存后的地址和控制信号发送到AHB总线上供从设备 采集; 步骤24,从设备返回读数据后,AHB总线桥接器寄存该读数据; 步骤25, AHB总线桥接器将寄存后的读数据发送到主设备,从而实现一次读交易。 在主设备发出一次突发写交易时执行如下步骤 步骤31, AHB总线桥接器发现主设备发起一次突发写交易后寄存第1个地址和控 制信号; 步骤32,AHB总线桥接器进行总线申请并得到授权后,AHB总线桥接器通知主设备 将第1个地址对应的写数据以及第2个地址和控制信号保持并寄存该写数据以及第2个地 址和控制信号,将寄存的第1个地址和控制信号发送至AHB总线供从设备采集;
步骤33, AHB总线桥接器将寄存的该第1个地址对应的写数据以及第2个地址和 控制信号发送至AHB总线供从设备采集,并通知主设备将第2个地址对应的写数据以及第 3个地址和控制信号保持; 步骤34,对于第n-l个地址对应的写数据以及第n个地址和控制信号,AHB总线桥 接器将寄存的第n-2个地址对应的写数据以及第n-l个地址和控制信号发送至AHB总线供 从设备采集,并通知主设备将第n-l个地址对应的写数据以及第n个地址和控制信号保持; n > 4, n为自然数,第n个地址不是最后一个地址; 步骤35, AHB总线桥接器通知主设备保持最后一个地址对应的写数据和写交易结 束信息并寄存最后一个地址对应的写数据和写交易结束信息,将最后一个地址对应的写数 据和写交易结束信息发送至AHB总线供从设备采集,写交易结束。
在主设备发出一次定长突发读交易时执行如下步骤 步骤41, AHB总线桥接器发现主设备发起一次定长突发读交易后寄存第1个地址 和控制信号; 步骤42,AHB总线桥接器进行总线申请并得到授权后,AHB总线桥接器通知主设备 将第2个地址和控制信号保持并寄存该第2个地址和控制信号,将寄存的第1个地址和控 制信号发送至AHB总线供从设备采集;启动定时器,预设定时器的值为3 ;
步骤43, AHB总线桥接器寄存从设备返回的第1个地址对应的读数据并将该第1 个地址对应的读数据发送至主设备;将寄存的第2个地址和控制信号发送至AHB总线供从 设备采集,并通知主设备将第3个地址和控制信号保持,寄存第3个地址和控制信号;
步骤44, AHB总线桥接器寄存从设备返回的第2个地址对应的读数据并将该第2 个地址对应的读数据发送至主设备;将寄存的第3个地址和控制信号发送至AHB总线供从 设备采集; 步骤45,定时器的值为1时,AHB总线桥接器通知主设备将第4个地址和读交易结 束信息保持并寄存第4个地址和读交易结束信息,将第4个地址和读交易结束信息发送至 AHB总线供从设备采集; 步骤46,AHB总线桥接器接收到从设备发送的第4个地址对应的读数据后,将第4
个地址对应的读数据发送至主设备,读交易结束。 在主设备发出一次不定长突发读交易时执行如下步骤 步骤51, AHB总线桥接器发现主设备发起一次定长突发读交易后寄存第1个地址 和控制信号; 步骤52,AHB总线桥接器进行总线申请并得到授权后,AHB总线桥接器通知主设备 将第2个地址和控制信号保持并寄存该第2个地址和控制信号,将寄存的第1个地址和控 制信号发送至AHB总线供从设备采集; 步骤53, AHB总线桥接器寄存从设备返回的第1个地址对应的读数据并将该第1 个地址对应的读数据发送至主设备;将寄存的第2个地址和控制信号发送至AHB总线供从 设备采集,并通知主设备将第3个地址和控制信号保持,寄存第3个地址和控制信号;
步骤54,对于第n个地址和控制信号,AHB总线桥接器将寄存的第n_l个地址和控 制信号发送至AHB总线供从设备采集,通知主设备将第n个地址和控制信号保持并寄存该 第n个地址和控制信号,寄存从设备返回的第n-1个地址对应的读数据并将该读数据发送 至主设备;n > 3, n为自然数,第n个地址不是最后一个地址; 步骤55, AHB总线桥接器通知主设备保持最后一个地址和读交易结束信息并寄存 最后一个地址和读交易结束信息,将最后一个地址和读交易结束信息发送至AHB总线供从 设备采集;在接收到从设备发送的对应于最后一个地址的读数据后,AHB总线桥接器将该 对应于最后一个地址的读数据发送至主设备,读交易结束。 当一个主设备发起一个不定长突发传输开始,如果传输的数据拍数小于16,则仲 裁器保持对该主设备的授权;当传输的数据拍数达到16拍时,仲裁器重新进行AHB总线仲 裁。 当从设备的数量为一个以上时,AHB总线选通逻辑控制单元还包括读数据复用器, 读数据复用器分别与解码器、AHB总线桥接器以及从设备连接。 本发明提供了一种AMBA AHB总线实现装置,包括AHB总线桥接器,该AHB总线桥 接器设置在AHB总线选通逻辑控制单元与主设备之间,用于实现访存AHB总线的时序收敛; AHB总线选通逻辑控制单元包括地址和控制复用器以及写数据复用器,仲裁器与地址和控 制复用器以及写数据复用器分别连接。 AHB总线桥接器,用于在写交易时寄存主设备提供的地址和控制信号,写数据以及 地址和控制信号;将寄存的地址和控制信号,或者写数据以及地址和控制信号发送到AHB 总线供从设备采集; AHB总线桥接器,用于在读交易时寄存主设备提供的地址和控制信号;将寄存的 地址和控制信号发送到AHB总线供从设备采集,并将从设备返回的读数据发送到主设备。
8
AHB总线桥接器,用于在在主设备发出一次单个写交易时,寄存地址和控制信号; 进行总线申请并得到授权后,AHB总线桥接器通知主设备将写数据保持,AHB总线桥接器寄 存写数据;将寄存后的地址和控制信号发送到AHB总线上供从设备采集;将寄存后的写数 据发送到总线上供从设备采集,从而实现一次写交易。 AHB总线桥接器,用于在主设备发出一次单个读交易时寄存地址和控制信号;进 行总线申请并得到授权;将寄存后的地址和控制信号发送到AHB总线上供从设备采集;从 设备返回读数据后,AHB总线桥接器寄存该读数据;将寄存后的读数据发送到主设备,从而 实现一次读交易。 AHB总线桥接器,用于在主设备发出一次突发写交易时寄存第1个地址和控制信 号;进行总线申请并得到授权后,AHB总线桥接器通知主设备将第1个地址对应的写数据以 及第2个地址和控制信号保持并寄存该写数据以及第2个地址和控制信号,将寄存的第1 个地址和控制信号发送至AHB总线供从设备采集;将寄存的该第1个地址对应的写数据以 及第2个地址和控制信号发送至AHB总线供从设备采集,并通知主设备将第2个地址对应 的写数据以及第3个地址和控制信号保持;对于第n-1个地址对应的写数据以及第n个地 址和控制信号,将寄存的第n-2个地址对应的写数据以及第n-1个地址和控制信号发送至 AHB总线供从设备采集,并通知主设备将第n-l个地址对应的写数据以及第n个地址和控制 信号保持;n > 4, n为自然数,第n个地址不是最后一个地址;通知主设备保持最后一个地 址对应的写数据和写交易结束信息并寄存最后一个地址对应的写数据和写交易结束信息, 将最后一个地址对应的写数据和写交易结束信息发送至AHB总线供从设备采集,写交易结 束。 AHB总线桥接器,用于在主设备发出一次定长突发读交易时寄存第1个地址和控 制信号;进行总线申请并得到授权后,通知主设备将第2个地址和控制信号保持并寄存该 第2个地址和控制信号,将寄存的第1个地址和控制信号发送至AHB总线供从设备采集; 启动定时器,预设定时器的值为3 ;寄存从设备返回的第1个地址对应的读数据并将该第1 个地址对应的读数据发送至主设备;将寄存的第2个地址和控制信号发送至AHB总线供从 设备采集,并通知主设备将第3个地址和控制信号保持,寄存第3个地址和控制信号;寄存 从设备返回的第2个地址对应的读数据并将该第2个地址对应的读数据发送至主设备;将 寄存的第3个地址和控制信号发送至AHB总线供从设备采集;定时器的值为1时,AHB总线 桥接器通知主设备将第4个地址和读交易结束信息保持并寄存第4个地址和读交易结束信 息,将第4个地址和读交易结束信息发送至AHB总线供从设备采集;接收到从设备发送的第 4个地址对应的读数据后,将第4个地址对应的读数据发送至主设备,读交易结束。
AHB总线桥接器,用于在主设备发出一次不定长突发读交易时寄存第1个地址和 控制信号;进行总线申请并得到授权后,通知主设备将第2个地址和控制信号保持并寄存 该第2个地址和控制信号,将寄存的第1个地址和控制信号发送至AHB总线供从设备采集; 寄存从设备返回的第1个地址对应的读数据并将该第1个地址对应的读数据发送至主设 备;将寄存的第2个地址和控制信号发送至AHB总线供从设备采集,并通知主设备将第3个 地址和控制信号保持,寄存第3个地址和控制信号;对于第n个地址和控制信号,将寄存的 第n-1个地址和控制信号发送至AHB总线供从设备采集,通知主设备将第n个地址和控制 信号保持并寄存该第n个地址和控制信号,寄存从设备返回的第n-1个地址对应的读数据并将该读数据发送至主设备;n > 3, n为自然数,第n个地址不是最后一个地址;通知主设 备保持最后一个地址和读交易结束信息并寄存最后一个地址和读交易结束信息,将最后一 个地址和读交易结束信息发送至AHB总线供从设备采集;在接收到从设备发送的对应于最 后一个地址的读数据后,AHB总线桥接器将该对应于最后一个地址的读数据发送至主设备, 读交易结束。 当一个主设备发起一个不定长突发传输开始,如果传输的数据拍数小于16,则仲 裁器保持对该主设备的授权;当传输的数据拍数达到16拍时,仲裁器重新进行AHB总线仲 裁。 当从设备的数量为一个以上时,AHB总线选通逻辑控制单元还包括读数据复用器,
读数据复用器分别与解码器、AHB总线桥接器以及从设备连接。 本发明能够控制逻辑复杂度,维持低延迟的AHB传输和较小的设计面积。本发明根据AMBA AHB总线协议规定的总线交易信号时序,实现了一种将AHB总线
上所有地址,控制及数据信号寄存的机制,从而将潜在的AHB总线上超长时序路径截断,方
便达到时序收敛,使得AHB可以在更高的频率下工作。 还实现了一种突发传输交易重新生成的机制,使得在将总线信号寄存的前提下维 持低延迟AHB传输,根据AMBA AHB总线协议对AHB主设备发出的突发传输交易的地址进行 自动计算,并进行IK地址边界检查。 还实现了一定的仲裁机制,保证同一个AHB主设备在AHB总线上的交易连续16拍 突发传输不被打断。


图1为以UniBus64为高速访存总线的SoC整体结构图; 图2为一般的AMBA AHB总线模块结构图; 图3为UniBus64的内部结构图; 图4为Reg_Brige模块设计的输入输出信号; 图5为Reg_Bridge模块处理单个写交易的时序说明; 图6为Reg_Brige模块处理单个读交易的时序说明; 图7为Reg_Bridge模块处理突发写交易的时序说明; 图8为Reg_Bridge模块处理定长突发读交易的时序说明; 图9为Reg_Bridge模块处理不定长突发读交易的时序说明。
具体实施例方式
下面结合附图,对本发明做进一步的详细描述。 本发明涉及的系统芯片就是一个面向多功能应用的主流系统芯片应用设计,采 用了 AHB+APB作为整体总线架构,其中高速访存总线AHB (UniBus64)负责执行处理器 (UniCore-II)和图形/图像处理模块(UniGFX)高速访存操作,高速系统总线AHB(32位 AHB)负责处理器配置外围设备以及高性能外围设备访存操作,低速外围总线APB提供低带 宽的接口 ,连接低性能外围设备。高速系统总线AHB和低速外围总线APB之间通过AHB2APB 桥接器进行连接和通信。
而在AMBA 2. 0AHB协议中提出传统的AHB总线模块设计中,AHB主设备(Master) 和AHB从设备(Slave)之间的信号交互一般只经过一个多选器,在总线上没有进行寄存,因 此总线的最大时钟频率由主设备内部总线信号延迟、总线延迟以及从设备内部总线延迟3 个部分的和决定,这成为达到本发明涉及的高速访存总线(UniBus64)达到访存低延迟,时 序收敛到高时钟频率的主要瓶颈。以往的专利例如美国专利7330911,实现了一种面向多 个AHB主设备访问外围设备的总线模块设计,内部采用线性缓存(Line Buffer)的形式缓 存总线信号可以实现主从设备之间总线信号时序路径的截断,将时序路径分割成从注设备 到线性缓存以及线性缓存到从设备两个部分,但是由于需要将AHB传输转换成对线性缓存 的存取操作,使得该设计内部控制逻辑复杂且访问外设的延迟增加,再加上缓存本身会使 得设计本身的面积膨胀,从而增加设计实现成本。 本发明实现了一种优化的AMBA AHB总线实现方法及系统,在内部用桥接器对于 AHB总线信号采用了简单寄存机制优化了时序,将原来处理器或者图形/图像处理模块通 过总线直接到存储控制器内部的超长时序路径以内部桥接器为截断点分割成两个部分,在 额外增加的控制逻辑面积较小的前提下解决了高速访存总线时序收敛到高时钟频率的难 题,并且在内部实现了针对突发传输的交易地址生成机制以及仲裁机制保证了低延迟访存 操作。 本发明提出了一种面向时序收敛的高速AMBA AHB总线实现方法及系统。
根据AMBA AHB总线协议规定的总线交易信号时序,实现了一种将AHB总线上所有 地址,控制及数据信号寄存的机制,从而将潜在的AHB总线上超长时序路径截断,方便达到 时序收敛,使得AHB可以在更高的频率下工作。 还实现了一种突发传输交易重新生成的机制,使得在将总线信号寄存的前提下维 持低延迟AHB传输,根据AMBA AHB总线协议对AHB主设备发出的突发传输交易的地址进行 自动计算,并进行IK地址边界检查。 还实现了一定的仲裁机制,保证同一个AHB主设备在AHB总线上的交易连续16拍 突发传输不被打断。 本发明实现的系统UniBus64主要包括对总线信号进行控制寄存处理以及交易传 输地址重新生成的桥接器模块(以下简称Reg—Bridge)以及仲裁模块(Arbiter)两个部 分。 图1为以UniBus64为高速访存总线的SoC整体结构图,这是一个将自主开发的处 理器UniCore-II作为总线控制单元应用于基于AMBA AHB总线架构的系统芯片。在本发明 的实施例中,UniBus64负责执行处理器UniCore-II和图形图像处理部件UniGFX访存操作, 其工作频率对整个系统芯片的访存性能影响巨大。 在采用图2所示的AMBA 2. OAHB协议规定的一般AMBA AHB总线模块设计下,经 过时序评估,在总线模块内部不对总线信号进行寄存处理的前提下,从UniCore-II到存储 控制器内部存在多条超长时序路径,使得高速访存总线无法达到高频率600MHz下的时序 收敛。因此在本发明的实施例采用了如图3所示结构的UniBus64模块设计,具体加入了 Reg—Bridge模块对AHB总线上来自主从设备的输入信号进行寄存,将原有的超长时序路径 截断,由此带来的总线上的交易时序变化由Reg—Bridge内部实现地址自动计算机制进行 处理。另外根据UniGFX的需要持续进行不定长突发传输访存的特性,在仲裁机制上加入16拍连续突发传输交易不打断的规则,保证了 UniBus64可以提供低延迟访存支持。图3中, 如果存在两个以上的从设备,还需要设置读数据复用器与解码器,从设备将读数据信号输 入读数据复用器,然后由读数据复用器输入Reg_Bridge模块,同时需要设置解码器对读数 据信号进行解码,读数据复用器和解码器可用现有技术实现,如图2中的读数据复用器和 解码器。 图4为UniBus64模块设计的输入输出信号示意,以下基于这些信号说明具体介绍 Reg_Bridge处理AHB协议中规定的各种交易的具体流程,其中根据AHB协议规定采用了计 数器设计实现了在突发传输中需要进行地址预生成的特性。下面的具体实施例中,地址信 息和控制信息同时出现。 对于主设备发出一次单个写交易,如图5所示,当Reg—Bridge看到主设备发起 一次写传输后(hwritejii为逻辑l),在没有总线授权的情况下则进行总线申请,同时将 hready—out置为逻辑l,使得主设备可以在下一周期将写数据(hwdatajn)发出。Reg_ Bridge将hbusreq置为1进行总线申请,得到授权后(hgrant变为逻辑1),将hready_out 置为逻辑O,让主设备将写数据保持。下一个周期,Reg—Bridge将寄存后的地址和控制信 号(haddr_out)发送到总线上,供从设备采集,同时监视hready—s。如果hready_S为逻辑 l,说明从设备将地址和控制信号正确采集。下一个周期,Reg—Bridge将寄存后的数据信号 (hwdata—out)发送到总线上,供从设备采集,同时监视hready—s。如果hready—s为逻辑1, 说明从设备将写数据正确采集。至此,一次写交易就成功地从主设备经Reg—Bridge而到达 从设备。 对于主设备发出一次单个读交易,如图6所示,当Reg—Bridge看到主设备发起 一次读交易后(hwritejii为逻辑0),在没有总线授权的情况下准备进行总线申请,同时将 hready_out置为逻辑1,告知主设备Reg_Bridge正确地寄存了地址和控制信号。然后Reg_ Bridge将hbusreq置为1进行总线申请,得到授权后(hgrant变为逻辑1),将hready_out 置为逻辑O。下一个周期Reg—Bridge将寄存后的地址和控制信号(haddr_out)发送到总 线上,让从设备采集,同时监视hready_S。如果hready_S为逻辑1,说明从设备将地址和控 制信号正确采集。Reg_Bridge则监视hready_S,如果hready_S为逻辑1,则说明从设备正 确返回了读数据(hrdata—s),对该读数据进行寄存。下一个周期,Reg_Bridge将寄存后的 读数据(hrdata_0ut)发送给主设备,并置hready_out为逻辑1,让主设备采集该数据。这 样, 一次读交易就成功地从主设备经Reg_Bridge而到达从设备,并从从设备经Reg_Bridge 返回给主设备。 对于主设备发出一次突发写交易,如图7所示,当Reg—Bridge看到主设备发起 一次写交易后(hwritejii为逻辑l),在没有总线授权的情况下则准备进行总线申请将 hbusreq置为逻辑1,同时将hready—out置为逻辑1,使得主设备可以在下一周期将写数据 (hwdata_m)和第二个地址(A+4)以及控制信号发出。然后Reg_Bridge维持hbusreq为逻辑 l,得到授权后(hgrant变为逻辑1),将hready—out置为逻辑0,让主设备将写数据和第二 个地址以及控制信号保持。下一个周期,Reg—Bridge将寄存后的地址和控制信号(haddr_ out)发送到总线上,供从设备采集,同时监视hready—s和主设备发出的地址和控制信号。 如果hready—s为逻辑1,说明从设备将地址和控制信号正确采集;同时由于主设备继续 发出新的地址(A+4)以及控制信号,说明主设备需要继续进行突发写。下一个周期,Reg_Bridge将寄存后的数据信号和第二个地址信号(haddr—out)以及控制信号发送到总线上, 供从设备采集,同时监视hready_s。如果hready_s为逻辑1,说明从设备将写数据和第二 个地址信号以及控制信号正确采集,由于主设备继续发出新的地址以及控制信号,表明需 要进行进一步的突发写交易。直到主设备不再发出新的地址将控制信号置为IDLE,说明主 设备停止发送。最后,Reg—Bridge将剩余写数据写完。另外需要注意的是,对于不定长突 发写交易,Reg_Bridge的处理过程和定长写交易没有什么区别,此处不再赘述。
对于主设备发出一次定长突发读交易,如图8所示,当Reg—Bridge看到主设备 发起一次读交易后(hwritejii为逻辑0),在没有总线授权的情况下准备进行总线申请将 hbusreq置为逻辑1,同时将hready_out置为逻辑1,使得主设备可以在下一周期将第二个 地址(A+4)以及控制信号发出。Reg—Bridge维持hbusreq为逻辑l直到得到授权(hgrant =1),同时将hready—out置为逻辑0,让主设备将第二个地址和控制信号保持。下一个周 期Reg—Bridge将寄存后的地址和控制信号(haddr—out)发送到总线上,供从设备采集,并 仍然置hready—out为0,使得主设备依然保持第二个地址和控制信号;另外,利用hburst 信号来对计数器counter进行赋值,由于是4拍定长的突发传输,因此对counter赋初始值 3。同时,Reg_Bridge监视hready_s,如果hready_s为逻辑1,说明从设备将地址和控制信 号正确采集。下一个周期,Reg—Bridge仍然将hready—out置为逻辑0,便主设备保持第二 个地址和控制信号,并根据hready_s的取值而接收从设备返回的数据,而对其进行寄存; 同时,利用haddrjii信号的寄存值产生第二个地址和控制信号(haddr—out)发送到总线上, 由于此时为定长突发传输,主设备继续发出新的地址和控制信号且counter的取值不是1, 说明仍然有新的传输需要进行。下一个周期,Reg_Bridge将hready_out置为逻辑l,使得 主设备能够得到数据。直到counter变为1,说明将最后一个地址和控制信号发送到总线 上。下一个周期,Reg—Bridge接受了最后一个读数据。最后,Reg_Bridge将最后一个数据 发送给主设备,从而使整个交易结束。 对于主设备发出一次不定长突发读交易,如图9所示,由于不知道传输的长度,所 以counter的取值无法预先确定,因此对不定长突发读交易需要特殊处理。主设备发起交 易之后,若没有总线授权,Reg—Bridge申请总线的操作上述与处理定长读一致。Reg—Bridge 将寄存后的地址和控制信号(haddr—out)发送到总线上,供从设备采集,并仍然置hready— out为O,使得主设备依然保持第二个地址和控制信号;另外,利用hburst信号的寄存值 来对计数器counter进行赋值,由于是不定长的突发传输,因此对counter赋初始值1,并 维持为1直到主设备发出最后一拍地址,清为0。同时,Reg_Bridge监视hready_S,如果 hready_S为逻辑1,说明从设备将地址和控制信号正确采集。下一个周期,Reg_Bridge仍 然将hready_0ut置为逻辑0,使主设备保持第二个地址和控制信号,并根据hready_s的取 值而接收从设备返回的数据,并对其进行寄存;同时,利用主设备发出的地址信号(haddr_ m)和控制信号寄存产生第二个地址和控制信号发送到总线上,由于此时为不定长突发传输 且主设备发出了新的地址和控制信号,说明仍然有后续传输需要进行。下一个周期Reg— Bridge将hready_0ut置为逻辑1 ,使得主设备可以得到数据并发出下一个交易。如此往复, 直到主设备不再发出新的地址,将地址和控制信号置为IDLE的状态。可见对于不定长读交 易,一般情况下会向从设备多发出两个交易。这两个交易会被从设备看到,但对于主设备是 透明的。
13
相对于传统的不进行寄存的总线模块设计,由上面的描述可知UniBus64对于每 一个写交易(包括单个和突发传输),在从设备随时准备好的理想条件下,会造成一个总线 周期的延迟。而对于每一个读交易,则会造成两个总线周期的延迟。在实际评测中,由于存 储控制其一般对于每一个读、写交易的第一拍完成都需要有十几到几十个总线周期的等待 时间,因此,对于写交易来说基本上不会造成额外的损失。而对于读传输来说,一般也只会 在每一个交易的末尾增加一个周期的延迟。而采用了内部寄存的机制,总线设计可以达到 高频的时序收敛。因此,通过采用了优化了的UniBus64设计,以总线周期为单位的传输延 迟没有明显变化的情况下,总线频率得到了大幅度的增加,从而使得总线带宽得到了很大 程度上的改善。 需要说明的是,Reg—Bridge不仅实现了在上述的定长和不定长读突发传输中基于 计数器的突发传输地址生成机制,对于AHB协议规定的回巻(Wrapping)突发读交易中的地 址也实现了类似的地址生成机制,并且在整个机制中进行lkB边界的地址检查。对于Reg— Bridge内部地址生成的地址跨lkB边界的情况,Reg_Bridge采用在总线上插入IDLE状态 的方式保证了 Reg_Bridge发出的突发传输地址不会跨lkB边界。 很多AHB主设备会发送不定长交易(non-defined burst)。而不定长交易对于总 线仲裁器(arbiter)来说,有多种处理机制,而如何处理能够即保证主设备不被"饿死",又 能够保证不会因不定长传输而带来不必要的延迟损失。在UniBus64的总线仲裁器设计中, 实施了一种保证突发传输16拍不被打断的特殊仲裁机制。具体如下,当一个主设备开始发 起一个不定长突发传输开始,arbiter会对成功完成的拍数进行计数,在传输的数据拍数小 于16的情况下,arbiter会保持对于该主设备的授权(维持其hgrant为逻辑1)。当达到 16拍时,会根据总线的申请情况和优先级重新仲裁。此时,原主设备可能失去总线授权(其 hgrant变为逻辑0)。 本领域的技术人员在不脱离权利要求书确定的本发明的精神和范围的条件下,还 可以对以上内容进行各种各样的修改。因此本发明的范围并不仅限于以上的说明,而是由 权利要求书的范围 确定的。
权利要求
一种AMBA AHB总线实现方法,其特征在于,在AHB总线选通逻辑控制单元与主设备之间设置AHB总线桥接器,用于实现访存AHB总线的时序收敛;AHB总线选通逻辑控制单元包括地址和控制复用器以及写数据复用器,仲裁器与地址和控制复用器以及写数据复用器分别连接。
2. 如权利要求1所述的AMBA AHB总线实现方法,其特征在于,对于写交易,AHB总线桥接器寄存主设备提供的地址和控制信号,写数据以及地址和控 制信号;AHB总线桥接器将寄存的地址和控制信号,或者写数据以及地址和控制信号发送 到AHB总线供从设备采集;对于读交易,AHB总线桥接器寄存主设备提供的地址和控制信号;AHB总线桥接器将寄 存的地址和控制信号发送到AHB总线供从设备采集,并将从设备返回的读数据发送到主设 备。
3. 如权利要求2所述的AMBA AHB总线实现方法,其特征在于,在主设备发出一次单个 写交易时执行如下步骤步骤11, AHB总线桥接器发现主设备发起一次写交易后,寄存地址和控制信号; 步骤12,AHB总线桥接器进行总线申请并得到授权后,AHB总线桥接器通知主设备将写 数据保持,AHB总线桥接器寄存写数据;步骤13, AHB总线桥接器将寄存后的地址和控制信号发送到AHB总线上供从设备采集;步骤14, AHB总线桥接器将寄存后的写数据发送到总线上供从设备采集,从而实现一 次写交易。
4. 如权利要求2所述的AMBA AHB总线实现方法,其特征在于,在主设备发出一次单个 读交易时执行如下步骤步骤21, AHB总线桥接器发现主设备发起一次读交易后,寄存地址和控制信号; 步骤22, AHB总线桥接器进行总线申请并得到授权;步骤23, AHB总线桥接器将寄存后的地址和控制信号发送到AHB总线上供从设备采集;步骤24,从设备返回读数据后,AHB总线桥接器寄存该读数据;步骤25, AHB总线桥接器将寄存后的读数据发送到主设备,从而实现一次读交易。
5. 如权利要求2所述的AMBA AHB总线实现方法,其特征在于,在主设备发出一次突发 写交易时执行如下步骤步骤31, AHB总线桥接器发现主设备发起一次突发写交易后寄存第1个地址和控制信号;步骤32,AHB总线桥接器进行总线申请并得到授权后,AHB总线桥接器通知主设备将第 1个地址对应的写数据以及第2个地址和控制信号保持并寄存该写数据以及第2个地址和 控制信号,将寄存的第1个地址和控制信号发送至AHB总线供从设备采集;步骤33, AHB总线桥接器将寄存的该第1个地址对应的写数据以及第2个地址和控制 信号发送至AHB总线供从设备采集,并通知主设备将第2个地址对应的写数据以及第3个 地址和控制信号保持;步骤34,对于第n-1个地址对应的写数据以及第n个地址和控制信号,AHB总线桥接器将寄存的第n-2个地址对应的写数据以及第n-l个地址和控制信号发送至AHB总线供从设 备采集,并通知主设备将第n-l个地址对应的写数据以及第n个地址和控制信号保持;n > 4, n为自然数,第n个地址不是最后一个地址;步骤35, AHB总线桥接器通知主设备保持最后一个地址对应的写数据和写交易结束信 息并寄存最后一个地址对应的写数据和写交易结束信息,将最后一个地址对应的写数据和 写交易结束信息发送至AHB总线供从设备采集,写交易结束。
6. 如权利要求2所述的AMBA AHB总线实现方法,其特征在于,在主设备发出一次定长 突发读交易时执行如下步骤步骤41, AHB总线桥接器发现主设备发起一次定长突发读交易后寄存第1个地址和控 制信号;步骤42,AHB总线桥接器进行总线申请并得到授权后,AHB总线桥接器通知主设备将第 2个地址和控制信号保持并寄存该第2个地址和控制信号,将寄存的第1个地址和控制信号 发送至AHB总线供从设备采集;启动定时器,预设定时器的值为3 ;步骤43, AHB总线桥接器寄存从设备返回的第1个地址对应的读数据并将该第1个地 址对应的读数据发送至主设备;将寄存的第2个地址和控制信号发送至AHB总线供从设备 采集,并通知主设备将第3个地址和控制信号保持,寄存第3个地址和控制信号;步骤44, AHB总线桥接器寄存从设备返回的第2个地址对应的读数据并将该第2个地 址对应的读数据发送至主设备;将寄存的第3个地址和控制信号发送至AHB总线供从设备 采集;步骤45,定时器的值为1时,AHB总线桥接器通知主设备将第4个地址和读交易结束信 息保持并寄存第4个地址和读交易结束信息,将第4个地址和读交易结束信息发送至AHB 总线供从设备采集;步骤46, AHB总线桥接器接收到从设备发送的第4个地址对应的读数据后,将第4个地 址对应的读数据发送至主设备,读交易结束。
7. 如权利要求2所述的AMBA AHB总线实现方法,其特征在于,在主设备发出一次不定 长突发读交易时执行如下步骤步骤51, AHB总线桥接器发现主设备发起一次定长突发读交易后寄存第1个地址和控 制信号;步骤52,AHB总线桥接器进行总线申请并得到授权后,AHB总线桥接器通知主设备将第 2个地址和控制信号保持并寄存该第2个地址和控制信号,将寄存的第1个地址和控制信号 发送至AHB总线供从设备采集;步骤53, AHB总线桥接器寄存从设备返回的第1个地址对应的读数据并将该第1个地 址对应的读数据发送至主设备;将寄存的第2个地址和控制信号发送至AHB总线供从设备 采集,并通知主设备将第3个地址和控制信号保持,寄存第3个地址和控制信号;步骤54,对于第n个地址和控制信号,AHB总线桥接器将寄存的第n_l个地址和控制信 号发送至AHB总线供从设备采集,通知主设备将第n个地址和控制信号保持并寄存该第n 个地址和控制信号,寄存从设备返回的第n-l个地址对应的读数据并将该读数据发送至主 设备;n > 3, n为自然数,第n个地址不是最后一个地址;步骤55, AHB总线桥接器通知主设备保持最后一个地址和读交易结束信息并寄存最后一个地址和读交易结束信息,将最后一个地址和读交易结束信息发送至AHB总线供从设备 采集;在接收到从设备发送的对应于最后一个地址的读数据后,AHB总线桥接器将该对应 于最后一个地址的读数据发送至主设备,读交易结束。
8. 如权利要求2所述的AMBA AHB总线实现方法,其特征在于,当一个主设备发起一个 不定长突发传输开始,如果传输的数据拍数小于16,则仲裁器保持对该主设备的授权;当 传输的数据拍数达到16拍时,仲裁器重新进行AHB总线仲裁。
9. 如权利要求2所述的AMBA AHB总线实现方法,其特征在于,当从设备的数量为一个 以上时,AHB总线选通逻辑控制单元还包括读数据复用器,读数据复用器分别与解码器、AHB 总线桥接器以及从设备连接。
10. —种AMBA AHB总线实现装置,其特征在于,包括AHB总线桥接器,该AHB总线桥接 器设置在AHB总线选通逻辑控制单元与主设备之间,用于实现访存AHB总线的时序收敛; AHB总线选通逻辑控制单元包括地址和控制复用器以及写数据复用器,仲裁器与地址和控 制复用器以及写数据复用器分别连接。
11. 如权利要求10所述的AMBA AHB总线实现装置,其特征在于,AHB总线桥接器,用于在写交易时寄存主设备提供的地址和控制信号,写数据以及地址 和控制信号;将寄存的地址和控制信号,或者写数据以及地址和控制信号发送到AHB总线 供从设备采集;AHB总线桥接器,用于在读交易时寄存主设备提供的地址和控制信号;将寄存的地址 和控制信号发送到AHB总线供从设备采集,并将从设备返回的读数据发送到主设备。
12. 如权利要求11所述的AMBA AHB总线实现装置,其特征在于,AHB总线桥接器,用于在在主设备发出一次单个写交易时,寄存地址和控制信号;进行 总线申请并得到授权后,AHB总线桥接器通知主设备将写数据保持,AHB总线桥接器寄存写 数据;将寄存后的地址和控制信号发送到AHB总线上供从设备采集;将寄存后的写数据发 送到总线上供从设备采集,从而实现一次写交易。
13. 如权利要求12所述的AMBA AHB总线实现装置,其特征在于,AHB总线桥接器,用于 在主设备发出一次单个读交易时寄存地址和控制信号;进行总线申请并得到授权;将寄存 后的地址和控制信号发送到AHB总线上供从设备采集;从设备返回读数据后,AHB总线桥接 器寄存该读数据;将寄存后的读数据发送到主设备,从而实现一次读交易。
14. 如权利要求12所述的AMBA AHB总线实现装置,其特征在于,AHB总线桥接器,用 于在主设备发出一次突发写交易时寄存第1个地址和控制信号;进行总线申请并得到授权 后,AHB总线桥接器通知主设备将第1个地址对应的写数据以及第2个地址和控制信号保 持并寄存该写数据以及第2个地址和控制信号,将寄存的第1个地址和控制信号发送至AHB 总线供从设备采集;将寄存的该第1个地址对应的写数据以及第2个地址和控制信号发送 至AHB总线供从设备采集,并通知主设备将第2个地址对应的写数据以及第3个地址和控 制信号保持;对于第n-1个地址对应的写数据以及第n个地址和控制信号,将寄存的第n_2 个地址对应的写数据以及第n-1个地址和控制信号发送至AHB总线供从设备采集,并通知 主设备将第n-1个地址对应的写数据以及第n个地址和控制信号保持;n > 4,n为自然数, 第n个地址不是最后一个地址;通知主设备保持最后一个地址对应的写数据和写交易结束 信息并寄存最后一个地址对应的写数据和写交易结束信息,将最后一个地址对应的写数据和写交易结束信息发送至AHB总线供从设备采集,写交易结束。
15. 如权利要求12所述的AMBA AHB总线实现装置,其特征在于,AHB总线桥接器,用于 在主设备发出一次定长突发读交易时寄存第1个地址和控制信号;进行总线申请并得到授 权后,通知主设备将第2个地址和控制信号保持并寄存该第2个地址和控制信号,将寄存的 第1个地址和控制信号发送至AHB总线供从设备采集;启动定时器,预设定时器的值为3 ; 寄存从设备返回的第1个地址对应的读数据并将该第1个地址对应的读数据发送至主设 备;将寄存的第2个地址和控制信号发送至AHB总线供从设备采集,并通知主设备将第3个 地址和控制信号保持,寄存第3个地址和控制信号;寄存从设备返回的第2个地址对应的读 数据并将该第2个地址对应的读数据发送至主设备;将寄存的第3个地址和控制信号发送 至AHB总线供从设备采集;定时器的值为1时,AHB总线桥接器通知主设备将第4个地址和 读交易结束信息保持并寄存第4个地址和读交易结束信息,将第4个地址和读交易结束信 息发送至AHB总线供从设备采集;接收到从设备发送的第4个地址对应的读数据后,将第4 个地址对应的读数据发送至主设备,读交易结束。
16. 如权利要求12所述的AMBA AHB总线实现装置,其特征在于,AHB总线桥接器,用 于在主设备发出一次不定长突发读交易时寄存第1个地址和控制信号;进行总线申请并得 到授权后,通知主设备将第2个地址和控制信号保持并寄存该第2个地址和控制信号,将寄 存的第1个地址和控制信号发送至AHB总线供从设备采集;寄存从设备返回的第1个地址 对应的读数据并将该第1个地址对应的读数据发送至主设备;将寄存的第2个地址和控制 信号发送至AHB总线供从设备采集,并通知主设备将第3个地址和控制信号保持,寄存第3 个地址和控制信号;对于第n个地址和控制信号,将寄存的第n-1个地址和控制信号发送 至AHB总线供从设备采集,通知主设备将第n个地址和控制信号保持并寄存该第n个地址 和控制信号,寄存从设备返回的第n-1个地址对应的读数据并将该读数据发送至主设备;n > 3, n为自然数,第n个地址不是最后一个地址;通知主设备保持最后一个地址和读交易结 束信息并寄存最后一个地址和读交易结束信息,将最后一个地址和读交易结束信息发送至 AHB总线供从设备采集;在接收到从设备发送的对应于最后一个地址的读数据后,AHB总线 桥接器将该对应于最后一个地址的读数据发送至主设备,读交易结束。
17. 如权利要求12所述的AMBA AHB总线实现装置,其特征在于,当一个主设备发起 一个不定长突发传输开始,如果传输的数据拍数小于16,则仲裁器保持对该主设备的授权; 当传输的数据拍数达到16拍时,仲裁器重新进行AHB总线仲裁。
18. 如权利要求12所述的AMBA AHB总线实现装置,其特征在于,当从设备的数量为一 个以上时,AHB总线选通逻辑控制单元还包括读数据复用器,读数据复用器分别与解码器、 AHB总线桥接器以及从设备连接。
全文摘要
本发明涉及一种AMBA AHB总线实现方法及装置该AMBA AHB总线实现方法中,在AHB总线选通逻辑控制单元与主设备之间设置AHB总线桥接器,用于实现访存AHB总线的时序收敛;AHB总线选通逻辑控制单元包括地址和控制复用器以及写数据复用器,仲裁器与地址和控制复用器以及写数据复用器分别连接。本发明能够控制逻辑复杂度,维持低延迟的AHB传输和较小的设计面积。
文档编号G06F13/40GK101777035SQ201010034229
公开日2010年7月14日 申请日期2010年1月14日 优先权日2010年1月14日
发明者佟冬, 冯毅, 程旭, 许经纬 申请人:北京北大众志微系统科技有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1