Answers Database
UNISIMS/SIMPRIMS: How is the $recovery system task used in the Block SelectRAM+ models?
Record #1655
Product Family: Software
Product Line: Cadence
Product Part: concept2xnf
Problem Title:
UNISIMS/SIMPRIMS: How is the $recovery system task used in the Block SelectRAM+ models?
Problem Description:
Urgency: Standard
General Description:
How is the $recovery system task used in the Block SelectRAM+ models?
Solution 1:
The $recovery system task specifies a time constraint between an
asynchronous control signal and a clock signal (for example, between
clearbar and the clock for a flip-flop). A violation occurs when a change
to the signal occurs within the specified time constraint.
The $recovery system task has the following syntax format:
$recovery(<control_event>, <clk_event>, <recovery_limit>{, <notifier>});
<control_event>
Asynchronous control signal, which normally has an edge identifier
associated with it to indicate which transition corresponds to the
release from the active state.
<clk_event>
Clock (flip-flops) or gate (latches) signal, which normally has an
edge identifier to indicate the active edge of the clock or the closing
edge of the gate.
Basically, the $recovery is used to check the 1 of 2 dual-port
BlockRAM conflicts:
o If both ports write to the same memory cell simultaneously,
violating the clock-to-setup requirement, the data stored will
be invalid.
o If one port attempts to read from the same memory cell that the
other is simultaneously writing to, violating the clock setup
requirement, the write will be successful but the data read will
be invalid.
End of Record #1655 - Last Modified: 06/18/99 14:43 |