coriolis/vlsisapd/doc/openChams/Device.dox

49 lines
1.5 KiB
C++

// -*- C++ -*-
namespace OpenChams {
/*! \class Device
*
* 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.
*/
/*! \fn Device::Device(Name name, Name model, Name mosType, Netlist* netlist)
* \brief creates a new device.
*
* \param name the name of the instance.
* \param model the model of the instance.
* \param mosType the mos type (NMOS or PMOS).
* \param netlist the netlist to which the instance belongs.
*/
/*! \fn inline Name Device::getMosType()
* \brief returns the mos type of the device.
*/
/*! \fn inline bool Device::isSourceBulkConnected()
* \brief returns true if the device's bulk is source connected.
*/
/*! \fn Transistor* Device::addTransistor(Name name)
* \brief adds a Transistor to the device.
*
* \param name the name of the transistor.
*
* \return the newly created Transistor.
*/
/*! \fn inline bool Device::hasNoTransistors()
* \brief returns true if the device has no transistors.
*/
/*! \fn inline const std::vector<Transistor*>& Device::getTransistors()
* \brief returns the list of device's transistors.
*/
}