Circuitjs 分支电路(子电路, subcircuit)功能简介

news2024/11/16 0:00:04

在 circuitjs 中, 可以使用 分支电路 来实现自定义的"黑盒"器件.

分支电路 也称为 子电路(subcircuit).

因为菜单上已经叫成了 分支电路, 以下均称为 分支电路.

通过分支电路, 可以实现对电路的封装与抽象, 从而达到模块化并简化电路的目的. 更进一步的, 被抽象的黑盒电路还可以继续的参与进一步的抽象与封装, 也即它们是具备 闭包性质 的, 循环往复, 可以以此构建出极为复杂的电路.

视频简介: Circuitjs 分支电路(子电路, subcircuit)功能简介

创建分支电路

下面以一个具体的例子来说明如何去创建一个分支电路.

电路原型

如下一个由四个 与非门 构成的电路, 其功能如下:

如果输入是相同的, 比如同为 0 或同为 1, 则输出为 0;

如果输入是不同的, 比如 0, 1 或 1, 0, 则输出为 1.

另: 截图为旧网址, 新的网址为 https://cc.xiaogd.net/, 下同

circuitjs 分支电路 subcircuit 原型

显然, 如果你了解数字电路, 这其实就是所谓的 异或门.

在确定它的功能达到我们的要求后, 先删除那些测试的逻辑输入输出, 只留下最终的电路.

添加标记节点

下一步是标识出所有的输入/输出, 此步骤通过 添加标记的节点 功能实现, 在"菜单–绘制–输出和标签–添加标记的节点"下:

circuitjs 分支电路 subcircuit 添加标记的节点

拖动以增加标记节点, 并与输入输出的端点相连:

circuitjs 分支电路 subcircuit 增加标记节点后的电路

所有标记的节点默认的名称均为 label, 通过双击这些节点, 在弹出的属性调整窗口中, 一一改为所希望的名称(尽量简短):

circuitjs 分支电路 subcircuit 修改标记节点名称

最终效果如下, 输入端名称为 A 和 B, 输出端为 O:

circuitjs 分支电路 subcircuit 标记后的结果

标记内部节点

如果要在分支电路定义中使用带标记的节点, 但又不想让它们成为输入/输出之一, 则请勾选那些带标签的节点的编辑菜单中的"内部节点"复选框.

circuitjs 分支电路 subcircuit 内部节点

注意: 如果电路存在多余的没有被标记的端点, 创建分支电路时可能会存在异常.

所以, 哪怕是不用对外提供的端点, 你可能依然需要通过"内部节点"去标识它们.

在上述例子中, 没有使用到内部节点.

设置分支电路引脚, 高宽, 名称

然后, 选择"菜单–文件–创建分支电路", 弹出以下窗口:

circuitjs 分支电路 subcircuit 创建分支电路窗口

通过拖动节点可以重新排列引脚:

circuitjs 分支电路 subcircuit 拖动节点排列引脚 gif

注意: 拖动时, 如果发现拖不动或没有效果, 则鼠标光标可以适当移出到模型框线外面一点.

引脚可以是左右或是上下朝向.

如果没有足够的空间供调整, 可以通过单击 宽度 和 高度 旁边的 + 号增加高度和宽度:

circuitjs 分支电路 subcircuit 增加模型高度和宽度 gif

最后, 调整完成后, 可以通过单击 宽度 和 高度 旁边的 - 号减小不必要的高度和宽度.

当然, 你也可以不缩小模型框的最终大小, 但适当保持紧凑会好一点, 后面使用它时也不用占那么大的地方.

引脚位置和宽高调整完成后, 在 模型名称 中输入模型名称, 然后单击"确定".

circuitjs 分支电路 subcircuit 输入模型名称

这将加载子电路模型.

注: 请记得保存该分支电路实现, 否则以后将无法对其进行再次编辑(修改).

使用分支电路

现在, 您可以使用分支电路模型创建电路. 用鼠标右键单击, 然后选择"有源集成电路–添加分支电路实例"项.

circuitjs 分支电路 subcircuit 有源集成电路--添加分支电路实例

或是通过 “菜单–绘制–有源集成电路–添加分支电路实例” 添加.

然后单击并拖动以创建实例.

circuitjs 分支电路 subcircuit 拖动创建实例 gif

注: 连续拖动可以创建多个实例, 如果不再需要创建, 按快捷键 Esc 退出添加状态.

如果创建有多个分支电路模型, 可以通过编辑实例, 然后在弹出窗口的 模型名称 下拉窗口中选择所需的模型.

