問題タブ [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 投票する
2 に答える
588 参照

cpu-architecture - 実際の FPGA に nand2tetris プロセッサを実装する方法は?

実際の FPGA 上にソフト プロセッサを構築する方法を学ぶことを主な目的として、nand2tetris コース ( https://www.nand2tetris.org/course ) を受講しました。

コースは簡単でしたが、FPGA の実装から始めたので、少し戸惑いました。

Intel de10 nano FPGA ( http://de10-nano.terasic.com/ ) を購入し、Uni から Verilog の知識を得て、「Quartus Prime Lite」をダウンロードし、LED の点滅などの簡単なことでブートストラップすることができました。等...

ただし、プロセッサの実装に関しては、私には明確でないことがいくつかあります。

  • データメモリを実装するにはどうすればよいですか? FPGA の HPS に DDR3 モジュールが接続されているのを見ました。これは私が直接使用する必要があるものですか?HDL で大きな 16 ビット レジスタ ベクトルを単純に使用できますか?
  • プログラムが読み込まれる場所から ROM を実装するにはどうすればよいですか? アセンブルしたバイナリを保存して、フェッチ、デコード、実行ループをブートストラップするにはどうすればよいですか?
  • 画面とキーボードを実装するにはどうすればよいですか? 実際、ボードには HDMI コントローラーもあります。すべてのロジックを自分で実装する必要がありますか?

これらは、私が現在苦労している主な質問です。完全な初心者に役立つリソースを教えてください。

ありがとう、

0 投票する
1 に答える
99 参照

assembly - ビットローテーションを行うには?

HACK アセンブリ (nand2tetris) でビット ローテーションを実行したいと考えています。例えば:

11110000 は 11100001 になります。

どうすればいいですか?通常のアセンブリにはそれを行うrol構文があることがわかりましたが、HACKアセンブリ用の構文が見つかりません

0 投票する
1 に答える
59 参照

nand2tetris - Nand to Tetris "pop this 2" を asm にコンパイルする方法

スタックから値をポップして D に入れる方法を知っている

そして、メモリの場所「this 2」を選択する方法を知っています

問題は、両方のステップで D を使用しているため、明らかに使用していることです

M=D望む結果にはなりません。後で何か値を保持するために2番目のレジスタが必要になると思いますか、それともここに何かが欠けていますか?