Maker Pro
Maker Pro

Orcad Capture 15.7 and BOM generation with hierarchical designs

D

dalai lamah

I have a schematic design that contains several hierarchical blocks,
referencing external schematics. If I generate the BOM for the entire
design, Orcad correctly descends into the hierarchical blocks and reports
the occurrences of all the components. If I try to do the same thing for a
selection of the design (i.e. only one page or some pages), Orcad doesn't
descend the hierarchical blocks anymore and reports only the "local" parts,
ignoring the parts contained in the hierarchical blocks. A similar thing
happens with the "browse parts" command.

What am I doing wrong? Is there a way to generate the BOM (or to browse
parts) only for a portion of a hierarchical design?
 
K

krw

I have a schematic design that contains several hierarchical blocks,
referencing external schematics. If I generate the BOM for the entire
design, Orcad correctly descends into the hierarchical blocks and reports
the occurrences of all the components. If I try to do the same thing for a
selection of the design (i.e. only one page or some pages), Orcad doesn't
descend the hierarchical blocks anymore and reports only the "local" parts,
ignoring the parts contained in the hierarchical blocks. A similar thing
happens with the "browse parts" command.

What am I doing wrong? Is there a way to generate the BOM (or to browse
parts) only for a portion of a hierarchical design?

You aren't doing anything wrong. It's OrCad Crapture that is
terminally broken. Forget hierarchical designs. You'll sleep much
better and get something useful done, too.
 
D

dalai lamah

Un bel giorno krw digitò:
You aren't doing anything wrong. It's OrCad Crapture that is
terminally broken. Forget hierarchical designs. You'll sleep much
better and get something useful done, too.

I know. I always try to steer away from hierarchical designs, but this time
I can't avoid them. Apparently nobody uses them seriously though, there are
no other explainations for these limitations.

The only way I've found to do this until now is to delete (!) all the other
pages except the one I'm interested to (!!) and then generate the BOM of
the entire design. And needless to say, page deletion is not undoable, so
it's necessary to discard changes, reload the design and do the same thing
for each page. Just moving the pages temporarily to other schematics
doesn't work: when you move a page containing hierarchical blocks, Orcad
"forgots" all the annotations and part references (apparently the instance
data is associated with the page position in the schematic, not with the
page itself).

This is so incredibly wrong. I'm wondering if it's possible to do this
thing by writing some kind of macro or plugin, but something tells me that
it would be a waste of time.
 
K

krw

Un bel giorno krw digitò:


I know. I always try to steer away from hierarchical designs, but this time
I can't avoid them. Apparently nobody uses them seriously though, there are
no other explainations for these limitations.

I like hierarchical designs. VHDL is sorta that way. ;-) Crapture
is just broken so badly that it's not worth trying. I just spent a
month or two on a design that I had to convert back to flat. There is
just enough hierarchical stuff in Crapture to make you think it should
work. Then when you get to the end, Cadence gives you the middle
finger.
The only way I've found to do this until now is to delete (!) all the other
pages except the one I'm interested to (!!) and then generate the BOM of
the entire design. And needless to say, page deletion is not undoable, so
it's necessary to discard changes, reload the design and do the same thing
for each page. Just moving the pages temporarily to other schematics
doesn't work: when you move a page containing hierarchical blocks, Orcad
"forgots" all the annotations and part references (apparently the instance
data is associated with the page position in the schematic, not with the
page itself).

It's worse than that. It can't push signal names down into the
hierarchy. They end up with the names of the low level block not the
higher level. THere is no way to track stuff down and little things
like diff-pairs get totally lost.
This is so incredibly wrong. I'm wondering if it's possible to do this
thing by writing some kind of macro or plugin, but something tells me that
it would be a waste of time.

It's a waste of time with Crapture. Other packages work better, or so
I hear.
 
Top