Chapter 3: Memory Blocks in the Cyclone III Device Family
3–17
Design Considerations
In this mode, you also have two output choices: Old Data mode or Don't Care mode.
In Old Data mode, a read-during-write operation to different ports causes the RAM
outputs to reflect the old data at that address location. In Don't Care mode, the same
operation results in a “Don't Care” or unknown value on the RAM outputs.
f
For more information about how to implement the desired behavior, refer to the
Internal Memory (RAM and ROM) User Guide.
Figure 3–17 shows a sample functional waveform of mixed port read-during-write
behavior for the Old Data mode. In Don't Care mode, the old data is replaced with
“Don't Care”.
Figure 3–17. Mixed Port Read-During-Write: Old Data Mode
clk_a&b
wren_a
address_a
a
b
A
B
C
D
E
F
data_a
rden_b
address_b
a
b
B
a (old data)
D
E
b (old data)
A
q_b (asynch)
1
For mixed-port read-during-write operation with dual clocks, the relationship
between the clocks determines the output behavior of the memory. If you use the
same clock for the two clocks, the output is the old data from the address location.
However, if you use different clocks, the output is unknown during the mixed-port
read-during-write operation. This unknown value may be the old or new data at the
address location, depending on whether the read happens before or after the write.
Conflict Resolution
When you are using M9K memory blocks in true dual-port mode, it is possible to
attempt two write operations to the same memory location (address). Because there is
no conflict resolution circuitry built into M9K memory blocks, this results in unknown
data being written to that location. Therefore, you must implement conflict-resolution
logic external to the M9K memory block.
December 2011 Altera Corporation
Cyclone III Device Handbook
Volume 1