MÉTODOS E RESULTADOS DE OTIMIZAÇÕES DE CIRCUITOS IMPLEMENTADOS SOBRE O AMBIENTE DE SÍNTESE LÓGICA ELIS

Tamanho: px
Começar a partir da página:

Download "MÉTODOS E RESULTADOS DE OTIMIZAÇÕES DE CIRCUITOS IMPLEMENTADOS SOBRE O AMBIENTE DE SÍNTESE LÓGICA ELIS"

Transcrição

1 MÉTODOS E RESULTADOS DE OTIMIZAÇÕES DE CIRCUITOS IMPLEMENTADOS SOBRE O AMBIENTE DE SÍNTESE LÓGICA ELIS Felipe de Souza Marques, Vinícius Pazutti Correia, Renato P. Ribas, André Inácio Reis Instituto de Informática UFRGS Brasil {felipem, vincor, rpribas, andreis}@inf.ufrgs.br SUMMARY This works describes the tool/environment for logic synthesis called Elis. Many algorithms and methods were implemented in this environment. Some of those methods are new and some are classic ones. This environment has been developed in order to be used as background for new implementations of logic synthesis algorithms over the same data structure for representing logic circuits. This internal data structure is also presented. Classes that represent the circuit, its cells, nets and cell pins are also described. The methods used for reading and writing special circuit description formats are presented, besides some discussion about others methods like equivalence checking, technology mapping, automatic generation of arithmetic circuits and redundancy removal. Some comparative results showing the efficiency of the implemented methods are discussed. Some conclusions are also presented. RESUMO Este trabalho descreve a ferramenta ambiente de síntese lógica Elis. Sobre esse ambiente, diversos algoritmos e métodos de síntese lógica, clássicos e novos, foram implementados. Esse ambiente foi desenvolvido de forma a ser utilizado para o desenvolvimento de novos algoritmos sobre a mesma estrutura de dados padrão para representação de circuitos digitais. A estrutura de dados interna também é apresentada. Classes que representam o circuito, as células, as redes e os pinos de entrada e saída de cada porta lógica são descritos. Os métodos de leitura e escrita de formatos de representação de circuitos digitais são apresentados, juntamente com discussões sobre as implementações de verificação de equivalências, mapeamento tecnológico, geração automática de circuitos aritméticos e remoção de redundâncias. Resultados comparativos demonstram a eficiência dos algoritmos implementados, juntamente com algumas conclusões que também são apresentadas.

2 MÉTODOS E RESULTADOS DE OTIMIZAÇÕES DE CIRCUITOS IMPLEMENTADOS SOBRE O AMBIENTE DE SÍNTESE LÓGICA ELIS Felipe de Souza Marques, Vinícius Pazutti Correia, Renato P. Ribas, André Inácio Reis Instituto de Informática UFRGS Brasil {felipem, vincor, rpribas, andreis}@inf.ufrgs.br ABSTRACT Este trabalho descreve a ferramenta ambiente de síntese lógica Elis. Sobre esse ambiente, diversos algoritmos e métodos de síntese lógica, clássicos e novos, foram implementados. Esse ambiente foi desenvolvido de forma a ser utilizado para o desenvolvimento de novos algoritmos sobre a mesma estrutura de dados padrão para representação de circuitos digitais. A estrutura de dados interna também é apresentada. Classes que representam o circuito, as células, as redes e os pinos de entrada e saída de cada porta lógica são descritos. Os métodos de leitura e escrita de formatos de representação de circuitos digitais são apresentados, juntamente com discussões sobre as implementações de verificação de equivalências, mapeamento tecnológico, geração automática de circuitos aritméticos e remoção de redundâncias. Resultados comparativos demonstram a eficiência dos algoritmos implementados, juntamente com algumas conclusões que também são apresentadas. 1. INTRODUÇÃO Existem diversos algoritmos de síntese lógica e, muitos deles, fazem modificações semelhantes ou com o mesmo intuito em descrições de circuitos, de formas diferentes. Para que fosse possível elaborar comparações justas e que também se pudesse unir os diversos métodos já implementados ou ainda por ser implementados, foi criada a ferramenta ELIS. O intuito é de se ter um ambiente para a implementação de diversos algoritmos de síntese lógica sobre uma estrutura de dados comum, da qual se pudesse extrair informações sobre os diversos tipos de circuitos que podem ser representados nela. A ELIS é uma ferramenta que objetiva a produção de circuitos, o que a diferencia de clássicas ferramentas de síntese lógicas como o SIS. Isso se deve não apenas por métodos de geração automática de circuitos, mas principalmente por ir até o nível físico, ou seja, da abstração de redes de transistores. Esse artigo está organizado da seguinte forma: no capítulo 2 é apresentada a estrutura de dados principal da ferramenta, utilizada para representar os circuitos internamente. Em seguida, na sessão 3, os métodos de síntese lógica implementados são apresentados. Na sessão 4, alguns resultados obtidos para circuitos benchmarks conhecidos através do uso da ELIS. Na sessão 5, algumas conclusões são apresentadas, juntamente com a indicação de alguns trabalhos futuros. 2. ESTRUTURA DE DADOS A organização e a manipulação de células e funções lógicas diretamente dentro da estrutura de dados foi planejada de forma que se possam implementar novos métodos sobre essa mesma estrutura da ELIS. Ela está dividida em classes que representam os diferentes elementos de um circuito lógico, da seguinte forma: 2.1. Classe Circuit A classe Circuit mantém os principais grupos de células e redes como membro, ao tempo que possui métodos para efetuar a leitura, a escrita e transformação do circuito nela representado. É diretamente sobre uma instância da classe Circuit que são feitas as chamadas a métodos que realizam os algoritmos de síntese lógica implementados. As redes, as células lógicas, as entradas e saídas são armazenadas na classe Circuit como instâncias de classes contêineres Classe DF A classe DF é basicamente um Descritor de Função. O objetivo de DF é manter e gerenciar representações de uma função lógica. Dentro de DF, uma mesma função pode assumir diferentes representações de forma transparente ao usuário da classe. Essa representação pode ser qualquer forma de lógica, tendo já implementados as formas de constante, VPBDD, árvore n-ária e equação booleana. Apenas uma dessas diversas formas de representação é válida a cada momento. Para se passar de uma forma a outra, métodos de tradução foram

