高速高带宽ahb总线到低速低带宽ahb总线的双向转换桥的制作方法

文档序号:6371869阅读:248来源:国知局
专利名称:高速高带宽ahb总线到低速低带宽ahb总线的双向转换桥的制作方法
技术领域
本发明属于集成电路设计领域的数字接口转换设计,尤其涉及一种高速高带宽AHB总线到低速低带宽AHB总线的 双向转换桥。
背景技术
随着集成电路设计技术的发展,基于知识产权(Intellectual Property)核进行系统芯片SOC设计的能力与技术得到了大大的提高。基于IP集成的可重用设计技术将各种IP模块(微处理器、DSP、存储器等)集成在一起,其关键在于建立正确、高效、灵活的片上总线(on-chip bus)结构,构造以功能组装为基础的芯片开发模型。由 ARM 公司推出的 AMBA 总线(Advanced Microcontroller Bus Architecture,高级微处理器总线架构)受到了广大IP开发商和SOC系统集成者的青睐,已经成为一种流行的工业标准片上结构。近年来,以高速内核及多核为代表的大数据运算量的SOC系统设计成为一种流行的设计方式。然而,由于大量的外设的工作频率并没有达到核的总线接口的工作频率,为了达到功耗与性能的完美匹配。在SOC的总线设计架构中,大量采用了分级AHB总线的设计方式,除了与处理器接口的高速高带宽AHB总线之外,增加一条专用于外设的低速低带宽AHB总线。这两条总线之间需要一种高低速总线之间的转换桥,完成频率转换、数据对齐、协议转换等工作。

