81 lines
2.3 KiB
C++
81 lines
2.3 KiB
C++
// -*- C++ -*-
|
|
|
|
namespace OpenChams {
|
|
/*! \class Netlist
|
|
*
|
|
* This class describes a netlist.
|
|
*
|
|
* A netlist contains the list of all circuit's instances and nets.
|
|
*
|
|
* \note A Circuit must have one and only netlist. If no netlist is defined the Circuit cannot be driven to file.
|
|
*/
|
|
|
|
/*! \fn Netlist::Netlist(Circuit* circuit)
|
|
* \brief creates a new netlist.
|
|
*
|
|
* \param circuit the circuit to which the netlist belongs.
|
|
*/
|
|
|
|
/*! \fn Instance* Netlist::addInstance(Name name, Name model)
|
|
* \brief adds an Instance (subcircuit) to the netlist.
|
|
*
|
|
* \param name the name of the instance.
|
|
* \param model the model of the instance.
|
|
*
|
|
* \return the newly created Instance.
|
|
*/
|
|
|
|
/*! \fn Device* Netlist::addDevice(Name name, Name model, Name mosType, bool connected)
|
|
* \brief adds a Device to the netlist.
|
|
*
|
|
* \param name the name of the device.
|
|
* \param model the model of the device.
|
|
* \param mosType the mos type of the device (NMOS or PMOS).
|
|
* \param connected if true, then device's bulk is source connected.
|
|
*
|
|
* \return the newly created Device.
|
|
*/
|
|
|
|
/*! \fn Net* Netlist::addNet(Name name, Name type, bool external)
|
|
* \brief adds a Net to the netlist.
|
|
*
|
|
* \param name the name of the net.
|
|
* \param type the type of the net (LOGICAL, POWER, GROUND, ...).
|
|
* \param external if true, then the net is set as external.
|
|
*
|
|
* \return the newly created Net.
|
|
*/
|
|
|
|
/*! \fn Instance* Netlist::getInstance(Name name)
|
|
* \brief returns the Instance named \c name or NULL it does not exist.
|
|
*
|
|
* \param name the name of the instance to get.
|
|
*/
|
|
|
|
/*! \fn Net* Netlist::getNet(Name name)
|
|
* \brief returns the Net named \c name or NULL it does not exist.
|
|
*
|
|
* \param name the name of the net to get.
|
|
*/
|
|
|
|
/*! \fn inline bool Netlist::hasNoInstances()
|
|
* \brief returns true if netlist has no instances.
|
|
*/
|
|
|
|
/*! \fn inline bool Netlist::hasNoNets()
|
|
* \brief returns true if netlist has no nets.
|
|
*/
|
|
|
|
/*! \fn inline const std::vector<Instance*>& Netlist::getInstances()
|
|
* \brief returns the list of netlist's instances.
|
|
*/
|
|
|
|
/*! \fn inline const std::vector<Net*>& Netlist::getNets()
|
|
* \brief returns the list of netlist's nets.
|
|
*/
|
|
|
|
/*! \fn inline Circuit* Netlist::getCircuit()
|
|
* \brief returns the Circuit the netlist is associated to.
|
|
*/
|
|
}
|