Gems of Verilog Programming