circuitjs 分支电路 subcircuit 选择模型

默认情况下, 它将使用您刚创建的模型.

当您保存/加载该电路时, 它还将保存/加载分支电路模型, 因此您可以在其他电路中使用它.

另外, 在创建实例后, 你还可以再度编辑模型. 通过在模型实例上 “右键–编辑–编辑模型”:

circuitjs 分支电路 subcircuit 编辑模型

之后, 会再度弹出前述创建分支电路时弹出的窗口, 你可以再度调整引脚位置, 模型高宽.

注意: 如果创建了多个模型实例, 此调整将影响所有已创建的实例!

重新封装现有模块以改变引脚位置

有时候, 有些模块是 app 中已经封装好的, 但它的引脚位置布局可能不是你希望的, 这时您还可以使用分支电路来重新排列内置芯片上的引脚.

选取部分电路来创建分支电路

默认情况, 创建分支电路会使用当前画布上的所有电路.

如果在使用"文件–创建分支电路"之前选择了电路的一部分, 则仅所选元素将被视为分支电路的一部分.

多窗口中使用多个分支电路

虽然在一个窗口(画布)中也可以创建多个分支电路, 但添加实例时缺省都是最后创建的, 多个模型的情况下, 你需要再度编辑模型名称才能调整为其它先前添加的模型的实例.

为清晰起见, 你可以打开多个浏览器窗口, 不同的分支电路在不同的窗口中去创建, 然后拖动生成相应的实例.

最后, 这些实例均支持跨窗口拷贝(粘贴), 因此你也可以通过这种方式将多个分支电路实例整合到一起.

关于 circuitjs 分支电路功能的介绍就到这里.

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Apache Paimon V0.9最新进展

摘要:本文整理自 Paimon PMC Chair 李劲松老师在 8 月 3 日 Streaming Lakehouse Meetup Online(Paimon x StarRocks,共话实时湖仓架构)上的分享。主要分享 Apache Paimon V0.9 的最新进展以及遇到的一些挑战。 一、Paimon&#x…

无人系统特刊合集(二)丨Springer特刊推荐

期刊推荐 期刊征稿:JOURNAL OF INTELLIGENT & ROBOTIC SYSTEMS Journal of Intelligent & Robotic Systems是一本同行评议的期刊,致力于智能系统和机器人技术的理论和实践。 专注于无人系统、机器人和自动化以及人机交互等领域。 在每期中都包…

天猫 登录滑块 淘系滑块分析

声明: 本文章中所有内容仅供学习交流使用,不用于其他任何目的,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关 前言 玩了几天现在才有空研究轨迹直接用了之前的…

日志组件导致的内存溢出问题分析

1、 内存溢出日志 普通的http请求,导致堆内存直接溢出,看了下代码实现非常简单的一次DB查询且数据量也比较小,不可能导致内存溢出呢 java.lang.OutOfMemoryError: Java heap space at java.util.Arrays.copyOf(Arrays.java:3332) at…

网上花店设计+vue

TOC ssm017网上花店设计vue 绪论 1.1 选题背景 网络技术和计算机技术发展至今,已经拥有了深厚的理论基础,并在现实中进行了充分运用,尤其是基于计算机运行的软件更是受到各界的关注。计算机软件可以针对不同行业的营业特点以及管理需求&a…

CSS3页面布局-三栏-中栏流动布局

三栏-中栏流动布局 用负外边距实现 实现三栏布局且中栏内容区不固定的核心问题就是处理右栏的定位&#xff0c; 并在中栏内容区大小改变时控制右栏与布局的关系。 控制两个外包装容器的外边距&#xff0c;一个包围三栏&#xff0c;一个包围左栏和中栏。 <!DOCTYPE html&…

计算机毕业设计 在线问诊系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

&#x1f34a;作者&#xff1a;计算机编程-吉哥 &#x1f34a;简介&#xff1a;专业从事JavaWeb程序开发&#xff0c;微信小程序开发&#xff0c;定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事&#xff0c;生活就是快乐的。 &#x1f34a;心愿&#xff1a;点…

海运整箱成本与拼箱成本对比 | 国际贸易服务平台 | 箱讯科技

整箱和拼箱 在集装箱运输业务中&#xff0c;我们把一个集装箱、一个出口人、一个收货人、一个目的港&#xff0c;满足这“四个一”条件的货物叫做整箱货&#xff0c;而把一个集装箱、出口人、收货人和目的港这三项之中只要有一项是在两个或两个以上的出口运输货物&#xff0c;就…

