csrGen is a tool to automatically produce synthesizable verilog RTL code for the registers that make up the memory map of a processor interface from a simple template that lists and describes the registers. Using a tool for registers speeds ASIC or FPGA development, avoids common errors, and can also aid documentation, verification, and firmware development.