Forum Replies Created

Viewing 12 posts - 1 through 12 (of 12 total)
  • Author
    Posts
  • in reply to: Euler bends automatic and non automatic routing #7302
    Katarzyna
    Keymaster

    Hi Denis,

    You might try cobra_p2p() or set ‘N’ along with the interconnects for routing automation. For example:

    import nazca as nd
    import nazca.demofab as demo

    a1 = demo.deep.strt(10).put(0,0)
    a2 = demo.deep.strt(10).put(300, 100, 180)
    a3 = demo.deep.cobra_p2p(a1, a2, N=10).put()
    demo.deep.euler_arc_euler(N=5).put(a3.pin[‘b4’])

    nd.export_gds()

    Katarzyna

    • This reply was modified 4 months, 2 weeks ago by Katarzyna.
    in reply to: Pins not rotating with cell #7298
    Katarzyna
    Keymaster

    The Nazca Cell would typically have predefined Pins and their exact (x,y,a) coordinates.
    This tutorial may help: nazca-design.org/make_a_cell_put_a_cell/
    For example:

    import nazca as nd
    import nazca.demofab as demo

    with nd.Cell(name=’cellA’) as cellA:
    demo.shallow.strt(10).put(0)
    nd.Pin(name=’a1′).put(0, 0, 0)

    cellA.put(‘a1’)

    nd.export_gds()

    If you wish to rotate the cell, you would simply put it at the angle; the pin coordinates inside the Cell remain:

    cellA.put(‘a1′, 0, 0, 30)

    You can rotate the pin inside the cell:

    with nd.Cell(name=’cellA’) as cellA:
    demo.shallow.strt(10).put(0)
    nd.Pin(name=’a1′).put(0, 0, -30)

    cellA.put(‘a1’)

    To ‘force’ pin rotation as a parameter, you may use a function, example:

    def cellA_func(cell_rotation=-30):
    with nd.Cell(name=’cellA’) as cellA:
    demo.shallow.strt(10).put(0)
    pin1 = nd.Pin(name=’a1′).put(0, 0, cell_rotation)
    return cellA

    cellA_func(cell_rotation=-30).put(‘a1’)

    in reply to: Discontinuities while drawing curves on Nazca #7297
    Katarzyna
    Keymaster

    These are bend-straight waveguide offsets, a common feature in photonics:
    pure.tue.nl/ws/files/4294122/590296.pdf

    You can either create your own interconnect without offsets:
    tutorial: nazca-design.org/xsections_and_layers/,

    or set demo.shallow.offset = 0, for example:

    import nazca as nd
    import nazca.demofab as demo

    demo.shallow.strt(100).put()
    demo.shallow.bend().put()

    demo.shallow.offset = 0
    demo.shallow.strt(100).put(0, 100)
    demo.shallow.bend().put()

    nd.export_gds()

    in reply to: How to use “demofab_klayout_colors.lyp” #7294
    Katarzyna
    Keymaster

    The demofab_klayout_colors.lyp file can be downloaded here:
    https://nazca-design.org/dist/demofab_klayout_colors.lyp

    Simply drag and drop it into KLayout.

    To add it permanently to your KLayout technologies, check-out:
    nazca-design.org/manage-klayout-technologies/
    and https://www.klayout.de/doc/about/technology_manager.html

    Katarzyna

    • This reply was modified 4 months, 2 weeks ago by Katarzyna.
    • This reply was modified 4 months, 2 weeks ago by Katarzyna.
    in reply to: 1×8 splitter design realized with Y-branch channel #6986
    Katarzyna
    Keymaster

    Hi Rasel,

    There is an example in ‘Nazca – Getting Started’ on how to create a layout of an 1×8 splitter.
    Check out: https://nazca-design.org/manual/getting_started.html
    and scroll down to ‘6. Creating a parameterized building block’.

    Regards,
    Katarzyna

    in reply to: Downloading Nazca on Mac #6816
    Katarzyna
    Keymaster

    Hi Arhastran,

    Nazca Design is not yet in the pip repositories. Nazca 2.0.2 is another package.
    Thus “pip install nazca” installs a package unrelated to Nazca Design.

    You’ll need the zip from the Nazca Design download site.
    The current version is 0.5.13: https://nazca-design.org/dist/nazca-0.5.13.zip
    After downloading, try: “pip install nazca-0.5.13.zip”

    Regards,
    Katarzyna

    in reply to: How to use edges #5510
    Katarzyna
    Keymaster

    Hi Jannis,

    You can use the edge parameters to vary the waveguide width.
    Here is an example:

    import nazca as nd
    import math as m
    
    nd.strt(
        length=20,
        width=2,
        layer=1,
        edge1=lambda x: 1+x**10,
        edge2=lambda x: 1+m.sin(10*x)).put()
    
    nd.export_gds()

    Regards,
    Katarzyna

    in reply to: Color issues with Klayout on Windows 10 #5480
    Katarzyna
    Keymaster

    Dear YaohuiC,

    The issue you describe is related to a KLayout setting.
    To see the fill colors and stipples deselect: KLayout / View / Show Layers Without Fill.

    Regards,
    Katarzyna

     

    in reply to: Vector graphic to GDS #5254
    Katarzyna
    Keymaster

    Dear Rastko,

    You can convert an .eps file to a .gds using the Nazca image() function. The Nazca image() gives also flexibility in adapting: a size, a pixelsize and a threshold for a more desired outcome.
    For now, all file formats supported by Pillow – Python Imaging Library can be converted to a .gds file.

    Best regards,
    Katarzyna

    in reply to: Building block from a gds file #5125
    Katarzyna
    Keymaster

    Dear lorenzo_btbw,

    You can change the layer number of an imported GDS by using a ‘layermap’ argument.
    ‘layermap’ maps the original layer to a new layer. Omitted layers will not be changed.

    For example, you can change layer #1 from a loaded GDS to layer #10 using the following syntax:

    import nazca as nd
    
    nd.load_gds(
        ...
        layermap={1:10},
        ...)
    

    Katarzyna

    in reply to: which PDKs are available ? #5124
    Katarzyna
    Keymaster

    Dear winniepic,

    So far we support commercially PDKs from SMART Photonics and Fraunhofer HHI.
    There is also a PDK in Nazca for the IMOS technology from TU Eindhoven.

    We keep developing and testing other PDKs, incl. Lionix and imec fabs. As soon as the PDKs and related process-flow are finalized we will add them to the Market. For now we do not have a definite date for that.

    Best regards,
    Katarzyna

    in reply to: GDS to SVG #5022
    Katarzyna
    Keymaster

    Dear Isa,

    You can export to SVG format using the following Nazca syntax:

    import nazca as nd
    
    nd.export_svg()
    

    Katarzyna

Viewing 12 posts - 1 through 12 (of 12 total)