AMBA AHB/APB Bridge with Plug&Play Support

Introduction

APB is single-master bus hosting devices with low bandwidth requirements used in conjunction with AHB bus. The AMBA AHB/APB Bridge unit acts as a slave on AHB bus and master on APB bus providing an interface between the two buses. The full GRLIB Plug&Play functionality is supported for both the AHB/APB bridge and slaves on the APB bus. For  more information on AMBA, APB and Plug&Play configuration refer to GRLIB IP Library User's Manual.

Component declaration

library grlib;
use grlib.amba.all;

  component apbctrl
  generic (
    hindex  : integer := 0;
    haddr   : integer := 0;
    hmask   : integer := 16#fff#
  );
  port (
    rst     : in  std_ulogic;
    clk     : in  std_ulogic;
    ahbi    : in  ahb_slv_in_type;
    ahbo    : out ahb_slv_out_type;
    apbi    : out apb_slv_in_type;
    apbo    : in  apb_slv_out_vector
  );
  end component;

Configuration options

The AHB/APB Bridge has the following configuration options (VHDL generics):

Generics
Description
Range
Default
hindex
Selects which AHB select signal (HSEL) will be used to access the bridge
0 to NAHBMAX-1
0
haddr
ADDR field of the AHB BAR.
0 to 16#FFF#
0
hmask
MASK field of the AHB BAR.
0 to 16#FFF# 16#FFF#

Vendor and device id

The AHB/APB bridge has vendor id 0x01 (Gaisler Research) and device id 0x006.

Registers

The module does not implement any user programmable registers.

Signal description

Table below shows AHB/APB bridge signals.

Signal
Type
Function
Active
RST
Input
Reset
Low
CLK
Input
Clock
-
AHBI
Input
AHB slave input signals
-
AHBO
Output
AHB slave output signals
-
APBI
Input
APB slave input signals
-
APBO
Output
APB slave output signals -