PM8621 PMC-Sierra, Inc., PM8621 Datasheet - Page 151

no-image

PM8621

Manufacturer Part Number
PM8621
Description
NSE-8G Standard Product Data Sheet Preliminary
Manufacturer
PMC-Sierra, Inc.
Datasheet
12.12.2 Accessing the Receive Message FIFO
Proprietary and Confidential to PMC-Sierra, Inc., and for its Customers’ Internal Use
Document ID: PMC-2010850, Issue 1
1. Write 00000001h to the ILC Transmit Misc. Status and FIFO Synch register to initiate a new
2. Loop through the next two operations until the message is transferred.
3. Write the Transmit FIFO Data register.
4. Wait for the TX_FI_BUSY bit to be logic zero (read ILC Transmit Misc. Status and FIFO
Notes on Using the TX_XFER_SYNC
If all messages transmitted are eight Dwords in length, then writing the TX_XFER_SYNC bit is
optional.
When transmitting a message immediately following a short message, writing the
TX_XFER_SYNC bit is mandatory.
When transmitting messages longer than eight Dwords, writing the TX_XFER_SYNC bit every
eight Dwords is optional.
Access the registers in the following order:
This procedure is outline only. Full operation is shown in the code snippet below.
1. Write 00000001h to the Receive Auxiliary, Status and FIFO Synch register to initiate a new
2. Loop through the next two operations until message is transferred.
3. Read the Receive FIFO Data register.
4. Wait for the busy bit to equal ‘0’ (Read Receive Status register Ah) or wait for three SYSCLK
The following psuedo code shows the recommended procedure for accessing the receive message
FIFO.
--
message write sequence (TX_XFER_SYNC).
Synch register) or wait for three SYSCLK Cycles and then continue. This wait time can be
used to access other registers, just as long as the Transmit FIFO Data register is not changed
during this time.
message read sequence.
Cycles and then continue. This wait time can be utilized accessing other registers, just as long
as the Receive FIFO Data register is not read again during this time.
PROCEDURE Message_Receive IS
BEGIN
VARIABLE dword_rd_cnt
VARIABLE msg_done
VARIABLE polled_rx_mode : BOOLEAN := false;
VARIABLE msg_lvl_loop
VARIABLE msgs_rd
: NATURAL := 0;
: BOOLEAN := false;
: NATURAL := 0;
: NATURAL := 0;
NSE-8G™ Standard Product Data Sheet
Preliminary
150

Related parts for PM8621