( ESNUG 221 Item 4 ) ---------------------------------------------- [7/13/95]
Subject: (ESNUG 220 #2) Raising A DesignWare Module Through Hierarchy
>Is there a way to move a module that is N levels deep in the hierarchy up to
>the top level & have Synopsys create the appropriate port lists through all
>the intermediate levels? We are having a particular problem with the PCI
>DesignWare, where the I/O module is instantiated by DesignWare which is
>instantiated by our application module which is instantiated by the top
>level. The I/O module would really like to be at the top level. Ideas?
From: vvallet@vnet.ibm.com (Vincent Vallet)
John, there sure is a way to move a module deeply nested in a module
hierarchy. Here's the methodology I used once for such a case. Let's assume
a module named TOP which contains a module named A. A in turn contains B
which contains C, D and I/O. The problem is to move the IO module direcly
below TOP along with A.
1) with B as current design, first you should group all what is not IO.
If the I/O design is a cell named IO_cell in design B, this gives :
current_design B
group find( cell ) -except IO_cell -cell_name "Z_cell" -design_name "Z"
The result is that the design B contains now only 2 cells : the I/O
design plus a cell containing the rest of B.
2) then with A as current design, ungroup B. If B_cell is the name of B in
A, this gives :
current_design A
ungroup B_cell -prefix ""
The result is that you moved I/O from B to A. The rest of B is now in a
design called "Z".
3) to continue to move the I/O design to the TOP design you just have to
repeat the steps (1) and (2) one more time :
current_design A
group find( cell ) -except IO_cell -cell_name "Y_cell" -design_name "Y"
current_design TOP
ungroup A_cell -prefix ""
That's it. The drawback is that, by moving the I/O design instance this way
you can eventually rename some design ports. Also the A and B design are
changed in the Z and Y designs (or whatever the new names you entered).
- Vincent Vallet
IBM
|
|