ADM-XRC SDK 2.8.1 User Guide (Linux)
© Copyright 2001-2009 Alpha Data
component locbus_arb generic( tco_p2p : in time := 5 ns; n_arb : in natural; priority : in integer_vector_t); port( lreset_l : in std_logic; lclk : in std_logic; lhold : in std_logic_vector(n_arb - 1 downto 0); lholda : out std_logic_vector(n_arb - 1 downto 0)); end component;
Non-synthesizable testbench component that performs access arbitration on the local bus.
This component can be instantiated in a testbench to arbitrate between several local bus agents for access to the local bus. The arbitration scheme works as follows:
The generics should be mapped as follows:
Generic | Map to... |
tco_p2p | A value of type time that represents the desired local bus clock-to-output delay for signals such as LDACK#). This parameter has a suitable default value so it need not be specified. |
n_arb | An integer whose value is the number of local bus agents in the testbench. This value is also the length of the vectors lhold and lholda, since there must be one pair of signals per local bus agent. |
priority | An integer vector (type integer_vector_t) that specifies the priorities for each local bus agent, where a numerically higher value represents higher priority. The length of this vector must be equal to n_arb. |
The ports must be mapped to signals as follows:
Port | Map to... |
lclk | A signal equivalent to the local bus clock LCLK |
lhold | A vector that carries the bus request signals for all of the local bus agents in the design. Each element of the vector corresponds to the HOLD signal for a particular local bus agent. |
lholda | A vector that carries the bus grant signals for all of the local bus agents in the design. Each element of the vector corresponds to the HOLDA signal for a particular local bus agent. |
lreset_l | A signal equivalent to the local bus signal LRESET# |