I. INTRODUÇÃO Atualmente, os sistemas digitais estão amplamente difundidos em todos os lugares. Temos como exemplos de sistemas digitais desde os celulares que carregamos aonde formos, o forno de microondas na cozinha de casa ou no escritório e os próprios tablets, notebooks ou computadores desktop onde editamos nossos relatórios, até outros exemplos mais “desconhecidos” como os microcontroladores que são responsáveis pelo sistema de controle de tração e pelos freios ABS de um carro moderno. Tais sistemas digitais são sistemas complexos e o desenvolvimento destes sistemas envolve uma série de atividades que devem seguir uma metodologia, que contém uma série de atividades de forma a tratar esta complexidade de forma sistemática. Um sistema digital (SD) é um sistema com entradas e saídas, como qualquer outro sistema real (fig.1). O fato 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. Figura 1 – Sistema digital geral. Tradicionalmente, um SD era projetado como um sistema único e usando‐se componentes discretos SSI e MSI com circuitos integrados TTL [Fregni & Saraiva, 1995] [Morris & Miller, 1978]. O desenvolvimento de circuitos digitais era baseado em um diagrama de circuitos conhecido como captura esquemática (fig.2). Figura 2 – Exemplo de projeto de circuito digital com captura esquemática. 2 Cada bloco em um 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 muito complexos. Esta dificuldade se refere principalmente ao