问题标签 [circuit-diagram]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
cad - 电路制造商 - 手动定义电路板尺寸
几天来一直在测试Circuitmaker。由于我是 EAGLE 的前用户,我很难弄清楚某些基本功能。对我来说最重要的是电路板尺寸定义。是否可以仅通过输入实际尺寸来定义电路板尺寸,然后将电路板尺寸设置为这些值?我知道通过线条等定义形状的方法,但我只想输入一些数字并据此设置电路板。有没有简单的方法可以做到这一点?
问候,卢卡斯
verilog - Verilog中的BitSet电路
一种特定类型的位级操作包括在给定索引和新值的情况下设置或清除多位值中的单个位。此操作可以通过具有以下接口的 BitSet 电路在硬件中实现:
- 输入 x 是一个 4 位值,表示原始值。
- 输出 y 是一个 4 位值,表示在位设置操作之后的修改值。
- 输入索引是一个 2 位的值,范围从 0 到 3,表示要修改的位的索引。
- 输入值是设置为 0 或 1 的 1 位值,表示位索引应在输出 y 中取的值。y 中的每个其他位都应与 x 中的相应位匹配。
这是我从课堂示例中获取的代码:
这是测试台:
编译时,我收到以下错误:
我什至不确定这是否可以满足我的要求,但是任何人都可以帮助解决错误或如何修复程序以执行要求的操作吗?
logic - 多路复用器变量的用途
我将使用变量 m(1,3,5,6,8,13) 实现一个 8 对 1 多路复用器。功能是:
我觉得我对多路复用器的工作原理有一个基本的了解,但是我不完全确定如何处理给出的数字。我用 ABCD 创建了一个真值表并将其插入到函数中。然后我根据输出创建了多路复用器。(我必须是:D',D',D',D,D,0,D',0)我唯一没有做的事情,我不知道该怎么做,是变量. 它们与函数和多路复用器有何关系?
circuit-diagram - 组合电路检测三个输入中最大的一个
使用 AND 和 OR 等组合电路,包括 MUX 和解码器,您如何设计一个具有 3 个 8 位输入且输出为 3 个输入中最大的电路的电路?
为了达到这样的结果,电路需要是什么样的?
circuit-diagram - 74LS148电路输出保持不变,无论输入
我正在尝试熟悉使用 74LS148 优先编码器 IC。我正在为 IC 提供一个 5 伏的恒流电压源,并且接地电压为 0 伏。我尝试将每个输入连接到 5 伏电源以将其设置为高逻辑状态,根据真值表,这应该在输出中给出高电平。然后尝试将一些输入设置为低,但这对保持在高状态的输出没有影响。
然后我尝试使用上拉电阻,其用途和电路配置对我来说并不完全清楚,我认为这是问题所在。我如下图所示连接了电阻,它应该在输出中提供高电平状态。然后我尝试将一些输入连同它们的电阻器连接到地。输出仍保持在 HIGH 状态,约为 4.3 伏。
我用另一个 74LS148 IC 重复了整个过程,以确保第一个工作正常。
我真的需要一点帮助。谢谢你们!
74LS148有以下真值表:
hardware - 如何设计一个仅使用与非门启用的 2-1 多路复用器?
所以,我设法设计了一些东西,但我需要确认,我真正的问题如下:
如何使用问题标题中设计的 2 个多路复用器(仅使用 NAND)以及我需要的任意数量的 NOR 门来设计 4-1 多路复用器?
总而言之,第一个问题:如何仅使用 Nand 门来设计 2-1。第二个问题:如何使用第一个问题的两个电路加上我需要的尽可能多的 NOR 门来设计 4-1。
谢谢
logic - 与电路相关的逻辑电平和开关方向
我是逻辑设计和电路的新手。我从学习资源中看到了两个图表,它们是电路应该操作 LED 灯,如下所示:
基于这两个图表,我试图了解每个必须打开 LED 灯的逻辑电平,以及必须关闭哪个开关才能打开灯。
据我了解,逻辑高电平对应二进制 1 表示开启,逻辑低电平对应二进制 0 表示关闭。我认为图A打开灯的逻辑电平为1,因为我认为电路当前处于0位置;图A的S1开关必须打开才能开灯;因为我认为电路当前处于 1 位置,所以图 B 的打开灯的逻辑电平将为 0;图B的S1开关必须打开才能开灯。
经过大量研究,我仍然不明白这两个图应该预测的逻辑电平,以及应该关闭以打开 LED 灯的开关。请原谅我对电路的基本理解,因为这是我第一次遇到电路图,我正在尝试学习这样的电路图。
.net - 多线程图遍历
我有一个代表大电路网络的图表。每条电线/设备都可以是“活动的”(它是 - 通过一些电线和设备的路径 - 连接到电源)或“不活动的”(它没有连接到电源)。没有对地线或电压进行建模。它要么是活跃的,要么是不活跃的。
有不同种类的设备。设备可以有任意数量的插头。插头通过电线将设备连接在一起。电线的确切布局并不重要。重要的是哪些插头连接在一起。
一些设备示例:
- 灯
用于方便地显示电路的某些状态。它有一个控制灯状态的插头。如下面的屏幕截图所示,活动设备和电线以红色显示,不活动以蓝色显示。 - 电源
始终处于活动状态。它有一个始终输出信号的插头。因此,连接到该插头的电线将始终处于活动状态,连接到该电线的设备也将变为活动状态。 - Input
表示与外界交互的某种方式。可以由运行模拟的进程设置为活动或不活动。它将在其唯一的插头上反映其状态。 - 继电器
这个设备做一些更复杂的事情。它由多个部分组成:它有一个线圈插头,用于控制实际继电器中线圈的状态。它有任意数量的由继电器状态控制的开关。每个都有三个插头,如SPDT开关。当继电器未激活时,来自常闭插头的输入信号将被转发到公共插头,反之亦然,来自常开插头的信号将不会被转发。当继电器处于活动状态时,它会连接公共和常开插头。
我想尽可能快地浏览这个图表。遍历前图中设备和线路的状态为“当前代”。遍历图计算下一代的状态。遍历完成后,设备和电线的状态被设置为新状态。更新状态分两部分完成(计算状态并应用它们)以避免出现问题,例如中继可能更改其状态并立即影响遍历。就像您运行 Game of Life 时一样,但不是将结果写入新数组并在计算完所有内容后将所有内容复制回来,而是逐渐覆盖上一代的数据并创建错误的结果。
遍历基本上应该这样做:
- 首先假设所有对象(设备、插头、电线)在下一代都将处于非活动状态。当遍历到达它们时,它们将被标记为活动的。
- 然后找到所有肯定通电的插头。像电源插头,以及其他可以输出信号的设备。这些是遍历的起点。
- 如果它已被标记为活动,请跳过它。遍历可以多次到达对象。如果这种情况不会被捕获,它将导致无限循环/递归。
- 将其标记为活动。
- 通知它所连接的设备该插头已激活。根据它在什么设备上的插头,做一些事情。例如,继电器开关之一上的公共插头。如果继电器处于活动状态,则对常开插头递归,否则对常闭插头递归
- 通知连接的电线,将其标记为活动并递归连接到电线的所有其他插头。
- 当所有起点都完成后,将“下一代”状态分配给每个对象的实际状态。
这是一个简单电路的例子。起初一切都处于非活动状态:
在下一代网络中,左侧的有线网络、顶部的导线和左侧的灯都变为活动状态,因为它们以某种方式连接到电源:
这里我激活了底部的输入:
在下一代中,继电器变为活动状态。注意右侧的电线没有改变。计算这一代时,继电器仍处于非活动状态:
在下一代中,电线确实发生了变化:
当前存在的图没有针对快速遍历进行优化。它针对易于编辑和显示更详细的信息进行了优化,例如红线上的小箭头,它们显示了信号的来源。并且有很多“不必要的”步骤可以优化。有些设备只是将电线连接到电路不同部分的其他电线。这仅适用于光学,因为它使电路的哪些部分形成逻辑单元更加清晰。而且因为电线需要易于编辑,所以每个弯曲或交叉点都是一个设备,它在功能上什么都不做,但可以在屏幕上拖动。上面屏幕截图左侧的有线网络实际上是 4 根独立的电线和 2 个这些伪设备。
正因为如此,它太慢了。凭借我拥有的最大网络,我每秒最多可以生成 3 代。
我正在编写一个程序,它通过设置输入、计算生成直到电路稳定并确保电路处于预期状态来自动化电路的一些测试。使用现有的解决方案太慢了。
图表的初始设置以及需要做的任何事情都可能很慢,因为它只会做一次,之后图表的结构永远不会改变。但是计算世代应该非常快。还应该有一种方法可以检测到没有任何变化,因为我不提前知道电路的信号延迟。
图表应该包含哪些数据以及我可以使用哪些技巧来优化速度?(高内存使用根本不是问题)
我如何在多个线程上分配负载?做单线程很容易,但我如何确保多个线程不会做一些愚蠢的事情,而不会因为到处乱扔锁而破坏性能?也许可以在设置阶段确定图表的哪些部分应该由哪个线程完成?
我使用 .NET (Framework 4.0),但任何一般提示都值得赞赏。