
Speedster22i Macro Cell Library AchronixSemiconductorProprietary PAGE 89
Chapter 6 – Memories
BRAM80K
80k-bit Dual-Port Memory
BRAM80K
addrb[15:0]
dinb[31:0]
peb
clkb
doutb[31:0]
addra[15:0]
dina[31:0]
wea[3:0]
pea
clka
douta[31:0]
dinpa[3:0]
dinpxa[3:0]
rstlatcha
rstrega
outregcea
doutpa[3:0]
doutpxa[3:0]
dinpb[3:0]
dinpxb[3:0]
web[3:0]
rstlatchb
rstregb
outregceb
doutpb[3:0]
doutpxb[3:0]
Figure 6-1: Logic Symbol
TheblockRAM(BRA
M80K)implementsa80k‐bitdual‐portedmemoryblockwhereeachport
can be independently configured with respect to size and function. The BRAM80K can be
configuredasasingle‐port(1r/wport),dual‐port(twor/wportswithindependentclocks),or
ROMmemory.Eachmemorycanbeconfiguredasa2kx40,2kx36,2kx3
2,4kx20,4kx18,4kx16,
8kx10, 8kx9, 8kx8, 16kx5, 16kx4, 32kx2, or 64kx1. The read and write operations are both
synchronous.Forhigherperformanceoperation,anadditionoutputregistercanbeenabled.
Enabling the output register will require an additional cycle of read latency. Write Enable
(w
ea/web)controlsprovide10‐bitenablecontrolforportwidthsof10,20or40bit.Theinitial
value of the memory contents may be specified by the user from either parameters or a
memoryinitializationfile.Theinitial/resetvaluesoftheoutputregistersmayalsobespecified
bytheuser
.Theporta_write_mode/portb_write_modeparametersdefinethebehaviorofthe
outputdataportduringawriteoperation.Whenporta_write_mode/portb_write_modeisset
towrite_first,thedouta/doutbissettothevaluebeingwrittenonthedina/dinbportduringa
writeoperation.Settingporta_write_mode/portb_write_modetono_changekeepsthedouta/
doutbportunchangedduringawr
iteoperationtoporta/portb.Conflictariseswhenthesame
memory cell is accessed by both ports within a narrow window and one or both ports are
writing to memory. If this condition occurs, the contents of the memory for the colliding
addresswillbeundefined,butnodamagewilloccurtotheSpeed
sterFPGA:
Figure 6-2: BR
AM80K Block Diagram (Per Port)
Memory
Register
Control
Latch
Register
Delay
ck
addr
din, dinp, dinpx
pe
we
rstlatch
rstreg
dout
outregce
doutp
doutpx
Commenti su questo manuale