Cadence® system design and verification solutions, integrated under our System Development Suite, provide the simulation, acceleration, emulation, and management capabilities.
System Development Suite Related Products A-Z
Cadence® digital design and signoff solutions provide a fast path to design closure and better predictability, helping you meet your power, performance, and area (PPA) targets.
Full-Flow Digital Solution Related Products A-Z
Cadence® custom, analog, and RF design solutions can help you save time by automating many routine tasks, from block-level and mixed-signal simulation to routing and library characterization.
Overview Related Products A-Z
Driving efficiency and accuracy in advanced packaging, system planning, and multi-fabric interoperability, Cadence® package implementation products deliver the automation and accuracy.
Cadence® PCB design solutions enable shorter, more predictable design cycles with greater integration of component design and system-level simulation for a constraint-driven flow.
An open IP platform for you to customize your app-driven SoC design.
Comprehensive solutions and methodologies.
Helping you meet your broader business goals.
A global customer support infrastructure with around-the-clock help.
24/7 Support - Cadence Online Support
Locate the latest software updates, service request, technical documentation, solutions and more in your personalized environment.
Cadence offers various software services for download. This page describes our offerings, including the Allegro FREE Physical Viewer.
Get the most out of your investment in Cadence technologies through a wide range of training offerings.
This course combines our Allegro PCB Editor Basic Techniques, followed by Allegro PCB Editor Intermediate Techniques.
Virtuoso Analog Design Environment Verifier 16.7
Learn learn to perform requirements-driven analog verification using the Virtuoso ADE Verifier tool.
Exchange ideas, news, technical information, and best practices.
The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information.
It's not all about the technlogy. Here we exchange ideas on the Cadence Academic Network and other subjects of general interest.
Cadence is a leading provider of system design tools, software, IP, and services.
Get email delivery of the Cadence blog featured here
If you've been checking out the other blogs here in the Digital Implementation community, you've probably seen mention of the database access mechanism dbGet/dbSet. Back in the SoC-Encounter 6.x days, our very own BobD gave me a quick demo of dbGet. I couldn't wait for 7.1 to come out, so I could start using it. Of course I got busy with customer projects and never quite found the time to play with it and get up-to-speed. Today, I'm still far from a dbGet power-user, but I have started exploring it and using it in my work. Instead of starting off by reading the documentation (although the docs are a great reference), I've found that the best way to learn dbGet is to just start playing with it.With a design open in Encounter, type: dbGet The return line specifying the usage may look cryptic at first, but let's check out a few things. The most interesting keywords at first glance are head, top, and selected. Using a single question mark will show you a list of the attributes available at this level.> dbGet head.?> head: allCells dbUnits layers mfgGrid objType propsThe most interesting items to me in this list are dbUnits and mfgGrid:> dbGet head.dbUnits> 1000> dbGet head.mfgGrid> 0.005You can also list all the attributes AND their values with a double question mark:> dbGet head.??The results may not always be readable text, as in the example of layers:> dbGet head.layers> 0x118781e0 0x13ff8cd0 0x13ff97c0 0x13ffa2b0 0x13ffada0 0x13ffb890 0x13ffc380 0x13ffcea0 0x13ffda10 0x13ffe500 0x13ff77e8 0x13ff9248 0x13ff9d38 0x13ffa828 0x13ffb318 0x13ffbe08 0x13ffc8f8 0x13ffd418 0x13ffdf88 0x13ffea78So, just keep on going with the ? method:> dbGet head.layers.?> layer: extName name objType props typeAh! The name attribute looks like what we want:> dbGet head.layers.name> M0 M1 M2 M3 M4 M5 M6 M7 M8 M9 CA V1 V2 V3 V4 V5 V6 V7 V8 OVERLAPLet's look at top now:> dbGet top.?> topCell: fPlan hInst insts name nets numBidirs numInputs numInsts numNets numPhysInsts numPhysNets numTerms objType pgTerms physInsts physNets props statusClockSynthesized statusGRouted statusIoPlaced statusPlaced statusPowerAnalyzed statusRCExtracted statusRouted statusScanOpted termsCool, lots of stuff to play with here! Try out various attributes and start thinking about how you can use the results in scripts, or just to poke around your design and check out a few things.Finally, select one of the instances in your design (I selected a RAM), then:> dbGet selected.?> inst: box cell instTerms isDontTouch isHaloBlock isJtagElem isPhysOnly isSpareGate name objType orient pStatus pgCellTerms pgTermNets ptThis is a quick way to get information for just the things you've selected. (Try selecting more than one thing and see how the results look.)This has been a VERY brief introduction to playing with dbGet. (We didn't even get to dbSet yet!) I'd love to hear in the comments if you are already using dbGet, if you know about it but haven't used it yet, or if you didn't even know about it but think you might use it now. Have fun playing around and finding some useful dbGet combinations - then save those for a future post, where I'll ask everyone for their favorites.
Hi Everyone, thanks for the comments! I'm glad you've found this post helpful. The topics of dbGet/dbSet are one of our favorites around here, so I'm sure you'll be seeing more about this. If you go to the front page of the Digital Implementation community (www.cadence.com/.../di) and type "dbGet" in the "Search Community" box (in the upper right, just above your picture), you will see not only blog posts but also forum threads that contain dbGet.
Hi Kari :-)...thanks a lot... i love this post very much... i started to learn db access and was searching all the posts to get some new commands or sample codes...now this post has the basics that i need to start off..... will definetly play around these.....One request: pls do keep posting on these 2 topics dbGet/dbSet..... thanks a lot Kari :-)
I knew about it before but never used it. Now i shall start playing with this. thanks .
i didn't even know about dbget .it was nice .i will try to use it.