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

Digital component factory. More...

#include <digital_components.hpp>

Static Public Member Functions

static std::shared_ptr< LogicGatecreateLogicGate (const std::string &name, LogicGate::GateType type, size_t input_count=2)
static std::shared_ptr< DFlipFlopcreateDFlipFlop (const std::string &name, bool has_reset=true, bool has_set=false)
static std::shared_ptr< JKFlipFlopcreateJKFlipFlop (const std::string &name, bool has_reset=true, bool has_set=false)
static std::shared_ptr< SRLatchcreateSRLatch (const std::string &name, bool is_gated=false)
static std::shared_ptr< BinaryCountercreateBinaryCounter (const std::string &name, size_t width, bool is_up_counter=true)
static std::shared_ptr< ShiftRegistercreateShiftRegister (const std::string &name, size_t width, ShiftRegister::ShiftType type)
static std::shared_ptr< MultiplexercreateMultiplexer (const std::string &name, size_t input_count)
static std::shared_ptr< DemultiplexercreateDemultiplexer (const std::string &name, size_t output_count)
static std::shared_ptr< DecodercreateDecoder (const std::string &name, size_t input_width, bool has_enable=true)
static std::shared_ptr< EncodercreateEncoder (const std::string &name, size_t input_count, bool is_priority=false)
static std::shared_ptr< FullAddercreateFullAdder (const std::string &name)
static std::shared_ptr< RippleCarryAddercreateRippleCarryAdder (const std::string &name, size_t width)
static std::shared_ptr< MemorycreateMemory (const std::string &name, size_t address_width, size_t data_width, Memory::MemoryType type)
static void registerStandardComponents (ComponentLibrary &library)
static std::shared_ptr< Componentcreate74Series (const std::string &part_number, const std::string &name)
static std::shared_ptr< Componentcreate4000Series (const std::string &part_number, const std::string &name)

Detailed Description

Digital component factory.

Definition at line 473 of file digital_components.hpp.

Member Function Documentation

◆ create4000Series()

std::shared_ptr< Component > zlayout::components::DigitalComponentFactory::create4000Series ( const std::string & part_number,
const std::string & name )
static

◆ create74Series()

std::shared_ptr< Component > zlayout::components::DigitalComponentFactory::create74Series ( const std::string & part_number,
const std::string & name )
static

◆ createBinaryCounter()

std::shared_ptr< BinaryCounter > zlayout::components::DigitalComponentFactory::createBinaryCounter ( const std::string & name,
size_t width,
bool is_up_counter = true )
static

◆ createDecoder()

std::shared_ptr< Decoder > zlayout::components::DigitalComponentFactory::createDecoder ( const std::string & name,
size_t input_width,
bool has_enable = true )
static

◆ createDemultiplexer()

std::shared_ptr< Demultiplexer > zlayout::components::DigitalComponentFactory::createDemultiplexer ( const std::string & name,
size_t output_count )
static

◆ createDFlipFlop()

std::shared_ptr< DFlipFlop > zlayout::components::DigitalComponentFactory::createDFlipFlop ( const std::string & name,
bool has_reset = true,
bool has_set = false )
static
Here is the caller graph for this function:

◆ createEncoder()

std::shared_ptr< Encoder > zlayout::components::DigitalComponentFactory::createEncoder ( const std::string & name,
size_t input_count,
bool is_priority = false )
static

◆ createFullAdder()

std::shared_ptr< FullAdder > zlayout::components::DigitalComponentFactory::createFullAdder ( const std::string & name)
static
Here is the caller graph for this function:

◆ createJKFlipFlop()

std::shared_ptr< JKFlipFlop > zlayout::components::DigitalComponentFactory::createJKFlipFlop ( const std::string & name,
bool has_reset = true,
bool has_set = false )
static

◆ createLogicGate()

std::shared_ptr< LogicGate > zlayout::components::DigitalComponentFactory::createLogicGate ( const std::string & name,
LogicGate::GateType type,
size_t input_count = 2 )
static
Here is the caller graph for this function:

◆ createMemory()

std::shared_ptr< Memory > zlayout::components::DigitalComponentFactory::createMemory ( const std::string & name,
size_t address_width,
size_t data_width,
Memory::MemoryType type )
static

◆ createMultiplexer()

std::shared_ptr< Multiplexer > zlayout::components::DigitalComponentFactory::createMultiplexer ( const std::string & name,
size_t input_count )
static

◆ createRippleCarryAdder()

std::shared_ptr< RippleCarryAdder > zlayout::components::DigitalComponentFactory::createRippleCarryAdder ( const std::string & name,
size_t width )
static

◆ createShiftRegister()

std::shared_ptr< ShiftRegister > zlayout::components::DigitalComponentFactory::createShiftRegister ( const std::string & name,
size_t width,
ShiftRegister::ShiftType type )
static

◆ createSRLatch()

std::shared_ptr< SRLatch > zlayout::components::DigitalComponentFactory::createSRLatch ( const std::string & name,
bool is_gated = false )
static

◆ registerStandardComponents()

void zlayout::components::DigitalComponentFactory::registerStandardComponents ( ComponentLibrary & library)
static

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