Introduction
This Document describes the "Tools API" - this is an extension to the "Database API" and bases on the zdb sub-command "$db tools".
In contrast to the "$db oper" API commands, these tools usually execute algorithms that query the database.
Overview
The Tools query the database.
Here is an overview of the tools commands:
-
$db tools floatingNodes
-
$db tools flatfloatNodes
-
$db tools cCoupling
-
$db tools heavyCR
-
$db tools wrongBulk
-
$db tools heavyNodes
-
$db tools multiDriverCheck
-
$db tools zeroDriverCheck
-
$db tools createHier
-
$db tools findGuessedSupplyNets
Query the Database for Floating Nodes
$db tools floatingNodes
The floatingNodes command searches each module for floating nodes. A floating node is a net which only connects to one pin. Power and Ground nets are skipped. The return value is a list of net OIDs.
Query the Database for Flat Floating Nodes
$db tools flatfloatNodes
The flatfloatNodes command searches the database in a flat manner for floating nodes. A floating node is a signal which only connects to one pin. Power and Ground nets are skipped. The return value is a list of signal OIDs.
Query the Database for Coupling Capacitors
$db tools cCoupling
The cCoupling command searches each module for coupling capacitors. A coupling capacitor is a capacitor which neither connects to power nor to ground - that means they couple two data wires. The return value is a list of inst OIDs.
Query the Database for Heavy C and R
$db tools heavyCR
The heavyCR command searches each module for capacitors and resistors and checks each value (capacitance or resistance) and collects 10 objects with the biggest values. The 10 biggest Cs and Rs are returned as a list of inst OIDs.
Query the Database for Wrong Bulk Connections
$db tools wrongBulk
The wrongBulk command searches each module for PMOS and NMOS transistors and checks if their bulks are connected to power and ground respectively. If not, then the transistor is part of the result list.
Query the Database for Heavy Nodes
$db tools heavyNodes
The heavyNodes command counts the number of connections for each signal in the design. Power/Ground nets are skipped. The 10 biggest nodes are returned as a list of signal OIDs.
Query the Database for Signals with Multiple Drivers
$db tools multiDriverCheck
The multiDriverCheck command counts the number of driver pins for each signal in the design. Power/Ground nets are skipped. The return value is a list of signal OIDs.
Query the Database for Signals with no Drivers
$db tools zeroDriverCheck
The zeroDriverCheck command searches for signals with no driver. Power/Ground nets are skipped. The return value is a list of signal OIDs.
Recreate Hierarchy from Flat Instance Names
$db tools createHier <hiersep> <prefix>
The createHier command recreates hierarchy from flat instance names of a flat design. The instance names are split at the given hiersep character. If prefix is given, the created instances get sequential names. If no prefix given, the instance names are numbered in hierarchical groups.
Find all Guessed Supply Nets
$db tools findGuessedSupplyNets
The findGuessedSupplyNets command reports all nets that have been guessed by "oper guesspower" as a supply net.