新闻中心

EEPW首页>EDA/PCB>设计应用> 基于FPGA的OPB_AHB总线桥接器的设计

基于FPGA的OPB_AHB总线桥接器的设计

作者: 时间:2010-08-31 来源:网络 收藏

  4.的实现

  实现两种的互联,关键是完成控制信号之间的转换以及数据和地址的传输,本设计采用的方法包括。

  (1)流水线方式, (2)将所有输入的控制信号和数据地址都寄存一拍。

  (3)控制信号都采用同 (4)步设计方法, (5)在OPB_Clk的上升沿触发。

  (6)数据的读写操作为同 (7)步读写。

  4.1OPB2AHB_Brg的实现

  (1) 所有控制信号采用同步设计思想,在 SOPB_Clk的上升沿触发。 SOPB_Rst高电平有效,为同步复位,当其有效时,所有信号输出 0状态。

  (2) 当检测到 SOPB_Sel信号有效时,即表明被选中,成为 OPB上的从设备,或者检测到 AHB_Resp信号状态为RETRY,此时 OPB2AHB_Brg作为AHB总线上的主设备向 AHB仲裁器发出请求总线信号 AHB_BusReq。

  (3) 当OPB2AHB_Brg检测到 AHB总线侧的允许信号 AHB_Grants时,说明桥接器的请求得 到允许,此时当 AHB_Ready有效时,可以根据 SOPB_BE判断传输数据的大小,决定 AHB_Size的状态,当 SOPB_BE为1111时,AHB_Size为010(32bit),SOPB_BE为1100或0011时,AHB_Size为001(16bit),SOPB_BE为0001、0010、0100、1000时,AHB_Size为000(8bit)。

  (4) 当SOPB_RNW为高电平时,为读取数据,数据流向是从 AHB_Rdata到Sl_Dbus,当 SOPB_RNW为低电平时,为写数据,数据流向从 SOPB_Dbus到AHB_Wdata。地址总线相连,即SOPB_Abus连接AHB_Addr。

  (5)当一次数据传输完成后, (6)置位Sl_xferAck信号, (7) 让其输出一个时钟周期的高脉冲。

  4.2 AHB_OPB_Brg的实现

  (1) 当桥接器检测到 AHB_Sel信号有效时,即表明桥接器被选中,成为AHB总线上的从设备,此时AHB2OPB_Brg作为OPB总线上的主设备向 OPB仲裁器发出请求总线信号 M_req。

  (2)当桥接器接收到 OPB仲裁器发出的允许信号 OPB_Mgrant信号时, (3)表明桥接器可以

  开始工作,(4)这个信号会激励 M_Sel信号有效, (5)根据 IP核 BK3721的功能特性, (6) M_BE总是输出 1111,(7) M_SeqAddr和M_busLock输出为0。

  (3) 当AHB_Write为高电平时,为写数据有效,此时 AHB主设备向从设备桥接器写数据,同时桥接器作为 OPB总线上的主设备向选中的 OPB从设备写数据,数据流向为 AHB_Wdata到 M_Dbus。当AHB_Write为低电平时,为读数据有效,此时 AHB主设备从桥接器(作为 AHB总线上的从设备)读取数据,同时桥接器作为 OPB总线的主设备从选中的 OPB从设备读取数据,数据流向为OPB_DBus到AHB_RData。

  (8)当数据传输指 (9)示信号OPB_xferAck被检测有效时, (10) AHB_Ready信号输出高电平有效信号, (11)表示数据传输结束。

  5.桥接器的验证

  5.1 OPB2AHB_Brg的验证

  用verilog编写testbench,在testbench中虚拟设备一个 AHB从设备存储器 AHB_mem,存储器的数据位宽和地址位宽都是 32位,通过测试平台可以对虚拟存储器进行数据的读写,并将数据的读写结果保存到 Wdata.txt文件中。

  利用ModelSim工具对测试平台进行仿真。在主设备向虚拟从设备写数据时, SOPB_RNW为低电平,桥接器作为AHB上的主设备将 SOPB_DBus数据线上的数据通过 AHB_Wdata写到 AHB_mem存储器中,并在 WData.txt文件中显示出来,仿真结果如图 3 (a)所示。

  图3 (a) OPB2AHB_Brg写数据仿真波形



评论


相关推荐

技术专区

关闭