Product Documentation
Open Simulation System Reference
Product Version IC23.1, June 2023

B


Troubleshooting: Bus Direction

Determining a Bus Direction

A bus direction is determined on the basis of the ranges of ascending and descending     spreads of a bus. OSS compares these ranges and the spread having the widest range determines the bus direction. For example, in case of two nets, A<0:5> and A<6:0>, bus direction is descending because the A<6:0> net has the widest range. If the ranges are same, OSS checks if any net matches the spread to determine a bus direction. For example, in case of these nets, A<0:5>, A<5:0>, A<8:7>, and A<0:8>, bus direction is ascending. Although the nets, A<5:0>, and A<8:7> when combined give the <8:0> spread, the <0:8> net is the exact match.

If OSS is unable to resolve a bus direction, a conflict arises, and a warning message is displayed on the screen. A conflict arises in the following cases:

Resolving a Conflict in Bus Direction

To resolve a conflict in bus direction, OSS allows you to specify bus direction using the hnlSetBusDirectionDescending variable. You can specify the value of the hnlSetBusDirectionDescending variable as t in the .simrc file. This indicates that the bus direction is descending. If the value of the variable is set to nil or it is not defined, the bus direction is determined as ascending, by default.


Return to top
 ⠀
X