Package: AxiStreamPkg
- File: AxiStreamPkg.vhd
Description
use surf.TextUtilPkg.all;
Constants
Name | Type | Value | Description |
---|---|---|---|
AXI_STREAM_MAX_TDATA_WIDTH_C | positive | 512 | Units of bits |
AXI_STREAM_MAX_TKEEP_WIDTH_C | positive | (AXI_STREAM_MAX_TDATA_WIDTH_C/8) | Units of bytes |
AXI_STREAM_MASTER_INIT_C | AxiStreamMasterType | ( tValid => '0', tData => (others => '0'), tStrb => (others => '1'), tKeep => (others => '1'), tLast => '0', tDest => (others => '0'), tId => (others => '0'), tUser => (others => '0')) |
|
AXI_STREAM_SLAVE_INIT_C | AxiStreamSlaveType | ( tReady => '0') | |
AXI_STREAM_SLAVE_FORCE_C | AxiStreamSlaveType | ( tReady => '1') | |
AXI_STREAM_CONFIG_INIT_C | AxiStreamConfigType | ( -- TDEST_INTERLEAVE_C => true, TSTRB_EN_C => false, TDATA_BYTES_C => 16, TDEST_BITS_C => 4, TID_BITS_C => 0, TKEEP_MODE_C => TKEEP_NORMAL_C, TUSER_BITS_C => 4, TUSER_MODE_C => TUSER_NORMAL_C) |
|
AXI_STREAM_CTRL_INIT_C | AxiStreamCtrlType | ( pause => '1', overflow => '0', idle => '0') |
|
AXI_STREAM_CTRL_UNUSED_C | AxiStreamCtrlType | ( pause => '0', overflow => '0', idle => '1') |
Types
Name | Type | Description |
---|---|---|
AxiStreamMasterType | ||
AxiStreamMasterArray | array (natural range<>) of AxiStreamMasterType | |
AxiStreamMasterVectorArray | array (natural range<>, natural range<>) of AxiStreamMasterType |
|
AxiStreamDualMasterArray | array (natural range <>) of AxiStreamMasterArray(1 downto 0) | |
AxiStreamQuadMasterArray | array (natural range <>) of AxiStreamMasterArray(3 downto 0) | |
AxiStreamOctalMasterArray | array (natural range <>) of AxiStreamMasterArray(7 downto 0) | |
AxiStreamSlaveType | ||
AxiStreamSlaveArray | array (natural range<>) of AxiStreamSlaveType | |
AxiStreamSlaveVectorArray | array (natural range<>, natural range<>) of AxiStreamSlaveType |
|
AxiStreamDualSlaveArray | array (natural range <>) of AxiStreamSlaveArray(1 downto 0) | |
AxiStreamQuadSlaveArray | array (natural range <>) of AxiStreamSlaveArray(3 downto 0) | |
AxiStreamOctalSlaveArray | array (natural range <>) of AxiStreamSlaveArray(7 downto 0) | |
TUserModeType | (TUSER_NORMAL_C, TUSER_FIRST_LAST_C, TUSER_LAST_C, TUSER_NONE_C) |
|
TKeepModeType | (TKEEP_NORMAL_C, TKEEP_COMP_C, TKEEP_FIXED_C, TKEEP_COUNT_C) |
|
AxiStreamConfigType | ||
AxiStreamConfigArray | array (natural range<>) of AxiStreamConfigType | |
AxiStreamConfigVectorArray | array (natural range<>, natural range<>) of AxiStreamConfigType |
|
AxiStreamCtrlType | ----------------------------------------------------------------------------------------------- Special control backpressure interface for use with stream fifos ----------------------------------------------------------------------------------------------- | |
AxiStreamCtrlArray | array (natural range<>) of AxiStreamCtrlType | |
AxiStreamCtrlVectorArray | array (natural range<>, natural range<>) of AxiStreamCtrlType |
|
AxiStreamDualCtrlArray | array (natural range <>) of AxiStreamCtrlArray(1 downto 0) | |
AxiStreamQuadCtrlArray | array (natural range <>) of AxiStreamCtrlArray(3 downto 0) | |
AxiStreamOctalCtrlArray | array (natural range <>) of AxiStreamCtrlArray(7 downto 0) |
Functions
- axiStreamMasterInit (constant config : AxiStreamConfigType) return AxiStreamMasterType
- getSlvSize (c : AxiStreamConfigType) return integer
- toSlv (din : AxiStreamMasterType;
c : AxiStreamConfigType) return slv
- toAxiStreamMaster (din : slv;
valid : sl;
c : AxiStreamConfigType) return AxiStreamMasterType
- axiStreamPacked ( constant CONFIG_C : AxiStreamConfigType;
axisMaster : AxiStreamMasterType) return boolean
Description
Helper function prototypes
- axiStreamGetUserPos ( axisConfig : AxiStreamConfigType;
axisMaster : AxiStreamMasterType;
bytePos : integer := -1) return integer
- axiStreamGetUserField ( axisConfig : AxiStreamConfigType;
axisMaster : AxiStreamMasterType;
bytePos : integer := -1) return slv
- axiStreamGetUserBit ( axisConfig : AxiStreamConfigType;
axisMaster : AxiStreamMasterType;
bitPos : integer;
bytePos : integer := -1) return sl
- axiStreamSetUserField ( axisConfig : in AxiStreamConfigType;
axisMaster : inout AxiStreamMasterType;
fieldValue : in slv;
bytePos : in integer := -1) return ()
- axiStreamSetUserBit ( axisConfig : in AxiStreamConfigType;
axisMaster : inout AxiStreamMasterType;
bitPos : in integer;
bitValue : in sl;
bytePos : in integer := -1) return ()
Description
-1 = last
- ite (i : boolean;
t : AxiStreamConfigType;
e : AxiStreamConfigType) return AxiStreamConfigType
Description
-1 = last
- ite (i : boolean;
t : AxiStreamMasterType;
e : AxiStreamMasterType) return AxiStreamMasterType
- ite (i : boolean;
t : AxiStreamSlaveType;
e : AxiStreamSlaveType) return AxiStreamSlaveType
- ite (i : boolean;
t : AxiStreamCtrlType;
e : AxiStreamCtrlType) return AxiStreamCtrlType
- ite (i : boolean;
t : TUserModeType;
e : TUserModeType) return TUserModeType
- ite (i : boolean;
t : TKeepModeType;
e : TKeepModeType) return TKeepModeType
- genTKeep (bytes : natural range 0 to AXI_STREAM_MAX_TKEEP_WIDTH_C) return slv
- genTKeep (constant config : AxiStreamConfigType) return slv
- getTKeep (tKeep : slv;
axisConfig : AxiStreamConfigType) return natural