3 implementados. Esses métodos podem ser chamados manualmente a partir de um acesso que se tenha a um objeto DF Classe Net A classe Net representa as redes geradas pelas portas lógicas e pelas entradas primárias do circuito. Uma rede sempre está ligada a um pino de saída de uma célula (CPinOut). Ela pode ser usada por várias outras células como entrada ou sinal de saída primária, e cada célula que a usa possui um pino de entrada (CPinIn) ligada a essa rede. Cada rede tem um nome único associado, que representa o nome do sinal que nela está ligado Classe CPin A classe CPin define um pino genérico, de interface para uma célula lógica. Para ser usada como pino de uma célula, deve ser utilizada uma das suas classes derivadas, CPinIn ou CPinOut. A classe CPinIn representa os pinos de entrada das células lógicas e das células das saídas primárias. Nela estão descritas informações sobre a célula que a possui e a rede à qual está ligada. Para efeito de controle e polarização do circuito, também é armazenada a informação sobre o uso do sinal de entrada negado ou não. Além disso, cada pino tem ainda a informação de que literal ele representa na equação que define a célula. A classe derivada de CPin, a classe CPinOut representa os pinos de saída das células lógicas e das células das entradas primárias. Nela estão descritas informações sobre a célula que a possui e a rede à qual está ligada. Para efeito de polarização do circuito, também é armazenada a informação sobre a polaridade do sinal gerado. Além disso, cada pino tem ainda a informação de que ponto do DF ele deve retirar as informações sobre o sinal que ele propaga pela rede a qual está ligado Classes CellInst A classe CellInst define uma célula genérica do circuito e dela devem ser derivadas todas as diferentes células, sejam essas lógicas, de passagem, de entrada ou de saída. A classe ICell é uma especialização de CellInst que representa um pino de uma entrada primária do circuito. Associado a essa célula, temos os membros herdados de CellInst para armazenamento da função lógica, id, profundidade lógica e nome. Geralmente a função representada aqui é uma constante com o valor lógico igual ao que seria a entrada do circuito. O nome dessa célula coincide com o nome da rede que ele está gerando, e que também é a entrada primária do circuito. A classe OCell é uma especialização de CellInst que representa um pino de uma saída primária do circuito. Associado a essa célula, temos os membros herdados de CellInst para armazenamento da função lógica, id, profundidade lógica e nome. A função representada aqui é apenas uma passagem de valor lógico que chega a essa célula através da rede que chega ao único pino de entrada. O nome dessa célula coincide com o nome da rede que ele está recebendo, e que também é a saída primária do circuito. A classe LCell é uma especialização de CellInst que representa uma célula lógica com um pino de saída, ou seja, que gera apenas um novo sinal para apenas uma rede. Associado a essa célula, temos os membros herdados de CellInst para armazenamento da função lógica, id, profundidade lógica e nome. A função representada por cada LCell está definida dentro do DF que é membro de LCell. O nome dessa célula não necessariamente coincide com o nome da rede que ele está gerando. 3. MÉTODOS IMPLEMENTADOS 3.1. Formatos de leitura e escrita de circuitos Os formatos de arquivos que descrevem circuitos lógicos são os mais diversos. Alguns leitores de arquivos foram implementados de forma a permitir o carregamento da estrutura de dados com circuitos gerados ou manipulados por outros softwares de manipulação de circuitos, como SIS [1]. O primeiro formato de descrição de circuitos com leitor e escritor implementados foi o NETBLIF. Esse formato é uma versão de um arquivo BLIF mapeado para uma determinada biblioteca, cuja descrição não está no arquivo. A descrição é feita através de uma lista de entradas primárias, uma lista de saídas primárias e uma lista de células lógicas. Cada célula tem o nome da célula da biblioteca usada, juntamente com os sinais de entrada e saída assinalados. Um segundo formato, também compatível com o SIS, é o EQN. Esse formato é uma descrição em forma de equações lógicas dos nodos do circuito, sendo livre de uma descrição de biblioteca que contenha as células utilizadas. A descrição é feita através de uma lista de entradas primárias, uma lista de saídas primárias e uma lista de células lógicas. Cada célula tem o nome do sinal gerado e uma equação lógica que usa como variáveis os nomes de sinais declarados em linhas anteriores ou como entrada primária. Também foram implementados escritores de formatos compatíveis com outras ferramentas. Um deles é o conhecido SPICE, formato que contém a descrição do circuito no nível de transistores. SPICE é utilizado para simulações elétricas em softwares como HSPICE. Um outro formato implementado com escritor é o da linguagem de descrição de hardware VHDL. O arquivo de saída contém o circuito representado em uma arquitetura simples, onde cada sinal interno do circuito é definido como um sinal interno da arquitetura e apenas os pinos de entrada e saída do circuito são definidos como portas. O formato VHDL é utilizado por diversas ferramentas comerciais e acadêmicas como uma forma de descrever hardware. Também é possível descarregar a descrição lógica do circuito VHDL em uma placa de FPGA.

4 3.2. Verificação de equivalências Alguns nodos do circuito podem ter funções lógicas equivalentes. Por exemplo, duas portas lógicas do tipo AND que usem as mesmas entradas primárias podem estar sendo utilizadas para alimentar diferentes redes. O sinal gerado por essas portas é o mesmo e, a menos que o circuito tenha sido mapeado com o objetivo de se reduzir o atraso dos sinais, não há porque ter duas portas gerando o mesmo sinal. Dessa forma, essas duas portas AND poderiam compartilhar a sua lógica, utilizando uma única porta para alimentar as duas redes antes alimentadas por duas portas idênticas. Essa verificação de equivalência entre sinais gerados por diferentes portas pode parecer óbvia para portas simples com entradas primárias, mas isso se torna mais complexo à medida que se aumenta a profundidade lógica e a variedade das portas a serem usadas. Dois conjuntos de portas lógicas de estruturas totalmente diferentes podem gerar o mesmo sinal equivalente. A comparação é feita com o auxílio de um pacote de BDDs [2], o CUDD [3], que garante representações fortemente canônicas dos circuitos Mapeamento tecnológico Mapeamento tecnológico é a transformação de uma especificação lógica de um circuito em um conjunto interconectado de portas lógicas pertencentes a uma determinada tecnologia. Entre todos os demais métodos e passos envolvidos na síntese de um circuito, o mapeamento tecnológico é o único que necessariamente modifica todas as células de um circuito, tendo um impacto decisivo na estrutura da lógica mapeada. Sendo assim, é facilmente perceptível a direta influência que as modificações efetuadas nessa etapa têm sobre características como atraso e área [4]. Algoritmos de mapeamento tecnológico do estado da arte são divididos em duas etapas principais [5][6]. Na primeira, a etapa da combinação, um conjunto de possíveis combinações entre nodos do circuito e células da biblioteca é analisado por um comparador e armazenado para ser utilizado pela próxima etapa. O comparador é uma função de comparação entre duas estruturas de dados, que pode ser definido tanto por um simples teste de igualdade entre dois números inteiros quanto por uma complexa análise entre duas estruturas em busca de subestruturas isomórficas. Na segunda etapa, a de cobertura, as possíveis combinações são reduzidas, segundo uma determinada metodologia, a um conjunto mínimo que cubra toda a estrutura, ou seja, implemente todo o circuito. simples.para gerar as descrições dos circuitos aritméticos, basta que o número de bits dos operandos seja fornecido, junto com o tipo do circuito a ser implementado. Um gerador automático de circuitos aritméticos viabiliza a geração (em um curto espaço de tempo) de vários circuitos com a mesma funcionalidade, mas implementados com topologias diferentes. Cada topologia apresenta vantagens e desvantagens. Os circuitos podem ser gerados de acordo com as necessidades do projeto, levando em conta critérios como área, desempenho, potência e testabilidade. A ELIS implementa, sobre sua estrutura de dados, um gerador de circuitos aritméticos para números inteiros. Dentre eles estão os circuitos somadores, somadores/subtratores e multiplicadores. Estes circuitos são construídos a partir de topologias conhecidas [7], que serão abordadas nos próximos itens Somador ripple-carry Um somador binário paralelo é um circuito digital que produz a soma aritmética de dois números binários, utilizando somente a lógica combinacional. O somador paralelo utiliza n somadores completos em paralelo, com todas as entradas aplicadas simultaneamente para produzir a soma. Neste caso, n é o número de bits utilizados para a representação do número em um sistema binário. Os somadores completos são conectados em cascata, com a saída do carry (Co) de um somador ligada a entrada do carry (Ci) do próximo somador. Este tipo de somador é chamado de ripple carry e está ilustrado na fig. 1. Fig. 1 Somador ripple carry de 4 bits. Um somador ripple carry pode ser visto como blocos de somadores completos parciais. A fig. 2 mostra um somador completo parcial. Este bloco somador pode ser utilizado para diferentes tipos de somadores, que implementam uma lógica diferenciada para a propagação do carry. A fig. 3 mostra como seria implementado o somador ripple carry com o marco bloco do somador completo parcial Geração Automática de Circuitos Aritméticos Normalmente, os circuitos aritméticos são implementados com blocos regulares, o que torna fácil à automatização do processo de concepção das suas descrições. Além disso, a parametrização deste tipo de estrutura é bastante

