Describir: Principles of VLSI RTL Design