Entity: AxiStreamMon
- File: AxiStreamMon.vhd
Diagram
Description
Company : SLAC National Accelerator Laboratory
Description: AXI Stream Monitor Module
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 | |
COMMON_CLK_G | boolean | false | true if axisClk = statusClk |
AXIS_CLK_FREQ_G | real | 156.25E+6 | units of Hz |
AXIS_CONFIG_G | AxiStreamConfigType |
Ports
Port name | Direction | Type | Description |
---|---|---|---|
axisClk | in | sl | AXIS Stream Interface |
axisRst | in | sl | |
axisMaster | in | AxiStreamMasterType | |
axisSlave | in | AxiStreamSlaveType | |
statusClk | in | sl | Status Interface |
statusRst | in | sl | |
frameCnt | out | slv(63 downto 0) | units of frames |
frameSize | out | slv(31 downto 0) | units of Byte |
frameSizeMax | out | slv(31 downto 0) | units of Byte |
frameSizeMin | out | slv(31 downto 0) | units of Byte |
frameRate | out | slv(31 downto 0) | units of Hz |
frameRateMax | out | slv(31 downto 0) | units of Hz |
frameRateMin | out | slv(31 downto 0) | units of Hz |
bandwidth | out | slv(63 downto 0) | units of Byte/s |
bandwidthMax | out | slv(63 downto 0) | units of Byte/s |
bandwidthMin | out | slv(63 downto 0) |
Signals
Name | Type | Description |
---|---|---|
r | RegType | |
rin | RegType | |
bw | slv(39 downto 0) | |
bwMax | slv(39 downto 0) | |
bwMin | slv(39 downto 0) | |
frameRateUpdate | sl | |
frameRateSync | slv(31 downto 0) | |
frameRateMaxSync | slv(31 downto 0) | |
frameRateMinSync | slv(31 downto 0) |
Constants
Name | Type | Value | Description |
---|---|---|---|
TKEEP_C | natural | AXIS_CONFIG_G.TDATA_BYTES_C | |
TIMEOUT_C | natural | getTimeRatio(AXIS_CLK_FREQ_G, 1.0)-1 |
|
REG_INIT_C | RegType | ( frameSent => '0', sizeValid => '0', armed => '0', tValid => '0', tKeep => (others => '0'), updated => '0', timer => 0, accum => (others => '0'), bandwidth => (others => '0'), frameAccum => (others => '0'), frameSize => (others => '0'), frameCnt => (others => '0')) |
Types
Name | Type | Description |
---|---|---|
RegType |
Processes
- comb: ( axisMaster, axisRst, axisSlave, r )
- seq: ( axisClk )
Instantiations
- U_packetRate: surf.SyncTrigRate
- SyncOut_frameRate: surf.SynchronizerFifo
- SyncOut_frameRateMax: surf.SynchronizerFifo
- SyncOut_frameRateMin: surf.SynchronizerFifo
- SyncOut_frameCnt: surf.SynchronizerFifo
- Sync_frameSize: surf.SyncMinMax
- Sync_bandwidth: surf.SyncMinMax