5 Fig. 2 Somador completo parcial Fig. 3 Somador ripple-carry de 4 bits com somador completo parcial Somador carry-look-ahead Os somadores carry-look-ahead implementam um somador de forma hierárquica, cujo objetivo é acelerar a propagação do carry. Este circuito tem bom desempenho para realizar a soma, mas ocupa mais área que o somador ripple carry. Um exemplo de somador carry-look-ahead de 4 bits pode ser visto na fig. 4. de desempenho podem introduzir redundâncias em um projeto. Com o intuito de tornar a propagação do sinal de carry (c0) mais rápida, adiciona-se um multiplexador que gera o sinal c2. Porém, esta adição introduz redundâncias no circuito, conforme destaca a figura (s-a-0 e s-a-1). A ocorrência de falhas nestas conexões faz com que seja inútil a tentativa de realizar a aceleração de propagação do sinal de carry. No entanto, o comportamento lógico do circuito permanece correto e desta forma, as falhas de colagem assinaladas não são testáveis. Fig. 6 Somador carry-skip de 2 bits. Fig. 4 Somador carry-look-ahead de 4bits Somador carry-select O somador carry-select se propõe a realizar a soma de números binários de forma rápida. A idéia deste somador é paralelizar a soma, acrescentando mais lógica combinacional ao circuito. A fig. 5 mostra um exemplo para um somador de 8 bits. Neste caso, existem três somadores de 4 bits. Dois deles calculam a soma, considerando o carry igual a 0 e igual a 1. Posteriormente, um conjunto de multiplexadores seleciona o cálculo válido Soma/Subtração binária Um somador/subtrator pode ser implementado sobre qualquer tipo de somador. Para realizar isto, basta acrescentar uma lógica simples a um conjunto de bits de um dos operando da soma. Esta lógica consiste de portas XOR, em que uma das entradas é o carry e a outra é o bit do operando. A lógica adicional tem a finalidade de calcular o complemento de dois de um dos operandos e conseqüentemente, é possível realizar a subtração. Fig. 7 Célula básica do multiplicador. Fig. 5 Somador carry-select de 8 bits Somador carry-skip A fig. 6 mostra o esquemático do somador carry-skip de 2 bits. Este exemplo mostra que otimizações para melhoria Multiplicador array Fig. 8 Multiplicador array de 4x4.

6 A célula básica do multiplicador é mostrada na fig. 7. A multiplicação é gerada por uma seqüência de somas sucessivas. Por este motivo, este tipo de multiplicador é chamado de multiplicador array, devido a sua topologia estrutural. Um multiplicador array 4x4 é mostrado na fig Remoção de Redundâncias O algoritmo que está implementado na ELIS (apresentado em [8]) explora o fato de que existe uma correspondência direta entre cada nodo do VPBDD [9] e um literal da equação de um circuito fanout-free (propriedades discutidas em [8][10]). Desta forma, existe uma única correspondência entre um nodo no VPBDD e um caminho do circuito. Além disso, o nodo mais abaixo de um VPBDD é avaliado somente se os nodos de cima atuarem como não-controlantes, possibilitando testar se todos os nodos (e conseqüentemente, todos os caminhos no circuito, devido à existência da relação única) podem controlar uma saída primária do circuito. A remoção de redundâncias baseia-se na análise de alcançabilidade dos arcos do VPBDD. Cada arco não alcançável equivale a uma falha de colagem não testável, ou seja, eles representam caminhos que não podem ser ativados e conseqüentemente podem ser removidos. A análise de alcançabilidade deve ser realizada sobre todos os nodos do VPBDD, considerando que cada nodo deve ter sido avaliada pelo menos uma vez na última posição do grafo (nodo mais abaixo). O circuito redundante da fig. 9 será utilizado para explicar todo o processo de remoção de redundâncias, através da seqüência das etapas implementadas. A remoção de redundâncias é aplicada sobre VPBDDs correspondentes a cada saída do circuito. A representação de um circuito fanout-free através de VPBDDs implica na existência de um VPBDD para cada saída do circuito, ou seja, cada saída primária do circuito identifica um VPBDD, que é totalmente independente dos demais (não compartilham sub-grafos). Para uma remoção total de redundâncias, todos os VPBDDs correspondentes a cada saída do circuito devem ser avaliados pelo algoritmo para identificação e remoção de arcos não alcançáveis. Para o circuito da fig. 10, obtêm-se os VPBDDs para F1 e F2, conforme a fig. 11. O VPBDD de F1 é irredundante, pois todas as variáveis aparecem apenas uma vez na representação. O VPBDD de F2 possui dois arcos não alcançáveis. Removendo os nodos que possuem arcos não alcançáveis, obtém-se os VPBDDs da fig. 12. A partir dos VPBDDs irredundantes é possível derivar circuitos irredundantes mostrados na fig. 13. Nota-se que duas portas lógicas foram eliminadas. Estas portas correspondem aos nodos eliminados no VPBDD de F2. Fig. 11 VPBDDs redundantes. Fig. 9 Circuito inicial, redundante e compactado. A primeira etapa do algoritmo é gerar um circuito fanoutfree, duplicando todas as portas que possuem fanout maior que um. Observando o circuito da fig. 9, pode-se derivar o circuito da fig. 10, aplicando sucessivas duplicações de portas. Fig. 12 VPBDDs irredundantes. Fig. 10 Circuito redundante fanout-free. O circuito resultante das duas primeiras etapas do algoritmo é irredundante e fanout-free. Um circuito fanout-free tem potencialmente um grande número de nós intermediários equivalentes. Logo, todas as portas que são

7 equivalentes podem ser representadas unicamente, reduzindo o número total de portas lógicas do circuito. O circuito da fig. 14 é o resultado da verificação de equivalências, a partir do circuito da fig. 13. Pode-se perceber que o atraso do circuito resultante (3 portas em série no caminho mais longo) diminuiu se comparado com o circuito redundante inicial (4 portas em série no caminho mais longo). A área do circuito sofreu o aumento de uma porta lógica, que é conseqüência da representação fanoutfree. Fig. 13 Circuito fanout-free, irredundante. Fig. 14 Circuito compactado e irredundante após a verificação de equivalências Outros Métodos Implementados Existem outros algoritmos implementados na ELIS. Alguns destes algoritmos destacam-se por sua utilização. Com a ELIS é possível gerar uma codificação SPICE, que representa o caminho mais longo do circuito, permitindo sua simulação. Para gerar circuitos mapeados com lógica inversa, a ferramenta dispõe de um algoritmo que polariza o circuito objetivando a minimização de inversores, garantindo a implementação de células (complexas ou não) com lógica complementar. remoção de redundâncias. Por fim, para realizar a medida do atraso do circuito, utilizou-se o algoritmo para extração do caminho mais longo (tendo como medida o número de transistores em série) sob forma de uma descrição SPICE, possibilitando a simulação. Tab. 1 Simulação do caminho mais longo antes e depois da remoção de redundâncias. Circuitos Original (ns) Sem redundâncias (ns) csa2_2 0,4930 0,3356 csa4_4 0,7450 0,5820 csa8_2 1,5850 0,7360 csa8_4 1,3600 0,9900 cla2 0,4145 0,3487 cla4 0,5280 0,4700 ripple2 0,4224 0,3488 ripple4 0,6660 0,5840 ripple8 1,1710 1,1380 mult2_2 0,3827 0,2042 mult3_3 1,0076 0,4679 mult4_4 1,6446 0,8032 9sym 0,9580 0,7269 sao2 0,7560 0,6190 Total 12,1338 8,3543 Total % 100,00% 68,85% 5. CONCLUSÕES Este trabalho apresentou a ferramenta ELIS, que constitui um ambiente de síntese lógica onde foram implementados diversos métodos para manipulação e otimização de circuitos digitais. Alguns destes métodos foram descritos e os demais apenas brevemente citados. Após, alguns resultados do uso destes algoritmos foram apresentados resultados de simulações, que demonstram a eficiência dos algoritmos. 4. RESULTADOS O emprego dos algoritmos implementados na ELIS mostra resultados satisfatórios. Na tabela 1 pode-se observar o impacto da remoção de redundâncias no caminho mais longo do circuito. Para se chegar a tais medidas, vários algoritmos foram utilizados. Todas as descrições dos circuitos da tabela estão mapeadas para o conjunto de células de duas entradas (NAND e NOR) e inversores. Isto foi possível com os algoritmos de mapeamento tecnológico e minimização de inversores. O ganho em performance foi obtido com a remoção de redundâncias. Também foi o utilizado o algoritmo de verificação de equivalências para reduzir a área do circuito após a

