ZLayout EDA Library v1.0.0
Advanced Electronic Design Automation Layout Library with Bilingual Documentation
Loading...
Searching...
No Matches
zlayout::components::Capacitor Class Reference

Capacitor component. More...

#include <passive_components.hpp>

Inheritance diagram for zlayout::components::Capacitor:
Collaboration diagram for zlayout::components::Capacitor:

Public Types

enum class  DielectricType {
  Ceramic , Electrolytic , Film , Mica ,
  Supercap
}

Public Member Functions

 Capacitor (const std::string &name, double capacitance, DielectricType dielectric)
double getCapacitance () const
void setCapacitance (double capacitance)
double getTolerance () const
void setTolerance (double tolerance)
double getVoltageRating () const
void setVoltageRating (double voltage)
DielectricType getDielectric () const
void setDielectric (DielectricType type)
double getESR () const
void setESR (double esr)
double getESL () const
void setESL (double esl)
double getLeakageCurrent () const
void setLeakageCurrent (double current)
double getTempCoeff () const
void setTempCoeff (double coeff)
void simulate (double time_step) override
std::string getDescription () const override
Public Member Functions inherited from zlayout::components::Component
 Component (const std::string &name, ComponentCategory category)
virtual ~Component ()=default
const std::string & getName () const
const std::string & getType () const
ComponentCategory getCategory () const
void setName (const std::string &name)
void setType (const std::string &type)
void addChild (std::shared_ptr< Component > child)
void removeChild (const std::string &name)
std::shared_ptr< ComponentgetChild (const std::string &name) const
const std::vector< std::shared_ptr< Component > > & getChildren () const
std::shared_ptr< ComponentgetParent () const
void setParent (std::shared_ptr< Component > parent)
const geometry::RectanglegetBoundingBox () const
void setBoundingBox (const geometry::Rectangle &bbox)
geometry::Point getPosition () const
void setPosition (const geometry::Point &pos)
double getRotation () const
void setRotation (double angle)
void addPin (std::shared_ptr< Pin > pin)
void removePin (const std::string &name)
std::shared_ptr< PingetPin (const std::string &name) const
const std::vector< std::shared_ptr< Pin > > & getPins () const
void setProperty (const std::string &key, const std::string &value)
std::string getProperty (const std::string &key) const
const std::map< std::string, std::string > & getProperties () const
void setTimingInfo (const TimingInfo &timing)
const TimingInfogetTimingInfo () const
void setPowerInfo (const PowerInfo &power)
const PowerInfogetPowerInfo () const
void setElectricalInfo (const ElectricalInfo &electrical)
const ElectricalInfogetElectricalInfo () const
void setTechNode (TechNode node)
TechNode getTechNode () const
virtual void reset ()
virtual geometry::Rectangle calculateHierarchicalBoundingBox () const
virtual double calculateTotalArea () const
virtual size_t getTotalGateCount () const
virtual std::vector< std::shared_ptr< Component > > flattenHierarchy () const
virtual std::string serialize () const
virtual void deserialize (const std::string &data)

Static Public Member Functions

static std::vector< double > getStandardValues ()
static double getNearestStandardValue (double value)

Additional Inherited Members

Protected Attributes inherited from zlayout::components::Component
std::string name_
std::string type_
ComponentCategory category_
std::vector< std::shared_ptr< Component > > children_
std::weak_ptr< Componentparent_
geometry::Rectangle bounding_box_
geometry::Point position_
double rotation_ = 0.0
std::vector< std::shared_ptr< Pin > > pins_
std::unordered_map< std::string, std::shared_ptr< Pin > > pin_map_
std::map< std::string, std::string > properties_
TimingInfo timing_
PowerInfo power_
ElectricalInfo electrical_
TechNode tech_node_ = TechNode::um_7

Detailed Description

Capacitor component.

Definition at line 64 of file passive_components.hpp.

Member Enumeration Documentation

◆ DielectricType

Enumerator
Ceramic 
Electrolytic 
Film 
Mica 
Supercap 

Definition at line 66 of file passive_components.hpp.

Constructor & Destructor Documentation

◆ Capacitor()

zlayout::components::Capacitor::Capacitor ( const std::string & name,
double capacitance,
DielectricType dielectric )

Member Function Documentation

◆ getCapacitance()

double zlayout::components::Capacitor::getCapacitance ( ) const
inline

Definition at line 77 of file passive_components.hpp.

◆ getDescription()

std::string zlayout::components::Capacitor::getDescription ( ) const
overridevirtual

Reimplemented from zlayout::components::Component.

◆ getDielectric()

DielectricType zlayout::components::Capacitor::getDielectric ( ) const
inline

Definition at line 86 of file passive_components.hpp.

◆ getESL()

double zlayout::components::Capacitor::getESL ( ) const
inline

Definition at line 93 of file passive_components.hpp.

◆ getESR()

double zlayout::components::Capacitor::getESR ( ) const
inline

Definition at line 90 of file passive_components.hpp.

◆ getLeakageCurrent()

double zlayout::components::Capacitor::getLeakageCurrent ( ) const
inline

Definition at line 96 of file passive_components.hpp.

◆ getNearestStandardValue()

double zlayout::components::Capacitor::getNearestStandardValue ( double value)
static

◆ getStandardValues()

std::vector< double > zlayout::components::Capacitor::getStandardValues ( )
static

◆ getTempCoeff()

double zlayout::components::Capacitor::getTempCoeff ( ) const
inline

Definition at line 100 of file passive_components.hpp.

◆ getTolerance()

double zlayout::components::Capacitor::getTolerance ( ) const
inline

Definition at line 80 of file passive_components.hpp.

◆ getVoltageRating()

double zlayout::components::Capacitor::getVoltageRating ( ) const
inline

Definition at line 83 of file passive_components.hpp.

◆ setCapacitance()

void zlayout::components::Capacitor::setCapacitance ( double capacitance)

◆ setDielectric()

void zlayout::components::Capacitor::setDielectric ( DielectricType type)
inline

Definition at line 87 of file passive_components.hpp.

◆ setESL()

void zlayout::components::Capacitor::setESL ( double esl)
inline

Definition at line 94 of file passive_components.hpp.

◆ setESR()

void zlayout::components::Capacitor::setESR ( double esr)
inline

Definition at line 91 of file passive_components.hpp.

◆ setLeakageCurrent()

void zlayout::components::Capacitor::setLeakageCurrent ( double current)
inline

Definition at line 97 of file passive_components.hpp.

◆ setTempCoeff()

void zlayout::components::Capacitor::setTempCoeff ( double coeff)
inline

Definition at line 101 of file passive_components.hpp.

◆ setTolerance()

void zlayout::components::Capacitor::setTolerance ( double tolerance)
inline

Definition at line 81 of file passive_components.hpp.

◆ setVoltageRating()

void zlayout::components::Capacitor::setVoltageRating ( double voltage)
inline

Definition at line 84 of file passive_components.hpp.

◆ simulate()

void zlayout::components::Capacitor::simulate ( double time_step)
overridevirtual

Reimplemented from zlayout::components::Component.


The documentation for this class was generated from the following file: