Tuesday, January 06, 2009     Register | Login | Search | Contact Us
     

Many of you already received communications about the move of the Cadence user community into cadence.com. And many of you have already joined, with over 4000 registrations in the first two weeks.

The new Cadence Community enhances the ability of Cadence users to connect and collaborate. In addition to moving the community into cadence.com -- enabling single sign-on for community, Sourcelink and Cadence events -- the new site is organized around nine technology segments, giving you easy access to product information, training, forums and blogs. Some of the new features include:
  • Ability to respond to posts via e-mail
  • Technology-specific blogs
  • Latest Web 2.0 social networking capabilities
  • Public profile options
  • Private messaging
  • Friends lists
Visit the new Cadence Community today at www.cadence.com/community and join the discussions!

Registration note: Due to the scope of the enhancements and the new SSO registration system, we were not able to migrate existing cdnusers.org member accounts. So new registrations are required, but this enables a broader set of functionality we think you'll enjoy.

Forum note: Under the guidance of forum moderators, we have taken the 20+ cdnusers.org forums and consolidated them into 11 forums on the new site. Posts have been brought over so you can leverage that posting history. CDNusers forums will be set to read only starting 7/30, and cdnusers.org will be redirected to the new community on 8/4.

Best regards,
Mike and Tom

Michael A. Catrambone - Steering Committee Chairman
Distinguished Engineer
PCB/Mechanical
UTStarcom, Inc.

Tom Diederich
Cadence Community Manager
Home
Forums
Subject: How to get the database address of the subModule?
Posting to forums is available to community members only.
Login or Register
Rate this topic:
   
Author Messages
aidans
Posts: 35
Online: User is Offline
2/11/2007 11:23 PM  
In GUI design bowser, I can see the level ONE sub-module, I know dbgTopCell return the top level Module address. Now in my scripts, I need the database address of these cells, How can I get this ?
aidans
Posts: 35
Online: User is Offline
2/11/2007 11:38 PM  
I mean, How can we get the database address of these Level ONE sub-Module.
BobD
Posts: 80
Online: User is Offline
2/12/2007 8:35 AM  
It depends on whether you want to the pointer to the instantiation of the Level ONE sub-module -or- the master cell of the sub-module.

If the Verilog netlist looks like this:

module top(clk);
input clk;
wire net;
a i_a(.clk(clk), .out(net));
b i_b(.clk(clk), .in(net));
endmodule

module a(clk,out);
input clk;
output out;
DFFX1 i0(.CK(clk), .Q(out));
endmodule

module b(clk, in);
input clk;
input in;
DFFX1 i0(.CK(clk), .D(in));
DFFX1 i1(.CK(clk), .D(in));
endmodule

Then you could access the instantiation of module a ("i_a") with this:

encounter 2> set hinst [dbGetHInstByName i_a]
0x15c06d84

Or if you wanted to look at the master cell "a" you could access it like this:

encounter 3> set cell [dbGetCellByName a]
0x15964ec8

Whether you work with the instantiation -or- the master cell depends on what data you're trying to access or manipulate. Feel free to follow-up with an additional post if further clarification would be useful.

Hope this helps,
Bob
aidans
Posts: 35
Online: User is Offline
2/12/2007 9:00 PM  
Thank you for your in-time response to my post.
By dbGet*ByName do retrieve the DB address of the NAMED Objects. To use these kind of command, I must know the hierarchical topology of my verilog netlist, which means I must know the sub-modules’ name.

Of cause I can open the Design Browser, and type the sub-modules’ name into my scripts. But this is not a good way to do things, since my scripts are also used by other Block-level designers. (we use hierachical design method to implement the back-end design flow), It’s better to get the sub-module names automatically.

I come across this question while I writing scripts to get the sub-module related IO Pins.
dbForEachCellFTerm [dbgTopCell] ftermPtr { } get all the PINs.
If I use this scripts structure, I have lots of pain to decide which sub-module of particular PIN belongs to. So if I can get the Level ONE sub-module names, then I can report the IO Pins related to this sub-module in a neat way:
dbForEachCellFTerm $subModuleCellPtr ftermPtr { }
aidans
Posts: 35
Online: User is Offline
2/14/2007 4:53 AM  
I got the answer


dbForEachHInstHInst [dbCellHInst [dbgTopCell]] hinstPtr {
if [dbIsHInstHInst $hinstPtr] {
puts [dbHInstName $hinstPtr]
}
}
Posting to forums is available to community members only.
Login or Register

Forums > Digital IC > Floorplanning, Place and route > How to get the database address of the subModule?


ActiveForums 3.6
     
Copyright 2006 Cadence Design Systems, Inc.