Heading2 - read and write operations, Heading3 - read operation, Heading3 - write operation – Achronix Speedster22i User Macro Guide User Manual

Page 115: Read and write operations

Advertising
background image

Memories

BRAM80K

Speedster22i Macro Cell Library

Achronix Semiconductor Proprietary

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 

write 

operation. 

If 

the 

porta_write_mode(portb_write_mode) parameter is set to “no_change”, the douta(doutb) will 
remain 

unchanged 

during 

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. 

Advertising