Entity: AxiWritePathMux

Diagram

time TPD_G integer range 1 to 32 NUM_SLAVES_G sl axiClk sl axiRst AxiWriteMasterArray(NUM_SLAVES_G-1 downto 0) sAxiWriteMasters AxiWriteSlaveType mAxiWriteSlave AxiWriteSlaveArray(NUM_SLAVES_G-1 downto 0) sAxiWriteSlaves AxiWriteMasterType mAxiWriteMaster

Description


Company : SLAC National Accelerator Laboratory

Description:

Block to connect multiple incoming AXI write path interfaces.

This file is part of 'SLAC Firmware Standard Library'. It is subject to the license terms in the LICENSE.txt file found in the top-level directory of this distribution and at: https://confluence.slac.stanford.edu/display/ppareg/LICENSE.html. No part of 'SLAC Firmware Standard Library', including this file, may be copied, modified, propagated, or distributed except according to

the terms contained in the LICENSE.txt file.

Generics

Generic name Type Value Description
TPD_G time 1 ns
NUM_SLAVES_G integer range 1 to 32 4

Ports

Port name Direction Type Description
axiClk in sl Clock and reset
axiRst in sl
sAxiWriteMasters in AxiWriteMasterArray(NUM_SLAVES_G-1 downto 0) Slaves
sAxiWriteSlaves out AxiWriteSlaveArray(NUM_SLAVES_G-1 downto 0)
mAxiWriteMaster out AxiWriteMasterType Master
mAxiWriteSlave in AxiWriteSlaveType

Signals

Name Type Description
r RegType
rin RegType

Constants

Name Type Value Description
DEST_SIZE_C integer bitSize(NUM_SLAVES_G-1)
ARB_BITS_C integer 2**DEST_SIZE_C
REG_INIT_C RegType ( addrState => S_IDLE_C,
addrAcks => (others => '0'),
addrAckNum => (others => '0'),
addrValid => '0',
dataReq => '0',
dataAck => '0',
dataState => S_IDLE_C,
dataAckNum => (others => '0'),
slaves => (others => AXI_WRITE_SLAVE_INIT_C),
master => AXI_WRITE_MASTER_INIT_C )

Types

Name Type Description
StateType (S_IDLE_C,
S_MOVE_C,
S_LAST_C,
S_WAIT_C)
------------------------ Address Path ------------------------
RegType

Processes