Hierarchical/Flat design and buses - Page 1
Forum section: electronics / general

author: fjnieto15
author_rank: Newbie
timestamp: April 27, 2018, 09:28:22 pm
content: Hi!I'm having some trouble with a big design I have to do and maybe I could find some help here.I tried to make the design following the next pattern:Top Module|---- Submodule 1|-------- Sheet 1|-------- ...|-------- Sheet N|---- Submodule 2|-------- Sheet 1|-------- ...|-------- Sheet N|---- Power supplySo my idea, the one I've followed until now, was to have a hierarchical design ending with a bunch of sheets in a flat design. I mean, Top Module, Submodule1, Submodule2 and Power Supply follow a hierarchical design using ports to share signals among them. However, for the Sheets below Submodule1 and Submodule2 I wanted a flat design using Off-Sheet connectors.The problem is that I get tons of warnings and errors from the DRC: net has only one pin, net floating label, etc... Is this type of design correct? Or should I stick with a full flat or full hierarchical design?Most of these problems are with buses, can I use an Off-Sheet connector to connect buses between sheets?Last but not least, how can I connect differential pairs between sheets? Are Off-Sheet connectors ok? Could I group them in a bus? Is it better to use a harness?Thanks in advance.

author: fjnieto15
author_rank: Newbie
timestamp: April 29, 2018, 05:28:35 pm
content: Any help??

author: ajb
author_rank: Super Contributor
timestamp: April 29, 2018, 05:53:14 pm
content: Are your lowest level sheets (in the flat section) getting integrated into the project correctly? I think in hierarchical designs it doesn't actually compile a sheet into the project until that sheet is instantiated in a sheet symbol somewhere, but that may depend on your project settings. Project settings definitely affect the way nets are resolved, so it's worth taking a look in there.I don't think you can use off-sheet connectors for buses or harnesses, but I could be wrong. Your best bet might be to go full hierarchical and place the lowest level sheets into the submodule sheets and do your sheet-to-sheet connections there. You might want to start with a single submodule and try a few different strategies until you get it to connect the way you want, then do the same for the rest of the project.

author: fjnieto15
author_rank: Newbie
timestamp: April 29, 2018, 06:03:10 pm
content: Quote from: ajb on April 29, 2018, 05:53:14 pmMy lowest level sheets are instantiated in the SubmoduleN sheets, but without any ports to pass the signal connections.Going full hierarchical would probably be a huge mess. I have two big FPGAs with aroung 3K signals between pagesThanks for your help.

author: T3sl4co1l
author_rank: Super Contributor
timestamp: April 29, 2018, 08:23:08 pm
content: You should be able to use same-level connections, check project settings. I've never tried it though.Tim

author: fjnieto15
author_rank: Newbie
timestamp: April 30, 2018, 07:27:08 am
content: Quote from: T3sl4co1l on April 29, 2018, 08:23:08 pmNet Identifier Scope is in Automatic mode, should I change it to flat? What else should I check?

author: Navarro
author_rank: Contributor
timestamp: May 01, 2018, 01:37:36 am
content: I gonna throw my 2 cents here.The best way to connect between sheets is by wire harness, I like to use them in every single connection between sheets (and you can also use multi-sheet in for example, a SPI can go to an ADC page and a DAC page). The differential pair as far I can remember you only need to place in one side, remember to _N and _P the pair wires, but this you can easily test in a "mock-up".The only place where wire-harness doesn't work is inside a repeat, in repeats you MUST use BUS. Here is a trick: Use BUS with SHEET ENTRY and PORT.A lot of people likes to use BUS and OFF-Sheet connectors, I found them buggy and really hard to debug the hole sheet connection (I usually work in big projects, imagine someone trying to find connections between sheets in a schematic with 35 pages?)A giant project like this should be done by "block-diagram design". You make a first sheet which is the mother of all sheets, them, every other sheet is a small-block of the whole design. This make easier for example a group of people work in a design together. Also, child-sheets can have sheets inside it.

author: fjnieto15
author_rank: Newbie
timestamp: May 25, 2018, 11:26:29 am
content: Quote from: Navarro on May 01, 2018, 01:37:36 amThanks for your help. I changed my schematics to full-hierarchical and used wire harnesses in all the connections between sheets. I had some errors but after a bit of debugging everything went fine! Thanks again