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

Communication Interface IP Block. More...

#include <ip_blocks.hpp>

Inheritance diagram for zlayout::components::CommunicationInterface:
Collaboration diagram for zlayout::components::CommunicationInterface:

Public Member Functions

 CommunicationInterface (const std::string &name, InterfaceType type)
InterfaceType getInterfaceType () const
double getMaxDataRate () const
void setMaxDataRate (double rate)
double getCurrentDataRate () const
void setCurrentDataRate (double rate)
void setProtocolParameter (const std::string &param, const std::string &value)
std::string getProtocolParameter (const std::string &param) const
bool isConnected () const
void setConnected (bool connected)
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

Communication Interface IP Block.

Definition at line 327 of file ip_blocks.hpp.

Constructor & Destructor Documentation

◆ CommunicationInterface()

zlayout::components::CommunicationInterface::CommunicationInterface ( const std::string & name,
InterfaceType type )

Member Function Documentation

◆ getCurrentDataRate()

double zlayout::components::CommunicationInterface::getCurrentDataRate ( ) const
inline

Definition at line 338 of file ip_blocks.hpp.

◆ getDescription()

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

Reimplemented from zlayout::components::Component.

◆ getInterfaceType()

InterfaceType zlayout::components::CommunicationInterface::getInterfaceType ( ) const
inline

Definition at line 332 of file ip_blocks.hpp.

◆ getMaxDataRate()

double zlayout::components::CommunicationInterface::getMaxDataRate ( ) const
inline

Definition at line 335 of file ip_blocks.hpp.

◆ getProtocolParameter()

std::string zlayout::components::CommunicationInterface::getProtocolParameter ( const std::string & param) const

◆ isConnected()

bool zlayout::components::CommunicationInterface::isConnected ( ) const
inline

Definition at line 346 of file ip_blocks.hpp.

◆ setConnected()

void zlayout::components::CommunicationInterface::setConnected ( bool connected)
inline

Definition at line 347 of file ip_blocks.hpp.

◆ setCurrentDataRate()

void zlayout::components::CommunicationInterface::setCurrentDataRate ( double rate)
inline

Definition at line 339 of file ip_blocks.hpp.

◆ setMaxDataRate()

void zlayout::components::CommunicationInterface::setMaxDataRate ( double rate)
inline

Definition at line 336 of file ip_blocks.hpp.

◆ setProtocolParameter()

void zlayout::components::CommunicationInterface::setProtocolParameter ( const std::string & param,
const std::string & value )

◆ simulate()

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

Reimplemented from zlayout::components::Component.


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