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

Hierarchical EDA Component System Example. More...

#include <iostream>
#include <memory>
#include <vector>
#include <chrono>
#include <random>
#include <zlayout/components/component.hpp>
#include <zlayout/components/passive_components.hpp>
#include <zlayout/components/digital_components.hpp>
#include <zlayout/components/ip_blocks.hpp>
#include <zlayout/optimization/layout_optimizer.hpp>
#include <zlayout/spatial/advanced_spatial.hpp>
Include dependency graph for hierarchical_component_example.cpp:

Go to the source code of this file.

Functions

void demonstrateBasicComponents ()
 Demonstrate basic component creation and hierarchy.
std::shared_ptr< ComponentcreateALUBlock ()
 Create a simple functional block (ALU) from basic components.
std::shared_ptr< ProcessorCorecreateProcessorCore ()
 Create a processor core from functional blocks.
std::shared_ptr< SoCcreateSmartphoneSoC ()
 Create a complete SoC with multiple IP blocks.
void demonstrateHierarchicalOptimization ()
 Demonstrate hierarchical optimization.
void benchmarkOptimizationApproaches ()
 Benchmark different optimization approaches.
int main ()

Detailed Description

Hierarchical EDA Component System Example.

This example demonstrates the hierarchical component system for EDA layout optimization, showing how basic components can be composed into complex IP blocks and how hierarchical optimization can dramatically reduce the complexity for billion-scale designs.

Definition in file hierarchical_component_example.cpp.

Function Documentation

◆ benchmarkOptimizationApproaches()

void benchmarkOptimizationApproaches ( )

Benchmark different optimization approaches.

Definition at line 347 of file hierarchical_component_example.cpp.

Here is the caller graph for this function:

◆ createALUBlock()

std::shared_ptr< Component > createALUBlock ( )

Create a simple functional block (ALU) from basic components.

Definition at line 70 of file hierarchical_component_example.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ createProcessorCore()

std::shared_ptr< ProcessorCore > createProcessorCore ( )

Create a processor core from functional blocks.

Definition at line 128 of file hierarchical_component_example.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ createSmartphoneSoC()

std::shared_ptr< SoC > createSmartphoneSoC ( )

Create a complete SoC with multiple IP blocks.

Definition at line 183 of file hierarchical_component_example.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ demonstrateBasicComponents()

void demonstrateBasicComponents ( )

Demonstrate basic component creation and hierarchy.

Definition at line 31 of file hierarchical_component_example.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ demonstrateHierarchicalOptimization()

void demonstrateHierarchicalOptimization ( )

Demonstrate hierarchical optimization.

Definition at line 251 of file hierarchical_component_example.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ main()

int main ( )

Definition at line 454 of file hierarchical_component_example.cpp.

Here is the call graph for this function: