Digital system design process automation using place/transition petri nets - Marranghello, Norian [UNESP]; Da Silva, Alexandre C.R. [UNESP]; Pereira, Aledir S. [UNESP] (Elsevier, 2009)
The constant increase in digital systems complexity definitely demands the automation of the corresponding synthesis process. This paper presents a computational environment designed to produce both software and hardware implementations of a system. The tool for code generation has been named ACG8051. As for the hardware synthesis there has been produced a larger environment consisting of four programs, namely: PIPE2TAB, AGPS, TABELA, and TAB2VHDL. ACG8051 and PIPE2TAB use place/transition net descriptions from PIPE as inputs. ACG8051 is aimed at generating assembly code for the 8051 micro-controller. PIPE2TAB produces a tabular version of a Mealy type finite state machine of the system, its output is fed into AGPS that is used for state allocation. The resulting digital system is then input to TABELA, which minimizes control functions and outputs of the digital system. Finally, the output generated by TABELA is fed to TAB2VHDL that produces a VHDL description of the system at the register transfer level. Thus, we present here a set of tools designed to take a high-level description of a digital system, represented by a place/transition net, and produces as output both an assembly code that can be immediately run on an 8051 micro-controller, and a VHDL description that can be used to directly implement the hardware parts either on an FPGA or as an ASIC.
Keywords: Design automation; Digital system synthesis; Finite state machine; Petri net; Assembly code; Code Generation; Computational environments; Control functions; Design automations; Digital system; Digital system design; Hardware implementations; Hardware synthesis; High level description; Place/transition Petri nets; Register transfer level; Synthesis process; VHDL description; Automation; Computer aided design; Computer hardware description languages; Finite automata; Hardware; Multiprocessing systems; Petri nets; Systems analysis