Borrowed Verilog examples from http://www.asic-world.com/.