Template:VHDL for FPGA Design - Principles and Practices