Entity: SsiPrbsRateGen
- File: SsiPrbsRateGen.vhd
 
Diagram
Description
Title : SSI Protocol: https://confluence.slac.stanford.edu/x/0oyfD
Company : SLAC National Accelerator Laboratory
Description: SsiPrbsTx + AxiStreamMon Wrapper
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 | General Configurations | 
| VALID_THOLD_G | integer range 0 to (2**24) | 1 | PRBS TX FIFO Configurations | 
| VALID_BURST_MODE_G | boolean | false | |
| MEMORY_TYPE_G | string | "block" | |
| CASCADE_SIZE_G | natural range 1 to (2**24) | 1 | |
| FIFO_ADDR_WIDTH_G | natural range 4 to 48 | 9 | |
| AXIS_CLK_FREQ_G | real | 156.25E+6 | units of Hz | 
| AXIS_CONFIG_G | AxiStreamConfigType | 
Ports
| Port name | Direction | Type | Description | 
|---|---|---|---|
| mAxisClk | in | sl | Master Port (mAxisClk) | 
| mAxisRst | in | sl | |
| mAxisMaster | out | AxiStreamMasterType | |
| mAxisSlave | in | AxiStreamSlaveType | |
| axilReadMaster | in | AxiLiteReadMasterType | |
| axilReadSlave | out | AxiLiteReadSlaveType | |
| axilWriteMaster | in | AxiLiteWriteMasterType | |
| axilWriteSlave | out | AxiLiteWriteSlaveType | 
Signals
| Name | Type | Description | 
|---|---|---|
| r | RegType | |
| rin | RegType | |
| iAxisMaster | AxiStreamMasterType | |
| iAxisSlave | AxiStreamSlaveType | |
| frameRate | slv(31 downto 0) | |
| frameRateMax | slv(31 downto 0) | |
| frameRateMin | slv(31 downto 0) | |
| bandwidth | slv(63 downto 0) | |
| bandwidthMax | slv(63 downto 0) | |
| bandwidthMin | slv(63 downto 0) | |
| busy | sl | 
Constants
| Name | Type | Value | Description | 
|---|---|---|---|
| REG_INIT_C | RegType | (       axilReadSlave  => AXI_LITE_READ_SLAVE_INIT_C, axilWriteSlave => AXI_LITE_WRITE_SLAVE_INIT_C, trig => '0', packetLength => (others=>'0'), genPeriod => (others=>'0'), genEnable => '0', genOne => '0', genMissed => (others=>'0'), genCount => (others=>'0'), frameCount => (others=>'0'), statReset => '1')  | 
Types
| Name | Type | Description | 
|---|---|---|
| RegType | 
Processes
- comb: ( axilReadMaster, axilWriteMaster, r, mAxisRst, busy,
frameRate, frameRateMax, frameRateMin,
bandwidth, bandwidthMax, bandwidthMin,
iAxisMaster, iAxisSlave ) 
- seq: ( mAxisClk )
 
Instantiations
- U_PrbsTx: surf.SsiPrbsTx
 
- U_Monitor: surf.AxiStreamMon