The following predefined wreal resolution functions can be used to define wreal resolution functions for a discipline:
-
default: The
defaultresolution function algorithm for nets that have more than one driver is as follows:Conditions
Resolution
All drivers are driving
Drive the receivers using
wrealZStateExactly one driver is not driving
wrealZStateDrive the receivers using the only non-
wrealZStatevalueMore than one driver is not driving
wrealZStateDrive the receivers using
wrealXStateand issue a run-time warning messageAny driver is driving
Drive the receivers using
wrealXState
Here is an example of how the elaborator determines the resolved value of two drivers,wreal1andwreal2using thedefaultresolution function.wreal1 Value
wreal2 Value
Resolved Value
wrealZStatewrealZStatewrealZState1.23
wrealZState1.23
wrealZState3.33
3.33
1.23
1.23
wrealXState11.23
3.33
wrealXState11.23
wrealXStatewrealXStatewrealXState3.33
wrealXStatewrealXStatewrealZStatewrealXState1 If there is more than one non-
wrealZStatedriver, the software issues a run-time warning message. - fourstate: The
fourstateresolution function algorithm for nets that have more than one driver is the same as the Verilog 4-state logic resolution algorithm. It is similar to thedefaultalgorithm except that identical drivers resolve to the driven value instead of towrealXState.The
fourstateresolution function algorithm is as follows:Conditions
Resolution
All drivers are driving
Drive the receivers using
wrealZStateExactly one driver is not driving
wrealZStateDrive the receivers using the only non-
wrealZStatevalueMore than one driver is not driving
wrealZState- When all non-
wrealZStatedrivers drive the same value, drive the receivers using that value and issue a run-time warning message
- When all non-
wrealZStatedriver do not drive the same value, drive the receivers usingwrealXStateand issue a run-time warning message
Any driver is driving
Drive the receivers using
wrealXStateHere is an example of how the elaborator determines the resolved value of two drivers,
wreal1andwreal2using thefourstateresolution function.wreal1 Value
wreal2 Value
Resolved Value
wrealZStatewrealZStatewrealZState1.23
wrealZState1.23
wrealZState3.33
3.33
1.23
1.23
1.23
1.23
3.33
wrealXState11.23
wrealXStatewrealXStatewrealXState3.33
wrealXStatewrealXStatewrealZStatewrealXState1 If there is more than one non-
wrealZStatedriver, the software issues a run-time warning message. - When all non-
-
sum: The
sumresolution function algorithm for nets that have more than one driver resolves to the summation of all the drivers, ignoringwrealZStatedrivers. If any drivers are drivingwrealXState, the elaborator resolves the value towrealXState.Any nets drivingwrealZStatedo not contribute to the resolved value.The
sumresolution function algorithm fornets that have more than one driver is as follows:Conditions
Resolution
All drivers are driving
Drive the receivers using
wrealZStateAny driver is driving
wrealZStateDrive the receivers with the summation of all non-
wrealZStatevalues (that is, ignore allwrealZStatedrivers)No driver is driving
wrealZStateDrive the receivers with the summation of all the drivers
Any driver is driving
Drive the receivers using
wrealXStateHere is an example of how the elaborator determines the resolved value of two drivers,
wreal1andwreal2using thesumresolution function.wreal1 Value
wreal2 Value
Resolved Value
wrealZStatewrealZStatewrealZState1.23
wrealZState1.23
wrealZState3.33
3.33
1.23
1.23
2.46
1.23
3.33
4.56
1.23
wrealXStatewrealXStatewrealXState3.33
wrealXStatewrealXStatewrealZStatewrealXState -
avg: The
avgresolution function algorithm fornets that have more than one driver is as follows:Conditions
Resolution
All drivers are driving
Drive the receivers using
wrealZStateAny driver is driving
wrealZStateDrive the receivers with the average of all non-
wrealZStatevalues (that is, ignore allwrealZStatedrivers)No driver is driving
wrealZStateDrive the receivers with the average of all the drivers
Any driver is driving
Drive the receivers using
wrealXStateHere is an example of how the elaborator determines the resolved value of two drivers,
wreal1andwreal2using theavgresolution function.wreal1 Value
wreal2 Value
Resolved Value
wrealZStatewrealZStatewrealZState1.23
wrealZState1.23
wrealZState3.33
3.33
1.23
1.23
1.23
1.23
3.33
2.28
1.23
wrealXStatewrealXStatewrealXState3.33
wrealXStatewrealXStatewrealZStatewrealXState -
min: The
minresolution function algorithm for nets that have more than one driver is as follows:Conditions
Resolution
All drivers are driving
Drive the receivers using
wrealZStateAny driver is driving
wrealZStateDrive the receivers with the minimum of all non-
wrealZStatevalues (that is, ignore allwrealZStatedrivers)No driver is driving
wrealZStateDrive the receivers with the minimum of all the drivers
Any driver is driving
Drive the receivers using
wrealXStateHere is an example of how the elaborator determines the resolved value of two drivers,
wreal1andwreal2using theminresolution function.wreal1 Value
wreal2 Value
Resolved Value
wrealZStatewrealZStatewrealZState1.23
wrealZState1.23
wrealZState3.33
3.33
1.23
1.23
1.23
1.23
3.33
1.23
1.23
wrealXStatewrealXStatewrealXState3.33
wrealXStatewrealXStatewrealZStatewrealXState -
max: The
maxresolution function algorithm for nets that have more than one driver is as follows:Conditions
Resolution
All drivers are driving
Drive the receivers using
wrealZStateAny driver is driving
wrealZStateDrive the receivers with the maximum of all non-
wrealZStatevalues (that is, ignore allwrealZStatedrivers)No driver is driving
wrealZStateDrive the receivers with the maximum of all the drivers
Any driver is driving
Drive the receivers using
wrealXStateHere is an example of how the elaborator determines the resolved value of two drivers,
wreal1andwreal2using themaxresolution function.wreal1 Value
wreal2 Value
Resolved Value
wrealZStatewrealZStatewrealZState1.23
wrealZState1.23
wrealZState3.33
3.33
1.23
1.23
1.23
1.23
3.33
3.33
1.23
wrealXStatewrealXStatewrealXState3.33
wrealXStatewrealXStatewrealZStatewrealXState
