
Memories BRAM80KECC
Speedster22i Macro Cell Library
AchronixSemiconductorProprietary PAGE 147
BRAM80KECC
80k-bit Simple Dual-Port Memory with Error Correction
BRAM80KECC
rdaddr[10:0]
dout[31:0]
rdclk
sbit_error
wraddr[10:0]
din[31:0]
wren
wrclk
enc_parity[6:0]
dinp[3:0]
dinpx[3:0]
doutp[3:0]
doutpx[3:0]
rden
rstreg
outregce
dbit_error
rdaddrecc[10:0]
Figure 6-22: Logic Symbol
The BR
AM80KECC implements an 2kx32 simple dual‐ported memory block with error
correction codes (ECC). The embedded error correction encoder generates seven parity bits
andstoresitalongsideeachwordwritteninto thememory.Duringthereadoperations,the
error correction decoder reads the seven parity bits and the 32 data bits to provide err
or
correctionforallsingle‐biterrorsanderrordetectionwithoutcorrectionforalltwo‐biterrors.
Boththeerrorcorrectionencoderandtheerrorcorrectiondecodermaybeenabledsepartely
toallowtheECCcircuitrytobeusedoutsideoftheBRAMmemoryblock.
Although the e
mbedded ECC circuitry corrects single‐bit errors upon reading the data, the
contentsofthememoryblockdonotgetcorrected.Inordertoprovidetheuser ameansto
correct the memory contents, the read memory address is also available alongside the read
dataontherdaddreccoutputs.
Toinc
reasethespeedoftheECCmemoryaccesses,anoptionaloutputregister,completewith
resetandclockenableinputs,isavailabletotheuser.Theuseoftheoutputregisterwillincur
asingleadditionalcycleofreadlatency.
Figure 6-23: BR
AM80KECC Block Diagram
32-bit
ECC
Encoder
2kx40
Dual-Port
Memory
din[31:0]
wren
wrclk
rdclk
outregce
rstreg
dinp[3:0]
dinpx[3:0]
rden
rdaddr[10:0]
wraddr[10:0]
d
q
32-bit
ECC
Decoder
d
q
d
q
d
q
din
dinp
dinpx
dout
doutp
doutpx
sbit_error
dbit_error
rdaddrecc
d
q
dbit_error
sbit_error
dout
doutp
doutpx
waddr raddr
d
q
enc_parity
[10:0]
[6:0]
encoder_enable
decoder_enable
en_out_reg
[31:0]
[3:0]
[3:0]
Commentaires sur ces manuels