批量将labelme的json文件转为png图片查看

文章目录 前提修改 l a b e l m e labelme labelme然后你就可以在这个环境下用代码批量修改了 前提 安装anaconda或者miniconda安装labelme 修改 l a b e l m e labelme labelme 查看labelme所处环境的路径&#xff1a;conda info --envs 比如我的是在py39_torch里面 修改la…

Anki自动生成语音

文章目录 前言安装插件制作音频一些注意事项语音消失现象不同端出现媒体文件丢失 参考文章 前言 已经实现了通过使用Obsidian实现Anki快速制卡。 对于语言学习&#xff0c;仅仅只有不同语言文字的对照是不够的&#xff0c;我们还需要声音。 所以就需要加入音频。 幸好 Anki…

laravel “Class \“Redis\“ not found“ 如何解决?

laravel “Class “Redis” not found” 如何解决 问题&#xff1a;laravel 安装好后&#xff0c;运行报错提示&#xff1a;“Class “Redis” not found” 分析&#xff1a;程序并没有用到redis&#xff0c;百度了一下&#xff0c;初步锁定可能是php环境的原因&#xff0c;运…

【数字ic自整资料】存储器及不同端口RAM对比

参考资料 【FPGA】zynq 单端口RAM 双端口RAM 读写冲突 写写冲突_双口ram-CSDN博客 华为海思数字芯片设计笔试第五套_10、下列不属于动志数组内建函数的是: a lengtho b. new c. delete() d-CSDN博客 目录 1、计算器典型存储体系结构 2、三种不同端口RAM &#xff08;1&…

钢包智慧管理平台

钢包智慧管理平台基于海康、大华视频监控&#xff0c;实现对钢包的全动态管理&#xff0c;实时检测钢包的温度数据变化&#xff0c;也可以随时查询时间区间内的钢包温度数据变化。 平台基于springboot vue前后台分离技术开发&#xff0c;视频基于zlmedia的转码拉流。实现了视频…

嵌入式学习day33

tcp的特点 面向字节流特点&#xff0c;会造成可能数据与数据发送到一块&#xff0c;成为粘包&#xff0c;数据之间不区分 拆包 因为缓冲区的大小&#xff0c;一次性发送的数据会进行拆分&#xff08;大小不符合的时候&#xff09; 就和水一样一次拆一次沾到一块&#xff0c…

快速入门Spring

目录 为什么要学Spring&#xff1a; Spring框架诞生的背景&#xff1a; Spring是什么&#xff1a; 接下来我们就要解决Spring怎么用这个问题 BeanFactory快速入门 IOC思想的体现 BeanFactory快速入门 DI思想的体现 开始学Spring时我们要了解以下几个问题 为什么要学习Sp…

深入理解滑动窗口算法及其经典应用

文章目录 什么是滑动窗口&#xff1f;经典题型分析与讲解**1. 长度最小的子数组****2. 无重复字符的最长子串****3. 最长重复子数组****4. 将x减到0的最小操作数**5. 水果成篮 (LeetCode 904)6. 滑动窗口最大值 (LeetCode 239)7. 字符串中的所有字母异位词 (LeetCode 剑指 Offe…

SAP S4HANA 2023 FPS01 FAA虚拟机发布了

SAP S4HANA 2023 FPS01 FAA虚拟机发布了。 系统不再需要修改虚拟机日期了&#xff0c;提供最高长达三年的许可&#xff0c;业务财务做账都是真实的时间&#xff01; 该虚拟机版本优点&#xff1a; 新版的一键启动脚本&#xff0c;3分钟就能启动完成。 内存加载 80GB 就可以启动…

二叉树检验:算法详解

问题描述 /** 检查二叉树是否为有效的二叉搜索树有效的二叉搜索树满足左子树的节点值都小于根节点值&#xff0c;右子树的节点值都大于根节点值并且左右子树也必须是有效的二叉搜索树param root 二叉树的根节点return 如果二叉树是有效的二叉搜索树&#xff0c;则返回true&…

当AI成为你的私人医生,与AI“医”路同行的奇妙体验

“ 从挂号到诊疗&#xff0c;再到后续的健康管理&#xff0c;人工智能&#xff08;AI&#xff09;正以一种全新的方式融入我们的生活。上海市第一人民医院的创新实践&#xff0c;便是这一变革的生动注脚。 ” AI就医助理&#xff1a;从“助手”到“伙伴” 当你踏入医院大门…