PROJETO DE SISTEMAS DIGITAIS
VHDL e VERILOG
Um sistema digital (SD) é um sistema com entradas e saídas, como qualquer outro sistema real. O que diferencia um SD de outros diz respeito ao tipo de dados de entrada e saída que são manipulados: os dados são digitais, ou seja, são representados por um conjunto finito de sinais binários e discretos.
Tradicionalmente, um SD era projetado como um sistema único usando componentes discretos SSI e MSI com circuitos integrados TTL [Fregni & Saraiva, 1995] [Morris & Miller, 1978]. O desenvolvimento de circuitos digitais era baseado num diagrama de circuitos conhecido como captura esquemática.
Com a evolução e o aumento da complexidade de sistemas digitais, esta metodologia tradicional se mostrou limitada e novas estratégias tiveram de ser desenvolvidas. O projeto hierárquico foi uma forma de tratar a complexidade dos circuitos grandes, com a divisão do circuito em blocos ou módulos menores que são projetados em separado e depois interligados para compor o sistema completo.
Cada bloco num projeto hierárquico é um subprojeto que também possui um diagrama de captura esquemática. Esta hierarquia pode conter vários níveis, até que a complexidade de um bloco seja adequada para um projeto tradicional usando componentes digitais básicos.
Apesar da definição de estratégias de particionamento de circuitos como forma de gerenciamento de complexidade, projetistas menos experientes mostram muita dificuldade para projetar circuitos mais complexos. Esta dificuldade refere-se principalmente ao desenvolvimento e depuração de circuitos de controlo e de sincronização destes sinais de controlo. Torna-se importante então a aplicação de estratégias específicas para o projeto de circuitos digitais. Por exemplo, para o projeto de circuitos de controlo, a literatura mostra uma série de ferramentas para a especificação, modelagem e desenvolvimento: diagramas de transição de estados [Wakerly, 2006], statecharts [Harel, 1987] e diagramas ASM [Givone, 2003], entre outros. Estas ferramentas auxiliam o projetista no desenvolvimento de circuitos sequenciais, facilitando o teste e, depois, a correta finalização do circuito projetado.
A aplicação de estratégias de auxílio ao projeto de sistemas digitais complexos é independente da forma como o circuito digital é desenvolvido. Antes da década de 1980 a captura esquemática foi muito difundida e ferramentas de software eram utilizadas pelos projetistas para o projeto e documentação, as chamadas ferramentas de CAD (computer-aided design) ou, como é conhecida mais atualmente, de EDA (electronic design automation).
Nos anos 80, a utilização de linguagens de descrição de hardware (HDL – hardware description language) se difundiu e começou a se tornar uma alternativa para o projeto de circuitos. As padronizações das linguagens VHDL em 1987 (IEEE Standard 1076-1987) e Verilog em 1995 (IEEE Standard 1364-1995) permitiram o uso destas linguagens de forma universal, desde a especificação de sistemas até a etapa de síntese de circuitos integrados. Atualmente várias outras linguagens de descrição de hardware estão disponíveis, incluindo várias características, inclusive extensões para suporte a sinais analógicos (analog and mixed-signal extensions), como por exemplo, o VHDL-AMS, Verilog-A e Verilog-AMS. Para suporte a projetos em alto nível, ou seja, em nível de sistema (system-level modelling), tem-se a linguagem SystemC (IEEE Standard 1666-2005). Já a linguagem SystemVerilog (IEEE Standard 1800-2005) inclui suporte a verificação de projetos.
Adaptado do texto original de Edson Midorikawa. (Departamento de Engenharia de Computação e Sistemas Digitais).
Sem comentários:
Enviar um comentário