8 6. REFERÊNCIAS [1] SIS: A System for Sequential Circuits Synthesis. Berkeley: University of California, Logic Synthesis Tool. [2] BRYANT, R. Graph-Based Algorithms for Boolean Function Manipulation. IEEE Transactions on Computers, New York, v. C-35, n. 8, p , [3] SOMENZI, F. CUDD Package, Release ~fabio/cudd/cuddintro.htm. [4] CORREIA, V.; REIS, A. Compression and Technology Mapping of Logic Circuits In: Symposium on Integrated Circuits and Systems Design, SBCCI, 2002, Porto Alegre. Proceedings... Porto Alegre, p [5] CORREIA, V. P. Projeto de Diplomação Mapeamento Tecnológico Baseado em Restrições Estruturais, Instituto de Informática UFRGS, [6] DEMICHELI, G. Synthesis and Optimization of Digital Circuits. McGraw-Hill series in electrical and computer engineering, [7] KATZ, R. Contemporary Logic Design. The Benjamin/Cummings, Redwood City, [8] MARQUES, F. et al. Testability Properties of BDDs. In: Symposium on Integrated Circuits and Systems Design, SBCCI, 2002, Porto Alegre. Proceedings... Porto Alegre, p [9] REIS, A. et al. Associating CMOS Transistors with BDD arcs for Technology Mapping. Electronic Letters An International Publication, vol. 31, no. 14, pag , [10] MARQUES, F. Dissertação de Mestrado - Remoção de Redundâncias em Circuitos Combinacionais PPGCC/UFRGS, 2003.

Exploração do Espaço de Projeto da DCT 2-D de um Compressor de Imagens JPEG

Exploração do Espaço de Projeto da DCT 2-D de um Compressor de Imagens JPEG Exploração do Espaço de Projeto da DCT 2-D de um Compressor de Imagens JPEG Roger Endrigo Carvalho Porto, Luciano Volcan Agostini GACI - Grupo de Arquiteturas e Circuitos Integrados Departamento de Matemática,

Leia mais

Capítulo 6 Aritmética Digital: Operações e Circuitos

Capítulo 6 Aritmética Digital: Operações e Circuitos Capítulo 6 Aritmética Digital: Operações e Circuitos slide 1 Temas abordados nesse capítulo: - Adição, subtração, multiplicação e divisão de dois binários. - Diferença entre soma binária e soma OR. - Vantagens

Leia mais

Introdução a Sistemas Digitais

Introdução a Sistemas Digitais Introdução a Sistemas Digitais Definição Sistemas Digitais Projeto Revisão: Circuitos Combinacionais Circuitos Sequênciais Máquinas de Estados Sistemas Digitais Definição Um sistema digital é um sistema

Leia mais

Programa Analítico de Disciplina INF251 Organização de Computadores I

Programa Analítico de Disciplina INF251 Organização de Computadores I 0 Programa Analítico de Disciplina INF51 Organização de Computadores I Departamento de Informática - Centro de Ciências Exatas e Tecnológicas Número de créditos: Teóricas Práticas Total Duração em semanas:

Leia mais

Aula 7: Portas Lógicas: AND, OR, NOT, XOR, NAND e NOR

Aula 7: Portas Lógicas: AND, OR, NOT, XOR, NAND e NOR Aula 7: Portas Lógicas: AND, OR, NOT, XOR, NAND e NOR Conforme discutido na última aula, cada operação lógica possui sua própria tabela verdade. A seguir será apresentado o conjunto básico de portas lógicas

Leia mais

Projetos de Circuitos Digitais em VHDL e FPGA

Projetos de Circuitos Digitais em VHDL e FPGA Projetos de Circuitos Digitais em VHDL e FPGA Cap. 4 - Projetos de Circuitos Combinacionais Aritméticos com VHDL Prof. Erivelton Geraldo Nepomuceno Engenharia Elétrica UFSJ - Universidade Federal de São

Leia mais

Técnicas Digitais para Computação

