Programming Fpgas: Getting Started with Verilog