diff --git a/README.md b/README.md index dd27da4..c0b15cc 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,88 @@ # mxpic_EDA The EDA coding for the layout for optihk # requirements -flask \ No newline at end of file +flask + +# Frontend - backend GDS bridge +Each canvas in the fronend should create a same name **.yaml** file. +This **.yaml** should contain the following parts. + +- basic description : name, type, version +- ports : the output connection ports for this canvas object +- instances : the instance objects from **PDK** or other **canvas**, together with their **x, y, a, mirror** informations. +- bundles : 1-1 or N-N conenctions that used for auto routing. "***This***" refers to the canvas ports. + +``` +[ Project Canvas ] + │ (Contains instances of Component A and Component B) + ▼ +[ Component A Canvas ] + │ (Contains instances of DC_2x2 and Ubend) + ▼ +[ PDK Primitives ] ──> (Loads raw .gds + physical port data .yml) +``` + +``` yaml +# ========================================== +# mxPIC Cell/Project Definition File +# ========================================== +name: MMI_Splitter_Module # Name of this cell/component/project +type: composite # "primitive" (PDK base) or "composite" (hierarchical) +version: "1.0.0" + +# 1. External Ports (How this cell connects to the outside world) +ports: + - name: in0 + layer: WG_CORE + x: 0.0 + y: 0.0 + angle: 180.0 + width: 0.5 + - name: out0 + layer: WG_CORE + x: 100.0 + y: 10.0 + angle: 0.0 + width: 0.5 + - name: out1 + layer: WG_CORE + x: 100.0 + y: -10.0 + angle: 0.0 + width: 0.5 + +# 2. Instances (The sub-components dropped onto this canvas) +instances: + mmi_inst1: + component: MMI_2x2 # References another PDK cell or composite YAML + x: 20.0 # Placement origin X + y: 0.0 # Placement origin Y + rotation: 0.0 # Rotation angle in degrees + mirror: false # True/False for layout mirroring + settings: # Local parameter overrides if parametric + length: 25.5 + + ubend_top: + component: Ubend + x: 60.0 + y: 5.0 + rotation: 0.0 + mirror: false + + ubend_bottom: + component: Ubend + x: 60.0 + y: -5.0 + rotation: 0.0 + mirror: true # Flipped for symmetrical routing + +# 3. Bundles (Grouped links for multi-bus/parallel routing) +bundles: + output_bus: + routing_type: euler_bend # Metadata for the backend router + links: + - from: ubend_top:out0 + to: this:out0 + - from: ubend_bottom:out0 + to: this:out1 +``` diff --git a/web_pages.pptx b/web_pages.pptx index ae8d7f2..6264269 100644 Binary files a/web_pages.pptx and b/web_pages.pptx differ diff --git a/~$web_pages.pptx b/~$web_pages.pptx deleted file mode 100644 index 3c67170..0000000 Binary files a/~$web_pages.pptx and /dev/null differ