ZLayout EDA Library v1.0.0
Advanced Electronic Design Automation Layout Library with Bilingual Documentation
Loading...
Searching...
No Matches
__init__.py
Go to the documentation of this file.
1"""
2ZLayout - Advanced Electronic Design Automation Layout Library
3
4A high-performance 2D/3D layout processing library optimized for EDA applications.
5Features quadtree spatial indexing, efficient polygon processing, and advanced
6geometric analysis for electronic circuit layout optimization.
7
8Now includes a flexible component system with database-stored components and
9class-based logic circuits for comprehensive EDA design workflows.
10"""
11
12__version__ = "0.1.0"
13__author__ = "ZLayout Team"
14
15# Core geometry and spatial analysis
16from .geometry import Point, Rectangle, Polygon
17from .spatial import QuadTree, SpatialIndex
18from .analysis import PolygonAnalyzer, GeometryProcessor
19
20# Component system
21from .component_db import ComponentDatabase, ComponentSpec
22from .logic_circuits import (
23 FlipFlop, Counter, ProcessorFSM, StateMachine,
24 SequentialLogic, Signal, LogicState
25)
26from .component_interface import (
27 ComponentManager, ComponentInterface, ComponentType, ComponentCategory,
28 DatabaseComponent, LogicComponent, ComponentFactory,
29 create_component_manager, create_resistor, create_capacitor,
30 create_flipflop, create_counter
31)
32
33# Import visualization only if matplotlib is available
34try:
35 from .visualization import LayoutVisualizer
36 _has_visualization = True
37except ImportError:
38 _has_visualization = False
39 LayoutVisualizer = None
40
41__all__ = [
42 # Core geometry and spatial
43 'Point', 'Rectangle', 'Polygon',
44 'QuadTree', 'SpatialIndex',
45 'PolygonAnalyzer', 'GeometryProcessor',
46
47 # Component system
48 'ComponentDatabase', 'ComponentSpec',
49 'FlipFlop', 'Counter', 'ProcessorFSM', 'StateMachine',
50 'SequentialLogic', 'Signal', 'LogicState',
51 'ComponentManager', 'ComponentInterface', 'ComponentType', 'ComponentCategory',
52 'DatabaseComponent', 'LogicComponent', 'ComponentFactory',
53 'create_component_manager', 'create_resistor', 'create_capacitor',
54 'create_flipflop', 'create_counter'
55]
56
57if _has_visualization:
58 __all__.append('LayoutVisualizer')