16. One or more non-transitory computer readable media storing instructions executable by a processor, the media storing one or more instructions for: generating an intermediate representation of a state diagram, the intermediate representation being generated based on syntax and semantics of the state diagram, the intermediate representation representing the semantics of the state diagram; lowering the intermediate representation to a lower-level representation, the lower-level representation containing one or more non-specific language constructs for generating code in multiple programming languages, the multiple programming languages including at least one hardware description language; mapping semantics represented by the lower-level representation to semantics of a hardware description language; and generating code in the hardware description language based on the mapping of the semantics represented by the lower-level representation to the semantics of the hardware description language.
16. One or more non-transitory computer readable media storing instructions executable by a processor, the media storing one or more instructions for: generating an intermediate representation of a state diagram, the intermediate representation being generated based on syntax and semantics of the state diagram, the intermediate representation representing the semantics of the state diagram; lowering the intermediate representation to a lower-level representation, the lower-level representation containing one or more non-specific language constructs for generating code in multiple programming languages, the multiple programming languages including at least one hardware description language; mapping semantics represented by the lower-level representation to semantics of a hardware description language; and generating code in the hardware description language based on the mapping of the semantics represented by the lower-level representation to the semantics of the hardware description language. 17. The media of claim 16 , further storing one or more instructions for: matching a key word used in the intermediate representation with a key word in the hardware description language; and replacing the key word used in the intermediate representation with the key word in the hardware description language.