S
Sudoer
VHDL is very good at describing a hierarchical system, but I'm trying
to design one now that is more of a... graph. How would I go about
describing the following relationship:
Top<->A
Top<->X
A<->B
B<->C
C->Dx
Dx<->X
Dx->E
E->X
E->F
F->C
(Where Dx indicates a number of entities)
This is a very simplified version of my system, but even this gives a
good indication of how complicated it could be if viewed purely
hierarchically. I have an arbitrary number of different D
architectures, and each D entity connects to the X and E entities
(Data travels back and forth from X, it travels only to E.) The arrows
indicate the direction of data through the system, though in all
instances flow control data is sent in both directions.
Is there any way for me to "bring" ports from entities lower in the
hierarchy up to the top without threading them all the way through?
The issue is that A and B are fairly generic components and I'd rather
they not have to know about C or any of the D's, let alone X. And C
also shouldn't have any clue about X. Right now I just route all the
signals X needs from outside of the design all the way through A, B,
C, and each Dx, but those signals have nothing to do with how D works.
This is making it impossible for me to package A and B in a way that I
can use them in some other designs I'm working on, as well as causing
all sorts of other headaches.
I can see how the configuration keyword would allow me to swap out
different architectures for each Dx, but I don't see how to hide X for
A, B, or C. Hopefully there's a nice solution...
Thanks!
to design one now that is more of a... graph. How would I go about
describing the following relationship:
Top<->A
Top<->X
A<->B
B<->C
C->Dx
Dx<->X
Dx->E
E->X
E->F
F->C
(Where Dx indicates a number of entities)
This is a very simplified version of my system, but even this gives a
good indication of how complicated it could be if viewed purely
hierarchically. I have an arbitrary number of different D
architectures, and each D entity connects to the X and E entities
(Data travels back and forth from X, it travels only to E.) The arrows
indicate the direction of data through the system, though in all
instances flow control data is sent in both directions.
Is there any way for me to "bring" ports from entities lower in the
hierarchy up to the top without threading them all the way through?
The issue is that A and B are fairly generic components and I'd rather
they not have to know about C or any of the D's, let alone X. And C
also shouldn't have any clue about X. Right now I just route all the
signals X needs from outside of the design all the way through A, B,
C, and each Dx, but those signals have nothing to do with how D works.
This is making it impossible for me to package A and B in a way that I
can use them in some other designs I'm working on, as well as causing
all sorts of other headaches.
I can see how the configuration keyword would allow me to swap out
different architectures for each Dx, but I don't see how to hide X for
A, B, or C. Hopefully there's a nice solution...
Thanks!