959 resultados para Cad : Microeletronica
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:
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:
Esta dissertação enquadra-se em um processo de busca de soluções para a geração do leiaute de circuitos integrados que permitam aumentar a qualidade da previsibilidade do comportamento de um circuito após a sua implementação. Isso é importante face ao crescimento dos problemas referentes aos efeitos elétricos adversos que surgem em nanocircuitos, tais como eletromigração, efeito antena, contatos mal formados e outros, assim como o aumento da variabilidade do processo de fabricação em tecnologias submicrônicas. O foco deste trabalho de pesquisa é a busca de soluções regulares através do uso de matrizes de portas lógicas. A experimentação efetuada realiza a geração de uma matriz de portas NAND que viabiliza a implementação de equações lógicas mapeadas para redes de portas NAND e inversores, admitindo-se a parametrização do fanout máximo. Foi desenvolvida uma ferramenta de CAD, o MARTELO, que permite efetuar a geração automática de matrizes de portas lógicas, sendo que a versão inicial está voltada para a geração de matrizes com portas NAND em tecnologia CMOS. Os experimentos efetuados revelam que esta técnica é promissora, sendo apresentados alguns dos resultados obtidos.
Resumo:
Este trabalho tem como objetivo estudar e avaliar técnicas para a aceleração de algoritmos de análise de timing funcional (FTA - Functional Timing Analysis) baseados em geração automática de testes (ATPG – Automatic Test Generation). Para tanto, são abordados três algoritmos conhecidos : algoritmo-D, o PODEM e o FAN. Após a análise dos algoritmos e o estudo de algumas técnicas de aceleração, é proposto o algoritmo DETA (Delay Enumeration-Based Timing Analysis) que determina o atraso crítico de circuitos que contêm portas complexas. O DETA está definido como um algoritmo baseado em ATPG com sensibilização concorrente de caminhos. Na implementação do algoritmo, foi possível validar o modelo de computação de atrasos para circuitos que contêm portas complexas utilizando a abordagem de macro-expansão implícita. Além disso, alguns resultados parciais demonstram que, para alguns circuitos, o DETA apresenta uma pequena dependência do número de entradas quando comparado com a dependência no procedimento de simulação. Desta forma, é possível evitar uma pesquisa extensa antes de se encontrar o teste e assim, obter sucesso na aplicação de métodos para aceleração do algoritmo.
Resumo:
The work described in this thesis aims to support the distributed design of integrated systems and considers specifically the need for collaborative interaction among designers. Particular emphasis was given to issues which were only marginally considered in previous approaches, such as the abstraction of the distribution of design automation resources over the network, the possibility of both synchronous and asynchronous interaction among designers and the support for extensible design data models. Such issues demand a rather complex software infrastructure, as possible solutions must encompass a wide range of software modules: from user interfaces to middleware to databases. To build such structure, several engineering techniques were employed and some original solutions were devised. The core of the proposed solution is based in the joint application of two homonymic technologies: CAD Frameworks and object-oriented frameworks. The former concept was coined in the late 80's within the electronic design automation community and comprehends a layered software environment which aims to support CAD tool developers, CAD administrators/integrators and designers. The latter, developed during the last decade by the software engineering community, is a software architecture model to build extensible and reusable object-oriented software subsystems. In this work, we proposed to create an object-oriented framework which includes extensible sets of design data primitives and design tool building blocks. Such object-oriented framework is included within a CAD Framework, where it plays important roles on typical CAD Framework services such as design data representation and management, versioning, user interfaces, design management and tool integration. The implemented CAD Framework - named Cave2 - followed the classical layered architecture presented by Barnes, Harrison, Newton and Spickelmier, but the possibilities granted by the use of the object-oriented framework foundations allowed a series of improvements which were not available in previous approaches: - object-oriented frameworks are extensible by design, thus this should be also true regarding the implemented sets of design data primitives and design tool building blocks. This means that both the design representation model and the software modules dealing with it can be upgraded or adapted to a particular design methodology, and that such extensions and adaptations will still inherit the architectural and functional aspects implemented in the object-oriented framework foundation; - the design semantics and the design visualization are both part of the object-oriented framework, but in clearly separated models. This allows for different visualization strategies for a given design data set, which gives collaborating parties the flexibility to choose individual visualization settings; - the control of the consistency between semantics and visualization - a particularly important issue in a design environment with multiple views of a single design - is also included in the foundations of the object-oriented framework. Such mechanism is generic enough to be also used by further extensions of the design data model, as it is based on the inversion of control between view and semantics. The view receives the user input and propagates such event to the semantic model, which evaluates if a state change is possible. If positive, it triggers the change of state of both semantics and view. Our approach took advantage of such inversion of control and included an layer between semantics and view to take into account the possibility of multi-view consistency; - to optimize the consistency control mechanism between views and semantics, we propose an event-based approach that captures each discrete interaction of a designer with his/her respective design views. The information about each interaction is encapsulated inside an event object, which may be propagated to the design semantics - and thus to other possible views - according to the consistency policy which is being used. Furthermore, the use of event pools allows for a late synchronization between view and semantics in case of unavailability of a network connection between them; - the use of proxy objects raised significantly the abstraction of the integration of design automation resources, as either remote or local tools and services are accessed through method calls in a local object. The connection to remote tools and services using a look-up protocol also abstracted completely the network location of such resources, allowing for resource addition and removal during runtime; - the implemented CAD Framework is completely based on Java technology, so it relies on the Java Virtual Machine as the layer which grants the independence between the CAD Framework and the operating system. All such improvements contributed to a higher abstraction on the distribution of design automation resources and also introduced a new paradigm for the remote interaction between designers. The resulting CAD Framework is able to support fine-grained collaboration based on events, so every single design update performed by a designer can be propagated to the rest of the design team regardless of their location in the distributed environment. This can increase the group awareness and allow a richer transfer of experiences among them, improving significantly the collaboration potential when compared to previously proposed file-based or record-based approaches. Three different case studies were conducted to validate the proposed approach, each one focusing one a subset of the contributions of this thesis. The first one uses the proxy-based resource distribution architecture to implement a prototyping platform using reconfigurable hardware modules. The second one extends the foundations of the implemented object-oriented framework to support interface-based design. Such extensions - design representation primitives and tool blocks - are used to implement a design entry tool named IBlaDe, which allows the collaborative creation of functional and structural models of integrated systems. The third case study regards the possibility of integration of multimedia metadata to the design data model. Such possibility is explored in the frame of an online educational and training platform.
Resumo:
Os projetos de CIs (Circuitos Integrados) atualmente compreendem muitas tarefas para sua execução. Durante um fluxo de projeto de CI são necessárias ferramentas que lidam com essas diferentes tarefas. Algumas empresas compilam diversas ferramentas em um único ambiente, ou framework, onde tais ferramentas são adaptadas para interagir entre si. O uso desses frameworks é suficiente para muitos projetos, porém podem existir requisitos que obriguem a utilização de ferramentas independentes para suprir deficiências dos ambientes, exigindo a utilização conjunta de ferramentas não projetadas para cooperar. A interoperabilidade entre sistemas computacionais tem se tornado um tópico de extrema importância. Ela possibilita a execução conjunta de ferramentas, diminuindo a necessidade de intervenção humana para tanto. A interoperação entre ferramentas independentes e frameworks é importante não somente para facilitar o uso conjunto de ferramentas, mas também permite que outros tópicos sejam explorados. Entre eles estão o trabalho de equipes geograficamente distantes e a possibilidade de trabalho com grandes quantidades de dados, que são duas questões importantes para microeletrônica. Ainda, a interoperação entre ferramentas independentes e ambientes traz benefícios mútuos: as ferramentas podem utilizar funcionalidades dos ambientes e se adaptar aos fluxos de projeto deles; os ambientes podem ter suas funcionalidades estendidas pela inclusão de novas ferramentas em seu trabalho. Essas questões são especialmente importantes para pequenas empresas ou ferramentas acadêmicas que não têm condições de incorporar em suas ferramentas muitos dos procedimentos que os ambientes oferecem. Este trabalho apresenta uma proposta para auxiliar a interoperação entre ferramentas independentes e frameworks relevantes para a microeletrônica, através de um protocolo inspirado em SOAP (Simple Object Access Protocol), além de oferecer ferramentas de auxílio para a adaptação ao protocolo proposto. A interação com os frameworks é feita através de linguagens script disponibilizadas por eles. Estudos de caso são apresentados para demonstrar a usabilidade da proposta.
Resumo:
The indoor air quality (IAQ) in buildings is currently assessed by measurement of pollutants during building operation for comparison with air quality standards. Current practice at the design stage tries to minimise potential indoor air quality impacts of new building materials and contents by selecting low-emission materials. However low-emission materials are not always available, and even when used the aggregated pollutant concentrations from such materials are generally overlooked. This paper presents an innovative tool for estimating indoor air pollutant concentrations at the design stage, based on emissions over time from large area building materials, furniture and office equipment. The estimator considers volatile organic compounds, formaldehyde and airborne particles from indoor materials and office equipment and the contribution of outdoor urban air pollutants affected by urban location and ventilation system filtration. The estimated pollutants are for a single, fully mixed and ventilated zone in an office building with acceptable levels derived from Australian and international health-based standards. The model acquires its dimensional data for the indoor spaces from a 3D CAD model via IFC files and the emission data from a building products/contents emissions database. This paper describes the underlying approach to estimating indoor air quality and discusses the benefits of such an approach for designers and the occupants of buildings.