laylight tour
0/25
3/4

Markers and ports · 3 of 4

Several locations

A marker can hold several locations. List them in a block after at; they are numbered from 0 in the order written:

marker {
    output {
        at {
            out1.right_center
            out2.right_center
        }
        with {
            type = "waveguide"
            direction = "output"
        }
    }
}

with has a block form too, one attribute per line; its attributes apply to all the locations. From outside, the two locations above are s.marker.output[0] and s.marker.output[1].

A cell built from instances usually exports some of their ports as its own: its markers sit on ports of its instances. at accepts any point, including a port of an instance:

marker {
    input { at s.marker.input[0] with type = "waveguide", direction = "input" }
}

Exercise

In Fanout, attach a Waveguide to each output of the splitter s. Then export the ports: input at the input of the splitter, and one marker output with two locations, the far ends of the upper and the lower waveguide (in that order). Give them the attributes of the splitter's ports.

loading compiler…

Edit the code, watch the layout, then press Submit to check your solution against the exercise.

Compiling…