luceda ipkiss教程 70:合并GDS版图

通过代码拼版:
在这里插入图片描述
所有代码如下:

from si_fab import all as pdk
from ipkiss3 import all as i3

class Design1(i3.GDSCell):

    def _default_filename(self):
        return "Ring_Test.gds"

    def _default_name(self):
        return "Design1"

class Design2(i3.GDSCell):

    def _default_filename(self):
        return "routed_opa.gds"

    def _default_name(self):
        return "Design2"

class Design3(i3.GDSCell):

    def _default_filename(self):
        return "SplitterTree2Levels.gds"

    def _default_name(self):
        return "Design3"

class Chip(i3.PCell):

    def _default_name(self):
        return "My_Chip"

    unprefixed_library = i3.DefinitionProperty(doc="The names of the cells that are unprefixed")

    def _default_unprefixed_library(self):

        l = i3.Library(name="unprefixed_library")
        l.add(pdk.MMI1x2Optimized1550())
        l.add(pdk.FC_TE_1550())

        return l

    class Layout(i3.LayoutView):

        def _generate_instances(self, insts):

            frame = pdk.Template2500x1250()
            frame_lv = frame.Layout()

            design1 = Design1(unprefixed_library=self.unprefixed_library)
            design1_lv = design1.Layout()

            design2 = Design2(unprefixed_library=self.unprefixed_library)
            design2_lv = design2.Layout()

            design3 = Design3(unprefixed_library=self.unprefixed_library)
            design3_lv = design3.Layout()

            insts += i3.SRef(
                reference=frame_lv,
                position=(0, 0),
                name="frame"
            )

            insts += i3.ARef(
                reference=design1_lv,
                n_o_periods=(1, 12),
                period=(0, 100),
                origin=(100, 50),
                name="ring"
            )


            insts += i3.SRef(
                reference=design2_lv,
                position=(800, 750),
                name="opa"
            )

            insts += i3.ARef(
                reference=design3_lv,
                n_o_periods=(4, 3),
                period=(500, 200),
                origin=(600, 80),
                name="SplitterTree"
            )

            return insts


if __name__ == '__main__':

    chip = Chip()
    chip_lv = chip.Layout()
    chip_lv.write_gdsii("merged_chip.gds")

注意:运行该代码需要三个待拼版的gds文件

不需要加后缀的器件,可以加入到:

    def _default_unprefixed_library(self):

        l = i3.Library(name="unprefixed_library")
        l.add(pdk.MMI1x2Optimized1550())
        l.add(pdk.FC_TE_1550())

        return l

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/616615.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

出现Duplicate key

解决: 第一种情况: 添加一个字段prjId ,和数据库表映射时,映射的字段存在映射关系了。 将第二个 TableField中的prj_num改成prj_id 即可。 第二种情况: 转成map的形式时:key重复了,不知道把值赋…

计算机视觉——基于改进UNet图像增强算法实现

