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

Binary Counter. More...

#include <digital_components.hpp>

Inheritance diagram for zlayout::components::BinaryCounter:
Collaboration diagram for zlayout::components::BinaryCounter:

Public Member Functions

 BinaryCounter (const std::string &name, size_t width, bool is_up_counter=true)
size_t getWidth () const
bool isUpCounter () const
uint64_t getCount () const
void setCount (uint64_t value)
uint64_t getMaxCount () const
void enableCount (bool enable)
bool isCountEnabled () const
void evaluateLogic () override
void reset () override
std::string getDescription () const override
Public Member Functions inherited from zlayout::components::DigitalComponent
 DigitalComponent (const std::string &name, ComponentCategory category)
LogicFamily getLogicFamily () const
void setLogicFamily (LogicFamily family)
double getVil () const
void setVil (double vil)
double getVih () const
void setVih (double vih)
double getVol () const
void setVol (double vol)
double getVoh () const
void setVoh (double voh)
virtual void propagateSignals ()
void simulate (double time_step) 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 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 Member Functions inherited from zlayout::components::DigitalComponent
SignalState voltageToSignalState (double voltage) const
double signalStateToVoltage (SignalState state) const
Protected Attributes inherited from zlayout::components::DigitalComponent
LogicFamily logic_family_ = LogicFamily::CMOS
double vil_ = 0.8
double vih_ = 2.0
double vol_ = 0.4
double voh_ = 2.4
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

Binary Counter.

Definition at line 200 of file digital_components.hpp.

Constructor & Destructor Documentation

◆ BinaryCounter()

zlayout::components::BinaryCounter::BinaryCounter ( const std::string & name,
size_t width,
bool is_up_counter = true )

Member Function Documentation

◆ enableCount()

void zlayout::components::BinaryCounter::enableCount ( bool enable)
inline

Definition at line 215 of file digital_components.hpp.

◆ evaluateLogic()

void zlayout::components::BinaryCounter::evaluateLogic ( )
overridevirtual

◆ getCount()

uint64_t zlayout::components::BinaryCounter::getCount ( ) const
inline

Definition at line 209 of file digital_components.hpp.

◆ getDescription()

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

Reimplemented from zlayout::components::Component.

◆ getMaxCount()

uint64_t zlayout::components::BinaryCounter::getMaxCount ( ) const
inline

Definition at line 212 of file digital_components.hpp.

◆ getWidth()

size_t zlayout::components::BinaryCounter::getWidth ( ) const
inline

Definition at line 205 of file digital_components.hpp.

◆ isCountEnabled()

bool zlayout::components::BinaryCounter::isCountEnabled ( ) const
inline

Definition at line 216 of file digital_components.hpp.

◆ isUpCounter()

bool zlayout::components::BinaryCounter::isUpCounter ( ) const
inline

Definition at line 206 of file digital_components.hpp.

◆ reset()

void zlayout::components::BinaryCounter::reset ( )
overridevirtual

Reimplemented from zlayout::components::Component.

Here is the caller graph for this function:

◆ setCount()

void zlayout::components::BinaryCounter::setCount ( uint64_t value)

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