发明内容
本发明为解决高速高数据宽度AHB总线到低速度低数据宽度数据传输的技术问题,提供了一种高速高带宽AHB总线到低速低带宽AHB总线的双向转换桥,是一种高速(I倍、2倍、4倍或更高频率倍数于低速AHB频率)高数据宽度(64位)到低速低数据宽度(32位)的可互相访问的双向总线桥。所述高速高带宽AHB总线到低速低带宽AHB总线的双向转换桥,包括高速高带宽AHB总线到低速低带宽AHB总线访问方向的转换桥HAHB2LAHB,以及从低速低带宽AHB总线到高速高带宽AHB总线访问方向的转换桥LAHB2HAHB ;HAHB表示高速高带宽AHB总线,LAHB表示低速低带宽AHB总线;
所述HAHB2LAHB包括第一控制信号寄存器、第一地址寄存器、第一写入数据寄存器、第一读出数据寄存器、第一主控状态机、第一地址/控制通路以及第一数据通路;第一主控状态机连接第一地址控制电路和第一数据通路,第一控制信号寄存器连接第一主控状态机与HAHB,第一地址寄存器连接第一地址/控制通路,第一写入数据寄存器与第一读出数据寄存器连接第一数据通路;
HAHB2LAHB以HAHB主时钟作为主工作时钟,所述第一控制信号寄存器、第一地址寄存器、第一写入数据寄存器、第一读出数据寄存器用于暂存两端总线的信号与数据,第一主控状态机在HAHB控制信号、LAHB反馈控制信号及时钟同步信号的共同作用下,根据不同的激励进入不同的工作状态,控制着HAHB2LAHB的工作状态,第一地址/控制通路根据第一主控状态机的不同状态,将保存在第一地址寄存器中的访问地址传递给LAHB,同时产生包括读写信号在内的控制信号,并将控制信号传递给LAHB ;
写入操作时,第一数据通路根据第一主控状态机的不同状态,将保存在第一写入数据寄存器中的位数据分发送到LAHB ;
读出操作时,第一数据通路根据第一主控状态机的不同状态,将访问地址的低位进行译码,从而将LAHB读出位数据发送到HAHB的高字或低字的读出总线上;
所述LAHB2HAHB包括第二控制信号寄存器、第二地址寄存器、第二写入数据寄存器、第二读出数据寄存器、第二主控状态机、第二地址/控制通路以及第二数据通路;第二主控状态机连接第二地址/控制通路和第二数据通路,第二控制信号 寄存器连接着第二主控状态机与HAHB,第二地址寄存器连接着第二地址/控制通路,第二写入数据寄存器与第二读出数据寄存器连接第二数据通路;
LAHB2HAHB以HAHB主时钟作为工作主时钟,所述第二控制信号寄存器、第二地址寄存器、第二写入数据寄存器、第二读出数据寄存器用于暂存两端总线的信号与数据,第二主控状态机在LAHB控制信号、HAHB反馈控制信号及时钟同步信号的共同作用下,根据不同的激励进入不同的工作状态;第二地址/控制通路根据主控状态机的不同状态,将保存在第二地址寄存器中的32位访问地址传递给HAHB,同时产生包括读写信号在内的控制信号,并将控制信号传递给HAHB ;第二数据通路根据第二主控状态机的不同状态,将保存在第二写入寄存器中的32位数据发送到HAHB的64位数据写总线上;
读出操作时,第二数据通路根据第二主控状态机的不同状态根据32位访问地址进行译码选择出高字或低字作为有效数据传递到LAHB的32位读数据总线上。所述HAHB2LAHB的写入操作中,在执行双字写操作时,第一主控状态机需要两个节拍分两次将两个字发送到LAHB总线。所述LAHB2HAHB的第二数据通路将保存在第二写入寄存器中的32位数据发送到HAHB的64位数据写总线上时,将高字与低字同时写入相同的32位数据。HAHB2LAHB的第一主控状态机10个状态分别是BUS_IDLE表明第一主控状态机处于空闲等待状态;CEN_WAIT表明第一主控状态机处于等待同步状态;DW1_WAIT表明第一主控状态机处于首字存取等待状态;DW1_ADDR表明第一主控状态机处于首字存取地址/控制状态;DW1_DATA表明第一主控状态机处于首字存取数据状态;DW2_WAIT表明第一主控状态机处于次字存取等待状态;DW2_ADDR表明第一主控状态机处于次字存取地址/控制状态;DW2_DATA表明第一主控状态机处于次字存取数据状态;ANY_ERR1表明第一主控状态机处于LAHB反馈出错状态;ANY_ERR2表明第一主控状态机处于LAHB反馈出错结束状态。LAHB2HAHB的第二主控状态机包含8个状态分别如下BUS_IDLE表明第二主控状态机处于空闲等待状态;ASK_ABUS表明申请HAHB总线状态为总线非空闲;RDY_ABUS表明总线有效待机状态,由于考虑LAHB的频率慢于HAHB,为等待写入数据,此状态不驱动HAHB ;0WN_ABUS表明驱动地址/控制状态,开始进行控制信号与地址的驱动;0WN_DBUS表明控制与地址信号被HABH接收,开始进行数据传送;ERR_RESP表明接收到错误的反馈,进行错误处理;ERR_D0NE表明错误处理结束状态;ACC_D0NE表明数据传送结束。本发明与现有技术相比,本发明所设计呈的总线桥呈双向性,不仅可以完成从高速高宽度AHB总线到低速低宽度AHB总线的访问,同时也可以完成从低速低宽度AHB总线到高速高宽度AHB总线的访问。此外本发明所提供的总线桥具有结构简单、效率优异的特点。


