johnny5 wrote
Hi,
I recently began to go through the intro and chapter 1. I am having difficulty in understanding how to create the simple AND gate using NAND. This seems like it should be very basic however I can't seem to come up with the correct HDL syntax. Are there any hints you would be able to offer? I've read through most of the relevant posts on this forum as well and trying to gather info other places. I feel as though if I'm unable to complete these simple inital task on my own, it may not be the right time for me to try the course.
Thanks
There are two questions here. First is how to logically create And from Nand. The definition of Nand is
Nand (a, b) = Not (And (a, b))
and Not is its own inverse
Not (Not (a)) = a.
Combine these two ideas to make And.
For syntax examples of HDL see Figures 1.6 and A.1. The important thing to know is the the name on the left side of '=' in the parts lines is always an I/O pin in the part being
used and the right side is always a pin or wire in the part being
designed. Thus, a Nand part will always be coded
Nand (a=something, b=something, out=something);You know that the Nand part's I/O pins are a, b and out from looking at the specification in the gray box in 1.2.1.
Also note that is is very important to implement and test the chips in the order listed in 1.3 since later chips depend on your having written the earlier ones.
--Mark