问题标签 [digital-logic]
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.
logic - 数字逻辑拼图,“10 票中有 2 票”逻辑
我正在尝试实现一种“十分之二的投票”逻辑。这个逻辑简单地说,如果给定 10 个输入中的至少 2 个输入为“ON”,那么只有输出必须为“ON”。
所以我有 10 个数字输入,需要与逻辑门 OR、AND、NAND 门等、触发器 RS、SR、反相器......,以便上述逻辑适用于 1 个数字输出。
实现这一点的一种直接方法是采用 10C2 即 45 个“与”门组合,这将进一步结合 1 个“或”门以获得所需的输出。
但是我只是想知道一些棘手的解决方案,任何人都可以建议...
digital-logic - -17 的 2 补码是多少?
-17 的二进制值是多少?如何找到 -17 的 2 补码?
digital-logic - 数字逻辑 - 使用与非门实现全加器?
我在解决这个问题时被卡住了,
实现所需的 2 个输入与非门的最小数量是多少
当输入数量没有限制时,我找到了答案,但在指定约束“2输入与非门”时找不到答案。任何帮助将不胜感激。
circuit - 数字逻辑 - 卡诺图
最初的问题是这样开始的。有6个州。在每个状态,当 w=1 时移动到下一个状态,当 w=0 时,则停留在当前状态。在每个状态显示一个使用标准 7 LED 显示屏 (BCD) 的数字。这些数字是 8 -> 1 -> 9 -> 4 -> 2 -> 2。
所以这是我对这个问题的尝试。我从一个状态表开始:从左到右 y2,y1,y0
然后使用卡诺图制作 Yo Y1 和 Y2 方程
然后输出需要创建附加映射。
目前我正在使用 3 位 D 触发器计数器来创建 6 个输入。
显示屏显示。
逻辑是否有错误,或者计数器是否可能会造成此问题?
digital - 为什么 K-map 的状态序列是 00,01,11,10 而不是 00,01,10,11?
为什么 K-map 的状态序列是 00,01,11,10 而不是 00,01,10,11?
boolean-logic - maxterms 乘积的分配性质
我不确定如何在以下函数上使用 Distributive 属性:
我知道 F = xy + x'z 会变成 (xy + x')(xy + z) 但我不确定如何用两个变量的三个术语来做到这一点。
还有另一个小问题:我想知道如何知道一个最小术语是多少,而不必查阅(或记住)最小术语表。
例如,我怎么知道 xy'z' 是 m4?
verilog - verilog always @* 敏感度列表中包含什么?
当您在始终阻止敏感度列表中使用通配符@*时,我对什么被视为输入感到有些困惑。例如,在以下示例中,哪些信号被解释为导致重新评估 always 块的输入?据我了解,不包括clk和reset,因为它们不会出现在 always 块中任何程序语句的右侧。 包括a和b是因为它们都出现在 always 块中程序语句的右侧。但是我真正感到困惑的是en和mux。因为它们被用作if和case中的测试条件语句是否被视为输入?每次en和mux更改值时,总是重新评估块吗?我几乎是个菜鸟,在我拥有的 3 本书中,我还没有找到令人满意的解释。我一直觉得这里的解释很有帮助。谢谢
digital - 自我完成代码
https://electronics.stackexchange.com/questions/20537/how-to-identify-self-complementing-code
我已正确阅读,
但是有必要从9中减去这个数字吗?
因为在 8421 系统中 12= 1100
如果我们减去 15-12 ,那么答案是 3 ,即 0011 。
所以它也是自我补充的......
我不明白,给定的数字需要从哪个数字中减去,那个数字必须是 9 吗?
optimization - 通过混合组合逻辑和行为逻辑来优化连续分配?
我试图将我的头脑围绕在组合逻辑和行为逻辑的混合中。我有带有 4 个 LED 和 66 MHz 时钟输入的小型 FPGA。这个想法是让其中两个发光(一个上升,一个下降),另外两个闪烁。所以我想出了以下代码:
我不想使用供应商特定的 DCM,因此具有 66MHz 时钟的简单位加法器可以发挥作用。也许整个设计首先是错误的(例如,我可以使用两个时钟分频器并简单地翻转两个寄存器来实现(几乎)相同的事情),但我遇到了这种让我想知道的情况。 ..
从普通软件开发人员的角度来看,连续分配中的某些部分似乎是多余的。例如,可以使用一个额外的寄存器,因此看起来执行的工作更少。例如:
我试图深入研究上述两种方法的合成器报告差异并查看 HDL 原理图,但对于像我这样没有经验的人来说,它太复杂了。
毫无疑问,综合工具很好地优化了组合逻辑,但假设右手边的表达式非常复杂,成为单行等,有没有办法说这样的话?
或者这样做是否有意义?如果不是,在这种情况下引入寄存器以简化行为部分是否有意义?我相信至少有一些规则或经验。任何帮助表示赞赏。
circuit - 4 位二进制数乘以 3 (mod 16)
我在过去的一篇论文中有一个问题,要求设计为最小的乘积之和,并且只使用 NAND 门,这是一个采用 4 位二进制输入并将该数字乘以 3 的电路(mod 16)
这是我得出的真值表
从这里我创建了 4 个卡诺图:
以下是我的问题:这些卡诺地图中是否存在任何无关条件。我怎么知道有没有?
此外,这会给我四个布尔表达式,产生 4 个独立的电路。我是否需要以某种方式将它们连接在一起作为一个大电路?
最后,我是否可以将某种机械程序应用于最终的布尔表达式,以便将其转换为与非门?