Firstoff, you need to use the standard names for the I/Os in Mux so that your Mux can be used seamlessly with the builtin version. The standard header for Mux is
// This file is part of the materials accompanying the book
// "The Elements of Computing Systems" by Nisan and Schocken,
// MIT Press. Book site: www.idc.ac.il/tecs
// File name: projects/01/Mux.hdl
/**
* Multiplexor. If sel=0 then out = a else out = b.
*/
CHIP Mux {
IN a, b, sel;
OUT out;
PARTS:
// Implementation missing.
}
If you didn't find these skeleton files, they are in
http://www1.idc.ac.il/tecs/projects/01/index.htm, etc. There is a link to a zip file with the whole set for the chapter at the bottom of the page.
There are also test scripts in the project zip files that require the standard I/O names.
Another thing to try is to rename your Not.hdl to something like MyNot.hdl. This will force the simulator to use the built in Not so you can see if the problem is in your Not or in your Mux.
--Mark