
Memories LRAMFIFO
Speedster22i Macro Cell Library
AchronixSemiconductorProprietary PAGE 166
ofblindwritestotheFIFOthatcanbemadewithoutmonitoringthefullflag.Forexample,if
the afull_offset parameter is set to 7’h04 and the almost_full flag is deasserted, the user is
guaranteedthatthereareatleastfiveemptylocationsintheFIFO.Theusermaywriteallfi
ve
wordswithoutmonitoringthefullflagandbeguaranteedthatthesewordswillbewrittento
theFIFOandthewrite_errflagwillnotbeasserted.TheAlmostFullflagissynchronouswith
thewrclkclockinpu t.
Write Error Flag
TheWriteError(write_err) flag isassertedinthe following wrclkclock cyclewhenthe user
triestowritetheFIFOwhiletheFullFlagishigh.
Read Error Flag
TheReadError(read_err)flagisassertedinthefollowingrdclkclockcyclewhentheusertries
toreadtheFIFOwhiletheEmptyFlagishigh.
Flag Latency in Asynchronous Mode (ptr_sync_mode = 1’b0)
The empty, full, almost_empty, and almost_full flags are calculated based on comparisons
betweentheFIFOwritepointerandtheFIFOreadpointer.Thewritepointerissynchronous
tothewrclkdomainandthereadpointerissynchronoustotherdclkdomain.
For the case of an asynchronous FIF
O, the wrclk and rdclk clocks reside in different clock
domains.
Table 6-58: FIFO Pointers and Status Flag Clock Domain Assignments
Flag Associated Clock Domain
FIFO Write Pointer wrclk
FIFO Read Pointer rdclk
empty flag rdclk
almost_empty flag rdclk
full flag wrclk
almost_full flag wrclk
Beforefl
agcalculationscanbemade,circuitryhastomakesurethatbothpointersareinthe
same clock domain as the flag for which the calculation is done.The Write Pointer
SynchronizerFigure6‐33: WriteP
ointerSynchronizerBlockDiagramandtheReadPointer
Synchronizer Figure 6‐34: Read Po
inter Synchronizer Block Diagram are used to transfer
eachofthepointersint
otheotherclockdomain.Inordertosynchronizeagivenpointertothe
opposite clock domain, a series of registers, whose depth is determined by the
wrptr_sync_stages and rdptr_sync_stages parameters, is used.The transfer of a pointer
through these registers adds additional delay to the flag calculat
ion. The versions of the
pointers used for flag calculations are shown below in Table 6‐59
: Pointers Used for FIFO
FlagCalcul
ations(ptr_sync_mode=1’b0).
Table 6-59: Pointers Used for FIFO Flag Calculations (ptr_sync_mode = 1’b0)
Flag
Write Pointer Used for
Fl
ag Calculation
Read Pointer Used for
Flag Calculation
empty flag Synchronized Write Pointer Read Pointer
almost_empty flag Synchronized Write Pointer Read Pointer
full flag Write Pointer Synchronized Read Pointer
almost_full flag Write Pointer Synchronized Read Pointer
Comentários a estes Manuais