****************************************************************************** ****************************************************************************** BIRD ID#: 129 ISSUE TITLE: Add "polarity" Argument to D_to_A Converters REQUESTER: Arpad Muranyi, Mentor Graphics DATE SUBMITTED: March 24, 2011 DATE REVISED: DATE ACCEPTED BY IBIS OPEN FORUM: ****************************************************************************** ****************************************************************************** STATEMENT OF THE ISSUE: [External Model]s and [External Circuit]s with analog ports communicate through A_to_D and/or D_to_A converters with the purely digital signals of the EDA tool. The current specification assumes that true differential buffer models have a single analog input for the input stimulus. However, in some situations it may be desirable to allow the model maker to make differential buffer models with two analog ports for the stimulus input, one using a direct, and the other using an inverted stimulus signal. This can be easily achieved by defining two D_to_A converters, both connected to D_drive, one driving the direct analog port and the other driving the inverted analog port of a differential model. The current specification does not prohibit the usage of multiple D_to_A converters with the same digital control ports (such as D_drive or D_enable). The only problem with the current specification is that it requires that vlow is less than vhigh for the D_to_A converter's parameters which prevents the possibility to make use of the same voltage (and edge rate) parameters for two D_to_A converters used in such a differential arrangement. The simplest solution to this problem is to add one more (optional) argument to the D_to_A converter syntax which would tell the EDA tool to implement the converted in an inverting mode. ****************************************************************************** STATEMENT OF THE RESOLVED SPECIFICATIONS: A new optional argument called "polarity" shall be added to the D_to_A converter syntax in the ninth column to make it possible to put the converter into an inverted mode of operation. The value of this argument shall be "Inverting" or "Non-Inverting". If the argument is not present, "Non-Inverting" is in effect. On pg. 109 and page 127 replace: | d_port port1 port2 vlow vhigh trise tfall corner_name with the following line: | d_port port1 port2 vlow vhigh trise tfall corner_name polarity On pg. 109 and page 127 replace: | The vlow and vhigh entries accept analog voltage values which | must correspond to the digital off and on states, where the | vhigh value must be greater than the vlow value. For example, | a 3.3 V ground-referenced buffer would list vlow as 0 V and | vhigh as 3.3 V. The trise and tfall entries are times, must | be positive and define input ramp rise and fall times between | 0 and 100 percent. with the following lines: | The vlow and vhigh entries accept analog voltage values which | must correspond to the digital off and on states, where the | vhigh value must be greater than the vlow value. When |* polarity is Non-Inverting, vlow corresponds to the digital |* off state '0', vhigh corresponds to the digital on state '1', |* trise corresponds to the analog edge rate going from the |* digital off to on state, and tfall corresponds to the analog |* edge rate going from the digital on to off state. When |* polarity is Inverting, the analog behavior corresponds to the |* opposite digital states. For example, in a Non-Inverting mode | a 3.3 V ground-referenced buffer would list vlow as 0 V and | vhigh as 3.3 V. The trise and tfall entries are times, must | be positive and define input ramp rise and fall times between | 0 and 100 percent. ****************************************************************************** ANALYSIS PATH/DATA THAT LED TO SPECIFICATION Another option was also considered, which would simply remove the requirement of vlow < vhigh. This idea was discarded because this syntax can get rather confusing considering that the name of these arguments in the header line are "vlow" and "vhigh", and the corresponding trise and tfall are both entered as positive values. ****************************************************************************** ANY OTHER BACKGROUND INFORMATION: This BIRD is driven by the effort of simplifying the parameterization of the analog AMI model parameters when they are defined by the reserved word AMIfile() making use of parameters in the .ami parameter file (as described in BIRD 117 and 118). Without this change, the inverting and non-inverting D_to_A converters of a true differential analog model would require their own (duplicate) set of parameters which makes the content of the .ami files unnecessarily cluttered. ******************************************************************************