公开/公告号CN102750254A
专利类型发明专利
公开/公告日2012-10-24
原文格式PDF
申请/专利权人 中国电子科技集团公司第五十八研究所;
申请/专利号CN201210207171.2
申请日2012-06-20
分类号G06F13/40(20060101);
代理机构32104 无锡市大为专利商标事务所;
代理人殷红梅
地址 214035 江苏省无锡市滨湖区惠河路5号
入库时间 2023-12-18 07:07:03
法律状态公告日
法律状态信息
法律状态
2014-12-03
授权
授权
2012-12-19
实质审查的生效 IPC(主分类):G06F13/40 申请日:20120620
实质审查的生效
2012-10-24
公开
公开
技术领域
本发明属于集成电路设计领域的数字接口转换设计,尤其涉及一种高速高带宽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总线的双向转换桥,是一种高速(1倍、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;OWN_ABUS表明驱动地址/控制状态,开始进行控制信号与地址的驱动;OWN_DBUS表明控制与地址信号被HABH接收,开始进行数据传送;ERR_RESP表明接收到错误的反馈,进行错误处理;ERR_DONE表明错误处理结束状态;ACC_DONE表明数据传送结束。
本发明与现有技术相比,本发明所设计呈的总线桥呈双向性,不仅可以完成从高速高宽度AHB总线到低速低宽度AHB总线的访问,同时也可以完成从低速低宽度AHB总线到高速高宽度AHB总线的访问。此外本发明所提供的总线桥具有结构简单、效率优异的特点。
附图说明
图1为本发明提供的HAHB总线到LAHB总线双向桥基本结构框图。
图2为本发明提供的HAHB总线到LAHB总线方向的转换桥的模块示意图。
图3为本发明提供的HAHB总线到LAHB总线方向的转换桥主控状态机状态转换图。
图4为本发明提供的LAHB总线到HAHB总线方向的转换桥的模块示意图。
图5为本发明提供的LAHB总线到HAHB总线方向的转换桥主控状态机状态转换图。
具体实施方式
以下结合附图对本发明所解决的技术问题、技术方案与作进一步详细说明。
为描述方便,将HAHB到LAHB转换桥表述为HAHB2LAHB。将LAHB到HAHB转换桥表述为LAHB2HAHB。而两个总线的双向桥是由HAHB2LAHB与LAHB2HAHB共同构成,如图1所示。
从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表明状态机处于等待同步状态;
DW1_WAIT表明状态机处于首字存取等待状态;
DW1_ADDR明状态机处于首字存取地址/控制状态;
DW1_DATA表明状态机处于首字存取数据状态;
DW2_WAIT表明状态机处于次字存取等待状态;
DW2_ADDR表明状态机处于次字存取地址/控制状态;
DW2_DATA表明状态机处于次字存取数据状态;
ANY_ERR1表明状态机处于LAHB反馈出错状态;
ANY_ERR2表明状态机处于LAHB反馈出错结束状态。
系统上电复位后,第一主控状态机51进入起始状态,即空闲等待状态BUS_IDLE:
(1) 当HAHB总线没有向LAHB总线的请求时(转换条件弧1)第一主控状态机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不等于1)或总线未同步时(条件转换弧10),第一主控状态机51保持首字存取地址/控制状态DW1_ADDR;
(11) 当LAHB总线同步,并且存在响应的条件下(条件转换弧11),第一主控状态机51转换至首字存取数据状态DW1_DATA。
第一主控状态机处于首字存取数据状态DW1_DATA:
(12) 当LAHB总线未响应(Lhreadyi不等于1)或总线未同步时(条件转换弧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的存取是双字(64)存取,并且LAHB总线未空闲或不同步时,第一主控状态机51转换至次字存取等待状态DW2_WAIT;
(17) 当LAHB总线有响应,表明首字完成存取,并且HAHB的存取是双字(64)存取,并且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 != 1)或总线未同步时(条件转换弧21),第一主控状态机51保持次字存取地址/控制状态DW2_ADDR;
(22) 当LAHB总线同步,并且存在响应的条件下(条件转换弧22),第一主控状态机51转换至次字存取数据状态DW2_DATA。
第一主控状态机处于次字存取数据状态DW2_DATA:
(23) 当LAHB总线未响应(Lhreadyi不等于1)或总线未同步时(条件转换弧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位地址为”1”;
(3) LAHB_htrans 信号当且仅当主状态机51工作在DW1_ADDR或DW2_ADDR时为2’b10,即非连续访问状态,工作在其他状态时皆为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读出数据的驱动。
(1) LAHB_hwdata信号当且仅当第一主控状态机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;
OWN_ABUS表明驱动地址/控制状态,开始进行控制信号与地址的驱动;
OWN_DBUS表明控制与地址信号被HABH接收,开始进行数据传送;
ERR_RESP表明接收到错误的反馈,进行错误处理;
ERR_DONE表明错误处理结束状态;
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转换至驱动地址/控制状态OWN_ABUS。
第二主控状态机41处于驱动地址/控制状态OWN_ABUS:
(8) 若HAHB总线未空闲,未能接收桥发出地址与控制信号(转换条件弧68),第二主控状态机41保持驱动地址/控制状态OWN_ABUS;
(9) 若HAHB总线接收了桥发出的地址与控制信号(转换条件弧69),第二主控状态机41转换至数据处理状态OWN_DBUS。
第二主控状态机41处于数据处理状态OWN_DBUS:
(10) 若HAHB未能处理完成数据 (转换条件弧70),第二主控状态机41保持数据处理状态OWN_DBUS;
(11) 若HAHB 成功处理完成数据(转换条件弧71),第二主控状态机41转换至访问结束处理状态ACC_DONE;
(12) 若HAHB 处理数据发生错误(转换条件弧72),第二主控状态机41转换至错误处理状态ERR_RESP。
第二主控状态机41处于访问结束处理状态ACC_DONE:
(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_DONE:
(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工作在OWN_ABUS由寄存器44中的htrans信号直接驱动,工作在其他状态时皆为2’b00即空闲信号;
(4) HAHB_hsize 信号由锁存在寄存器44中的hsize信号直接驱动;
(5) HAHB_hwrite信号当且仅当主状态机41工作在OWN_ABUS时由锁存在寄存器44中的hwrite 信号直接驱动。
对于驱动HAHB的反馈信号:
(1) LAHB_hresp信号当且仅当第二主控状态机41工作状态为ERR_RESP或ERR_DONE时为2’b01即出错信号,在其余工作状态时为2’b00即正确访问信号;
(2) LAHB_hreadyo信号当且仅当第二主控状态机41工作状态为BUS_IDLE或ERR_DONE 或ACC_DONE时为1’b1,其余状态皆为1’b0。
对应于不同的状态,第二数据通路43完成对HAHB写入数据的驱动与对LAHB读出数据的驱动。
(1) HAHB_hwdata当且仅当第二主控状态机41工作状态为ACC_DONE时由锁存在寄存器46的32位hwdata同时驱动HAHB_hwdata的高低字;
(2) HAHB_hrdata 信号仅当第二主控状态机41工作状态为ACC_DONE时由锁存在寄存器47中的32位hrdata直接驱动。
机译: 能够将AMBA AHB总线协议转换为类似i960的总线协议的总线接口转换器
机译: 能够将amba ahb总线协议转换为类似i960的总线协议的总线接口转换器
机译: 可将AMBA AHB总线协议转换为i960样总线协议的总线接口转换器