问题标签 [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.

0 投票
1 回答
690 浏览

hardware - 您将如何处理此数字逻辑系统中的特殊情况?

我发布了这个数字逻辑图作为另一个 stackoverflow 问题答案。它描述了一个逻辑系统,该系统将以 Verilog 或 VHDL 编码并最终在 FPGA 中实现。

替代文字 http://img145.imageshack.us/img145/5125/bitshifterlogicdiagramkn7.jpg

图中的编号框表示字段中的位。每个字段都有K位,电流掩码的位将由计算机系统提供(使用锁存寄存器或等效物)。接下来的位将被读回同一计算机系统。

只要掩码字段中至少设置了一位,并且当前位字段中恰好设置了一位,我发布的解决方案就可以工作。这个想法是,在计算机系统执行了某些任务(调度操作,在原始问题中)之后,下一个位域将成为当前位域。

所以,我的问题是: 你将如何修改这个系统,以便它正确处理当前位字段全为零(未设置位)的特殊情况?就目前而言,如果current中的所有位都为零,则输出也将为零,无论掩码中的位设置为什么。

理想情况下,如果当前全为零,则掩码中的最低设置位应设置在next中。该系统还应保持可扩展至任意数量的位 (K),而无需添加成倍增加的逻辑门。最初问题的精神是想出一个可以直接实现任意位数的解决方案。

另请参阅:this stackoverflow question

0 投票
2 回答
5407 浏览

assembly - CPU 如何实现 MUL/MULT 等指令?

在不同的汇编语言中,MUL (x86)/MULT (mips) 指的是乘法。它是程序员的黑匣子。无论架构如何,我都对 CPU 实际如何完成乘法感兴趣。假设我的寄存器中有两个 16 位值,并且我是 CPU,所以我必须使用我拥有的其他位摆弄指令(and、or、xor、not、shl、shr 等)来实现 MUL。我该怎么办?

0 投票
1 回答
100 浏览

signal-processing - 可编程逻辑器件

我对理解 PAL 设备的结构感到困惑。

我的第一个问题是,如果我们购买 PAL 设备,那么我们如何知道 OR 数组中的每个 OR 门添加了多少个最小项?换句话说,我在问,是否有任何标准可以让我们知道每个 OR 门在 OR 数组中的输入数量?

接下来是我们在 PAL 设备中有一个可编程的 AND 数组。现在假设我们有 4 个输入,那么 AND 数组中的每个 AND 门必须需要 8 个输入。应用多少变量取决于我们,但有可能我们可以将所有变量应用到与门上,因此它应该有 8 个输入。请告诉我我是否正确。如果不是,请解释。

0 投票
5 回答
462 浏览

digital-logic - 数字电路理解

在开始编程之前,我寻求了解一些基础知识,我正在寻找有关计算机如何在核心级别上工作的基本知识。

我有一个理论,即实际上理解什么是stackoverflow,更不用说堆栈了,而不是我对计算机系统的零星知识,这将对我有更长远的帮助。

是否有任何书籍或网站可以带您了解处理器的结构并提供整体概述,并且以某种方式与数字逻辑相关的知识?

我说得有道理吗?

0 投票
2 回答
12079 浏览

vhdl - 如何在 Xilinx 中定义时钟输入

嘿,我几乎没有使用 Xilinx 的经验。我有一个即将到期的数字逻辑课程的小组项目,我的搭档本应负责 Xilinx 仿真,但决定放弃我。所以在这里我试图在最后一刻弄清楚。

我使用几个 JK 触发器设计了一个同步计数器,我需要为 FJKC 定义 CLK 输入。

我已经绘制了正确的原理图,但我不知道如何定义时钟输入。

任何帮助表示赞赏,是的,这是家庭作业。我只是在网上找不到任何基本的 xilinx 文档/教程,老实说,我没有时间学习整个 IDE。

我正在使用 VHDL

0 投票
9 回答
24735 浏览

python - 线性反馈移位寄存器?

最近我反复碰到 LFSR 的概念,我觉得这很有趣,因为它与不同的领域有联系,而且本身也很吸引人。我花了一些力气才明白,最后的帮助是这个非常好的页面,比(起初)神秘的维基百科条目要好得多。所以我想为一个像 LFSR 一样工作的程序编写一些小代码。更准确地说,这以某种方式显示了 LFSR 的工作原理。这是经过一些更长时间的尝试(Python)后我能想到的最干净的东西:

我将 XOR 函数的输出命名为“xor”,不是很正确。然而,这只是为了展示它如何在可能的状态中循环,实际上你注意到寄存器是由一个字符串表示的。没有太多的逻辑连贯性。

这可以很容易地变成一个不错的玩具,你可以看几个小时(至少我可以:-)

然后我就想到了,这在写软件有什么用?听说可以生成随机数;是真的吗?如何?所以,如果有人可以:

  • 解释如何在软件开发中使用这种设备
  • 提出一些代码,以支持上述观点,或者就像我的一样,以任何语言展示不同的方法

此外,由于没有太多关于这块逻辑和数字电路的教学内容,如果这可以成为一个让新手(像我一样)更好地理解这个东西的地方,或者更好地理解它是什么,那就太好了是以及在编写软件时它如何有用。应该让它成为一个社区维基吗?

也就是说,如果有人喜欢打高尔夫球……不客气。

0 投票
4 回答
270 浏览

digital-logic - 为什么十进制数 16 的二进制表示中的位数 == 5?

这个问题可能不是典型的stackoverflow,但我不确定在哪里问我的这个小问题。

问题:

求十进制数 16 的二进制表示中的位数?

现在我尝试使用公式 $2^n = 16 \Rightarrow n = 4 $ 来解决这个问题,但我的模块建议的正确答案是 5。有人能解释一下吗?


在阅读了一些答案之后,(而且在我接受正确答案之前,我还有 10 个薄荷糖)我认为这可能是一个解释,这将与数学公式一致,

为了表示 16,我们需要表示 17 个符号 (0,16),因此 $2^n = 17 \Rightarrow n = 4.08746 $ 但由于 n 需要是整数,因此 $n = 5$

0 投票
3 回答
43032 浏览

macos - 在 Mac OS X 上用于 VHDL/数字逻辑仿真的内容

我突然意识到 Mac OS X 上没有 Altera Quartus 或 Xilins ISE 或 ModelSim。

人们用什么来至少在 Mac 上模拟 VHDL 和原理图设计?

0 投票
3 回答
217 浏览

logic - 如何设置正常的时钟输入?

如何使用组合和时序电路(逻辑门和触发器)获得该输出?你能推荐任何主题或网页吗?

0 投票
2 回答
20630 浏览

verilog - 不是有效的左值 - verilog 编译器错误

当我编译时,编译器给了我;

我该如何解决? 为什么它给出错误?

编辑:我已经解决了问题;

我将使用 if 和 else 结构,并用 1'b1*/ 调用相应的实例