ProGram : a grammar-based method for specification and hardware synthesis of communication protocols
Johnny Öberg · 1999
A data communication protocol is an agreement between two or more communication parties about the exchange of messages in order to provide some service. The protocol specifies the language used to communicate over the interface between the involved systems. A natural way to specify an interface protocol is in terms of a grammar expressed in the BNF notation and annotated with actions. The vocabulary of messages used to implement the protocol correspond to the grammar rules. The encoding format of each message in the vocabulary corresponds to the token terminals of the grammar. The procedure rules guarding the consistency of message exchanges are also embedded in grammar rules. The service provided by the protocol corresponds to the actions in a grammar. Assumptions about the environment can be viewed as port width and throughput constraints posed to the synthesis process. ProGram is a