问题标签 [nand2tetris]

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 回答
2036 浏览

verilog - Verilog中的DFF有延迟

我正在尝试在 verilog 中实现nand2tetris项目,并且正在使用icarus verilog碰壁。在书中他们这样实现 DFF q(t) = d(t-1),. 当前时间的输出是前一个时间的输入posedge clk。这是DFF我意识到的。

当我直接测试它时,这个 DFF 似乎工作得很好。但是当我重用它来创建一个 Bit(一个存储单元)时,它变得很疯狂。有趣的是,使用 Icarus Verilog 或 EDAPlayground(使用 VCS)时的疯狂是不同的。

伊卡洛斯 Verilog 输出

EDAPlayground 输出

该代码可在EDAPlayground上进行测试。

0 投票
2 回答
422 浏览

combinatorics - 为什么全加器接受 3 个数字而不是 2 个数字

所以我在大学里被问了一个问题,看了看我真的找不到答案。为什么全加器接受 3 个数字而不是 2。是为了保留第一个半加器的进位吗?谢谢。

0 投票
1 回答
1284 浏览

nand2tetris - 在HDL文件///.hdl 行, 不能将器件的输出引脚连接到门的输入引脚:负载.hdl

SPOILER ALERT:包含来自Memory.hdl(项目 5)的简短代码片段。

我收到了这个问题标题中列出的错误,但我确信它与将内部部件的输出引脚连接到芯片的输入引脚无关。

这是创建错误的代码。到目前为止,程序中没有其他代码。

到底是怎么回事?!

0 投票
1 回答
1458 浏览

compiler-errors - 为什么这个最小的 Jack (nand2tetris) 程序不能编译?

作为Nand2Tetris课程的一部分,我正在使用一种名为Jack的语言。

这会编译并产生我在运行时期望的输出:

但是当我添加一行时...

...我得到这个编译器错误:

在 Main.jack(第 6 行)中:在子程序 main:预期语句(do、let、while、return 或 if)

为什么附加线会有所作为?

0 投票
1 回答
479 浏览

nand2tetris - 在计数器的实现中找不到我的错误

我正在实施第一章的计数器。3. 这是我的代码:

在这个测试中似乎失败了:

这是第 5 行,我找不到我的错误。任何帮助表示赞赏

0 投票
1 回答
107 浏览

c++ - 给出与参数相同的文件会在 C++ 中给出不同的输出

我正在做nand2tetris课程的项目6,即创建一个汇编程序。在我的名为 myassembler.cpp 的汇编程序中,如果我以两种不同的方式给出一个名为 MaxL.asm 的文件,则输出会非常不同。在这里,如果我执行以下操作:

输出是正确的,这就是我想要的。但是,如果我执行以下操作,

输出错误。为了提交这个,它必须以第二种方式工作。当我把<放在文件名之前时,我不明白出了什么问题。

这是读取文件的代码片段

我接受输入的方式有什么问题?如何解决?TIY

0 投票
1 回答
1973 浏览

hdl - 将 false 传递给 HDL 中的输入

我正在使用 Nand2Tetris(计算系统元素)一书中的 HDL,在在线查看示例门实现时,我经常注意到以下内容;

在上面的示例false中,从未在任何地方声明过。我也看到了使用明显关键字的类似示例true。如果false是某种预先声明的关键字或速记,那么值来自哪里,或者它的速记是什么?

我没有使用这个速记就实现了我所有的门,但它困扰着我,我无法理解价值可能来自哪里。

0 投票
1 回答
949 浏览

assembly - NAND2俄罗斯方块虚拟机翻译器

如果在 Ram[SP]/[0] 中指向堆栈中下一个位置的指针,我如何指示计算机打开该位置?我努力了

但它没有打开存储在 Ram[0] 中的地址 如何让它访问存储在 Ram[0] 中的 ram 地址 谢谢

0 投票
1 回答
1003 浏览

assembly - NAND2俄罗斯方块黑客

如果我不知道确切的行号,如何在 hack 中跳过 2 个命令。我想跳转到的代码。

例如。

但我不知道线路号码。我目前在(30),如果满足 D;JGT,我只想跳过下一行代码(向前走 2 步而不是 1 步)。

0 投票
1 回答
636 浏览

alu - 不使用多路复用器的 Nand2tetris ALU 实现

我正在尝试在不使用多路复用器的情况下实现 Hack ALU,但我无法将 hdl 上传到模拟器中。任何帮助,将不胜感激。谢谢