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

Crystal/Oscillator component. More...

#include <passive_components.hpp>

Inheritance diagram for zlayout::components::Crystal:
Collaboration diagram for zlayout::components::Crystal:

Public Types

enum class  CrystalType { Quartz , SAW , MEMS , Ceramic }

Public Member Functions

 Crystal (const std::string &name, double frequency, CrystalType type)
double getFrequency () const
void setFrequency (double freq)
double getFrequencyTolerance () const
void setFrequencyTolerance (double tolerance)
double getFrequencyStability () const
void setFrequencyStability (double stability)
CrystalType getCrystalType () const
void setCrystalType (CrystalType type)
double getMotionalCapacitance () const
void setMotionalCapacitance (double c1)
double getMotionalInductance () const
void setMotionalInductance (double l1)
double getMotionalResistance () const
void setMotionalResistance (double r1)
double getShuntCapacitance () const
void setShuntCapacitance (double c0)
double getDriveLevel () const
void setDriveLevel (double level)
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)

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

Crystal/Oscillator component.

Definition at line 198 of file passive_components.hpp.

Member Enumeration Documentation

◆ CrystalType

Enumerator
Quartz 
SAW 
MEMS 
Ceramic 

Definition at line 200 of file passive_components.hpp.

Constructor & Destructor Documentation

◆ Crystal()

zlayout::components::Crystal::Crystal ( const std::string & name,
double frequency,
CrystalType type )

Member Function Documentation

◆ getCrystalType()

CrystalType zlayout::components::Crystal::getCrystalType ( ) const
inline

Definition at line 219 of file passive_components.hpp.

◆ getDescription()

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

Reimplemented from zlayout::components::Component.

◆ getDriveLevel()

double zlayout::components::Crystal::getDriveLevel ( ) const
inline

Definition at line 236 of file passive_components.hpp.

◆ getFrequency()

double zlayout::components::Crystal::getFrequency ( ) const
inline

Definition at line 210 of file passive_components.hpp.

◆ getFrequencyStability()

double zlayout::components::Crystal::getFrequencyStability ( ) const
inline

Definition at line 216 of file passive_components.hpp.

◆ getFrequencyTolerance()

double zlayout::components::Crystal::getFrequencyTolerance ( ) const
inline

Definition at line 213 of file passive_components.hpp.

◆ getMotionalCapacitance()

double zlayout::components::Crystal::getMotionalCapacitance ( ) const
inline

Definition at line 223 of file passive_components.hpp.

◆ getMotionalInductance()

double zlayout::components::Crystal::getMotionalInductance ( ) const
inline

Definition at line 226 of file passive_components.hpp.

◆ getMotionalResistance()

double zlayout::components::Crystal::getMotionalResistance ( ) const
inline

Definition at line 229 of file passive_components.hpp.

◆ getShuntCapacitance()

double zlayout::components::Crystal::getShuntCapacitance ( ) const
inline

Definition at line 232 of file passive_components.hpp.

◆ setCrystalType()

void zlayout::components::Crystal::setCrystalType ( CrystalType type)
inline

Definition at line 220 of file passive_components.hpp.

◆ setDriveLevel()

void zlayout::components::Crystal::setDriveLevel ( double level)
inline

Definition at line 237 of file passive_components.hpp.

◆ setFrequency()

void zlayout::components::Crystal::setFrequency ( double freq)
inline

Definition at line 211 of file passive_components.hpp.

◆ setFrequencyStability()

void zlayout::components::Crystal::setFrequencyStability ( double stability)
inline

Definition at line 217 of file passive_components.hpp.

◆ setFrequencyTolerance()

void zlayout::components::Crystal::setFrequencyTolerance ( double tolerance)
inline

Definition at line 214 of file passive_components.hpp.

◆ setMotionalCapacitance()

void zlayout::components::Crystal::setMotionalCapacitance ( double c1)
inline

Definition at line 224 of file passive_components.hpp.

◆ setMotionalInductance()

void zlayout::components::Crystal::setMotionalInductance ( double l1)
inline

Definition at line 227 of file passive_components.hpp.

◆ setMotionalResistance()

void zlayout::components::Crystal::setMotionalResistance ( double r1)
inline

Definition at line 230 of file passive_components.hpp.

◆ setShuntCapacitance()

void zlayout::components::Crystal::setShuntCapacitance ( double c0)
inline

Definition at line 233 of file passive_components.hpp.

◆ simulate()

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

Reimplemented from zlayout::components::Component.


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