Macanudo : uma abordagem baseada em componentes voltada a reuso de projetos de hardware - Hernandez, Émerson Barbiero (2005)
Como as tecnologias de CI avançam através de melhoras de desempenho, maiores são as densidades e a complexidade de projetos. Esse avanço cria a necessidade de novas ferramentas CAD e metodologias de projeto para lidar com um ritmo aceitável de desenvolvimento. Inúmeras soluções foram propostas, entre elas está a utilização de conceitos de reuso, metodologia abordada nesse trabalho. O projeto reusável vem do pensamento de que funcionalidades realizadas são muitas vezes similares ou até mesmo idênticas em inúmeras aplicações. Circuitos como somadores e multiplicadores são exemplos de blocos comuns utilizados em diferentes soluções. Este trabalho apresenta uma abordagem baseada em componentes para descrições de hardware, com o objetivo de maximizar reuso, através de composição e montagem gráfica de componentes. Para lidar com esse paradigma, é apresentado um processo chamado Macanudo. Mesmo que linguagens de descrição de hardware tenham ajudado os processos de projeto a alcançar reusabilidade, essa abordagem tem o objetivo de trazer uma forma mais eficiente de guiar o processo a esse resultado. Esta abordagem é composta por um modelo de componentes que descreve como cada uma dessas entidades deve ser criada e suas interações, assim como sua evolução e distribuição. Juntamente a esse modelo, foi criada um ambiente de desenvolvimento integrado para dar suporte a esse paradigma. Esse programa trabalha com o conceito de projetos, pois a evolução do mesmo traz intrinsecamente uma forma de usabilidade de grande importância. Isso se deve ao fato de no decorrer do tempo, grupos de componentes serem melhorados e adaptados para satisfazer novos requisitos. Assim, o ambiente permite que um determinado componente seja modificado em seu interior para satisfazer necessidades específicas como desempenho, por exemplo. O ambiente dá suporte a construção gráfica de componentes, usando como base a idéia de estrutura comumente encontrada em sistemas eletrônicos: conjuntos de entidades que se conectam. Cada uma dessas entidades pode igualmente ser formada de blocos interconectados ou de apenas um bloco básico de projeto, reutilizados em diferentes níveis de abstração e hierarquia. Alguns circuitos foram montados através desse processo, gerando novos componentes e códigos VHDL, sendo possível sua integração no ambiente e em outros projetos externos.