Just getting going here, this looks like a great course.
Got a question though.
If you look at slide 14 on the pdf for chapter 1 they show the implementation and hdl code for an And gate.
the last parameter of the Nand gate:
out = x
seems backwards to me.
If the "action" in the implementation is progressing from left to right shouldn't x = out?
I'm trying to think of x as the value of a wire instead of a variable.
It just seems to me the value of the wire "x" should equal the value of the output pin "out"
Of course if I write the code the way that makes sense to me it doesn't work and if I write it like the pdf it works perfect.
Any ideas to help me get my head wrapped around this?
HDL is not a programming language; it is a Hardware Description Language. It tells how to connect the wires of a part together.
The "=" is not an assignment like you are used to seeing in a programming language. Rather, it is a wire connection. The name on the left of the "=" is always an I/O pin in the part being used. The name on the right is always an I/O pin or wire in the part being defined.