Update to github version
This commit is contained in:
@@ -7,6 +7,7 @@ This is the fast-track guide to contributing to **mxPIC**. Adherence to these ru
|
||||
### <span style="color: #ff57c7;">0. Installation dependencies</span>
|
||||
- python 3.10.1
|
||||
- nazca 0.5.13
|
||||
- build 1.4.4
|
||||
- gdstk 1.0.0
|
||||
- numpy 1.22.3
|
||||
- pandas 1.3.3
|
||||
@@ -16,15 +17,12 @@ This is the fast-track guide to contributing to **mxPIC**. Adherence to these ru
|
||||
- myst-parser 3.0.1
|
||||
- sphinx-rtd-theme 3.1.0
|
||||
|
||||
```
|
||||
pip install sphinx myst-parser sphinx-rtd-theme gdstk==1.0.0
|
||||
```
|
||||
|
||||
## <span style="color: #ff57c7;">1. File & architecture</span>
|
||||
The repository have an archtecture like this.
|
||||
|
||||
```
|
||||
mxpic_forge/
|
||||
mxpic/
|
||||
├── primitives/
|
||||
│ ├── edge_couplers/
|
||||
│ │ └── EC_dual_layer_px3.py
|
||||
@@ -42,10 +40,8 @@ mxpic_forge/
|
||||
├── others/
|
||||
├── structures/
|
||||
├── routing/
|
||||
├── foundries/
|
||||
└── docs/
|
||||
└── source/
|
||||
└── conf.py
|
||||
└── foundries/
|
||||
|
||||
```
|
||||
|
||||
## <span style="color: #ff57c7;">2. Annotation & Documentation</span>
|
||||
@@ -84,6 +80,7 @@ The devices are divided into four major types, which is <span style="color: #d2a
|
||||
In the definitial of classes, compulsary keys are required, including **name** , **show_pins** , all defaults are None.
|
||||
All classes are cored at the **cell** class of **nazca**, which is generated through an internal method named "generate_gds"
|
||||
|
||||
|
||||
``` python
|
||||
class GratingCoupler():
|
||||
def __init__(self,name:"str"=None,....,show_pins:bool=None)
|
||||
@@ -98,6 +95,12 @@ class GratingCoupler():
|
||||
|
||||
return C
|
||||
```
|
||||
Please not that each class can be directly generated without any argument input which requires all the arguements to have default values, example below :
|
||||
|
||||
``` python
|
||||
grating = GratingCoupler()
|
||||
```
|
||||
|
||||
---
|
||||
## <span style="color: #ff57c7;">4. Port information formatting</span>
|
||||
The basic routing algorthium is based the information between nodes, which is the **pin** attribute inside each file. The formatting of **pin** name will be important.
|
||||
|
||||
Reference in New Issue
Block a user