// -*- 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& Netlist::getInstances() * \brief returns the list of netlist's instances. */ /*! \fn inline const std::vector& Netlist::getNets() * \brief returns the list of netlist's nets. */ /*! \fn inline Circuit* Netlist::getCircuit() * \brief returns the Circuit the netlist is associated to. */ }