1. 引言 在低光照条件下进行成像非常具有挑战性,因为光子计数低且存在噪声。高ISO可以用来增加亮度,但它也会放大噪声。后处理,如缩放或直方图拉伸可以应用,但这并不能解决由于光子计数低导致的低信噪比(SNR&#xff…

Swift 字符串和字符

字符串和字符 一、字符串字面量1、多行字符串字面量2、字符串字面量的特殊字符3、扩展字符串分隔符 二、初始化空字符串三、字符串可变性四、字符串是值类型五、使用字符六、连接字符串和字符七、字符串插值八、Unicode1、Unicode 标量2、可扩展的字形群集 九、计算字符数量十、…

搭建nacos集群

1.修改nacos/conf/application.properties 2.在数据库中执行nacos/conf/nacos-mysql.sql脚本 3.修改nacos/conf/cluster.conf文件 4.修改startup.sh文件模式为集群 5.启动服务 附:安装nginx 修改/usr/local/openresty/nginx/conf/nginx.confi文件 http{}中增加如下…

关于一致性,你该知道的事儿(上)

关于一致性,你该知道的事儿(上) 前言一、缓存一致性二、内存模型一致性三、事务一致性四、分布式事务一致性4.1 分布式系统的一些挑战4.2 关于副本的一些概念4.3 分布式事务之共识问题4. 3.1 PC(two-phase commit, 2PC)4.3.2 Raft 三、后记参…

地理加权回归模型——一种局部的空间回归分析方法

地理加权回归(GWR)是一种局部的空间回归分析方法,它允许模型参数在空间上变化,从而能够捕捉到空间数据的局部空间非平稳性。GWR模型的基本思想是在回归分析中引入空间权重,使得模型能够根据地理位置的邻近程度对观测值…

手写Windows文件路径获取小工具

手写Windows文件路径获取小工具 目的 给Windows右键增加功能,右键任何文件(夹)显示复制文件路径的扩展。 效果展示 实现思路 右键调用,自身会把文件路径传递给被调用文件,被调用文件内只需将路径参数复制到剪贴板即…

Qt---窗口系统

一、QMainWindow QMainWindow是一个为用户提供主窗口程序的类,包含一个菜单栏(menu bar)、多个工具栏(tool bars)、多个锚接部件(dock widgets)、一个状态栏(status bar)及一个中心部件(central widget) 1. 菜单栏(最多有一个) QMenuBar *bar…

Chromium编译指南2024 Windows11篇-编译前的准备工作和Visual Studio安装(一)

前言 在这个数字化快速发展的时代,浏览器不仅是我们获取信息的窗口,更是开发者表达创意和技术实力的舞台。 Chromium是由Google于2008年发起的开源浏览器项目,致力于为用户提供更快、更安全、更稳定的网页浏览体验。 其作为开源浏览器项目…

团结引擎+OpenHarmony 3 通信

团结引擎和鸿蒙之间通信 因为 ts 并没有像 JAVA 有反射的调用,所以我们必须要像 Web GL 平台一样通过导出的行为告诉引擎到底哪些 ts 的接口可以给 C# 来调用。 1 在 Tuanjie 引擎里 需要一个tsllib文件,用于设置给导出对象 C#使用。就可以直接创建以 …

基于大模型的idea提炼:围绕论文和引用提炼idea之ResearchAgent

前言 对本博客比较熟悉的朋友知道,我司论文项目组正在基于大模型做论文的审稿(含CS英文论文审稿、和金融中文论文审稿)、翻译,且除了审稿翻译之外,我们还将继续做润色/修订、idea提炼(包含论文检索),是一个大的系统,包…

C# 统计代码运行时长

using System; using System.Collections.Generic; using System.Diagnostics; using System.IO; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; using System.Windows.Forms;namespace Sci {/// <summary>/// 统计代码…

如何通过iptables配置URL过滤黑名单?

正文共&#xff1a;1555 字 16 图&#xff0c;预估阅读时间&#xff1a;2 分钟 我们前面曾经简单介绍过URL过滤功能&#xff08;URL过滤功能了解一下&#xff1f;&#xff09;&#xff0c;并且以H3C VFW为例简单配置了一下URL过滤功能。 首先回顾一下&#xff0c;URL过滤&#…

若依微服务docker-compose 启动

docker-compose 文件 version : 3 services: ruoyi-nacos: container_name: ruoyi-nacos image: nacos/nacos-server build: context: ./nacos environment: - MODEstandalone volumes: - ./nacos/logs/:/home/nacos/logs - ./n…

【linux-IMX6ULL-定时器-GPT-串口配置流程-思路】

目录 1. 定时器配置流程1.1 EPIT定时器简介1.2 定时器1(epit1)的配置流程1.3 配置代码(寄存器版本)1.4 定时器-配合按键消抖1.4.1 实现原理1.4.2 代码实现&#xff08;寄存器版&#xff09; 2. GPT定时器实现高精度延时2.1 延时原理分析2.2 代码实现 3. UART串口配置流程3.1 UA…

Kafka的安装及接入SpringBoot

环境&#xff1a;windows、jdk1.8、springboot2 Apache KafkaApache Kafka: A Distributed Streaming Platform.https://kafka.apache.org/ 1.概述 Kafka 是一种高性能、分布式的消息队列系统&#xff0c;最初由 LinkedIn 公司开发&#xff0c;并于2011年成为 Apache 顶级项目…

Datax数据采集

一、Datax介绍 官网&#xff1a; DataX/introduction.md at master alibaba/DataX GitHub DataX 是阿里云 DataWorks数据集成 的开源版本&#xff0c;在阿里巴巴集团内被广泛使用的离线数据同步工具/平台。 DataX 实现了包括 MySQL、Oracle、OceanBase、SqlServer、Postgre、…

# ERROR: node with name “rabbit“ already running on “MS-ITALIJUXHAMJ“ 解决方案

ERROR: node with name “rabbit” already running on “MS-ITALIJUXHAMJ” 解决方案 一、问题描述&#xff1a; 1、启动 rabbitmq-server.bat 服务时&#xff0c;出错 Error 2、查询 rabbitmqctl status 状态时&#xff0c;出错 Error 3、停止 rabbitmqctl stop 服务时&a…

探索人类意识的多样性:从安全感到语感、节奏感的差异

在我们的日常生活中&#xff0c;人类意识表现出多种多样的特点&#xff0c;这些特点往往与个体的天生禀赋和生活经历密切相关。从安全感到语感、节奏感&#xff0c;每个人的表现都有所不同。今天&#xff0c;让我们一起来探索这些差异&#xff0c;感受人类意识的多样性。 首先&…