Redes de Petri e VHDL na especificação de controladores paralelos - Fernandes, João M. (1994)
A unidade de controlo da maior parte dos sistemas digitais é normalmente estruturada como uma máquina de estados síncrona genérica (CSSM). Complexas máquinas deste tipo estão presentes em muitos projectos VLSI e são implementadas usando dispositivos de lógica programável. Actualmente, estão disponíveis, na maioria das plataformas CAD linguagens de especificação, embora estas não disponibilizem directamente formas de modelar actividades concorrentes e cooperativas. As Redes de Petri (de aqui em diante, simplesmente, RdP) são uma ferramenta gráfica muito poderosa para especificar e modelar o comportamento de controladores paralelos. Existem várias técnicas para análise das RdP que permitem validar formalmente as propriedades mais importantes do sistema modelado: vivacidade, segurança, inexistência de conflitos e determinismo. Inúmeros tipos de RdP foram propostos e usados para especificar ou modelar sistemas, quer pela imposição de restrições ao modelo básico, quer pela adição de características adicionais. Uma revisão dos tipos mais relevantes sugeriu que as CSSM são mais facilmente especificadas e implementadas por RdP seguras com transições guardadas e disparos síncronos. Adicionalmente, são também admitidos arcos inibidores e habilitadores. VHDL é uma linguagem textual bastante potente, possibilitando a especificação, simulação e concepção de um sistema digital. As suas características são sumarizadas neste trabalho. É definido um subconjunto da linguagem, com a finalidade de facilitar a simulação e a síntese de controladores paralelos baseados em RdP. Apresentam-se formas alternativas de representar diagramas ASM e RdP, usando VHDL. As plataformas de CAD electrónico actualmente disponíveis começam a aceitar especificações baseadas em RdP, mas ainda não exploram totalmente os benefícios do paradigma das RdP para análise e da compilação para VHDL para posterior utilização em ferramentas de simulação e síntese. Foi desenvolvida uma aplicação computacional para obviar estas limitações, com o cuidado de gerar código VHDL aceite por algumas plataformas de CAD. Esta aplicação aceita como entrada uma especificação textual baseada nas RdP, valida as propriedades do sistema modelado e converte — compila — a especificação para um dado subconjunto VHDL. O estudo de exemplos comprova a viabilidade da abordagem seguida, tendo sido testado o código VHDL nas ferramentas de domínio público ALLIANCE.