ZLayout EDA Library v1.0.0
Advanced Electronic Design Automation Layout Library with Bilingual Documentation
|
Processor Core IP Block. More...
#include <ip_blocks.hpp>
Classes | |
struct | CacheConfig |
Public Member Functions | |
ProcessorCore (const std::string &name, CPUArchitecture arch, size_t core_count=1) | |
CPUArchitecture | getArchitecture () const |
size_t | getCoreCount () const |
double | getMaxFrequency () const |
void | setMaxFrequency (double freq) |
double | getCurrentFrequency () const |
void | setCurrentFrequency (double freq) |
void | setL1Config (const CacheConfig &config) |
void | setL2Config (const CacheConfig &config) |
void | setL3Config (const CacheConfig &config) |
const CacheConfig & | getL1Config () const |
const CacheConfig & | getL2Config () const |
const CacheConfig & | getL3Config () const |
size_t | getPipelineStages () const |
void | setPipelineStages (size_t stages) |
bool | hasFloatingPoint () const |
void | setFloatingPoint (bool has_fpu) |
bool | hasVectorUnit () const |
void | setVectorUnit (bool has_vector) |
double | getIPC () const |
void | setIPC (double ipc) |
double | getDMIPS () const |
void | setDMIPS (double dmips) |
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< Component > | getChild (const std::string &name) const |
const std::vector< std::shared_ptr< Component > > & | getChildren () const |
std::shared_ptr< Component > | getParent () const |
void | setParent (std::shared_ptr< Component > parent) |
const geometry::Rectangle & | getBoundingBox () 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< Pin > | getPin (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 TimingInfo & | getTimingInfo () const |
void | setPowerInfo (const PowerInfo &power) |
const PowerInfo & | getPowerInfo () const |
void | setElectricalInfo (const ElectricalInfo &electrical) |
const ElectricalInfo & | getElectricalInfo () 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< Component > | parent_ |
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 |
Processor Core IP Block.
Definition at line 66 of file ip_blocks.hpp.
zlayout::components::ProcessorCore::ProcessorCore | ( | const std::string & | name, |
CPUArchitecture | arch, | ||
size_t | core_count = 1 ) |
|
inline |
Definition at line 71 of file ip_blocks.hpp.
|
inline |
Definition at line 72 of file ip_blocks.hpp.
|
inline |
Definition at line 78 of file ip_blocks.hpp.
|
overridevirtual |
Reimplemented from zlayout::components::Component.
|
inline |
Definition at line 113 of file ip_blocks.hpp.
|
inline |
Definition at line 110 of file ip_blocks.hpp.
|
inline |
Definition at line 94 of file ip_blocks.hpp.
|
inline |
Definition at line 95 of file ip_blocks.hpp.
|
inline |
Definition at line 96 of file ip_blocks.hpp.
|
inline |
Definition at line 75 of file ip_blocks.hpp.
|
inline |
Definition at line 99 of file ip_blocks.hpp.
|
inline |
Definition at line 103 of file ip_blocks.hpp.
|
inline |
Definition at line 106 of file ip_blocks.hpp.
|
inline |
Definition at line 79 of file ip_blocks.hpp.
|
inline |
Definition at line 114 of file ip_blocks.hpp.
|
inline |
Definition at line 104 of file ip_blocks.hpp.
|
inline |
Definition at line 111 of file ip_blocks.hpp.
|
inline |
Definition at line 90 of file ip_blocks.hpp.
|
inline |
Definition at line 91 of file ip_blocks.hpp.
|
inline |
Definition at line 92 of file ip_blocks.hpp.
|
inline |
Definition at line 76 of file ip_blocks.hpp.
|
inline |
Definition at line 100 of file ip_blocks.hpp.
|
inline |
Definition at line 107 of file ip_blocks.hpp.
|
overridevirtual |
Reimplemented from zlayout::components::Component.