Truth Table/Functionality

Synchronous Write to Memory (all inputs registered)

inclock_a/inclock_b

inclocken_a/inclocken_b

wren_a/wren_b

Function

X

L

L

No change.

not

H

H

No change.



L

X

No change.



H

H

The memory location pointed to by wraddress_a[]/wraddress_b[] is loaded with data_a[]/data_b[].

Synchronous Read from Memory

inclock_a/inclock_b

inclocken_a/inclocken_b

rden_a/rden_b

Function

X

L

L

No change.

not

H

H

No change.



L

X

No change.



H

H

The q_a[]/q_b[] port outputs the contents of the memory location.

Totally asynchronous memory operations occur when neither inclock_a nor outclock_a is connected.

Asynchronous Memory Operations

wren_a/wren_b

Function

L

No change.

H

The memory location pointed to by wraddress_a[] is loaded with data_a[] and controlled by wren_a. The output q_a[] is asynchronous and reflects the memory location pointed to by rdaddress_a.