Text this: Principles of verifiable RTL design