This is a working page to capture FAQ input, discuss the answers, and then post to the FAQ output page.
= Questions without answers
== 1801 save_signal and save condition What is the difference?
== -instance how are ports identified?
The name of a technology library leaf cell instance and the optional
name of the signal that it retains. If this instance has any unconnected
supply ports or save and restore control ports, then these ports need to
have identifying attributes in the cell model, and the ports shall be connected
in accordance with this set_retention command.
= Questions with Answers
== UPF1.0 set_level_shifter command -threshold specification
=
Rolf asks:
A question has come up on UPF1.0 set_level_shifter command interpretation.
“The -threshold specification defines how large the voltage difference between the driver and sink needs to be before level shifters are inserted. Normally, this threshold is determined from the cell libraries; use this option to override the library values.”
Should the above be interpreted as:
1) Insert when |Vi-Vo| >= threshold
OR
2) Insert when |Vi-Vo| > threshold
=
Jim answers:
The correct interpretation is unambiguously 2).
Justification for this conclusion from UPF 1.0 includes:
A. page 51, “The voltage threshold (in volts) for determining when level-shifters
are required. The default is 0.” is consistent only with alternative 2). If the
interpretation was as 1), then by default level shifters would be inserted
for connections between domains operating at the same voltage, which
would be incorrect, inefficient, and unacceptable to nearly everyone.
B. page 51, “ . . . get a level-shifter if the voltage difference exceeds that
specified by –threshold” is repeated twice. The word exceeds is semantically
equivalent to the strict inequality and compels the interpretation in 2) to be
applied.
C. I see no language in the UPF 1.0 standard that suggests a semantic
interpretation of less-than-or-equal for the set_level_shifter –threshold value.
There are also many places in IEEE 1801-2009 that corroborate this point,
including:
D. page 96, “The voltage threshold (in volts) for determining when level-shifters
are required. The default is 0.” is consistent only with alternative 2) as explained above.
E. page 98, in the pseudo code, “ . . . if (T_value < max ( . . . ) “
is unambiguously a strict inequality, so only alternative 2) is appropriate.
F. page 98, the expressions for threshold list values are all strict
inequalities, so only alternative 2) is appropriate.
G. page 98, “ . . . get a level-shifter if the voltage difference exceeds that
specified by –threshold” is repeated twice. The word exceeds is semantically
equivalent to the strict inequality and compels the interpretation in 2) to be
applied.
H. I see no language in the IEEE 1801-2009 standard that suggests a semantic
interpretation of less-than-or-equal for the set_level_shifter –threshold value.
--
GaryDelp - 24 Apr 2009