Verilog Fundamentals