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

System-on-Chip (SoC) IP Block. More...

#include <ip_blocks.hpp>

Inheritance diagram for zlayout::components::SoC:
Collaboration diagram for zlayout::components::SoC:

Public Member Functions

 SoC (const std::string &name, const std::string &part_number)
void addProcessorCore (std::shared_ptr< ProcessorCore > core)
void addMemoryController (std::shared_ptr< MemoryController > controller)
void addGPUCore (std::shared_ptr< GPUCore > gpu)
void addDSPCore (std::shared_ptr< DSPCore > dsp)
void addInterface (std::shared_ptr< CommunicationInterface > interface)
void addPMU (std::shared_ptr< PowerManagementUnit > pmu)
const std::string & getPartNumber () const
double getTotalPower () const
double getMaxPerformance () const
std::vector< std::string > getCriticalPaths () const
geometry::Rectangle calculateHierarchicalBoundingBox () const override
double calculateTotalArea () const override
size_t getTotalGateCount () const override
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 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

System-on-Chip (SoC) IP Block.

Definition at line 421 of file ip_blocks.hpp.

Constructor & Destructor Documentation

◆ SoC()

zlayout::components::SoC::SoC ( const std::string & name,
const std::string & part_number )

Member Function Documentation

◆ addDSPCore()

void zlayout::components::SoC::addDSPCore ( std::shared_ptr< DSPCore > dsp)

◆ addGPUCore()

void zlayout::components::SoC::addGPUCore ( std::shared_ptr< GPUCore > gpu)

◆ addInterface()

void zlayout::components::SoC::addInterface ( std::shared_ptr< CommunicationInterface > interface)

◆ addMemoryController()

void zlayout::components::SoC::addMemoryController ( std::shared_ptr< MemoryController > controller)

◆ addPMU()

void zlayout::components::SoC::addPMU ( std::shared_ptr< PowerManagementUnit > pmu)

◆ addProcessorCore()

void zlayout::components::SoC::addProcessorCore ( std::shared_ptr< ProcessorCore > core)

◆ calculateHierarchicalBoundingBox()

geometry::Rectangle zlayout::components::SoC::calculateHierarchicalBoundingBox ( ) const
overridevirtual

Reimplemented from zlayout::components::Component.

◆ calculateTotalArea()

double zlayout::components::SoC::calculateTotalArea ( ) const
overridevirtual

Reimplemented from zlayout::components::Component.

◆ getCriticalPaths()

std::vector< std::string > zlayout::components::SoC::getCriticalPaths ( ) const

◆ getDescription()

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

Reimplemented from zlayout::components::Component.

◆ getMaxPerformance()

double zlayout::components::SoC::getMaxPerformance ( ) const

◆ getPartNumber()

const std::string & zlayout::components::SoC::getPartNumber ( ) const
inline

Definition at line 434 of file ip_blocks.hpp.

◆ getTotalGateCount()

size_t zlayout::components::SoC::getTotalGateCount ( ) const
overridevirtual

Reimplemented from zlayout::components::Component.

◆ getTotalPower()

double zlayout::components::SoC::getTotalPower ( ) const

◆ simulate()

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

Reimplemented from zlayout::components::Component.


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