I am struggling to determine an acceptable method to bus large quantities of similar signals. I was advised to flatten, but even here, I ran into issues … but maybe they’re not issues?
Concept
I am using hierarchal blocks to bus RGB LEDs within 7-segment digits within a matrix of digits.
Originally, I:
- Bussed and aliased the RGB LED {rgb_0}
- Added unique titles one level up (top, mid, bottom, etc).
- Bussed and aliased the unique RGB LED busses {digit_0} within the 7-segment digit
- Added unique titles one level up (digit_1_1, digit_1_2, …).
- Bussed all of the digits within the digit matrix {digits_0}.
- Passed the {digits_0} to the LED Driver one level up.
All aliases were created at the Root level of the Schematic Hierarchy for simplicity. (Does this cause any concern for issues?)
I learned that I could not nest a bus within a bus and was advised to flatten. So I did, depicted further below. I:
- Titled the signals of {rgb_0}.
- Atomically passed the signals of {rgb_0} one level up.
- Titled, bussed, and aliased the unique RGB LED signals {digit_0} within the 7-segment digit.
- Passed the {digit_0} bus one level up.
- Titled the unique {digit_0} busses (digit_1_1, digit_1_2, …)
- Atomically passed the unique {digit_0} busses to the LED Driver on the same sheet.
Figures
RGB LED:
7-segment (plus dot pixel):
Matrix of Digits:
Digit Driver:
[Digit Driver Out] to [RGB LED In] Routing:
[RGB LED Out] to [Digit Driver In] Routing:
Bus Alias: {digit_0}:
Issues
Net Is Graphically Connected To Bus, But Is Not A Member
I don’t know what to make of the numerous errors here:
Net <netName> is graphically connected to bus <busName> but is not a member of that bus.
Is this similar to Nets With Multiple Labels
and can be handwaived as a warning: