Most RTL is destined to be permanently cast into costly and unforgiving Silicon. Coding RTL is therefore very different than writing software which can be updated in the field on the next release. This paper presents the real world, high-level concepts on how to code RTL that is reusable, maintainable and relatively bug-free so that silicon is functional on the first pass. The following "Commandments" are general rules to live by when coding RTL. Inexperienced logic designers should strictly adhere to the rules presented in this paper. Experienced RTL coders should review these rules and contact the author with updates.