Técnicas Digitais para Computação INF 8 Técnicas Digitais para Computação Circuitos Aritméticos Somadores e Subtratores Aula 2 . Meio Somador ou Half-Adder (soma 2 bits) S C S = + = C =. S C S C 2. Somador Completo ou Full-Adder (soma

Leia mais

3 Circuitos Combinacionais

3 Circuitos Combinacionais 3 Circuitos Combinacionais Os circuitos lógicos dos sistemas digitais podem ser de dois tipos: circuitos combinacionais ou circuitos seqüenciais. Um circuito combinacional é constituído por um conjunto

Leia mais

CALCULADORA SIMPLES COM ULA

CALCULADORA SIMPLES COM ULA CALCULADORA SIMPLES COM ULA Versão 2013 RESUMO 1 Esta experiência tem por objetivo a utilização de circuitos integrados de operações lógicas e aritméticas para o desenvolvimento de circuitos que executam

Leia mais

Exercícios de Laboratório 2

Exercícios de Laboratório 2 Tradução do Laboratory Exercise 2 disponível em Exercícios de Laboratório 2 Números e Displays Este é um exercício de criação

Leia mais

Projeto com Linguagens de Descrição de Hardware

Projeto com Linguagens de Descrição de Hardware Projeto com Linguagens de Descrição de Hardware Versão 2012 RESUMO Esta experiência consiste no projeto e implementação de um circuito digital simples com o uso de uma linguagem de descrição de hardware.

Leia mais

Pontifícia Universidade Católica Federal do Rio de Santa Grande Catarina do Sul

Pontifícia Universidade Católica Federal do Rio de Santa Grande Catarina do Sul DEPARTAMENTO: Engenharia Elétrica e Eletrônica CURSO: Engenharia Eletrônica DISCIPLINA: Tópico Avançado em sistemas Digitais CÓDIGO: EEL7123 CRÉDITOS: 04 CARGA HORÁRIA: 72 horas-aula OFERTA: 15 vagas Engenharia

Leia mais

Arquitetura de Computadores I

Arquitetura de Computadores I Arquitetura de Computadores I Aritmética Computacional - Inteiros - Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Sumário A unidade lógico-aritmética Representação de números inteiros

Leia mais

Montagem, testes, depuração e documentação de circuitos digitais

Montagem, testes, depuração e documentação de circuitos digitais Montagem, testes, depuração e documentação de circuitos digitais Versão 2012 RESUMO Esta experiência tem como objetivo um contato inicial com técnicas de montagem, teste e depuração de circuitos digitais.

Leia mais

Relatório de Prática no LABORATORIO

Relatório de Prática no LABORATORIO Cod. Disc: TURMA: GRUPO: NOME: Sistemas Digitais Relatório de Prática no LABORATORIO Aula 09 3ª Etapa: Projeto Prático Correção Código BCD e Sinal ANEXO: Teste de Simulação Soma e Subtração PROF. MSc.

Leia mais

Um Algoritmo Formal para Remoção de Redundâncias

Um Algoritmo Formal para Remoção de Redundâncias UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA PROGRAMA DE PÓS-GRADUAÇÃO EM COMPUTAÇÃO Um Algoritmo Formal para Remoção de Redundâncias por FELIPE DE SOUZA MARQUES Dissertação submetida

Leia mais

Somadores Binários E.T.M./2005 (revisão)

Somadores Binários E.T.M./2005 (revisão) Somadores Binários E.T.M./2005 (revisão) RESUMO Esta experiência tem por objetivo a familiarização com somadores binários, notadamente os paralelos, que realizam a soma simultânea de todos os bits de dois

Leia mais

Calculadora Simples em VHDL

Calculadora Simples em VHDL Calculadora Simples em VHDL Versão 2014 RESUMO Esta experiência consiste no projeto e implementação de um circuito digital simples com o uso de uma linguagem de descrição de hardware. São apresentados

Leia mais

Sistemas Digitais Unidade Lógica e Aritmética - ULA

Sistemas Digitais Unidade Lógica e Aritmética - ULA Sistemas Digitais Unidade Lógica e Aritmética - ULA Referência Bibliográfica: Contemporary Logic Design Katz & Borriello Logic and Computer Design Fundamentals Mano & Kime Embedded System Design Vahid

Leia mais

EPUSP PCS 2011/2305/2355 Laboratório Digital SOMADORES DECIMAIS

EPUSP PCS 2011/2305/2355 Laboratório Digital SOMADORES DECIMAIS SOMADORES DECIMAIS Versão 2012 RESUMO Nesta experiência será estudado um circuito aritmético de soma decimal a partir dos somadores binários de 4 bits (por exemplo, o circuito integrado 74283). A parte

Leia mais

Introdução à Linguagem VHDL

Introdução à Linguagem VHDL Fundamentos de Sistemas Digitais 23/abril/2019 Introdução à Linguagem VHDL profs. Alexandre M. Amory e Fernando G. Moraes 1 Referências Sugiro estudarem nesta ordem de preferência: Vahid, Cap 9 Ignorar

Leia mais

Universidade Federal de Santa Catarina Centro Tecnológico Departamento de Informática e Estatística Ciências da Computação & Engenharia Eletrônica

Universidade Federal de Santa Catarina Centro Tecnológico Departamento de Informática e Estatística Ciências da Computação & Engenharia Eletrônica Universidade Federal de Santa Catarina Centro Tecnológico Departamento de Informática e Estatística Ciências da Computação & Engenharia Eletrônica Aula 1-T 1. Projeto de unidade lógico-aritmética (ULA).

Leia mais

Prof. André Rabelo LÓGICA DIGITAL INTRODUÇÃO

Prof. André Rabelo LÓGICA DIGITAL INTRODUÇÃO Prof. André Rabelo LÓGICA DIGITAL INTRODUÇÃO INTRODUÇÃO Um sistema pode ser definido como sendo um conjunto de elementos que são interligados de alguma maneira para compor um todo e assim realizar funcionalidade

Leia mais

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I. Introdução ao VHDL. César A. M. Marcon

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I. Introdução ao VHDL. César A. M. Marcon ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I Introdução ao VHDL César A. M. Marcon VHDL Uma Linguagem de Descrição de Hardware 2 Originou como linguagem para descrever hardware, no contexto do programa

Leia mais

Parte # 2 - Circuitos Combinatórios

Parte # 2 - Circuitos Combinatórios CEFET Departamento de Engenharia Elétrica - DEPEL GELE 7163 Eletrônica Digital Parte # 2 - Circuitos Combinatórios 1 GELE 7163 Eletrônica Digital 2 Referências : Notas de Aula. Mendonça, Alexandre e Zelenovsky,

Leia mais

Arquitetura de Computadores. Tiago Alves de Oliveira

Arquitetura de Computadores. Tiago Alves de Oliveira Arquitetura de Computadores Tiago Alves de Oliveira Revisão A B S 0 0 0 Porta Lógica XOR Tabela Verdade XOR 0 1 1 1 0 1 1 1 0 Somadores Os somadores são importantes em computadores e também em outros tipos

Leia mais

4. Desenhe um digrama esquemático para cada uma das funções abaixo. a.

4. Desenhe um digrama esquemático para cada uma das funções abaixo. a. Eletrônica Digital Lista de Exercícios 1. Preencha a tabela abaixo para cada uma das funções indicadas. x 2 x 1 x 0 x 2 x 1 x 2 +x 1 x 2 x 1 x 2 x 1 + x 0 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1

Leia mais

EPUSP PCS 2011 Laboratório Digital I. Uma ULA Simples

EPUSP PCS 2011 Laboratório Digital I. Uma ULA Simples Uma ULA Simples Versão 2015 RESUMO Esta experiência tem como objetivo o desenvolvimento do projeto de uma unidade lógica e aritmética simples que realiza quatro operações sobre dados de quatro bits. OBJETIVOS

Leia mais

Introdução à Linguagem VHDL

Introdução à Linguagem VHDL Fundamentos de Sistemas Digitais Introdução à Linguagem VHDL prof. Dr. Alexandre M. Amory Referências Sugiro estudarem nesta ordem de preferência: Vahid, Cap 9 Ignorar verilog e SystemC Bem didático! um

Leia mais

UNIVERSIDADE FEDERAL DO PARANÁ SETOR DE CIÊNCIA E TECNOLOGIA ENGENHARIA ELÉTRICA

UNIVERSIDADE FEDERAL DO PARANÁ SETOR DE CIÊNCIA E TECNOLOGIA ENGENHARIA ELÉTRICA UNIVERSIDADE FEDERAL DO PARANÁ SETOR DE CIÊNCIA E TECNOLOGIA ENGENHARIA ELÉTRICA RELATÓRIO CONTADOR DE 6 BITS PROGRAMÁVEL Trabalho apresentado à disciplina de Projeto de Circuitos Integrados Digitais,

Leia mais

IMPACTOS DO USO DE DIFERENTES ARQUITETURAS DE SOMADORES EM FPGAS ALTERA

IMPACTOS DO USO DE DIFERENTES ARQUITETURAS DE SOMADORES EM FPGAS ALTERA IMPACTOS DO USO DE DIFERENTES ARQUITETURAS DE SOMADORES EM FPGAS ALTERA Marcelo S. Porto, André M. C. Silva, Roger E. C. Porto, José Luís A. Güntzel, Luciano V. Agostini Grupo de Arquiteturas e Circuitos

Leia mais

Multiplicador Binário com Sinal

Multiplicador Binário com Sinal Multiplicador Binário com Sinal Edson T. Midorikawa/2010 E.T.M./2012 (revisão) RESUMO Nesta experiência será implementado um circuito para multiplicação binária com sinal. Deve ser aplicada a metodologia

Leia mais

3. Portas Lógicas. Objetivos. Objetivos. Introdução. Circuitos Digitais 31/08/2014

3. Portas Lógicas. Objetivos. Objetivos. Introdução. Circuitos Digitais 31/08/2014 Objetivos 3. Portas Lógicas Descrever a operação do inversor, da porta AND e da porta OR Descrever a operação da porta NAND e da porta NOR Expressar a operação da função NOT e das portas AND, OR, NAND

Leia mais

Capítulo 6 Aritmética Digital: Operações e Circuitos

Capítulo 6 Aritmética Digital: Operações e Circuitos Capítulo 6 Aritmética Digital: Operações e Circuitos slide 1 Temas abordados nesse capítulo: - Adição, subtração, multiplicação e divisão de dois binários. - Diferença entre soma binária e soma OR. - Vantagens

Leia mais

A representação de sistemas digitais. Circuitos combinatórios. Equações algébricas. Tabelas de verdade. Organização: Formas básicas de representação:

A representação de sistemas digitais. Circuitos combinatórios. Equações algébricas. Tabelas de verdade. Organização: Formas básicas de representação: ircuitos combinatórios Organização: ormas básicas de representação Síntese por mapas de Karnaugh Projectos com blocos SSI / MSI nálise e teste ircuitos combinatórios - representação de sistemas digitais

Leia mais

TUTORIAL PARA SIMULAÇÃO

TUTORIAL PARA SIMULAÇÃO TUTORIAL PARA SIMULAÇÃO Fernando Moraes Atualizado em 29/outubro/2012 O presente laboratório tem por objetivos: 1. Ilustrar o comportamento dos somadores vistos nas aulas teóricas 2. Introduzir as ferramentas

Leia mais

Introdução à Computação

Introdução à Computação Introdução à Computação Jordana Sarmenghi Salamon jssalamon@inf.ufes.br jordanasalamon@gmail.com http://inf.ufes.br/~jssalamon Departamento de Informática Universidade Federal do Espírito Santo Agenda

Leia mais

Projeto de Circuitos Lógicos. Introdução ao Computador 2010/01 Renan Manola

Projeto de Circuitos Lógicos. Introdução ao Computador 2010/01 Renan Manola Projeto de Circuitos Lógicos Introdução ao Computador 2010/01 Renan Manola Blocos básicos dos circuitos lógicos Portas Lógicas (1) Transistor A lógica digital baseia-se no fato de que um transistor pode

Leia mais

Relatório Circuitos Lógicos. Calculadora 4 bits

Relatório Circuitos Lógicos. Calculadora 4 bits INSTITUTO FEDERAL DE SANTA CATARINA-IFSC CÂMPUS SÃO JOSÉ Relatório Circuitos Lógicos Calculadora 4 bits Marcelo Bittencourt do Nascimento Filho Sarom da Silva Torres SÃO JOSÉ, 2018 1. Introdução O presente

Leia mais

Arquitetura de Computadores Aula 9 Portas Lógicas

Arquitetura de Computadores Aula 9 Portas Lógicas Arquitetura de Computadores Aula 9 Portas Lógicas Prof. Fred Sauer http://www.fredsauer.com.br fsauer@gmail.com 1/18 * Definição * Tipos de portas lógicas (operadores) * Aplicações - porta de transferência

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I Aritmética Computacional Slide 1 Sumário Unidade Lógica e Aritmética Representação de Números Inteiros Representação de Números de Ponto Flutuante Aritmética

Leia mais

Exercícios Referentes à Prova P1

Exercícios Referentes à Prova P1 ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I Referentes à Prova P1 prof. Dr. César Augusto M. Marcon prof. Dr. Edson Ifarraguirre Moreno 2 / 11 1. Assinale com V se a sentença estiver correta, caso contrário

Leia mais

EPUSP PCS2355 Laboratório Digital SOMADORES DECIMAIS

EPUSP PCS2355 Laboratório Digital SOMADORES DECIMAIS SOMADORES DECIMAIS Versão 2015 RESUMO Nesta experiência será estudado um circuito aritmético de soma decimal a partir dos somadores binários de 4 bits (por exemplo, o circuito integrado 74283). A parte

Leia mais

PROJETO DE CIRCUITOS INTEGRADOS DIGITAIS

PROJETO DE CIRCUITOS INTEGRADOS DIGITAIS UNIVERSIDADE FEDERAL DO PARANÁ CURSO DE ENGENHARIA ELÉTRICA PROJETO DE CIRCUITOS INTEGRADOS DIGITAIS Somador de 8 bits com carry Orientandos: Allan Christian Krainski Ferrari Eduardo Delinski dos Santos

Leia mais

ÁLGEBRA BOOLEANA E LÓGICA DIGITAL AULA 04 Arquitetura de Computadores Gil Eduardo de Andrade

ÁLGEBRA BOOLEANA E LÓGICA DIGITAL AULA 04 Arquitetura de Computadores Gil Eduardo de Andrade ÁLGEBRA BOOLEANA E LÓGICA DIGITAL AULA 04 Arquitetura de Computadores Gil Eduardo de Andrade O conteúdo deste documento é baseado no livro Princípios Básicos de Arquitetura e Organização de Computadores

Leia mais

UFMG DCC Álgebra de Boole. Slides ligeiramente adaptados daqueles do professor Osvaldo Farhat de Carvalho, DCC, UFMG

UFMG DCC Álgebra de Boole. Slides ligeiramente adaptados daqueles do professor Osvaldo Farhat de Carvalho, DCC, UFMG UFMG DCC001 2013-1 1 Álgebra de Boole Slides ligeiramente adaptados daqueles do professor Osvaldo Farhat de Carvalho, DCC, UFMG UFMG DCC001 2013-1 2 Bits e informação Representamos números, caracteres,

Leia mais

SSC0112 Organização de Computadores Digitais I

SSC0112 Organização de Computadores Digitais I SSC2 Organização de Computadores Digitais I 4ª Aula Revisão de Lógica Digital Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br Aula ministrada por Prof. Paulo Sergio Lopes de Souza Revisão de Lógica Digital

Leia mais

Introdução à Computação

Introdução à Computação Universidade Federal de Campina Grande Centro de Engenharia Elétrica e Informática Unidade Acadêmica de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Introdução à Computação EXERCÍCIOS

Leia mais

Eletrônica Digital I (EDL I)

Eletrônica Digital I (EDL I) Eletrônica Digital I (EDL I) Instituto Federal de Educação, Ciência e Tecnologia de Santa Catarina - Campus São José Prof. Glauco Cardozo glauco.cardozo@ifsc.edu.br Os circuitos lógicos dos sistemas digitais

Leia mais

Eletrônica Digital Lista de Exercícios

Eletrônica Digital Lista de Exercícios Eletrônica Digital Lista de Exercícios 1. Preencha a tabela abaixo para cada uma das funções indicadas. x 2 x 1 x 0 x 2 x 1 x 2 +x 1 x 2 x 1 x 2 x 1 + x 0 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1

Leia mais

EPUSP PCS 2011 Laboratório Digital I. Uma ULA Simples

EPUSP PCS 2011 Laboratório Digital I. Uma ULA Simples Uma ULA Simples Versão 2013 RESUMO Esta experiência tem como objetivo o desenvolvimento do projeto de uma unidade lógica e aritmética simples que realiza quatro operações sobre dados de quatro bits. OBJETIVOS

Leia mais

OBTENÇÃO DE IMPLICANTES PRIMOS PARA FUNÇÕES BOOLEANAS ATRAVÉS DA OPERAÇÃO DE CONSENSO

OBTENÇÃO DE IMPLICANTES PRIMOS PARA FUNÇÕES BOOLEANAS ATRAVÉS DA OPERAÇÃO DE CONSENSO OBTENÇÃO DE IMPLICANTES PRIMOS PARA FUNÇÕES BOOLEANAS ATRAVÉS DA OPERAÇÃO DE CONSENSO Alexandre César Rodrigues da Silva 1, Ivanil Sebastião Bonatti 2 e Cláudio Kitano 3 Resumo No desenvolvimento de projetos

Leia mais

1 REPRESENTAÇÃO DIGITAL DE INFORMAÇÃO Bases de Numeração Representação de Números em Base 2 5

1 REPRESENTAÇÃO DIGITAL DE INFORMAÇÃO Bases de Numeração Representação de Números em Base 2 5 PREFÁCIO 1 REPRESENTAÇÃO DIGITAL DE INFORMAÇÃO 1 1.1 Bases de Numeração 3 1.1.1 Representação de Números Inteiros em Base b 3 1.1.2 Representação de Números em Base 2 5 1.1.3 Representação de Números Fraccionários

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Universidade Federal de Campina Grande Centro de Engenharia Elétrica e Informática Unidade Acadêmica de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e Arquitetura de

Leia mais

EPUSP PCS 2011/2305/2355 Laboratório Digital ARITMÉTICA DECIMAL

EPUSP PCS 2011/2305/2355 Laboratório Digital ARITMÉTICA DECIMAL ARITMÉTICA DECIMAL Versão 2012 RESUMO Nesta experiência será estudado um circuito aritmético de soma e subtração decimal a partir dos somadores binários de 4 bits (por exemplo, o circuito integrado 74283).

Leia mais

Universidade Federal de Santa Catarina Centro Tecnológico Departamento de Informática e Estatística Curso de Graduação em Ciências da Computação

Universidade Federal de Santa Catarina Centro Tecnológico Departamento de Informática e Estatística Curso de Graduação em Ciências da Computação Universidade Federal de Santa Catarina Centro Tecnológico Departamento de Informática e Estatística Curso de Graduação em Ciências da Computação Sistemas Digitais INE 56 Suplemento à Aula -T Arquiteturas

Leia mais

EPUSP PCS 2011/2305/2355 Laboratório Digital CALCULADORA SIMPLES

EPUSP PCS 2011/2305/2355 Laboratório Digital CALCULADORA SIMPLES CALCULADORA SIMPLES E.T.M./2003 (revisão e adaptação) E.T.M. e M.D.M./2005 (revisão) RESUMO Esta experiência tem por objetivo a utilização de circuitos integrados de soma binária para o desenvolvimento

Leia mais

ELETRÔNICA DIGITAL I

ELETRÔNICA DIGITAL I ELETRÔNICA DIGITAL I DE10-LITE Programação Utilizando VHDL Professor Dr. Michael Klug 1 Comparativo Linguagens Linguagem de Programação x HDL Supondo que cada instrução leve 20ns entre 40 e 60ns para conclusão

Leia mais

Laboratório 6 (Trabalho com Relatório) Semana 25 de Outubro a 29 de Outubro

Laboratório 6 (Trabalho com Relatório) Semana 25 de Outubro a 29 de Outubro Laboratório 6 (Trabalho com Relatório) Semana 25 de Outubro a 29 de Outubro Realização de módulo somador-subtractor. Utilização de ambiente Xilinx WebPack de edição de esquemáticos e simulação. Realização

Leia mais

Organização de Computadores

Organização de Computadores Faculdades SENAC Sistemas de Informação 27 de fevereiro de 2008 Contextualizando Aritmética Binária Os Computadores e as calculadoras digitais realizam várias operações aritméticas sobre números representados

Leia mais

FPGA & VHDL. Tutorial Aula 1. Computação Digital

FPGA & VHDL. Tutorial Aula 1. Computação Digital FPGA & VHDL Tutorial Aula 1 Computação Digital FPGA Field Programmable Gate Array Dispositivo lógico contendo uma matriz de: Células lógicas genéricas Configuráveis ( programáveis ) para desempenhar uma

Leia mais

Revisão: Projeto de Processadores em VHDL

Revisão: Projeto de Processadores em VHDL Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Revisão: Projeto de Processadores em VHDL DCA0119 Sistemas Digitais Heitor Medeiros Florencio 1 Sumário

Leia mais

Livro texto: VHDL- Descrição e Síntese de Circuitos Digitais Roberto D Amore Editora LTC

Livro texto: VHDL- Descrição e Síntese de Circuitos Digitais Roberto D Amore Editora LTC Livro texto: VHDL- Descrição e Síntese de Circuitos Digitais Roberto D Amore Editora LTC Linguagem para descrever o funcionamento de um sistema (o que e como o sistema faz). O sistema descrito em HDL

Leia mais

FPGA & VHDL. Tutorial

FPGA & VHDL. Tutorial FPGA & VHDL Tutorial 2009-2 FPGA FieldProgrammableGateArray Dispositivo lógico contendo uma matriz de: Células lógicas genéricas Configuráveis ( programadas ) para desempenhar uma função simples Chaves

Leia mais

Índice. 1.2 Sistemas Numéricos em uma Base B Qualquer

Índice. 1.2 Sistemas Numéricos em uma Base B Qualquer Índice 1. SISTEMAS NUMÉRICOS 1.1 Caracterização dos Sistemas Numéricos 1.2 Sistemas Numéricos em uma Base B Qualquer 1.2.1 Sistema de Numeração Decimal 1.2.2. Sistema de Numeração Binário 1.2.3 Sistema

Leia mais

Eletrônica Digital. Funções e Portas Lógicas. Prof. Renato Moraes

Eletrônica Digital. Funções e Portas Lógicas. Prof. Renato Moraes Eletrônica Digital Funções e Portas Lógicas Prof. Renato Moraes Introdução Em 1854, o matemático inglês George Boole apresentou um sistema matemático de análise lógica conhecido como Álgebra de Boole.

Leia mais

Análise e Projeto de Circuitos Combinacionais e Sequenciais

Análise e Projeto de Circuitos Combinacionais e Sequenciais Análise e Projeto de Circuitos Combinacionais e Sequenciais Referência bibliográfica: - Digital Design: Principles and Practices - Wakerly - Elementos de Eletrônica Digital Idoeta e Capuano - Introduction

Leia mais

1. Sistemas de numeração e códigos 23

1. Sistemas de numeração e códigos 23 Sumário 1. Sistemas de numeração e códigos 23 1.1. Conceitos fundamentais 23 1.2. Representações numéricas 24 1.3. Representação de dados numéricos 25 1.4. Sistemas de números e bases numéricas 27 1.4.1.

Leia mais

Sistemas Digitais I LESI :: 2º ano. Introdução

Sistemas Digitais I LESI :: 2º ano. Introdução Sistemas Digitais I LESI :: 2º ano Introdução António Joaquim Esteves João Miguel Fernandes www.di.uminho.pt/~aje Bibliografia: capítulo 1, DDPP, Wakerly DEP. DE INFORMÁTICA ESCOLA DE ENGENHARIA UNIVERSIDADE

Leia mais

Automação Industrial Parte 8

Automação Industrial Parte 8 Automação Industrial Parte 8 Prof. Ms. Getúlio Teruo Tateoki http://www.getulio.eng.br/meusalunos/autind.html -Vamos supor que seja necessário determinar a função lógica interna de um sistema desconhecido.

Leia mais

Hardware Reconfigurável

Hardware Reconfigurável Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Hardware Reconfigurável DCA0119 Sistemas Digitais Heitor Medeiros Florencio Tópicos Alternativas de projeto

Leia mais

Circuitos Combinacionais

Circuitos Combinacionais Circuitos Combinacionais Circuito combinacional: Possui portas lógicas conectadas para produzir valor dos sinais de saída Não possui armazenamento de valores no circuito Valor dos sinais de saída depende

Leia mais

PROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

PROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar - Aula 1 - O NÍVEL DA LÓGICA DIGITAL 1. INTRODUÇÃO Na parte inferior da hierarquia da figura abaixo encontramos o nível da lógica digital, o verdadeiro hardware do computador. Este nível situa-se na fronteira

Leia mais

Funções e Portas Lógicas

Funções e Portas Lógicas Funções e Portas Lógicas 2. Funções Lógicas 2 2.1 Introdução 2 2.2 Funções Lógicas Básicas 3 2.2.1 Função Lógica NÃO (NOT) 3 2.2.2 Função Lógica E (AND) 3 2.2.3 Função Lógica OU (OR) 5 2.2.4 Função Lógica

Leia mais

Circuitos sequenciais Adaptado dos transparentes das autoras do livro The Essentials of Computer Organization and Architecture

Circuitos sequenciais Adaptado dos transparentes das autoras do livro The Essentials of Computer Organization and Architecture Capítulo 3 Circuitos sequenciais Adaptado dos transparentes das autoras do livro The Essentials of Computer Organization and Architecture Objectivos Conhecer alguns dos principais circuitos digitais sequenciais

Leia mais

EPUSP PCS 2011/2305/2355 Laboratório Digital CALCULADORA SIMPLES

EPUSP PCS 2011/2305/2355 Laboratório Digital CALCULADORA SIMPLES CALCULADORA SIMPLES E.T.M./2003 (revisão e adaptaçào) M.D.M. e E.T.M./2006 (revisão) E.T.M./2008 (revisão) E.T.M./20 (revisão) RESUMO Esta experiência tem por objetivo a utilização de circuitos integrados

Leia mais

Universidade Federal de Santa Catarina Departamento de Engenharia Elétrica Laboratório de Materiais Elétricos LAMATE

Universidade Federal de Santa Catarina Departamento de Engenharia Elétrica Laboratório de Materiais Elétricos LAMATE Universidade Federal de Santa Catarina Departamento de Engenharia Elétrica Laboratório de Materiais Elétricos LAMATE Experiência 4 Circuitos Lógicos- Inversor, Portas Nand/And, Portas Nor/Or, Memória Estática

Leia mais

Sistemas Digitais Circuitos Aritméticos e Unidades Aritméticas e Lógicas (ALUs)

Sistemas Digitais Circuitos Aritméticos e Unidades Aritméticas e Lógicas (ALUs) Sistemas Digitais Circuitos Aritméticos e Unidades Aritméticas e Lógicas (ALUs) João Paulo Baptista de Carvalho joao.carvalho@inesc-id.pt Circuitos Aritméticos Circuitos aritméticos são aqueles que realizam

Leia mais

Solucionador de circuitos lógicos em C++

Solucionador de circuitos lógicos em C++ UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE DEPARTAMENTO DE ENGENHARIA DE COMPUTAÇÃO E AUTOMAÇÃO DCA Solucionador de circuitos lógicos em C++ Camila de Oliveira Silva, 2009028716 Victor Neves Nogueira,

Leia mais

RUP RATIONAL UNIFIED PROCESS

RUP RATIONAL UNIFIED PROCESS O que é RUP? É um metodologia para gerenciar projetos de desenvolvimento de software que usa a UML como ferramenta para especificação de sistemas. Ele é um modelo de processo híbrido Mistura elementos

Leia mais

Dispositivos de Lógica Programável

Dispositivos de Lógica Programável Dispositivos de Lógica Programável Evolução Válvula no início de 1940 Transistor em 1947 Não aquece como as válvulas Fisicamente menor 1961 primeiro integrado TTL 74LSXX Década de 1970 surge SPLD Simple

Leia mais

DISPOSITIVOS LÓGICOS PROGRAMÁVEIS. SEL Sistemas Digitais Prof. Homero Schiabel

DISPOSITIVOS LÓGICOS PROGRAMÁVEIS. SEL Sistemas Digitais Prof. Homero Schiabel DISPOSITIVOS LÓGICOS PROGRAMÁVEIS SEL 414 - Sistemas Digitais Prof. Homero Schiabel 1. Introdução Operação do circuito lógico pode ser descrita por: Tabela da Verdade Expressão booleana Dispositivo de

Leia mais

Códigos de Detecção de Erros 2ª. parte. Prof. Ricardo de O. Duarte DECOM - UFOP

Códigos de Detecção de Erros 2ª. parte. Prof. Ricardo de O. Duarte DECOM - UFOP Códigos de Detecção de Erros 2ª. parte Prof. Ricardo de O. Duarte DECOM - UFOP Códigos de Checksum Principais características: Código separável. Usados em Pen-drives, HDs, Floppy Disks, Redes. Código Não

Leia mais

INF Técnicas Digitais para Computação. Introdução. Aula 1

INF Técnicas Digitais para Computação. Introdução. Aula 1 INF01 118 Técnicas Digitais para Computação Introdução Aula 1 Objetivo Projetar circuitos digitais: Combinacionais Sequências Testar a analisar circuitos digitais Funcionamento Área Desempenho (velocidade)

Leia mais

Aula 16: UCP: Conceitos Básicos e Componentes

Aula 16: UCP: Conceitos Básicos e Componentes Aula 16: UCP: Conceitos Básicos e Componentes Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF) UCP: Conceitos Básicos e Componentes FAC 1 / 34

