Entity: RssiConnFsm

Diagram

time TPD_G boolean SERVER_G real TIMEOUT_UNIT_G real CLK_FREQUENCY_G positive RETRANS_TOUT_G positive MAX_RETRANS_CNT_G positive WINDOW_ADDR_SIZE_G positive SEGMENT_ADDR_SIZE_G sl clk_i sl rst_i sl connRq_i sl closeRq_i RssiParamType rxRssiParam_i RssiParamType appRssiParam_i FlagsType rxFlags_i sl rxValid_i sl synHeadSt_i sl ackHeadSt_i sl rstHeadSt_i RssiParamType rssiParam_o sl connActive_o sl closed_o sl sndSyn_o sl sndAck_o sl sndRst_o sl txAckF_o integer range 1 to 2 ** (SEGMENT_ADDR_SIZE_G) rxBufferSize_o integer range 1 to 2 ** (WINDOW_ADDR_SIZE_G) rxWindowSize_o integer range 1 to 2 ** (SEGMENT_ADDR_SIZE_G) txBufferSize_o integer range 1 to 2 ** (WINDOW_ADDR_SIZE_G) txWindowSize_o sl peerTout_o sl paramReject_o

Description


Title : RSSI Protocol: https://confluence.slac.stanford.edu/x/1IyfD

Company : SLAC National Accelerator Laboratory

Description: Connection establishment mechanism: - Connection open/close request, - Parameter negotiation,

- Server-client mode (More comments below).

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
SERVER_G boolean true
TIMEOUT_UNIT_G real 1.0E-6 us
CLK_FREQUENCY_G real 100.0E6
RETRANS_TOUT_G positive 50 Time the module waits for the response until it retransmits SYN segment
MAX_RETRANS_CNT_G positive 2
WINDOW_ADDR_SIZE_G positive 3
SEGMENT_ADDR_SIZE_G positive 7 2^SEGMENT_ADDR_SIZE_G = Number of 64 bit wide data words

Ports

Port name Direction Type Description
clk_i in sl
rst_i in sl
connRq_i in sl Connection request (open/close)
closeRq_i in sl
rxRssiParam_i in RssiParamType Parameters received from peer (Server)
appRssiParam_i in RssiParamType Parameters set by high level App or generic (Client)
rssiParam_o out RssiParamType Negotiated parameters
rxFlags_i in FlagsType Flags from Rx module
rxValid_i in sl Valid received packet
synHeadSt_i in sl
ackHeadSt_i in sl
rstHeadSt_i in sl
connActive_o out sl Connection FSM indicating active connection
closed_o out sl FSM in closed state (indicating when to initialize seqN)
sndSyn_o out sl
sndAck_o out sl
sndRst_o out sl
txAckF_o out sl
rxBufferSize_o out integer range 1 to 2 ** (SEGMENT_ADDR_SIZE_G) Window size and buffer size different for Rx and Tx
rxWindowSize_o out integer range 1 to 2 ** (WINDOW_ADDR_SIZE_G)
txBufferSize_o out integer range 1 to 2 ** (SEGMENT_ADDR_SIZE_G)
txWindowSize_o out integer range 1 to 2 ** (WINDOW_ADDR_SIZE_G)
peerTout_o out sl Status signals
paramReject_o out sl

Signals

Name Type Description
r RegType
rin RegType

Constants

Name Type Value Description
SAMPLES_PER_TIME_C integer integer(TIMEOUT_UNIT_G * CLK_FREQUENCY_G)
REG_INIT_C RegType ( connActive => '0',
closed => '1',
sndSyn => '0',
sndAck => '0',
sndRst => '0',
txAckF => '0',
peerTout => '0',
paramReject => '0',
rssiParam => RSSI_PARAM_INIT_C,
timeoutCntr => 0,
resendCntr => 0,
-- txBufferSize=> 1,
txWindowSize=> 1,
--- state => CLOSED_S )

Types

Name Type Description
StateType ( CLOSED_S,
SEND_SYN_S,
WAIT_SYN_S,
LISTEN_S,
SEND_ACK_S,
SEND_SYN_ACK_S,
WAIT_ACK_S,
SEND_RST_S,
OPEN_S )
RegType

Processes