In this paper we present a new hardware description language named Gropius. Gropius ranges from the gate level to the system level and supports abstraction and design reuse in a systematic manner. Gropius was designed for a formal synthesis scenario, where synthesis is performed by applying mathematical derivation steps, thus guaranteeing correctness of the synthesis process. Since Gropius was defined in a mathematical manner, its semantics is precise and unambiguous.