Read the
Hardware Construction Survival Kit. Particularly the
HDL syntax and the meaning of "a=a" section.
Basically, the name on the
left side of the "=" is the name of an I/O pin in the part being used. This name is fixed -- it is in the IN or OUT line of the used part's HDL.
The name on the
right side of the "=" is the name of an I/O pin in the part you are writing or the name of a connecting wire you are using to build your part.
The And gate implements the function out=a&b so all And parts used have the form "And (a=?, b=?, out=?)".
The In gate implements the function out=~in so all Not parts are "Not (in=?, out=?)".
This post has a
list of all the built in parts and their I/O pin names.
--Mark