Author Topic: Hierarchical/Flat design and buses  (Read 3207 times)

0 Members and 1 Guest are viewing this topic.

Offline fjnieto15Topic starter

  • Newbie
  • Posts: 7
  • Country: es
Hierarchical/Flat design and buses
« on: April 27, 2018, 09:28:22 pm »
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 supply

So 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.
 

Offline fjnieto15Topic starter

  • Newbie
  • Posts: 7
  • Country: es
Re: Hierarchical/Flat design and buses
« Reply #1 on: April 29, 2018, 05:28:35 pm »
Any help??  :-//
 

Offline ajb

  • Super Contributor
  • ***
  • Posts: 2721
  • Country: us
Re: Hierarchical/Flat design and buses
« Reply #2 on: April 29, 2018, 05:53:14 pm »
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.
 

Offline fjnieto15Topic starter

  • Newbie
  • Posts: 7
  • Country: es
Re: Hierarchical/Flat design and buses
« Reply #3 on: April 29, 2018, 06:03:10 pm »
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.

My 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 pages  :-\

Thanks for your help.
 

Online T3sl4co1l

  • Super Contributor
  • ***
  • Posts: 22387
  • Country: us
  • Expert, Analog Electronics, PCB Layout, EMC
    • Seven Transistor Labs
Re: Hierarchical/Flat design and buses
« Reply #4 on: April 29, 2018, 08:23:08 pm »
You should be able to use same-level connections, check project settings.  I've never tried it though.

Tim
Seven Transistor Labs, LLC
Electronic design, from concept to prototype.
Bringing a project to life?  Send me a message!
 

Offline fjnieto15Topic starter

  • Newbie
  • Posts: 7
  • Country: es
Re: Hierarchical/Flat design and buses
« Reply #5 on: April 30, 2018, 07:27:08 am »
You should be able to use same-level connections, check project settings.  I've never tried it though.

Tim

Net Identifier Scope is in Automatic mode, should I change it to flat? What else should I check?
 

Offline Navarro

  • Contributor
  • Posts: 32
  • Country: br
Re: Hierarchical/Flat design and buses
« Reply #6 on: May 01, 2018, 01:37:36 am »
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.

PY1CX
34401A - DSOX2002A - 66332A
 

Offline fjnieto15Topic starter

  • Newbie
  • Posts: 7
  • Country: es
Re: Hierarchical/Flat design and buses
« Reply #7 on: May 25, 2018, 11:26:29 am »
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.

Thanks 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  :-+
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf