Heading2 - read and write operations, Heading3 - read operation, Heading3 - write operation – Achronix Speedster22i User Macro Guide User Manual
Page 115: Read and write operations
Memories
BRAM80K
Speedster22i Macro Cell Library
PAGE 98
Table 6-12: Mapping of Word Sizes to the Native 2048x40 Memory Locations
Port
Width
Extended
Parity Bits
Parity
Bits
Data Bits
40
0
0
0
36
n/a
0
0
32
n/a
0
20
1
0
1
0
1
0
18
n/a
1
0
1
0
16
n/a
1
0
10
3 2 1 0 3 2 1 0
3
2
1
0
9
n/a
3 2 1 0
3
2
1
0
8
n/a
3
2
1
0
5
7 6 5 4 3 2 1 0
7
6
5
4
3
2
1
0
4
n/a
7
6
5
4
3
2
1
0
2
n/a
15 14 13 12 11 10 9
8
7
6
5
4
3
2
1
0
1
n/a
3
1
3
0
2
9
2
8
2
7
2
6
2
5
2
4
2
3
2
2
2
1
2
0
1
9
1
8
1
7
1
6
1
5
1
4
1
3
1
2
1
1
1
0
9 8 7 6 5 4 3 2 1 0
Read and Write Operations
The BRAM80K has four basic modes of read and write operations:
•
Write‐First, Latched Mode
•
Write‐First, Registered Mode
•
No‐Change, Latched Mode
•
No‐Change, Registered Mode
One
of
these
four
modes
is
selected
for
Port
A(Port
B)
via
the
porta_write_mode(portb_write_mode) and porta_en_out_reg(portb_en_out_reg) parameters.
Read Operation
There are two modes of operation supported for reading data from the BRAM80K: latched
mode and register mode. In latched mode, the read address is registered and the stored data is
latched into the output latches. In the registered mode, the read operation results in one
additional cycle of latency.
Write Operation
The write operation is a single clock edge operation. The addra(addrb) write address is
registered and the dina(dinb) data input is stored in the BRAM80K at the next active edge of
the write clock. The porta_write_mode(portb_write_mode) parameter controls what is output
on
the
douta(doutb)
output
during
a
write
operation.
If
the
porta_write_mode(portb_write_mode) parameter is set to “no_change”, the douta(doutb) will
remain
unchanged
during
a
write
operation
on
port
A(B).
If
the
porta_write_mode(portb_write_mode) parameter is set to “write_first”, the value of
douta(doutb) output will be updated with the dina(dinb) data if the appropriate byte enable
input is enabled.