Leia mais

Pontifícia Universidade Católica Federal do Rio de Santa Grande Catarina do Sul

Pontifícia Universidade Católica Federal do Rio de Santa Grande Catarina do Sul DEPARTAMENTO: Engenharia Elétrica CURSO: Engenharia Elétrica DISCIPLINA: Sistemas Digitais CÓDIGO: EEL 7020 CRÉDITOS: 04 (02 Teoria e 02 Prática) CARGA HORÁRIA: 72 horas-aula REQUISITOS: OFERTA: Pré-requisito:

Leia mais

Pontifícia Universidade Católica Federal do Rio de Santa Grande Catarina do Sul

Pontifícia Universidade Católica Federal do Rio de Santa Grande Catarina do Sul DEPARTAMENTO: Engenharia Elétrica CURSO: Engenharia Elétrica DISCIPLINA: Sistemas Digitais CÓDIGO: EEL 7020 CRÉDITOS: 04 (02 Teoria e 02 Prática) CARGA HORÁRIA: 72 horas-aula REQUISITOS: OFERTA: Pré-requisito:

Leia mais

PSI-3451 Projeto de CI Lógicos Integrados. Aula 4

PSI-3451 Projeto de CI Lógicos Integrados. Aula 4 PSI-3451 Projeto de CI Lógicos Integrados Aula 4 A parte prática da aula 4 pretende colocar o aluno em contato com mais algumas estruturas sintáticas da linguagem, particularmente funções e procedimentos,

