Nand2Tetris Questions and Answers Forum

If you have questions about Nand2Tetris projects or software, you are in the right place. Please select a sub-forum and review the posts; there is a good chance that a similar question was previously asked and answered. If not,  post your question, and we will answer it shortly. If you feel like answering some of the questions yourself, feel free. Please avoid posting solutions or solution segments (a few lines of code is fine). It's important to let people have the freedom to build the computer on their own.


Due to a large number of spam posts, you must be a registered member to post to the forum.

We are in the process of moving the nand2tetris.or site to another hosting service. Links may be temporarily bad.
If you find a bad link please report it in the "Errata/web site" section of this forum.


You can download the nand2tetris.zip file here if that link is still broken.
Subcategories Topics Posts Last Post
Information about the web site, the forum, etc. 11 11
by cadet1620
Please read The Hardware Construction Survival Kit for answers to common questions and other useful information. 1010 4838
by 1291115416_user
460 2120
by rad4rman
133 555
by salallegra
296 1391
by HillshVI
269 1184
by WBahn
Sub-Forums: Chapter 12 Project 12
124 479
by LinearChaos
Any ideas about new projects related to this book / course? Please share them with us! 116 448
by DiamondCoder1000
Posts about errors, bugs, or problems found in the book, projects, or software tools 176 670
by andi
Posts that don't fall in any category go here 166 606
by paul23
If you wish to say a few words about yourself, please write a post here. It's always fun to know who is using the book / course and in what capacity (instructor, student, self-learner, ...). 117 279
by Ichiro
Constructors may have arbitrary names, but they must return an object of the class type. Therefore the type of a constructor must always be the name of the class to which itbelongs. i quoted this from the book,if constructor must always be the name of the class,so we can onl... 2 2
by WBahn
Hello, I'm having problems to test my ALU.hdl file. It doesn't open at all in the Hardware Simulator, and I've tried different implementations that I found on the Internet just to see if it was my code's fault, but none of them have worked. The Hardware Simulator has worked for all of the previo... 1 2
by nemo
Hello all, I'm currently working on the CPU part of project 5, and while my chip mostly seems to be working, I'm genuinely wondering if something is wrong with the CPU.tst file. As you can see, the code that it's running sets D to zero, and then runs D;JEQ. Unless I'm fundamentally misunderst... 0 0
by PAcmpstudent
Is this close to a program counter? Im confused. 1 3
by WBahn
I have finished this book. It was awesome. Is there any books that you suggest me to read to spread my knowledge with technical projects ? 2 6
by WBahn
Is there a software that transforms an HDL file into a graphic schematic presentation of the chip? Thank you very much, Rmai 3 5
by pranavji
I am creating a program counter. I am confused about the inc one bit input. I am not so sure how to do that? It makes no sense to me because I am able to increment the register but how do I use a multiplexor to a incrementor? I would think that it needs a multiplexor because no other chips offer... 1 3
by WBahn
Hello i made this circuit for my Mux4Way16 gate and i tried to write it on HDL but it doesn't work i have an error which says "sub bus of an internal pin might not be used". Here is the circuit : And here is my code : CHIP Mux4Way16 { IN a[16], b[16], c[16], d[16], se... 1 4
by stuart
I am looking at page 49 of the book The elements of computing systems. It shows a register and after a register the Ram. I am confused what an address is. Could you explain to me what a address is? What does it do? 1 3
by ashort
Hi. I am creating a visual diagram of the Hack ALU. Ive gotter pretty far. Im lost though when it comes to the output ng. Im not sure just exactly what a lesser than zero is. How do I connect 16 output and make a lesser than zero. Any suggestions? 2 6
by rleininger
I was looking at the pdf from nand2tetris part three I think and I noticed this. So I created it, but I am unsure what it is exatly. Can you give me an idea? 1 3
by WBahn
Im trying to make a two bit two registers is this close to it? 1 1
by WBahn
Hi. Ive been able to create a w lenght of 16 bits by 8 registers. It is pretty cool. I am thinking that if I had another chip it will each register at choice be selected. It does not seem to emit the values when I select a register and load. I am confused why. Can you explain how the ram knows a... 1 5
by WBahn
Hi. I have a problem. I am attempting to create a register. I think I have it figured out, but I am unsure. The question I have is this: Is a register a sequence of bits from left to right. I am confused because in the requirements on the book it says 16 input and 16 outputs. The only way that I... 1 3
by WBahn
Why not remove the special constructor subroutine and replace it with a normal function ? : class Point { field int mX, mY; method void cons ( int x, int y ) { let mX = x; let mY = y; return; } function Point make ( int x, int y ) { var Point p; let p = Memory.... 1 3
by ivant
I use Pop! OS and not sure really how to run the tools as necessary. Since, Pop! OS is is based on Ubuntu so I presume it's the same. All I can find are directions based off of Ubuntu LTS 16 or the most recent Linux system being Linux Mint 19.... I tried giving permissions to execute but still... 1 5
by Prashanth Kumar
My c-instruction at the highlighted part has '001' for the last three digits. We have agreed that as long as there is no jump, the PC will increment by 1. Yet the correct value is supposed to be 26 for the PC counter, not 1000, which is the value of A-reg. But instruction[16] does have a jump... 1 3
by WBahn
Hi, I was wondering, why does the course not include the clock when discussing the Hack Computer architecture? From what I understood, the clock is a key component of a sequential computer, such as the Hack machine undoubtedly is.... I also feel that I lack a truly solid understanding of c... 1 1
by WBahn
How to implement 4 bit right shift register using D flip flop? Is there any way to convert universal logic gates ( or ) to DFF and then implement 4 bit right shift register? I am attaching the shift right code which I did using or gates, can you please help me to do the 4 bit right shift regis... 1 13
by WBahn
When I load the FullAdder.hdl in the Hardware Simulator, the HDL box stays blank. I can also load the script but cannot run it. I faced no such problem while creating Project01 and the HalfAdder. *FullAdder was created using two HalfAdders. * Untitled.jpg (151K) <http://nand2tetri... 1 1
by WBahn
What frequency does the CPU emulator run at when there are no animations and the slider is set to fast? I am creating the Nand2Tetris computer on breadboards (sort of like Ben Eaters breadbaord computer) and I want to know roughly what clock input to use. 2 8
by Gerrit0
Hi, I hope all is well. When I try to install the Software Simulator on my computer, Microsoft informs me that I would have to switch out of S Mode: "You may want to think twice about switching out of S mode. Especially if performance and peace of mind are your top priorities. S mo... 1 1
by WBahn
Are there stilll plans in releasing nand2tetris part 3, as Shimon says in unit 7.3 More Fun to Go ? 1 4
by ashort