Programming FPGAs: Getting Started with Verilog