ZLayout EDA Library v1.0.0
Advanced Electronic Design Automation Layout Library with Bilingual Documentation
Loading...
Searching...
No Matches
ip_blocks.hpp File Reference

Standard IP Blocks and Complex Digital Systems. More...

#include <zlayout/components/component.hpp>
#include <zlayout/components/digital_components.hpp>
#include <memory>
#include <string>
#include <vector>
#include <map>
Include dependency graph for ip_blocks.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  zlayout::components::ProcessorCore
 Processor Core IP Block. More...
struct  zlayout::components::ProcessorCore::CacheConfig
class  zlayout::components::MemoryController
 Memory Controller IP Block. More...
struct  zlayout::components::MemoryController::TimingParams
class  zlayout::components::GPUCore
 GPU Core IP Block. More...
class  zlayout::components::DSPCore
 Digital Signal Processor (DSP) IP Block. More...
class  zlayout::components::CommunicationInterface
 Communication Interface IP Block. More...
class  zlayout::components::PowerManagementUnit
 Power Management Unit (PMU) IP Block. More...
class  zlayout::components::SoC
 System-on-Chip (SoC) IP Block. More...
class  zlayout::components::IPBlockFactory
 Standard IP Block Factory. More...

Namespaces

namespace  zlayout
 Main namespace for ZLayout library.
namespace  zlayout::components
namespace  zlayout::components::RealWorldCircuits
 Real-world circuit examples for timing optimization.

Enumerations

enum class  zlayout::components::CPUArchitecture {
  zlayout::components::ARM_Cortex_A53 , zlayout::components::ARM_Cortex_A72 , zlayout::components::ARM_Cortex_A78 , zlayout::components::ARM_Cortex_M4 ,
  zlayout::components::ARM_Cortex_M7 , zlayout::components::RISC_V_RV32I , zlayout::components::RISC_V_RV64I , zlayout::components::x86_64 ,
  zlayout::components::Custom
}
 CPU Architecture types. More...
enum class  zlayout::components::MemoryHierarchy {
  zlayout::components::L1_Cache , zlayout::components::L2_Cache , zlayout::components::L3_Cache , zlayout::components::Main_Memory ,
  zlayout::components::Storage
}
 Memory hierarchy types. More...
enum class  zlayout::components::InterfaceType {
  zlayout::components::SPI , zlayout::components::I2C , zlayout::components::UART , zlayout::components::USB ,
  zlayout::components::PCIe , zlayout::components::Ethernet , zlayout::components::WiFi , zlayout::components::Bluetooth ,
  zlayout::components::CAN , zlayout::components::Custom
}
 Communication interface types. More...

Functions

std::shared_ptr< Componentzlayout::components::RealWorldCircuits::createCPUDesign (const std::string &name, size_t core_count=4)
 Create a realistic CPU design with proper timing constraints.
std::shared_ptr< Componentzlayout::components::RealWorldCircuits::createMemorySubsystem (const std::string &name)
 Create a memory subsystem with realistic timing.
std::shared_ptr< Componentzlayout::components::RealWorldCircuits::createGPUDesign (const std::string &name)
 Create a graphics processing unit with compute pipelines.
std::shared_ptr< Componentzlayout::components::RealWorldCircuits::createCommunicationSubsystem (const std::string &name)
 Create a communication subsystem with multiple interfaces.
std::shared_ptr< Componentzlayout::components::RealWorldCircuits::createSmartphoneSoC (const std::string &name)
 Create a complete smartphone SoC.
std::shared_ptr< Componentzlayout::components::RealWorldCircuits::createServerProcessor (const std::string &name)
 Create a server processor with multiple cores.
std::shared_ptr< Componentzlayout::components::RealWorldCircuits::createIoTMicrocontroller (const std::string &name)
 Create an IoT microcontroller design.

Detailed Description

Standard IP Blocks and Complex Digital Systems.

This file contains implementations of standard IP blocks used in modern digital systems, including processors, memory controllers, and communication interfaces.

Definition in file ip_blocks.hpp.