# VLSI SAPD Documentation

Presentation | AGDS | CIF | DTR | OPENCHAMS | SPICE | Links & Contact

Public Member Functions
Device Class Reference
Inheritance diagram for Device:

## Public Member Functions

Transistor * | addTransistor (const std::string &)
| adds a Transistor to the device. More...
| Device (const std::string &name, const std::string &model, unsigned order, const std::string &mosType, bool sourceBulkConnected, Netlist *)
| creates a new device. More...
const std::string & | getMosType ()
| returns the mos type of the device.
const std::vector< Transistor * > & | getTransistors ()
| returns the list of device's transistors.
bool | hasNoTransistors ()
| returns true if the device has no transistors.
bool | isSourceBulkConnected ()
| returns true if the device's bulk is source connected.
Public Member Functions inherited from Instance
void | connect (const std::string &connectorName, const std::string &netName)
| connects a net to one of the instance's connectors. More...
const std::map< std::string, Net * > & | getConnectors ()
| returns the map of instance's connectors.
Netlist * | getNetlist ()
| returns the netlist to which the instance belongs.
Parameters | getParameters ()
| returns the parameters of the instance.
bool | hasNoConnectors ()
| returns true if the instance has no connectors.

## Detailed Description

This class describes a Device.

A device is a leaf instance which means its model is not defined in a external file but is described inside the device. As an instance, the Device inherits all Instance methods and adds specific properties: mos type, bulk connection and list of internal transistors.

Note
  Althought today Device object only consider TransistorFamily devices, it will have to consider other devices, such as Capacitor when CHAMS project will.

## Constructor & Destructor Documentation

## ◆ Device()

Device | ( | const std::string & | name,
|  | const std::string & | model,
|  | unsigned | order,
|  | const std::string & | mosType,
|  | bool | sourceBulkConnected,
|  | Netlist * | netlist
| ) |  |

creates a new device.

Parameters

  name | the name of the instance.
  model | the model of the instance.
  mosType | the mos type (NMOS or PMOS).
  netlist | the netlist to which the instance belongs.

## Member Function Documentation

## ◆ addTransistor()

Transistor * addTransistor | ( | const std::string & | name | ) |

adds a Transistor to the device.

Parameters

  name | the name of the transistor.

Returns
  the newly created Transistor.