38 resultados para Microeletronica
Resumo:
Este trabalho apresenta uma metodologia para a geração automática de ASICs, em VHDL, a partir da linguagem de entrada Java. Como linguagem de especificação adotou-se a Linguagem Java por esta possuir características desejáveis para especificação a nível de sistema, como: orientação a objetos, portabilidade e segurança. O sistema é especificamente projetado para suportar síntese de ASICs a partir dos modelos de computação Máquina de Estados Finita e Pipeline. Neste trabalho, adotou-se estes modelos de computação por serem mais usados em sistemas embarcados As principais características exploradas são a disponibilização da geração de ASICs para a ferramenta SASHIMI, o alto nível de abstração com que o projetista pode contar em seu projeto, as otimizações de escalonamento realizadas automaticamente, e o sistema ser capaz de abstrair diferentes modelos de computação para uma descrição em VHDL. Portanto, o ambiente permite a redução do tempo de projeto e, consequentemente, dos custos agregados, diminuindo a probabilidade de erros na elaboração do projeto, portabilidade e reuso de código – através da orientação a objetos de Java – podendo-se proteger os investimentos prévios em desenvolvimento de software. A validação desses conceitos foi realizada mediante estudos de casos, utilizando-se algumas aplicações e analisando os resultados obtidos com a geração dos ASICs.
Resumo:
The recent advances in CMOS technology have allowed for the fabrication of transistors with submicronic dimensions, making possible the integration of tens of millions devices in a single chip that can be used to build very complex electronic systems. Such increase in complexity of designs has originated a need for more efficient verification tools that could incorporate more appropriate physical and computational models. Timing verification targets at determining whether the timing constraints imposed to the design may be satisfied or not. It can be performed by using circuit simulation or by timing analysis. Although simulation tends to furnish the most accurate estimates, it presents the drawback of being stimuli dependent. Hence, in order to ensure that the critical situation is taken into account, one must exercise all possible input patterns. Obviously, this is not possible to accomplish due to the high complexity of current designs. To circumvent this problem, designers must rely on timing analysis. Timing analysis is an input-independent verification approach that models each combinational block of a circuit as a direct acyclic graph, which is used to estimate the critical delay. First timing analysis tools used only the circuit topology information to estimate circuit delay, thus being referred to as topological timing analyzers. However, such method may result in too pessimistic delay estimates, since the longest paths in the graph may not be able to propagate a transition, that is, may be false. Functional timing analysis, in turn, considers not only circuit topology, but also the temporal and functional relations between circuit elements. Functional timing analysis tools may differ by three aspects: the set of sensitization conditions necessary to declare a path as sensitizable (i.e., the so-called path sensitization criterion), the number of paths simultaneously handled and the method used to determine whether sensitization conditions are satisfiable or not. Currently, the two most efficient approaches test the sensitizability of entire sets of paths at a time: one is based on automatic test pattern generation (ATPG) techniques and the other translates the timing analysis problem into a satisfiability (SAT) problem. Although timing analysis has been exhaustively studied in the last fifteen years, some specific topics have not received the required attention yet. One such topic is the applicability of functional timing analysis to circuits containing complex gates. This is the basic concern of this thesis. In addition, and as a necessary step to settle the scenario, a detailed and systematic study on functional timing analysis is also presented.
Resumo:
Este trabalho apresenta a proposta de um editor de diagramas hierárquico e colaborativo. Este editor tem por objetivo permitir a especificação colaborativa de circuitos através de representações gráficas. O Blade (Block And Diagram Editor), como foi chamado, permite especificações em nível lógico, usando esquemas lógicos simples, bem como esquemas hierárquicos. Ao final da montagem do circuito, a ferramenta gera uma descrição textual do sistema num formato netlist padrão. A fim de permitir especificações em diferentes níveis de abstração, o editor deve ser estendido a outras formas de diagramas, portanto seu modelo de dados deve ter flexibilidade a fim de facilitar futuras extensões. O Blade foi implementado em Java para ser inserido no Cave, um ambiente distribuído de apoio ao projeto de circuitos integrados, através do qual a ferramenta pode ser invocada e acessada remotamente. O Cave disponibiliza um serviço de colaboração que foi incorporado na ferramenta e através do qual o editor suporta o trabalho cooperativo, permitindo que os projetistas compartilhem dados de projeto, troquem mensagens de texto e, de forma colaborativa, construam uma representação gráfica do sistema. Objetivando fundamentar a proposta da nova ferramenta, é apresentado um estudo sobre ferramentas gráficas para especificação de sistemas, mais especificamente sobre editores de esquemáticos. A partir dessa revisão, do estudo do ambiente Cave e da metodologia de colaboração a ser suportada, fez-se a especificação do editor, a partir da qual implementou-se o protótipo do Blade. Além do editor, este trabalho contribuiu para a construção de uma API, um conjunto de classes Java que será disponibilizado no Cave e poderá ser utilizado no desenvolvimento de novas ferramentas. Foram realizados estudos sobre técnicas de projeto orientado a objeto, incluindo arquiteturas de software reutilizáveis e padrões de projeto de software, que foram utilizados na modelagem e na implementação da ferramenta, a fim de garantir a flexibilidade do editor e a reusabilidade de suas classes. Este trabalho também contribui com um estudo de modelagem de primitivas de projeto de sistemas. No modelo orientado a objetos utilizado no editor, podem ser encontradas construções muito utilizadas em diferentes ferramentas de projeto de sistemas, tais como hierarquia de projeto e instanciação de componentes e que, portanto, podem ser reutilizadas para a modelagem de novas ferramentas.
Resumo:
Este trabalho apresenta o módulo Collaborative Service, uma extensão do ambiente Cave, desenvolvido para suportar conceitos de trabalho cooperativo no projeto de circuitos integrados. Esta extensão por sua vez, é baseada na metodologia Pair- Programming e nas tecnologias Jini e Javaspaces. O módulo Collaborative Service foi desenvolvido para auxiliar a continuidade do processo de desenvolvimento de circuitos integrados complexos, inserindo uma dinâmica de grupo através da extensão de Pair-Programming para máquinas remotas. Esse modelo permite que dois ou mais projetistas interajam em um mesmo projeto ou blocos de projeto, independente de suas localizações geográficas e tipos de plataformas de hardware/software. Ele foi projetado para ser genérico e essa característica o torna capaz de suportar as ferramentas de CAD, atuais e futuras, do ambiente Cave (um framework de apoio ao projeto de circuitos integrados). Como estudo de caso, foram utilizadas duas ferramentas do Ambiente Cave. O primeiro caso mostra uma cooperação em nível de descrições gráficas, representada pela ferramenta Blade, um editor de esquemáticos hierárquico. O segundo caso foi representado pelo editor de descrições textuais (VHDL, Verilog e Linguagem C), chamado Homero. No estudo de caso com a ferramenta Blade foi demonstrado que a cooperação proposta por esse modelo pode atuar sob diferentes níveis de hierarquia de projeto, além de suportar a interação de inúmeros projetistas em um mesmo bloco. Na ferramenta Homero, demonstrou-se a cooperação em nível de descrições textuais, representados por (códigos) projetos VHDL acrescidos da participação de vários projetistas. Com esses exemplos, foi possível demonstrar as estratégias de percepção e comunicação com os projetistas, além de descrever a criação de blocos de projeto de uma forma cooperativa. Como contribuição desse trabalho, acrescenta-se ao Ambiente Cave mais um recurso para o projeto de circuitos integrados. Nesse sentido, grupos de projetistas podem projetar um sistema ou circuito integrado de forma cooperativa utilizando-se das funcionalidades desse modelo.
Resumo:
Este trabalho apresenta novos algoritmos para o roteamento de circuitos integrados, e discute sua aplicação em sistemas de síntese de leiaute. As interconexões têm grande impacto no desempenho de circuitos em tecnologias recentes, e os algoritmos propostos visam conferir maior controle sobre sua qualidade, e maior convergência na tarefa de encontrar uma solução aceitável. De todos os problemas de roteamento, dois são de especial importância: roteamento de redes uma a uma com algoritmos de pesquisa de caminhos, e o chamado roteamento de área. Para o primeiro, procura-se desenvolver um algoritmo de pesquisa de caminhos bidirecional e heurístico mais eficiente, LCS*, cuja aplicação em roteamento explora situações específicas que ocorrem neste domínio. Demonstra-se que o modelo de custo influencia fortemente o esforço de pesquisa, além de controlar a qualidade das rotas encontradas, e por esta razão um modelo mais preciso é proposto. Para roteamento de área, se estuda o desenvolvimento de uma nova classe de algoritmos sugerida em [JOH 94], denominados LEGAL. A viabilidade e a eficiência de tais algoritmos são demonstradas com três diferentes implementações. Devem ser também estudados mecanismos alternativos para gerenciar espaços e tratar modelos de grade não uniforme, avaliando-se suas vantagens e sua aplicabilidade em outros diferentes contextos.
Resumo:
O trabalho tem por objetivo mostrar uma técnica de depuração de circuitos integrados VLSI, utilizando um microscópio eletrônico de varredura (MEV) aliado ao fenômeno de contraste por tensão. São abordadas a descrição da ferramenta, técnicas de observação e depuração dos circuitos, bem como, são sugeridas estratégias de concepção visando facilitar a depuração dos circuitos. Embora tenham sido utilizados circuitos NMOS para realizar as experiências, a técnica é aplicável a circuitos MOS em geral. Resultados experimentais, utilizando circuitos projetados no PGCC, são apresentados.
Resumo:
Este trabalho tem como foco a aplicação de técnicas de otimização de potência no alto nível de abstração para circuitos CMOS, e em particular no nível arquitetural e de transferência de registrados (Register Transfer Leve - RTL). Diferentes arquiteturas para projetos especificos de algorítmos de filtros FIR e transformada rápida de Fourier (FFT) são implementadas e comparadas. O objetivo é estabelecer uma metodologia de projeto para baixa potência neste nível de abstração. As técnicas de redução de potência abordadas tem por obetivo a redução da atividade de chaveamento através das técnicas de exploração arquitetural e codificação de dados. Um dos métodos de baixa potência que tem sido largamente utilizado é a codificação de dados para a redução da atividade de chaveamento em barramentos. Em nosso trabalho, é investigado o processo de codificação dos sinais para a obtenção de módulos aritméticos eficientes em termos de potência que operam diretamente com esses códigos. O objetivo não consiste somente na redução da atividade de chavemanto nos barramentos de dados mas também a minimização da complexidade da lógica combinacional dos módulos. Nos algorítmos de filtros FIR e FFT, a representação dos números em complemento de 2 é a forma mais utilizada para codificação de operandos com sinal. Neste trabalho, apresenta-se uma nova arquitetura para operações com sinal que mantém a mesma regularidade um multiplicador array convencional. Essa arquitetura pode operar com números na base 2m, o que permite a redução do número de linhas de produtos parciais, tendo-se desta forma, ganhos significativos em desempenho e redução de potência. A estratégia proposta apresenta resultados significativamente melhores em relação ao estado da arte. A flexibilidade da arquitetura proposta permite a construção de multiplicadores com diferentes valores de m. Dada a natureza dos algoritmos de filtro FIR e FFT, que envolvem o produto de dados por apropriados coeficientes, procura-se explorar o ordenamento ótimo destes coeficientes nos sentido de minimizar o consumo de potência das arquiteturas implementadas.
Resumo:
Este trabalho faz uma análise ampla sobre os algoritmos de posicionamento. Diversos são extraídos da literatura e de publicações recentes de posicionamento. Eles foram implementados para uma comparação mais precisa. Novos métodos são propostos, com resultados promissores. A maior parte dos algoritmos, ao contrário do que costuma encontrar-se na literatura, é explicada com detalhes de implementação, de forma que não fiquem questões em aberto. Isto só possível pela forte base de implementação por trás deste texto. O algorítmo de Fidduccia Mateyeses, por exemplo, é um algorítmo complexo e por isto foi explicado com detalhes de implementação. Assim como uma revisão de técnicas conhecidas e publicadas, este trabalho oferece algumas inovações no fluxo de posicionamento. Propõe-se um novo algorítimo para posicionamento inicial, bem como uma variação inédita do Cluster Growth que mostrta ótimos resultados. É apresentada uma série de evoluções ao algorítmo de Simulated Annealling: cálculo automático de temperatura inicial, funções de perturbação gulosas (direcionadas a força), combinação de funções de perturbação atingindo melhores resultados (em torno de 20%), otimização no cálculo de tamanho dos fios (avaliação das redes modificadas e aproveitamento de cálculos anteriores, com ganhos em torno de 45%). Todas estas modificações propiciam uma maior velocidade e convergência do método de Simulated Annealling. É mostrado que os algorítmos construtivos (incluindo o posicionador do Tropic, baseado em quadratura com Terminal Propagation) apresentam um resultado pior que o Simulated Annealling em termos de qualidade de posicionamento às custas de um longo tempo de CPD. Porém, o uso de técnicas propostas neste trabalho, em conjunto com outras técnicas propostas em outros trabalhos (como o trabalho de Lixin Su) podem acelerar o SA, de forma que a relação qualidade/tempo aumente.
Resumo:
Este trabalho apresenta o LIT, uma ferramenta de auxílio ao projeto de circuitos integrados analógicos que utiliza a técnica da associação trapezoidal de transistores (TAT) sobre uma matriz digital pré-difundida. A principal característica é a conversão de cada transistor simples de um circuito analógico em uma associação TAT equivalente, seguido da síntese automática do leiaute da associação séria-paralela de transistores. A ferramenta é baseada na matriz SOT (sea-of-transistors), cuja arquitetura é voltada para o projeto de circuitos digitais. A matriz é formada somente por transistores unitários de canal curto de dimensões fixas. Através da técnica TAT, entretanto, é possível criar associações série-paralelas cujo comportamento DC aproxima-se dos transistores de dimensões diferentes dos unitários. O LIT é capaz de gerar automaticamente o leiaute da matriz SOT e dos TATs, além de células analógicas básicas, como par diferencial e espelho de corrente, respeitando as regras de casamento de transistores. O cálculo dos TATs equivalentes também é realizado pela ferramenta. Ela permite a interação com o usuário no momento da escolha da melhor associação. Uma lista de possíveis associações é fornecida, cabendo ao projetista escolher a melhor. Além disso, foi incluído na ferramenta um ambiente gráfico para posicionamento das células sobre a matriz e um roteador global automático. Com isso, é possível realizar todo o fluxo de projeto de um circuito analógico com TATs dentro do mesmo ambiente, sem a necessidade de migração para outras ferramentas. Foi realizado também um estudo sobre o cálculo do TAT equivalente, sendo que dois métodos foram implementados: aproximação por resistores lineares (válida para transistores unitários de canal longo) e aproximação pelo modelo analítico da corrente de dreno através do modelo BSIM3. Três diferentes critérios para a escolha da melhor associação foram abordados e discutidos: menor diferença de corrente entre o TAT e o transistor simples, menor número de transistores unitários e menor condutância de saída. Como circuito de teste, foi realizado o projeto com TATs de um amplificador operacional de dois estágios (amplificador Miller) e a sua comparação com o mesmo projeto utilizando transistores full-custom. Os resultados demonstram que se pode obter bons resultados usando esta técnica, principalmente em termos de desempenho em freqüência. A contribuição da ferramenta LIT ao projeto de circuitos analógicos reside na redução do tempo de projeto, sendo que as tarefas mais suscetíveis a erro são automatizadas, como a geração do leiaute da matriz e das células e o roteamento global. O ambiente de projeto, totalmente gráfico, permite que mesmo projetistas analógicos menos experientes realizem projetos com rapidez e qualidade. Além disso, a ferramenta também pode ser usada para fins educacionais, já que as facilidades proporcionadas ajudam na compreensão da metodologia de projeto.
Resumo:
Este trabalho apresenta um estudo, implementação e simulação de geradores de sinais analógicos usando-se circuitos digitais, em forma de CORE, integrando-se este com o microprocessador Risco. As principais características procuradas no gerador de sinais são: facilidade de implementação em silício, programabilidade tanto em freqüência quanto em amplitude, qualidade do sinal e facilidade de integração com um microprocessador genérico. Foi feito um estudo sobre a geração convencional de sinais analógicos, dando-se ênfase em alguns tipos específicos de circuitos como circuitos osciladores sintonizados, multivibradores, geradores de sinais triangulares e síntese de freqüência digital direta. Foi feito também um estudo sobre conversão digital-analógica, onde foram mostrados alguns tipos básicos de conversores D/A. Além disso foram abordadas questões como a precisão desses conversores, tipos digitais de conversores digitalanalógico, circuitos geradores de sinais e as fontes mais comuns de erros na conversão D/A. Dando-se ênfase a um tipo específico de conversor D/A, o qual foi utilizado nesse trabalho, abordou-se a questão da conversão sigma-delta, concentrando-se principalmente no ciclo de formatação de ruído. Dentro desse assunto foram abordados o laço sigma-delta, as estruturas de realimentação do erro, estruturas em cascata, e também o laço quantizador. Foram abordados vários circuitos digitais capazes de gerar sinais analógicos, principalmente senóides. Além de geradores de senóides simples, também se abordou a geração de sinais multi-tom, geração de outros tipos de sinais baseando-se no gerador de senóides e também foi apresentado um gerador de funções. Foram mostradas implementações e resultados dessas. Iniciando-se pelo microprocessador Risco, depois o gerador de sinais, o teste deste, a integração do microprocessador com o gerador de sinais e finalmente a implementação standard-cell do leiaute desse sistema. Por fim foram apresentadas conclusões, comentários e sugestões de trabalhos futuros baseando-se no que foi visto e implementado nesse trabalho.
Resumo:
Este trabalho apresenta a pesquisa e o desenvolvimento da ferramenta para geração automática de leiautes WTROPIC. O WTROPIC é uma ferramenta para a geração remota, acessível via WWW, de leiautes para circuitos CMOS adequada ao projeto FUCAS e ao ambiente CAVE. O WTROPIC foi concebido a partir de otimizações realizadas na versão 3 da ferramenta TROPIC. É mostrado também, como as otimizações no leiaute do TROPIC foram implementadas e como essas otimizações permitem ao WTROPIC cerca de 10% de redução da largura dos circuitos gerados em comparação ao TROPIC. Como o TROPIC, o WTROPIC é um gerador de macro células CMOS independente de biblioteca. Apresenta-se também, como a ferramenta WTROPIC foi integrada ao ambiente de concepção de circuitos CAVE, as mudanças propostas para metodologia de integração de ferramentas do CAVE que conduzem a uma melhora na qualidade de integração e a padronização das interfaces de usuário e como a síntese física de um leiaute pode ser então realizada remotamente. Dessa maneira, obteve-se uma ferramenta para a concepção de leiautes disponível a qualquer usuário com acesso a internet, mesmo que esse usuário não disponha de uma máquina com elevada capacidade de processamento, normalmente exigido por ferramentas de CAD.
Resumo:
The mixed-signal and analog design on a pre-diffused array is a challenging task, given that the digital array is a linear matrix arrangement of minimum-length transistors. To surmount this drawback a specific discipline for designing analog circuits over such array is required. An important novel technique proposed is the use of TAT (Trapezoidal Associations of Transistors) composite transistors on the semi-custom Sea-Of-Transistors (SOT) array. The analysis and advantages of TAT arrangement are extensively analyzed and demonstrated, with simulation and measurement comparisons to equivalent single transistors. Basic analog cells were also designed as well in full-custom and TAT versions in 1.0mm and 0.5mm digital CMOS technologies. Most of the circuits were prototyped in full-custom and TAT-based on pre-diffused SOT arrays. An innovative demonstration of the TAT technique is shown with the design and implementation of a mixed-signal analog system, i. e., a fully differential 2nd order Sigma-Delta Analog-to-Digital (A/D) modulator, fabricated in both full-custom and SOT array methodologies in 0.5mm CMOS technology from MOSIS foundry. Three test-chips were designed and fabricated in 0.5mm. Two of them are IC chips containing the full-custom and SOT array versions of a 2nd-Order Sigma-Delta A/D modulator. The third IC contains a transistors-structure (TAT and single) and analog cells placed side-by-side, block components (Comparator and Folded-cascode OTA) of the Sigma-Delta modulator.
Resumo:
A criptografia assumiu papel de destaque no cotidiano das pessoas, em virtude da necessidade de segurança em inúmeras transações eletrônicas. Em determinadas áreas, a utilização de hardware dedicado à tarefa de criptografia apresenta vantagens em relação à implementação em software, devido principalmente ao ganho de desempenho. Recentemente, o National Institute of Standards and Technology (NIST) publicou o novo padrão norte-americano de criptografia simétrica, chamado de Advanced Encryption Standard (AES). Após um período de aproximadamente 3 anos, no qual várias alternativas foram analisadas, adotou-se o algoritmo Rijndael. Assim, este trabalho apresenta um Soft IP do padrão AES, codificado em VHDL, visando a implementação em FPGA Altera. Todo o projeto foi construído com funções e bibliotecas genéricas, a fim de permitir a posterior implementação sobre outras tecnologias. Foram geradas duas versões: uma priorizando desempenho e outra priorizando a área ocupada nos componentes. Para cada uma das versões, produziu-se um circuito para encriptar e outro para decriptar. O desempenho alcançado em termos de velocidade de processamento superou todos os outros trabalhos publicados na área, sobre a mesma tecnologia. São apresentados os detalhes de implementação, arquiteturas envolvidas e decisões de projeto, bem como todos os resultados. A dissertação contém ainda conceitos básicos de criptografia e uma descrição do algoritmo Rijndael.
Resumo:
No intuito de validar seus projetos de sistemas integrados, o Grupo de Microeletrônica da UFRGS tem investido na inserção de estruturas de teste nos núcleos de hardware que tem desenvolvido. Um exemplo de tal tipo de sistema é a “caneta tradutora”, especificada e parcialmente desenvolvida por Denis Franco. Esta caneta se utiliza de um microcontrolador 8051 descrito em VHDL, o qual ainda carece de estruturas dedicadas com funções orientadas à testabilidade. Este trabalho exemplifica a integração de teste em um circuito eletrônico préprojetado. Neste caso específico, foi utilizado o microcontrolador 8051 fonte compatível que será inserido no contexto da caneta tradutora. O método utilizado apoiou-se na norma IEEE1149.1, destinada a definir uma infra-estrutura baseada na técnica do boundary scan para o teste de placas de circuito impresso. São apresentadas características de testabilidade desenvolvidas para o microcontrolador, utilizando-se a técnica do boundary scan em sua periferia e a técnica do scan path em seu núcleo. A inserção destas características de teste facilita a depuração e testes em nível de sistema, imaginando-se o sistema como algo maior, fazendo parte do sistema da caneta tradutora como um todo. São elaborados exemplos de testes, demonstrando a funcionalidade do circuito de teste inserido neste núcleo e a possibilidade de detecção de falhas em pontos distintos do sistema. Finalmente, avalia-se o custo associado à integração desta infra-estrutura de teste, tanto em termos de acréscimo de área em silício, quanto em termos de degradação de desempenho do sistema.