图I为本发明提供的HAHB总线到LAHB总线双向桥基本结构框图。图2为本发明提供的HAHB总线到LAHB总线方向的转换桥的模块示意图。图3为本发明提供的HAHB总线到LAHB总线方向的转换桥主控状态机状态转换图。图4为本发明提供的LAHB总线到HAHB总线方向的转换桥的模块示意图。图5为本发明提供的LAHB总线到HAHB总线方向的转换桥主控状态机状态转换图。
具体实施例方式以下结合附图对本发明所解决的技术问题、技术方案与作进一步详细说明。为描述方便,将HAHB到LAHB转换桥表述为HAHB2LAHB。将LAHB到HAHB转换桥表述为LAHB2HAHB。而两个总线的双向桥是由HAHB2LAHB与LAHB2HAHB共同构成,如图I所
/Jn o从HAHB到LAHB方向转换桥。作为HAHB的从设备接收HAHB传输的存取控制信号与数据。作为LAHB的主设备,将从HAHB接收到的控制与数据信号,转换成合格的LAHB控制信号发送到LAHB总线上,并从LAHB总线获得反馈信号,并将信号反馈给HAHB总线。本发明的HAHB到LAHB桥设计了一个主控状态机根据HAHB信号状态向LAHB发出读写请求。根据LAHB总线状态向HAHB发出各种反馈信号。LAHB到HAHB方向的转换桥。作为LAHB的从设备接收LAHB传输控制与数据信号。作为HAHB的主设备,将接收到的LAHB控制/数据信号以HAHB可识别的格式向HAHB发出总读写申请,并进行总线的读写操作。本发明设计了另一个主控状态机完成的LAHB到HAHB总线转换。本发明所表述的HAHB与LAHB总是是轻量级AHB总线,它们之间相互访问不支持AHB锁定操作,不支持Split响应,不支持Retry响应。如图2所示,为本发明HAHB2LAHB转换桥包括第一控制信号寄存器54、第一地址寄存器55、第一写入数据寄存器56、第一读出数据寄存器57、第一主控状态机51、第一地址/控制转换电路52以及第一数据通路53。第一主控状态机51连接第一地址控制电路52和第一数据通路53,第一控制信号寄存器54连接第一主控状态机51与HAHB,第一地址寄存器55连接第一地址/控制通路52,第一写入数据寄存器56与第一读出数据寄存器57连接第一数据通路53。HAHB2LAHB以HAHB主时钟HCLK作为主工作时钟。若HAHB对LAHB存在访问请求,则首先需要使用第一控制信号寄存器54、第一地址寄存器55寄存来自HAHB的控制信号、32位地址。若HAHB对LAHB进行写访问,则需要使用第一写入数据寄存器56寄存来自HAHB的64位写入数据。
若HAHB对LAHB进行读访问,则需要使用第一读出数据寄存器57寄存来自LAHB的32位读出数据。第一主控状态机51在HAHB控制信号、LAHB反馈控制信号及时钟同步信号CLK_EN的共同作用下,开始启动,根据不同的激励进入不同的工作状态。第一地址/控制通路52根据主控状态机的不同状态,将保存在第一地址寄存器55中的32位访问地址传递给LAHB。同时产生读写以及其他的控制信号,并将控制信号传递给LAHB。写入操作时,第一数据通路53根据第一主控状态机51的不同状态,将保存在第一写入数据寄存器56中的64位数据分作两个节拍(双字写的条件下)发送到LAHB总线。读出操作时,第一数据通路53根据第一主控状态机51的不同状态,将32位地址 的低位进行译码,从而将LAHB读出的32位数据发送到HAHB的高字或低字的读出总线上。如图3所示,为本发明HAHB2LAHB转换桥的第一主控状态机包括10个状态,32条转换条件弧。下面详细描述第一主控状态机51各状态的转换。第一主控状态机的10个状态分别如下
BUS_IDLE表明状态机处于空闲等待状态;
CEN_WAIT表明状态机处于等待同步状态;
Dffl.WAIT表明状态机处于首字存取等待状态;
Dffl_ADDR明状态机处于首字存取地址/控制状态;
Dffl.DATA表明状态机处于首字存取数据状态;
DW2_WAIT表明状态机处于次字存取等待状态;
DW2_ADDR表明状态机处于次字存取地址/控制状态;
DW2_DATA表明状态机处于次字存取数据状态;
ANY_ERR1表明状态机处于LAHB反馈出错状态;
ANY_ERR2表明状态机处于LAHB反馈出错结束状态。系统上电复位后,第一主控状态机51进入起始状态,即空闲等待状态BUS_IDLE
(1)当HAHB总线没有向LAHB总线的请求时(转换条件弧I)第一主控状态机51保持空闲等待状态BUS_IDLE ;
(2)当HAHB总线有向LAHB的总线请求,但LAHB的CLK_EN信号未同步时(转换条件弧2),第一主控状态机转换至CEN_WAIT状态;
(3)当HAHB总线有向LAHB的总线请求,但LAHB的CLK_EN已处于同步状态,但LAHB总线未空闲,即未LAHB被别的主设备占用(转换条件弧3),第一主控状态机转换至首字存取等待DW1_WAIT状态;
(4)当HAHB总线有向LAHB的总线请求,LAHB的CLK_EN信号同步,LAHB总线空闲(条件状态弧4),第一主控状态机51转换到首字存取地址/控制状态DW1_ADDR。第一主控状态机处于等待同步状态CEN_WAIT
(5)当LAHB的CLK_EN信号仍未同步时(条件转换弧5),主控控状态机51继续保持等待冋步状态;
(6)当LAHB的CLK_EN同步状态有效,但LAHB总线未空闲时(条件转换弧6),第一主控状态机51转换到首字存取等待状态;(7)当LAHB的CLK_EN同步状态有效且LAHB总线空闲时(条件转换弧7),第一主控状态机51转换到首字存取地址/控制状态DW1_ADDR。主控状态机处于首字存取等待状态DW1_WAIT
(8)当LAHB总线未空闲时(条件转换弧8)或总线未同步时,第一主控状态机51保持首字存取等待状态DW1_WAIT ;
(9)当LAHB总线空闲时,可以接收HAHB2LAHB桥的存取申请时(条件转换弧9),第一主控状态机51转换至首字存取地址/控制状态DW1_ADDR。第一主控状态机处于首字存取地址/控制状态DW1_ADDR
(10)当LAHB总线未响应(Lhreadyi不等于I)或总线未同步时(条件转换弧10),第一主控状态机51保持首字存取地址/控制状态DW1_ADDR ; (11)当LAHB总线同步,并且存在响应的条件下(条件转换弧11),第一主控状态机51转换至首字存取数据状态DW1_DATA。第一主控状态机处于首字存取数据状态DW1_DATA
(12)当LAHB总线未响应(Lhreadyi不等于I)或总线未同步时(条件转换弧12),第一主控状态机51保持存取数据状态DW1_DATA ;
(13)当LAHB总线有响应,表明首字完成存取,若HAHB的存取操作不是双字(64位)存取,并且HAHB存在新的存取申请,但LAHB未能同步或不空闲时,第一主控状态机51转换至首字等待状态DW1_WAIT ;
(14)当LAHB总线有响应,表明首字完成存取,若HAHB的存取操作不是双字(64位)存取,并且HAHB存在新的存取申请,LAHB同步且空闲时,第一主控状态机51转换至首字存取地址/控制状态DW1_ADDR ;
(15)当LAHB总线有响应,表明首字完成存取,并且HAHB总不再有对LAHB的存取操作时,第一主控状态机51转换至空闲等待状态BUS_IDLE ;
(16)当LAHB总线有响应,表明首字完成存取,并且HAHB的存取是双字¢4)存取,并且LAHB总线未空闲或不同步时,第一主控状态机51转换至次字存取等待状态DW2_WAIT ;
(17)当LAHB总线有响应,表明首字完成存取,并且HAHB的存取是双字¢4)存取,并且LAHB总线空闲且同步时,第一主控状态机51转换至次字存取地址/控制状态DW2_ADDR ;
(18)当LAHB总线有响应,表明首字完成存取,但反馈控制信号为出错信号时,第一主控状态机51转换至反馈出错状态ANY_ERR1。第一主控状态机处于次字存取等待状态DW2_WAIT
(19)当LAHB总线未空闲时(条件转换弧19)或总线未同步时,第一主控状态机51保持次字存取等待状态DW2_WAIT ;
(20)当LAHB总线空闲时,可以接收HAHB2LAHB桥的存取申请时(条件转换弧20),第一主控状态机51转换至次字存取地址/控制状态DW2_ADDR。第一主控状态机处于次字存取地址/控制状态DW2_ADDR
(21)当LAHB总线未响应(Lhreadyi!= I)或总线未同步时(条件转换弧21),第一主控状态机51保持次字存取地址/控制状态DW2_ADDR ;
(22)当LAHB总线同步,并且存在响应的条件下(条件转换弧22),第一主控状态机51转换至次字存取数据状态DW2_DATA。
第一主控状态机处于次字存取数据状态DW2_DATA
(23)当LAHB总线未响应(Lhreadyi不等于I)或总线未同步时(条件转换弧23),第一主控状态机51保持次字存取数据状态DW2_DATA ;
(24)当LAHB总线有响应,表明次字完成存取,并且HAHB总不再有对LAHB的存取操作时(条件转换弧24),第一主控状态机51转换至空闲等待状态BUS_IDLE ;
(25)当LAHB总线有响应,表明次字完成存取,若HAHB存在新的存取申请,但LAHB未能同步或不空闲时(条件转换弧25),第一主控状态机51转换至首字等待状态DW1_WAIT ;
(26)当LAHB总线有响应,表明次字完成存取,若HAHB存在新的存取申请,LAHB同步且 空闲时(条件转换弧26),第一主控状态机51转换至首字存取地址/控制状态DW1_ADDR ;
(27)当LAHB总线有响应,表明次字完成存取,但反馈控制信号为出错信号时(条件转换弧27),第一主控状态机51转换至反馈出错状态ANY_ERR1。第一主控状态机处于反馈出错状态ANY_ERR1
(28)在下一个HCLK时钟周期,第一主控状态机无条件(条件转换弧28)转换至反馈出错结束状态ANY_ERR2。第一主控状态机处于反馈出错结束状态ANY_ERR2
(29)HAHB总线不再有下对LAHB的总线存取请求(条件转换弧29)。第一主控状态机51转换至空闲等待状态BUS_IDLE ;
(30)当HAHB总线有向LAHB的总线请求,但LAHB总线未同步时(转换条件弧30),第一主控状态机转换至CEN_WAIT状态;
(31)当HAHB总线有向LAHB的总线请求,但LAHB总线虽同步但未空闲,(转换条件弧31),第一主控状态机转换至首字存取等待DW1_WAIT状态;
(32)当HAHB总线有向LAHB的总线请求,LAHB总线同步且空闲(条件状态弧32),第一主控状态机51转换到首字存取地址/控制状态DW1_ADDR。对应于不同的状态,第一地址/控制通路模块52对LAHB进行地址与控制信号的操作。具体操作如下
(1)LAHB_hbusreq信号,当且仅当主状态机51工作在DW1_WAIT时或DW2_WAIT时;
(2)LAHB_haddr信号由锁存在寄存器55中的地址信号直接驱动,仅当主状态机51工作在DW2_ADDR时,控制第3位地址为” I ” ;
(3)LAHB_htrans信号当且仅当主状态机51工作在DW1_ADDR或DW2_ADDR时为2’ blO,即非连续访问状态,工作在其他状态时皆为2’ b00即空闲状态;
(4)LAHB_hsize信号当且仅当主状态机51工作在DW1_ADDR或DW2_ADDR时,若锁存在第一控制信号寄存器54中的hsize信号为双字操作,则为3’ b010,若是其他的字长,则由锁存在第一控制信号寄存器54中的hsize信号直接驱动;
(5)LAHB_hwrite信号当且仅当主状态机51工作在DW1_ADDR或DW2_ADDR时由锁存在第一控制信号寄存器54中的hwrite信号直接驱动;
对于驱动HAHB的反馈信号
(1)HAHB_hresp信号当且仅当第一主控状态机51工作状态为ANY_ERR1或ANY_ERR2时为2’ b01即出错信号,在其余工作状态时为2’ b00,访问正确信号;
(2)HAHB_hreadyo信号当且仅当第一主控状态机51工作状态为BUS_IDLE或ANY_ERR2或DW1_DATA或DW2_DATA时与其他相关控制信号合成。对应于不同的状态,第一数据通路53完成对LAHB写入数据的驱动与对HAHB读出数据的驱动。(I) LAHBJiwdata信号当且仅当第一主控状态机51工作状态为DW1_DATA或DW2_DATA时,由锁存在寄存器56的64位hwdata信号经过第3位地址译码驱动;
(2)HAHB_hrdata信号仅当第一主控状态机51工作状态为DW1_DATA或DW2_DATA时由锁存在寄存器57中的32位hrdata,经过第3 位地址译码来驱动HAHB_hrdata的高字与低字。如图4所示,本发明LAHB2HAHB转换桥包括第二控制信号寄存器44、第二地址寄存器45、第二写入数据寄存器46、第二读出数据寄存器47,第二主控状态机41、第二地址/控制转换电路42以及第二数据通路43。第二主控状态机41连接第二地址/控制通路42和第二数据通路43,第二控制信号寄存器44连接着第二主控状态机41与HAHB,第二地址寄存器45连接着第二地址/控制通路42,第二写入数据寄存器46与第二读出数据寄存器47连接第二数据通路43 ;
若LAHB对HAHB存在访问请求,则首先需要使用第二控制信号寄存器44、第二地址寄存器45、第二写入数据寄存器46寄存来自LAHB的控制信号、32位地址与32位的写入数据。第二主控状态机41在LAHB控制信号、HAHB反馈控制信号及时钟同步信号CLK_EN的共同作用下,根据不同的激励进入不同的工作状态。第二地址/控制通路42根据第二主控状态机41的不同状态,将保存在第二地址寄存器45中的32位访问地址传递给HAHB。同时产生读写以及其他的控制信号,并将控制信号传递给HAHB。第二数据通路43根据第二主控状态机41的不同状态,将保存在第二写入寄存器46中的32位数据发送到HAHB的64位数据写总线上,本实施例中将高字与低字同时写入相同的32位数据。读入时,第二数据通路43根据第二主控状态机41的不同状态,对于读入数据,需要根据32位地址的进行译码选择出高位字或低位字作为有效数据传递到LAHB 32位读入数据总线上。如图5所示,为本发明LAHB2HAHB转换桥的第二主控状态机的状态转换图。该状态机包括8个状态,20条转换条件弧。下面详细描述第二主控状态机41各状态及之间的转换条件弧。第二主控状态机的8个状态分别如下
BUS_IDLE表明第二主控状态机处于空闲等待状态;
ASK_ABUS表明申请HAHB总线状态(总线非空闲);
RDY_ABUS表明总线有效待机状态,由于考虑LAHB的频率慢于HAHB,为等待写入数据,此状态不驱动HAHB ;
0WN_ABUS表明驱动地址/控制状态,开始进行控制信号与地址的驱动;
0WN_DBUS表明控制与地址信号被HABH接收,开始进行数据传送;
ERR_RESP表明接收到错误的反馈,进行错误处理;
ERR_D0NE表明错误处理结束状态;ACC_DONE表明数据传送结束。系统上电复位后,第二主控状态机41进入起始状态,即空闲等待状态BUS_IDLE
(1)当LAHB总线没有向HAHB总线的请求时(转换条件弧61)第二主控状态机41保持空闲等待状态BUS_IDLE ;
(2)当LAHB总线有向HAHB的总线请求,但HAHB未空闲需要等待时(转换条件弧62),第二主控状态机41转换至申请总线状态ASK_ABUS ;
(3)当LAHB总线有向HAHB的总线请求且HAHB空闲,可处理LAHB的请求时(转换条件弧63),第二主控状态机41转换至总线有效待机状态RDY_ABUS。第二主控状态机41处于总线申请状态ASK_ABUS时
(4)当HAHB未空闲,不能处理桥的请求时(转换条件弧64),第二主控状态机41保持总线申请状态ASK_ABUS ;
(5)当HAHB空闲,可以处理桥对HAHB的总线请求时(转换条件弧65),第二主控状态机转换至总线有效待机状态RDY_ABUS。第二主控状态机41处于总线有效待机状态RDY_ABUS
(6)当HAHB未空闲,不能处理桥对HAHB的存取请求时(转换条件弧66),第二主控状态机41保持总线有效待机状态RDY_ABUS ; (7)当HAHB空闲,可以处理HAHB存取请求时(转换条件弧67),第二主控状态机41转换至驱动地址/控制状态0WN_ABUS。第二主控状态机41处于驱动地址/控制状态0WN_ABUS
(8)若HAHB总线未空闲,未能接收桥发出地址与控制信号(转换条件弧68),第二主控状态机41保持驱动地址/控制状态0WN_ABUS ;
(9)若HAHB总线接收了桥发出的地址与控制信号(转换条件弧69),第二主控状态机41转换至数据处理状态0WN_DBUS。第二主控状态机41处于数据处理状态0WN_DBUS
(10)若HAHB未能处理完成数据(转换条件弧70),第二主控状态机41保持数据处理状态 0WN_DBUS ;
(11)若HAHB成功处理完成数据(转换条件弧71),第二主控状态机41转换至访问结束处理状态ACC_D0NE ;
(12)若HAHB处理数据发生错误(转换条件弧72),第二主控状态机41转换至错误处理状态ERR_RESP。第二主控状态机41处于访问结束处理状态ACC_D0NE
(13)若LAHB不再有对HAHB的存取访问申请(转换条件弧73),第二主控状态机41转换保持空闲等待状态BUS_IDLE ;
(14)当LAHB总线有向HAHB的总线请求,但HAHB未空闲需要等待时(转换条件弧74),第二主控状态机41转换至申请总线状态ASK_ABUS ;
(15)当LAHB总线有向HAHB的总线请求且HAHB空闲,可处理LAHB的请求时(转换条件弧75),第二主控状态机41转换至总线有效待机状态RDY_ABUS。第二主控状态机41处于错误处理状态ERR_RESP
(16)当两条不同频率总线时钟未同步时(转换条件弧76),第二主控状态机41保持错误处理状态ERR_RESP ;
(17)当两条不同频率总线时钟同步时(转换条件弧77)第二主控状态机41转换至出错处理完成状态ERR_DONE。第二主控状态机41处于错误处理状态ERR_D0NE
(18)若LAHB不再有对HAHB的存取访问申请(转换条件弧78),第二主控状态机41转换保持空闲等待状态BUS_IDLE ;
(19)当LAHB总线有向HAHB的总线请求,但HAHB未空闲需要等待时(转换条件弧79),第二主控状态机41转换至申请总线状态ASK_ABUS ;
(20)当LAHB总线有向HAHB的总线请求且HAHB空闲,可处理LAHB的请求时(转换条件弧80),第二主控状态机41转换至总线有效待机状态RDY_ABUS。 对应于不同的状态,第二地址/控制通路模块42对HAHB进行地址与控制信号的操作。具体操作如下
(1)HAHB_hbusreq当且仅当第一主控状态机41工作在申请总线状态ASK_ABUS时;
(2)HAHB_haddr信号由锁存在寄存器45中的地址信号直接驱动;
(3)HAHB_htrans信号当且仅当主状态机41工作在0WN_ABUS由寄存器44中的htrans信号直接驱动,工作在其他状态时皆为2’ b00即空闲信号;
(4)HAHBJisize信号由锁存在寄存器44中的hsize信号直接驱动;
(5)HAHBJiwrite信号当且仅当主状态机41工作在0WN_ABUS时由锁存在寄存器44中的hwrite信号直接驱动。 对于驱动HAHB的反馈信号
(1)LAHB_hresp信号当且仅当第二主控状态机41工作状态为ERR_RESP或ERR_D0NE时为2’ b01即出错信号,在其余工作状态时为2’ b00即正确访问信号;
(2)LAHB_hreadyo信号当且仅当第二主控状态机41工作状态为BUS_IDLE或ERR_D0NE或ACC_D0NE时为I’ bl,其余状态皆为I’ b0。对应于不同的状态,第二数据通路43完成对HAHB写入数据的驱动与对LAHB读出数据的驱动。(I) HAHBJiwdata当且仅当第二主控状态机41工作状态为ACC_D0NE时由锁存在寄存器46的32位hwdata同时驱动HAHB_hwdata的高低字;
(2)HAHB_hrdata信号仅当第二主控状态机41工作状态为ACC_D0NE时由锁存在寄存器47中的32位hrdata直接驱动。
权利要求
1.高速高带宽AHB总线到低速低带宽AHB总线的双向转换桥,其特征在于包括高速高带宽AHB总线到低速低带宽AHB总线访问方向的转换桥HAHB2LAHB,以及从低速低带宽AHB总线到高速高带宽AHB总线访问方向的转换桥LAHB2HAHB ;HAHB表示高速高带宽AHB总线,LAHB表示低速低带宽AHB总线; 所述HAHB2LAHB包括第一控制信号寄存器(54)、第一地址寄存器(55)、第一写入数据寄存器(56)、第一读出数据寄存器(57)、第一主控状态机(51)、第一地址/控制通路(52)以及第一数据通路(53);第一主控状态机(51)连接第一地址控制电路(52)和第一数据通路(53),第一控制信号寄存器(54)连接第一主控状态机(51)与HAHB,第一地址寄存器(55)连接第一地址/控制通路(52),第一写入数据寄存器(56)与第一读出数据寄存器(57)连接第一数据通路(53); HAHB2LAHB以HAHB主时钟作为主工作时钟,所述第一控制信号寄存器(54)、第一地址寄存器(55)、第一写入数据寄存器(56)、第一读出数据寄存器(57)用于暂存两端总线的信 号与数据,第一主控状态机(51)在HAHB控制信号、LAHB反馈控制信号及时钟同步信号的共同作用下,根据不同的激励进入不同的工作状态,控制着HAHB2LAHB的工作状态,第一地址/控制通路(52)根据第一主控状态机(51)的不同状态,将保存在第一地址寄存器(55)中的访问地址传递给LAHB,同时产生包括读写信号在内的控制信号,并将控制信号传递给LAHB ; 写入操作时,第一数据通路(53)根据第一主控状态机(51)的不同状态,将保存在第一写入数据寄存器(56)中的位数据分发送到LAHB ; 读出操作时,第一数据通路(53)根据第一主控状态机(51)的不同状态,将访问地址的低位进行译码,从而将LAHB读出位数据发送到HAHB的高字或低字的读出总线上; 所述LAHB2HAHB包括第二控制信号寄存器(44)、第二地址寄存器(45)、第二写入数据寄存器(46)、第二读出数据寄存器(47)、第二主控状态机(41)、第二地址/控制通路(42)以及第二数据通路(43);第二主控状态机(41)连接第二地址/控制通路(42)和第二数据通路(43),第二控制信号寄存器(44)连接着第二主控状态机(41)与HAHB,第二地址寄存器(45)连接着第二地址/控制通路(42),第二写入数据寄存器(46)与第二读出数据寄存器(47)连接第二数据通路(43); LAHB2HAHB以HAHB主时钟作为工作主时钟,所述第二控制信号寄存器(44)、第二地址寄存器(45)、第二写入数据寄存器(46)、第二读出数据寄存器(47)用于暂存两端总线的信号与数据,第二主控状态机(41)在LAHB控制信号、HAHB反馈控制信号及时钟同步信号的共同作用下,根据不同的激励进入不同的工作状态;第二地址/控制通路(42)根据主控状态机的不同状态,将保存在第二地址寄存器(45)中的32位访问地址传递给HAHB,同时产生包括读写信号在内的控制信号,并将控制信号传递给HAHB ;第二数据通路(43)根据第二主控状态机的不同状态,将保存在第二写入寄存器(46)中的32位数据发送到HAHB的64位数据写总线上; 读出操作时,第二数据通路(43)根据第二主控状态机(41)的不同状态根据32位访问地址进行译码选择出高字或低字作为有效数据传递到LAHB的32位读数据总线上。
2.如权利要求I所述的高速高带宽AHB总线到低速低带宽AHB总线的双向转换桥,其特征在于所述HAHB2LAHB的写入操作中,在执行双字写操作时,第一主控状态机(51)需要两个节拍分两次将两个字发送到LAHB总线。
3.如权利要求I所述的高速高带宽AHB总线到低速低带宽AHB总线的双向转换桥,其特征在于所述LAHB2HAHB的第二数据通路(43)将保存在第二写入寄存器(46)中的32位数据发送到HAHB的64位数据写总线上时,将高字与低字同时写入相同的32位数据。
4.如权利要求I所述的高速高带宽AHB总线到低速低带宽AHB总线的双向转换桥,其特征在于HAHB2LAHB的第一主控状态机10个状态分别是 BUS_IDLE表明第一主控状态机处于空闲等待状态; CEN_WAIT表明第一主控状态机处于等待同步状态; Dffl.WAIT表明第一主控状态机处于首字存取等待状态;Dffl_ADDR表明第一主控状态机处于首字存取地址/控制状态; DW1_DATA表明第一主控状态机处于首字存取数据状态; DW2_WAIT表明第一主控状态机处于次字存取等待状态; DW2_ADDR表明第一主控状态机处于次字存取地址/控制状态; DW2_DATA表明第一主控状态机处于次字存取数据状态; ANY_ERR1表明第一主控状态机处于LAHB反馈出错状态; ANY_ERR2表明第一主控状态机处于LAHB反馈出错结束状态。
5.如权利要求I所述的高速高带宽AHB总线到低速低带宽AHB总线的双向转换桥,其特征在于LAHB2HAHB的第二主控状态机包含8个状态分别如下 BUS_IDLE表明第二主控状态机处于空闲等待状态; ASK_ABUS表明申请HAHB总线状态为总线非空闲; RDY_ABUS表明总线有效待机状态,由于考虑LAHB的频率慢于HAHB,为等待写入数据,此状态不驱动HAHB ; OWN_ABUS表明驱动地址/控制状态,开始进行控制信号与地址的驱动; OWN_DBUS表明控制与地址信号被HABH接收,开始进行数据传送; ERR_RESP表明接收到错误的反馈,进行错误处理; ERR_DONE表明错误处理结束状态;ACC_DONE表明数据传送结束。
全文摘要
本发明提供了一种高速高带宽AHB轻量级总线到低速低带宽AHB轻量级总线相互通信的双向总线桥。包括高速高带宽AHB轻量级总线对低速带宽AHB轻量级总线的主从桥,以及低速带宽AHB轻量级总线对高速高带宽AHB轻量级总线的主从桥两个部分构成。本发明的优点是使用本发明的总线桥可以将原先单一的AHB总线进行分级处理,系统芯片的面积与功耗将会有效降低。
文档编号G06F13/40GK102750254SQ20121020717
公开日2012年10月24日 申请日期2012年6月20日 优先权日2012年6月20日
发明者于麦可, 李天阳, 王澧 申请人:中国电子科技集团公司第五十八研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1