Rainbow Electronics DS3134 User Manual
Page 106

DS3134
106 of 203
Empty Case
The Receive Free Queue is considered empty when the read and write pointers are identical.
Receive Free Queue Empty State
empty descriptor
empty descriptor
empty descriptor
read pointer >
empty descriptor
< write pointer
empty descriptor
empty descriptor
empty descriptor
Full Case
The Receive Free Queue is considered full when the read pointer is ahead of the write pointer by one
descriptor. Hence, one descriptor must always remain empty.
Receive Free Queue Full State
valid descriptor
valid descriptor
empty descriptor
< write pointer
read pointer >
valid descriptor
valid descriptor
valid descriptor
valid descriptor
Table 8.1.3A describes the manner in which to calculate the absolute 32-bit address of the read and write
pointers for the Receive Free Queue.
Receive Free Queue Read/Write Pointer Absolute Address Calculation
Table 8.1.3A
Buffer
Algorithm
Large
Absolute Address = Free Queue Base + Write Pointer * 8
Absolute Address = Free Queue Base + Read Pointer * 8
Small
Absolute Address = Free Queue Base + Small Buffer Start * 8 + Write Pointer * 8
Absolute Address = Free Queue Base + Small Buffer Start * 8 + Read Pointer * 8