Leia mais

Opções de Design para Circuitos Integrados CMOS

Opções de Design para Circuitos Integrados CMOS Opções de Design para Circuitos Integrados CMOS Para implementar um circuito integrado (CI) em CMOS é possível escolher entre as múltiplas possibilidades existentes no mercado. A escolha deve ser feita

Leia mais

6 Estudos de Casos Porta Lógica OU de 4 Entradas

6 Estudos de Casos Porta Lógica OU de 4 Entradas 6 Estudos de Casos Com o objetivo de avaliar a síntese automática de circuitos de QCA usando técnicas de Hardware Evolucionário (EHW), alguns circuitos foram sintetizados e serão apresentados a seguir.

Leia mais

Somador de quatro bits terá um total de: Esquema interno do somador é apresentado a seguir.

Somador de quatro bits terá um total de: Esquema interno do somador é apresentado a seguir. 6.4 Somadores Hierárquicos com antecipação do bit de transporte págs. 357 a 361. Introdução: A adição de dois números é uma operação comum em circuitos digitais, de modo que faz sentido criar um somador

Leia mais

Funcionamento Área Desempenho (velocidade) Potência Aula 1. Circuitos Digitais. Circuitos Digitais

Funcionamento Área Desempenho (velocidade) Potência Aula 1. Circuitos Digitais. Circuitos Digitais INF01058 Objetivo Circuitos igitais Projetar circuitos digitais: Combinacionais Sequências Testar a analisar circuitos digitais Introdução Funcionamento Área esempenho (velocidade) Potência Aula 1 Mundo

Leia mais

6 Conclusão Contribuições da Dissertação

6 Conclusão Contribuições da Dissertação 6 Conclusão Neste trabalho, foi apresentado um sistema colaborativo capaz de controlar as versões das edições de um vídeo no formato MPEG-2, sem que os editores estejam no mesmo local, ao mesmo tempo.

Leia mais

DADOS DO COMPONENTE CURRICULAR

DADOS DO COMPONENTE CURRICULAR PLANO DE ENSINO DADOS DO COMPONENTE CURRICULAR Nome do Componente Curricular: Sistemas Digitais Curso: Técnico Integrado de Nível Médio em Informática Série/Período: 1º ano Carga Horária: 2 a/s - 80 h/a

Leia mais

Trabalho 2: Projeto Elétrico e de Leiaute de um Inversor CMOS

Trabalho 2: Projeto Elétrico e de Leiaute de um Inversor CMOS Trabalho 2: Projeto Elétrico e de Leiaute de um Inversor CMOS 1. Introdução Dieison Soares Silveira Universidade Federal do Rio Grande do Sul UFRGS Instituto de Informática Programa de Pós-Graduação em

Leia mais