// -*- C++ -*- namespace OpenChams { /*! \class Circuit * * This class is the root class whihch means that having this object in hand allows to get/set any information contained in the OpenChams file parsed/drived. */ /*! \fn Circuit::Circuit(Name name, Name techno) * \brief creates a new technology * * \param name the name of the circuit. * \param techno the technology used to descibe the circuit. */ /*! \fn inline Name Circuit::getName() * \brief returns the name of the circuit. */ /*! \fn inline Name Circuit::getTechno() * \brief returns the technology. */ /*! \fn inline Netlist* Circuit::getNetlist() * \brief returns the Netlist object associated to the circuit or NULL if it does not exist. */ /*! \fn inline Schematic* Circuit::getSchematic() * \brief returns the Schematic object associated to the circuit or NULL if it does not exist. */ /*! \fn inline Sizing* Circuit::getSizing() * \brief returns the Sizing object associated to the circuit or NULL if it does not exist. */ /*! \fn inline Layout* Circuit::getLayout() * \brief returns the Layout object associated to the circuit or NULL if it does not exist. */ /*! \fn inline double Circuit::getValue(Name name) * \brief returns the value of the circuit's parameter named \c name. * * \param name the name of the parameter. */ /*! \fn inline void Circuit::addParameter(Name name, double value) * \brief adds a parameter to the circuit. * * \param name the name of the parameter. * \param value the value of the parameter. */ /*! \fn inline void Circuit::addParameter(Name name, std::string equation) * \brief adds an equation parameter to the circuit. * * \param name the name of the parameter. * \param equation the equation string of the parameter. */ /*! \fn inline Parameters Circuit::getParameters() * \brief returns all circuit's parameters. */ /*! \fn inline void Circuit::addSubCircuitPath(std::string path) * \brief adds a path to circuit's subcircuit paths list. * * SubCircuitPaths are used to define where to search the xml file describing subcircuits used in current circuit. */ /*! \fn void Circuit::addSimulModel(unsigned id, SimulModel::Base base, SimulModel::Version version, std::string filePath) * \brief adds a SimulModel to the circuit. * * \param id the simulation model id. * \param base the simulation model base. * \param version the simulation model version. * \param filePath the path to the netlist used by simulation model. */ /*! \fn inline void Circuit::setSizing(Sizing* sizing) * \brief sets the circuit's sizing. * * \param sizing the sizing of the circuit. */ /*! \fn inline void Circuit::setLayout(Layout* layout) * \brief sets the circuit's layout. * * \param layout the layout of the circuit. */ /*! \fn Netlist* Circuit::createNetlist() * \brief creates a new empty netlist and associates it to the circuit. * * \return the newly created netlist. */ /*! \fn Schematic* Circuit::createSchematic() * \brief creates a new empty schematic and associates it to the circuit. * * \return the newly created schematic. */ /*! \fn Sizing* Circuit::createSizing(; * \brief creates a new empty sizing and associates it to the circuit. * * \return the newly created sizing. */ /*! \fn Layout* Circuit::createLayout() * \brief creates a new empty layout and associates it to the circuit. * * \return the newly created layout. */ /*! \fn bool Circuit::writeToFile(std::string filePath) * \brief writes the database to file. * * \param filePath the destination file. */ /*! \fn static Circuit* Circuit::readFromFile(const std::string filePath) * \brief creates and returns a Circuit object based on a database source file. * * \param filePath the source file name. * * \return the newly created Circuit. */ }