|
ZLayout EDA Library v1.0.0
Advanced Electronic Design Automation Layout Library with Bilingual Documentation
|
Shift Register. More...
#include <digital_components.hpp>
Public Types | |
| enum class | ShiftType { SISO , SIPO , PISO , PIPO } |
| enum class | Direction { Left , Right } |
Public Member Functions | |
| ShiftRegister (const std::string &name, size_t width, ShiftType type) | |
| size_t | getWidth () const |
| ShiftType | getShiftType () const |
| Direction | getDirection () const |
| void | setDirection (Direction dir) |
| const std::vector< SignalState > & | getData () const |
| void | setData (const std::vector< SignalState > &data) |
| 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< 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 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< 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 |
Shift Register.
Definition at line 237 of file digital_components.hpp.
|
strong |
| Enumerator | |
|---|---|
| Left | |
| Right | |
Definition at line 253 of file digital_components.hpp.
|
strong |
| Enumerator | |
|---|---|
| SISO | |
| SIPO | |
| PISO | |
| PIPO | |
Definition at line 239 of file digital_components.hpp.
| zlayout::components::ShiftRegister::ShiftRegister | ( | const std::string & | name, |
| size_t | width, | ||
| ShiftType | type ) |
|
overridevirtual |
Implements zlayout::components::DigitalComponent.
|
inline |
Definition at line 258 of file digital_components.hpp.
|
overridevirtual |
Reimplemented from zlayout::components::Component.
|
inline |
Definition at line 254 of file digital_components.hpp.
|
inline |
Definition at line 250 of file digital_components.hpp.
|
inline |
Definition at line 249 of file digital_components.hpp.
|
overridevirtual |
| void zlayout::components::ShiftRegister::setData | ( | const std::vector< SignalState > & | data | ) |
|
inline |
Definition at line 255 of file digital_components.hpp.