IMPACTOS DO USO DE DIFERENTES ARQUITETURAS DE SOMADORES EM FPGAS ALTERA

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

Download "IMPACTOS DO USO DE DIFERENTES ARQUITETURAS DE SOMADORES EM FPGAS ALTERA"

Transcrição

1 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 Integrados (GACI) Departamento de Informática Universidade Federal de Pelotas (UFPel) Caixa Postal 354 CEP Pelotas/RS Brasil {porto, andremcs, rogerecp, guntzel, agostini}@ufpel.edu.br RESUMO A tendência crescente de migração de projetos computacionais para implementações em nível de hardware, faz com que seja cada vez mais importante conhecer os custos destas implementações em termos de desempenho e consumo de recursos. Este artigo apresenta um estudo sobre os custos de implementações de diversas arquiteturas de somadores direcionadas para FPGAs da Altera. Foram implementadas arquiteturas Ripple Carry (RCA), Carry Lookahead (CLA), Carry Lookahead Hierárquico (CLAH), Carry Select (CSA), bit serial e também utilizando Macro Functions. Para os experimentos realizados, foram descritas arquiteturas com largura de entrada que variam de 2 a 64 bits. Os resultados de síntese foram dimensionados para FPGAs da família FLEX 10KE da Altera. Os resultados comparativos entre as arquiteturas ilustram as diferenças de consumo de recursos do dispositivo, bem como as freqüências máximas de operação para as diferentes arquiteturas, quando mapeadas para este tipo de FPGA. 1. INTRODUCÃO A implementação de somadores em hardware é essencial para qualquer projeto que envolva operações aritméticas e, por isso, o desempenho destes operadores é fator crítico para o desempenho dos projetos na área de computação e microeletrônica. Muita pesquisa tem sido realizada nas últimas décadas com o intuito de buscar alternativas para aumentar o desempenho de somadores e várias foram às soluções encontradas. Estas soluções são amplamente difundidas na comunidade e envolvem, basicamente, a aceleração na propagação do carry dentro dos somadores. Soluções arquiteturais foram propostas, tais como o Carry Lookahead, o Carry Look Ahead Hierárquico, o Carry Select, o Carry Skip, entre outros [1, 2]. Estas soluções envolvem transformações na arquitetura do somador, onde as equações lógicas são manipuladas objetivando a minimização do atraso de propagação do carry. Soluções em nível de transistores também foram propostas, como o Manchester Adder [2], que visa disponibilizar uma estrutura física com o menor atraso possível para a cadeia de propagação do carry. Como são várias as possibilidades de implementação, o projetista precisa conhecer o maior número de informações possíveis sobre as soluções existentes, para realizar a escolha correta para o projeto que está sendo desenvolvido. Fatores como consumo de recursos, freqüência de operação e consumo de energia, devem ser previamente analisados quando se direciona a implementação de um somador para um ASIC (Aplicated Specific Integrated Circuit). Este artigo tem como objetivo investigar os impactos causados pelo uso de diversas arquiteturas de somadores quando o projeto é direcionado para FPGAs. Esta análise é importante, pois como a estrutura interna dos FPGAs é definida e fixada antes da realização do projeto que irá usar o FPGA, é impossível para o projetista modificar a sua estrutura organizacional interna. Os graus de liberdade do projetista encontram-se na programabilidade dos blocos básicos formadores do FPGA. Ferramentas de síntese, como o Quartus II [3] da Altera, permitem que o projetista realize uma descrição de seu projeto em uma linguagem HDL (Hardware Description Language) e se encarregam de gerar a programação dos blocos básicos dos FPGAs de acordo com a descrição HDL do projetista sem que este precise se preocupar com a estrutura interna do FPGA. Arquiteturas de somadores rápidos já são amplamente difundidas na literatura [1, 2, 4] e suas vantagens e desvantagens em implementações em silício já foram muito exploradas. Mas os impactos que estas arquiteturas causam para projetos desenvolvidos para FPGAs ainda não foi completamente esclarecido e este trabalho tem por objetivo analisar estes impactos para algumas alternativas de construção de somadores nestes dispositivos. Este artigo apresenta os resultados obtidos com as implementações dos somadores Ripple Carry (RCA), Carry Lookahead (CLA), Carry Lookahead Hierárquico (CLAH), Carry Select (CSA), bit serial e também somadores utilizando Macro Functions (MFA) da 1

2 biblioteca aritmética da IEEE [5]. Foram feitos experimentos com uma largura de entrada de 2, 4, 8, 16, 32 e 64 bits para estas arquiteturas e os resultados de síntese para consumo de células lógicas e freqüência máxima de operação foram mensurados e comparados. A descrição VHDL [6] dos somadores foi realizada com a ferramenta Quartus II da Altera [3] e a síntese destas descrições foi direcionada para o FPGAs da família FLEX 10KE da Altera. Estes resultados podem ser muito úteis para projetos direcionados para FPGAs e que utilizem somadores, pois podem auxiliar o projetista na escolha do somador que mais se apropria ao seu projeto. Na seção dois deste artigo estão apresentadas as arquiteturas de somadores utilizadas neste trabalho. Na seção três são detalhados os experimentos realizados com os somadores. Na seção 4 estão apresentados resultados de síntese obtidos com a implementação dos somadores. Na seção cinco, são apresentados os resultados comparativos entre as diferentes arquiteturas utilizadas. Na seção seis são apresentados os trabalhos futuros e, na seção sete, estão as conclusões do artigo. 2. ARQUITETURAS UTILIZADAS Somadores de alta performance são essenciais não apenas para adição, mas também para a subtração, multiplicação e divisão [1]. Nesta seção serão apresentadas as arquiteturas investigadas neste trabalho, que incluem, Ripple Carry (RCA), Carry Lookahead (CLA), Carry Lookahead Hierárquico (CLAH), Carry Select (CSA), bit-serial e somadores utilizando Macro Functions (MFA) da biblioteca aritmética da IEEE [5]. Estes somadores foram descritos em VHDL sintetizados para FPGAs da Altera [3]. 2.1 Somador Ripple Carry A arquitetura Ripple Carry é uma das mais simples de ser implementada, uma vez que suas equações são extraídas diretamente da tabela verdade do somador. O processo consiste basicamente em realizar uma operação xor em cada bit, sempre considerando o carry do estágio anterior, de acordo com a função[4]: S i = A i xor B i xor C i-1 C i = A i and B i O grande problema desta implementação é que para cada etapa da soma é necessário utilizar o carry da etapa anterior e isto gera um grande atraso devido à propagação de carry por todos os bits de soma. 2.2 Somador Carry Lookahead Os somadores Carry Lookahead (CLA) possuem o objetivo de aumentar a velocidade de propagação do carry [7] em relação aos somadores RCA. Esta técnica baseia-se em examinar todos os estágios de entrada do somador e, simultaneamente, produzir os carries apropriados para cada um destes estágios, ou seja, todos os carries são calculados ao mesmo tempo, paralelamente. Então estes carries são aplicados aos estágios posteriores aos estágios onde foram gerados, para produzir o resultado final da operação de soma daquele estágio [4]. Sendo Ai e Bi as entradas de um somador de n-bits; Ci-1,o carry de entrada do i-ésimo estágio e S i e C i a soma e o carry de saída, respectivamente, do i-ésimo estágio, são definidas duas funções auxiliares como segue: g i = A i and B i p i = A i xor B i A função g i (Carry Generate), indica, quando verdadeira, que o i-ésimo estágio gerou um carry e, por conseqüência, do ponto de vista da propagação do carry, o carry de saída do estágio anterior não precisará ser considerado. A função p i (Carry Propagate), indica, quando verdadeira, que o i-ésimo estágio irá propagar o seu carry de entrada (C i-1 ), sendo ele 0 ou 1. Substituindo p i e g i na equação de geração do carry no ripple carry obtêm-se: C i = g i or p i and C i-1 Como todos os carries devem ser calculados paralelamente, as referências aos carries anteriores na equação acima precisam ser eliminadas. Deste modo, para um somador CLA de 3 bits, por exemplo, as equações de propagação do carry seriam: C 0 = g 0 or p 0 and c in C 1 = g 1 or p 1 and g 0 or p 1 and p 0 and c in C 2 = g 2 or p 2 and g 1 or p 2 and p 1 and g 0 or p 2 and p 1 and p 0 and c in Generalizando, para um somador CLA de i bits, a geração do i-ésimo carry seria dada pela equação abaixo. C i = g i or p i and g i-1 or p i and p i-1 and g i-2 or... or (p i and p i-1 and p i-2 and... and p 0 ) and c in Ao se observar as equações de um somador carry lookahead, fica claro que sua implementação em hardware utiliza uma maior quantidade de recursos que uma implementação de um somador ripple carry [2]. A Fig. 1 ilustra o diagrama em blocos de um somador carry lookahead de 8 bits. 2

3 carry de entrada para os blocos intermediários e de gerar o carry de saída do somador. Tipicamente, estes blocos também agrupam, no máximo, quatro blocos de somadores, por isso, para somadores muito grandes, é necessário criar mais níveis na hierarquia. Os sinais P * e G *, para um bloco somador CLA básico de 4 bits, é definido como: P * = P 3 and P 2 and P 1 and P 0 G * = G 3 or P 3 and G 2 or P 3 and P 2 and G 1 or P 3 and P 2 and P 1 and G 0 Figura 1 Diagrama de blocos de um CLA de 8 bits 2.3 Somador Carry Lookahead Hierárquico O somador carry lookahead hierárquico (CLAH) é uma variação do somador CLA convencional. O propósito desta abordagem é aumentar a velocidade de propagação do carry em relação ao CLA, diminuindo a complexidade das equações produzidas quando se usa a técnica carry lookahead em um somador. Deste modo, o somador é dividido, tipicamente, em CLAs de 4 bits, que são agrupados para gerarem somadores maiores. Como conseqüência, têm-se um somador hierárquico equivalente a um carry lookahead, mas alcançando um desempenho maior [4]. A Fig. 2 ilustra o diagrama de blocos de m somador CLAH de 8 bits, dividido em dois blocos de 4 bits. As equações de geração dos carries de entrada para os blocos, é similar daquela utilizada internamente ao bloco pelo CLA convencional. A diferença é que, ao invés de considerar os sinais p e g de cada bit da soma, são considerados os sinais P e G de cada um dos blocos básicos da hierarquia. 2.4 Somador Carry Select Outra abordagem adicional de arquitetura para acelerar a propagação do carry são os somadores carry select (CSA) [8]. O processo de soma é dividido em sessões de soma. Cada sessão de soma é composta por duas estruturas de somadores ripple carry (uma com carry in e outra sem [8]) e um multiplexador para selecionar a soma apropriada. A lógica de seleção usada nos multiplexadores é composta pelo carry out da sessão anterior. A complexidade desta lógica de seleção cresce rapidamente quando sessões de mais alta ordem são adicionadas para incrementar o tamanho total do somador. As equações que definem a soma e o carry dos somadores carry select são as mesmas equações usadas nos somadores ripple carry. A Fig. 3 ilustra o diagrama de blocos de um CSA de 8 bits dividido em duas seções de 4 bits. Figura 2 - Diagrama de blocos de um CLAH de 8 bits Cada bloco de somador, além de gerar suas saídas e os carries internos, gera dois outros sinais: P * (Carry Propagate do bloco) e G * (Carry Generate do bloco). Estes sinais indicam se o bloco como um todo gera ou propaga o carry de entrada. Cada bloco somador gera seus sinais P * e G *. Os sinais P * e G * dos diversos blocos de soma são utilizados por um bloco que está no próximo nível da hierarquia e que será responsável por gerar o Figura 3 Diagrama de blocos de um CSA de 8 bits Através da Fig. 4 é possível notar que o somador carry select realiza duas somas para o mesmo conjunto de bits, o que implica em um maior consumo de recursos e de energia do que um somador RCA tradicional. 3

4 2.5 Somador Bit-Serial O somador bit serial é a forma mais econômica de implementação de somadores. Sua arquitetura é completamente diferente das demais apresentadas até o momento, pois não realiza o processo de soma em paralelo. Para sua implementação é necessário apenas um somador de 1 bit, aliado a um bloco de controle. O bloco de controle é quem determina de quantos bits será o somador, pois é ele quem controla por quantos ciclos de clock o somador de 1 bit ira efetuar somas. A Fig. 4 ilustra a arquitetura utilizada para os somadores bit-serial desenvolvidos neste trabalho. Figura 4 Arquitetura utilizada para o somador bit-serial O resultado correto da soma nos somadores bit-serial depende do armazenamento do carry out da soma anterior, que deve ser utilizado como carry in no próximo estágio da soma. A cada ciclo de clock, o somador irá operar um bit da palavra de entrada e colocar o resultado em um registrador de deslocamento. Logo se n é o número de bits que se deseja somar, o somador irá necessitar de n ciclos de clock para completar a operação de soma. Por isso, para um somador bit-serial de n bits, as somas poderão se repetir a cada n T segundos, onde T é o período do somador. Então, é preciso ter cuidado quando o desempenho de um somador bit-serial for analisado e comparado com o desempenho dos somadores paralelos. 2.6 Macro Function Uma maneira fácil e rápida de implementar um somador em VHDL é utilizar o operador + (soma), disponível na biblioteca de operadores aritméticos da IEEE [5]. Para esta implementação basta dimensionar o tamanho das entradas de dados e realizar a operação +. Neste caso o projetista perde o controle de como a operação de soma está sendo realizada. O mapeamento do somador para um FPGA é realizado automaticamente pela ferramenta de síntese, de acordo com as definições da biblioteca da IEEE. O somador mapeado será do tipo RCA, mas utilizará uma infra-estrutura especialmente disponibilizada nos FPGAs para acelerar a propagação da cadeia de carry. 3. EXPERIMENTOS REALIZADOS O primeiro passo para a realização dos experimentos foi a escolha das arquiteturas. As arquiteturas de somadores Ripple Carry, Carry Lookahead, Carry Lookahead Hierárquico e Carry Select, foram implementadas por serem as arquiteturas de somadores bem conhecidas e amplamente difundidas dentre os desenvolvedores de projetos de hardware. O somador bit-serial foi desenvolvido para ser comparado com os somadores paralelos, sendo uma opção que possibilita um baixo consumo de recursos. Já o somador desenvolvido com a macro fuction foi desenvolvido para avaliar a capacidade da ferramenta de síntese de mapear somadores para o FPGA alvo. O segundo passo, foi determinar a faixa de tamanho da palavra de entrada para os experimentos com os somadores. Esta faixa varia de 2 a 64 bits. Com esta variação de palavra de entrada, desde valores pequenos como 2 e 4 bits, passando pela faixa mais usual, como 8 e 16 bits, até valores críticos para algumas implementações, como 32 e 64 bits, é possível avaliar para quais tamanhos de palavra as implementações de somadores paralelos são mais interessantes que a implementação bit-serial ou macro function, quando analisamos a relação consumo de recursos x freqüência de operação. Para a realização dos experimentos, foram inseridos registradores nas entradas e nas saídas de todas as arquiteturas de somadores. Isto faz com que a medição de freqüência de operação se torne mais precisa, pois ela pode ser calculada entre dois estágios separados por registradores. O modelo de experimento utilizado para todas as arquiteturas de somadores desenvolvidas é ilustrado na Fig. 5. Figura 5 Modelo utilizado nos experimentos O tamanho dos registradores varia de acordo com o tamanho da palavra de entrada para cada um dos somadores. Todos os somadores necessitam de um ciclo de clock para carregar os valores da entrada e outro para disponibilizar o resultado na saída. 4

5 Para todas as arquiteturas de somadores, foram desenvolvidos experimentos de 2, 4, 8, 16, 32 e 64 bits, com algumas exceções que serão melhor explicadas nos próximos itens. Para uma avaliação justa dos resultados de síntese, todos os projetos de somadores foram sintetizados para o mesmo dispositivo, o FPGA EPF10K50SBC356-1 da família FLEX 10KE. A escolha deste dispositivo foi necessária devido ao fato de que os somadores de 64 bits necessitam de uma grande quantidade de pinos de I/O, mesmo que para a síntese não sejam necessárias a maioria das células lógicas que o dispositivo disponibiliza. 4. RESULTADOS DE SÍNTESE Esta seção apresenta os resultados de síntese para o conjunto de somadores desenvolvido. Para uma melhor visualização dos resultados obtidos, a seção está dividida em seis partes, onde cada seção refere-se a uma largura de palavra de entrada. Em todas as tabelas apresentadas nesta seção, o tempo TS indica o tempo necessário para realizar um cálculo completo no somador. Para as arquiteturas Carry Lookahead (CLA), Carry Lookahead Hierárquico (CLAH), Carry Select (CSA), Ripple Carry (RCA) e Macro Funciton (MFA), estes tempos são idênticos ao próprio período do somador. Para o somador bit serial, este tempo é igual ao período do somador multiplicado pelo número de bits a serem somados. 4.1 Palavra de 2 bits A implementação de 2 bits não foi desenvolvida para os somadores Carry Lookahead Hierárquico e Carry Select, pois ambos foram desenvolvidos, neste trabalho, com modularidade mínima de 4 bits. A tabela 1 ilustra os resultados de síntese obtidos para os somadores de 2 bits. Tabela 1 Resultados de síntese para somadores de 2 bits CLA CLAH CSA RCA MFA Bit Serial ,1 19,2 8 Através dos resultados na tabela 1, é possível concluir que, para implementações de 2 bits, existe uma regularidade nos resultados tanto em freqüência quanto em consumo de recursos, para os somadores paralelos e para o somador macro function. Como já era esperado o somador bit-serial obteve uma freqüência de operação inferior a dos somadores paralelos, além de ter consumido uma quantidade maior de células lógicas, por necessitar de uma estrutura de controle. 4.2 Palavra de 4 bits A tabela 2 apresenta os resultados de síntese dos somadores com palavras de 4 bits. Na tabela 1 pode-se observar que os somadores paralelos RCA, CLA MFA, obtiveram resultados semelhantes tanto na freqüência de operação, quanto para consumo de células lógicas, com uma pequena desvantagem para o para a arquitetura carry lookahead. Outro resultado interessante é que o somador bit-serial começa a se destacar por consumir um número menor de LCs e de pinos do dispositivo alvo. Estes resultados refletem a lógica de pequena complexidade usada no operador e a utilização de entradas com apenas 1 bit. Tabela 2 Resultados de síntese para somadores de 4 bits CLA ,9 4,1 16 CLAH CSA RCA MFA ,9 4,1 16 Bit Serial 15 81,9 48, Palavra de 8 bits Os experimentos de 8 bits foram desenvolvidos para todas as arquiteturas apresentadas neste artigo. Os resultados de síntese para os somadores de 8 bits estão apresentados na tabela 3. Tabela 3 Resultados de síntese para somadores de 8 bits CLA CLAH ,8 7,1 28 CSA ,8 7,7 28 RCA ,8 7,7 28 MFA ,2 4,5 28 Bit Serial 22 69,4 115,2 14 Os resultados mostram que o somador macro fuction é o que possui a melhor relação LCs x freqüência, pois possui a maior freqüência de operação e um consumo igual ao menor consumo dentre os somadores paralelos. Isso reflete o fato de este somador, de fato, utilizar uma arquitetura RCA com a cadeia de carry acelerada pela utilização de estrutura física disponível para tal fim. A tabela 3 também mostra que o somador CLAH possui um melhor desempenho do que o somador CLA para este tamanho de palavra. Mais uma vez o somador bit-serial foi a implementação que utilizou o menor número de recursos, tanto em relação a LCs quanto à utilização de pinos do dispositivo. Como a unidade operativa básica do somador bit serial é fixa, não importando o número de bits de 5

6 entrada, a tendência é que, quanto maior for o número de bits de entrada, maior a vantagem do somador bit serial em relação aos demais somadores se a comparação for realizada em termos de consumo de recursos. 4.4 Palavra de 16 bits A tabela 4 apresenta os resultados da síntese dos somadores com palavras de 16 bits. Tabela 4 Resultados de síntese para somadores de 16 bits CLA ,7 9,2 52 CLAH ,5 52 CSA 77 70,4 14,2 52 RCA 64 66,2 15,1 52 MFA ,8 5,5 52 Bit Serial 32 52, Mais uma vez o somador MFA obteve os melhores resultados, tanto em freqüência, quanto em utilização de recursos se comparado às arquiteturas de somadores paralelos. Dentre as arquiteturas paralelas é importante destacar o somador CLA, pois o CLA obteve a maior freqüência de operação, no entanto, foi a arquitetura que consumiu o maior número de recursos do sistema. O somador bit-serial continuou sua tendência de consumo resumido de recursos, mas com tempo de cálculo elevado, se comparado aos somadores paralelos. 4.5 Palavra de 32 bits Os resultados de síntese dos somadores utilizando palavras de 32 bits estão apresentados na tabela 5. Para palavras de 32 bits apenas a arquitetura CLA não foi desenvolvida. Tabela 5 Resultados de síntese para somadores de 32 bits. CLA CLAH ,42 14,2 100 CSA ,3 26,8 100 RCA ,67 33,7 100 MFA ,9 7,3 100 Bit Serial 50 49,02 652,8 38 Como já era previsto, o somador bit-serial continua sendo a aplicação de menor consumo. O somador MFA, mais uma vez, apresentou a melhor relação custo x freqüência de operação. Dentre os somadores paralelos, devemos salientar os resultados obtidos com o somador CLAH, que apresentou a maior freqüência de operação e também o maior consumo de LCs. 4.6 Palavra de 64 bits A tabela 6 apresenta os resultados de síntese para os somadores com largura de palavra de 64 bits. Novamente não são disponibilizados resultados para o somador CLA, uma vez que esta arquitetura não foi implementada. Tabela 6 Resultados de síntese para somadores de 64 bits CLA CLAH ,2 196 CSA ,5 26,8 196 RCA , MFA ,1 13,3 196 Bit Serial 84 38, ,2 70 Os resultados para 64 bits mostram que, mais uma vez, o somador MFA, obteve os melhores resultados de freqüência e de consumo de recursos, se comparado às arquiteturas de somadores paralelos. Por outro lado, o somador RCA apresenta freqüência de operação muito inferior as demais arquiteturas paralelas, principalmente se comparada à arquitetura CLAH, que obteve novamente o segundo melhor desempenho. Novamente o somador bit serial apresentou um reduzido uso de recursos, mas com um temo de soma extremamente maior que os dos demais somadores, ultrapassando a casa de um micro segundo por cálculo. 5. RESULTADOS COMPARATIVOS A partir dos resultados obtidos na seção 4, foi possível a construção de gráficos comparativos para salientar as vantagens e desvantagens das arquiteturas desenvolvidas, levando em consideração as diferentes larguras de palavra de que estão sendo operadas. Esta seção apresenta estes gráficos e comenta alguns dos resultados mais importantes extraídos destes gráficos. 5.1 Resultados de Consumo de Células Lógicas O gráfico 1 ilustra o aumento no consumo de células lógicas para as diferentes implementações de somadores, a medida que o comprimento das palavras de entrada vai crescendo. 6

7 Número de Células Lógicas CLA CLAH CSA RCA MFA Bit Serial Largura de Palavra em bits Gráfico 1 Consumo de células lógicas versus largura da palavra de entrada Para a faixa de 2 a 8 bits, todas as arquiteturas possuem um consumo que varia quase linearmente. Para as implementações acima de 8 bits, pode-se notar um aumento de consumo de LCs muito mais acelerado para as arquiteturas paralelas do que para o somador bit-serial. O somador bit-serial tem o menor consumo para todas as implementações maiores que 2 bits e possui um crescimento praticamente linear ao longo de todas as suas implementações. Isto ocorre porque a lógica de implementação do somador bit-serial utiliza apenas um somador de um bit na sua estrutura interna. Quando se aumenta o tamanho da entrada de dados, é alterado apenas o registrador de saída e a parte de controle, que deverá controlar o somador para que este opere o número exato de bits para os quais ele foi dimensionado. Esta característica pode ser explorada por muitas aplicações onde o consumo de recursos seja o fator crítico. Os somadores RCA e MFA possuem curvas de consumo de LCs idênticas, o que demonstra que o MFA realmente utiliza um arquitetura do tipo RCA. Dentre os somadores paralelos, o RCA e o MFA são aqueles que apresentam a menor aceleração em termos de consumo de LCs a medida que o comprimento da palavra vai crescendo. O somador CSA ocupa uma posição intermediária nas curvas dos somadores paralelos, indicando uma aceleração de consumo de LCs um pouco superior aos somadores MFA e RCA, mas muito inferior aos somadores CLA e CLAH. Esta posição intermediária em termos de consumo de células lógicas pode ser interessante para muitas aplicações, desde que a curva de desempenho acompanhe este comportamento, ou seja, que o CSA seja mais rápido do que os somadores RCA e MFA. Os somadores CLA e CLAH são os somadores que apresentam o crescimento no consumo de recursos mais acelerado em relação ao comprimento das palavras de entrada. Para 64 bits de palavra, por exemplo, o somador CLAH consume mais do que o dobro de LCs do que os demais somadores. Esta explosão no consumo de recursos pode ser muito crítica para aplicações em que a área é fator relevante e em que o tamanho de palavra é elevado. 5.2 Resultados Comparativos de Freqüência Os impactos sobre a freqüência de operação, para todas as implementações das arquiteturas de somadores de 2 a 64 bits, são apresentados no gráfico 2. Deve-se salientar que a freqüência de operação indicada no gráfico 2 para o somador bit-serial, indica a capacidade do somador de somar 1 bit. Por isto, como já foi explicado, a freqüência deve ser dividida pelo número n de bits da palavra de entrada, para que se obtenha a verdadeira freqüência da soma de números de n bits. Para os experimentos de 2 a 4 bits, todos as arquiteturas paralelas obtiveram uma queda na freqüência de operação bastante semelhantes. A partir de 4 bits de palavra, os somadores paralelos começam a obter uma queda mais acentuada e significativa na sua freqüência de operação. 7

8 288 Freqüência Máxima de Operação em MHz CLA CLAH CSA RCA MFA Bit Serial Largura de Palavra em bits Gráfico 2 Freqüência máxima de operação versus largura da palavra de entrada A partir das implementações de 8 bits, onde começam a ser analisados os somadores CLAH e CSA, pode-se observar, como era esperado, que todas as arquiteturas paralelas apresentam queda significativa na freqüência de operação a medida que a palavra de entrada cresce. O gráfico 2 apresenta esta tendência de queda, mas o mais importante é que, exceto para os somadores MFA e bit serial, todos os demais somadores apresentam curvas semelhantes. Dentre estes somadores, destaca-se a queda de freqüência menos acentuada para o somador CLAH, o que é um indicativo de que este operador pode ser utilizado onde a questão de desempenho é fator crítico. Mas o grande destaque no gráfico 2 é o somador MFA, que se mostrou muito superior aos demais somadores em termos de freqüência e apresentou uma tendência mais atenuada na queda de sua freqüência de operação. A curva de freqüência do somador MFA é a que varia de maneira menos acelerada ao longo de toda a faixa de tamanho de palavra. Esta vantagem na freqüência de operação é atingida, como já foi explicado, através da utilização das estruturas físicas disponíveis no FPGA alvo para acelerar a propagação do carry. Por isso, os resultados de freqüência de operação e de consumo de recursos do MFA são imbatíveis, uma vez que as outras arquiteturas de somadores não utilizam esta cadeia de propagação de carry acelerada via construção física do FPGA. Outro dado relevante que pode ser extraído do gráfico 2 é a tendência de aproximação das freqüências de operação a medida que cresce a largura da palavra de entrada. Extrapolando os dados do gráfico, é possível imaginar que, para palavras de 128 ou 256 bits, as freqüências de operação das diferentes arquiteturas irão convergir para um valor quase idêntico. Com estes dados em mente, e comparando o gráfico 2 com o gráfico 1, é possível concluir que, para FPGAs, não é vantajoso o uso de somadores rápidos para palavras de largura elevada, pois o consumo de recursos é demasiadamente alto, enquanto que os ganhos de freqüência são mínimos. 5.3 Relação entre Consumo de Células Lógicas e Freqüência Máxima de Operação A última comparação gráfica apresentada neste trabalho diz respeito a avaliação de quantas LCs são investidas por MHz de freqüência para cada um dos somadores implementados. Esta comparação está apresentada no gráfico 3, onde é possível perceber a relação entre o número de LCs consumidas e a freqüência de operação, para cada uma das larguras de bits. Pode-se constatar que as arquiteturas de somadores mantêm uma relação praticamente idêntica para palavras de entradas de 2 a 8 bits. Neste caso, a relação é sempre inferior a uma unidade. Este resultado é possível porque as arquiteturas menores utilizam um número reduzido de células lógicas e possuem uma freqüência de operação muito elevada, próxima à máxima freqüência de operação do dispositivo. Estas arquiteturas possuem uma cadeia de propagação de carry reduzida, permitindo estas elevadas freqüências de operação. O gráfico 3 mostra que a partir de palavras de entradas com 16 bits, o efeito da cadeia da propagação de carry começa a se destacar, uma vez que são investidas muitas células lógicas para possibilitar uma aceleração na propagação do carry. 8

9 18 Número de Células Lógicas / Freqüência Máxima Largura de Palavra em bits CLA CLAH CSA RCA MFA Bit Serial Gráfico 3 Relação entre o número de células lógicas utilizadas e a freqüência máxima de operação para as diferentes larguras de palavras A arquitetura bit serial foi a que o apresentou a menor variação nesta relação, indicando que esta arquitetura é a que faz o menor investimento de LCs por MHz quando são considerados somadores com palavras maiores que 16 bits. Mas é preciso ter cuidado na avaliação deste resultado, pois o somador bit serial opera apenas um bit das entradas a cada ciclo de clock. Se o gráfico fosse refeito considerando não mais a freqüência máxima de operação, mas sim a freqüência em que somas completas podem ser realizadas, o somador bit serial apresentaria o pior desempenho dentre os somadores apresentados. Dentre os somadores paralelos, é possível perceber, como era esperado, que o somador MFA é o que possui o menor investimento de LCs por MHz. As arquiteturas CLA, CLAH, RCA e CSA foram as que apresentaram as piores relações. Este resultado é interessante, pois os motivos destes resultados ruins são opostos. Enquanto que o problema da arquitetura RCA encontra-se na freqüência de operação demasiadamente baixa, o problema das arquiteturas CLA, CLAH e CSA encontra-se no elevado número de LCs utilizadas. Ainda assim, a arquitetura CSA foi a que apresentou, entre estas quatro arquiteturas, a melhor relação entre o crescimento no consumo de LCs e o crescimento na freqüência de operação. 6. TRABALHOS FUTUROS Como trabalhos futuros estão previstos a síntese das arquiteturas de somadores desenvolvidas neste trabalho para outras famílias de FPGAs da Altera, como Max, Acex, Apex e Stratix [3]. Estes resultados poderão indicar para quais famílias de FPGAs teremos um melhor desempenho dos somadores, tanto em consumo de células lógicas quanto em freqüência máxima de operação. Outra proposta é a implementação de outras arquiteturas de somadores, como por exemplo, carry skip adder, prefix adder e carry-save adder [2], para que novas avaliações e comparações possam ser realizadas, gerando uma base de dados ainda maior para aplicações de somadores em FPGAs. Como trabalho futuro, também está prevista a avaliação do consumo de energia dos somadores desenvolvidos neste trabalho e dos novos somadores que serão desenvolvidos, possibilitando uma visão mais completa sobre os impactos destas arquiteturas sobre projetos baseados em FPGAs. Uma outra proposta é a análise dos impactos da configuração das opções de síntese disponíveis na ferramenta Quartus II [3] nos resultados obtidos para os somadores. Com a realização destes trabalhos será possível aumentar o número de comparações entre os tipos de arquiteturas, bem como fazer comparações do comportamento destes somadores em outras famílias de 9

10 FPGAs, possibilitando, assim, uma avaliação mais precisa sobre as vantagens e desvantagens da utilização destas arquiteturas em diferentes famílias de FPGAs. 7. CONCLUSÕES O objetivo principal deste trabalho foi implementar, em VHDL, as arquiteturas mais utilizadas de somadores e sintetizá-las para FPGAs. Os experimentos desenvolvidos com somadores variando de 2 a 64 bits tornaram possível uma ampla comparação de resultados de síntese para as diversas arquiteturas utilizadas. Em termos de consumo de LCs do FPGA, o somador bit serial foi o que apresentou o menor consumo de células do dispositivo para todas as implementações superiores a 2 bits. No entanto, devido a sua lógica de implementação, o somador bit-serial apresenta as menores taxas de processamento para todas as larguras de palavra de entrada de 2 a 64 bits. Isto torna o somador bit-serial a melhor alternativa quando se necessita um baixo consumo de recursos do sistema e quando um alto tempo de resposta para as operações de soma não for considerado um problema. Em relação à freqüência de operação, o somador MFA obteve os melhores resultados para praticamente todas as palavras de entrada de 2 a 64 bit. Tendo desempenho inferior apenas à implementação de 4 bits, se comparado a arquitetura ripple carry. Para a faixa de 4 a 32 bits, as diferença de freqüência de operação entre o somador MFA e as demais arquiteturas, são consideravelmente grandes. Esta diferença volta a diminuir para as implementações de 64 bits. O somador MFA é, na verdade, um RCA que utiliza as estruturas internas ao FPGA para aceleração de carry e, por isso, apresenta os melhores desempenhos, pois as demais arquiteturas não utilizam esta estrutura interna. Em uma análise geral, podemos definir o somador MFA como o que apresenta a melhor relação entre utilização de células lógicas e freqüência de operação. Esta arquitetura é a que apresenta as menores variações de consumo de LCs e de freqüência de operação quando alterados os tamanhos das palavras de entrada. Considerando apenas os somadores que não utilizam as estruturas internas do FPGA para a aceleração de carry, o somador CLAH foi o que apresentou os melhores resultados em termos de freqüência de operação, principalmente para os somadores com maior comprimento de palavra. Por outro lado, o somador CLAH utilizou mais LCs do que todos os demais para a maior parte dos comprimentos de palavra. Este trabalho explorou os impactos de diferentes arquiteturas de somadores com síntese direcionada para FPGAs da família FLEX 10KE da Altera. Desta análise inicial, foi possível extrair o comportamento destas arquiteturas em termos de consumo de LCs e de freqüência de operação, possibilitando ao projetista tomar decisões a respeito de quais somadores utilizar em seu projeto, de acordo com as necessidades da aplicação alvo.. 8. REFERÊNCIAS [1] Hwang, K., Computer Arithmetic: Principles, Architecture and Design, John Wiley & Sons, EUA, [2] Ercegovac, M., Digital Arithmetic, Morgan Kaufmann Publishers, [3] Altera Corporation, Altera: The Programmable Solutions Company, < [4] Rabaey, J., Digital Integrated Circuits: A Design Perspective, Prentice Hall, EUA, [5] Brown, S., Fundamentals of Digital Logic With VHDL Design. McGraw-Hill, EUA, [6] R. Porto, L. Agostini. Experimentos com somadores rápidos para uso na DCT 2-D. In: IX WORKSHOP IBERCHIP, 2004, Cartagena de Indias, Colombia. 1 CD. [7] Weste, N., Principles of CMOS VLSI Design A systems perspective second edition. Addison-Wesley Publishing Company, EUA, [8] P. Ashenden. The Designer s Guide to VHDL second edition. Morgan Kaufmann Publishers, EUA,

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

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

EXPERIMENTOS COM SOMADORES RÁPIDOS PARA USO NA DCT 2-D. Roger Endrigo Carvalho Porto, Luciano Volcan Agostini

EXPERIMENTOS COM SOMADORES RÁPIDOS PARA USO NA DCT 2-D. Roger Endrigo Carvalho Porto, Luciano Volcan Agostini EXPERIMENTOS COM SOMADORES RÁPIDOS PARA USO NA DCT 2-D Roger Endrigo Carvalho Porto, Luciano Volcan Agostini Grupo de Arquiteturas e Circuitos Integrados DMEC Universidade Federal de Pelotas (UFPEL) Caixa

Leia mais

EXPLORAÇÃO DO ESPAÇO DE PROJETO EM ARQUITETURAS PARA CÁLCULO DA RAIZ QUADRADA INTEIRA

EXPLORAÇÃO DO ESPAÇO DE PROJETO EM ARQUITETURAS PARA CÁLCULO DA RAIZ QUADRADA INTEIRA EXPLORAÇÃO DO ESPAÇO DE PROJETO EM ARQUITETURAS PARA CÁLCULO DA RAIZ QUADRADA INTEIRA Thaísa L. da Silva, Gustavo P. Mateus, Rita Cristina G. Berardi, Érico K. Sawabe, Ezequiel C. Blasco, José Luís A.

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

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

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

PROJETO, SÍNTESE E SIMULAÇÃO DAS INTERFACES DE REUSO DE HARDWARE DO PADRÃO OCP (OPEN CORE PROTOCOL)

PROJETO, SÍNTESE E SIMULAÇÃO DAS INTERFACES DE REUSO DE HARDWARE DO PADRÃO OCP (OPEN CORE PROTOCOL) PROJETO, SÍNTESE E SIMULAÇÃO DAS INTERFACES DE REUSO DE HARDWARE DO PADRÃO OCP (OPEN CORE PROTOCOL) Marcelo S. Porto, Roger E. C. Porto, José Luís A. Güntzel, Luciano V. Agostini Grupo de Arquiteturas

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

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

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

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

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

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

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

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

Introdução à Computação

Introdução à Computação Universidade Federal de Campina Grande Departamento de Sistemas e Computação Introdução à Computação Conceitos Básicos de Eletrônica Digital (Parte IV) Prof. a Joseana Macêdo Fechine Régis de Araújo joseana@computacao.ufcg.edu.br

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

Universidade Federal do Rio Grande do Sul Instituto de Informática Programa de Pós-Graduação em Computação

Universidade Federal do Rio Grande do Sul Instituto de Informática Programa de Pós-Graduação em Computação Universidade Federal do Rio Grande do Sul Instituto de Informática Programa de Pós-Graduação em Computação Relatório do Trabalho da Disciplina de Arquitetura e Organização de Processadores CMP- 237 Marcelo

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

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

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

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

Aula 11. Dispositivos Lógicos Programáveis. SEL Sistemas Digitais. Prof. Dr. Marcelo Andrade da Costa Vieira

Aula 11. Dispositivos Lógicos Programáveis. SEL Sistemas Digitais. Prof. Dr. Marcelo Andrade da Costa Vieira Aula 11 Dispositivos Lógicos Programáveis SEL 0414 - Sistemas Digitais Prof. Dr. Marcelo Andrade da Costa Vieira 1. Características Gerais l PLD Programmable Logical Device; l Agrupa um grande número de

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

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

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 Lógica Programável INE 5348 Aula 1-P Formas de implementação

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

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

AVALIAÇÃO DOS IMPACTOS DO USO DE SOMADORES COMO MACRO FUNCTIONS EM UM PROJETO DE COMPRESSOR JPEG

AVALIAÇÃO DOS IMPACTOS DO USO DE SOMADORES COMO MACRO FUNCTIONS EM UM PROJETO DE COMPRESSOR JPEG AVALIAÇÃO DOS IMPACTOS DO USO DE SOMADORES COMO MACRO FUNCTIONS EM UM PROJETO DE COMPRESSOR JPEG Giovano Camaratta 1, Fábio Daitx 1, Luciano Agostini 1,2, Sergio Bampi 1 1 Grupo de Microeletrônica (GME)

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

Trabalho 3: Projeto, Leiaute e Análise de um Buffer CMOS Multi-estágio

Trabalho 3: Projeto, Leiaute e Análise de um Buffer CMOS Multi-estágio 1. Introdução Trabalho 3: Projeto, Leiaute e Análise de um Buffer CMOS Multi-estágio Dieison Soares Silveira Universidade Federal do Rio Grande do Sul UFRGS Instituto de Informática Programa de Pós-Graduação

Leia mais

XOR, Detecção de Erro, Comparadores

XOR, Detecção de Erro, Comparadores XOR, Detecção de Erro, Comparadores -input XOR gates Igual a porta OR, mas exclui o caso em que ambas as entradas são. Empregado em: códigos de verificação de erros comparadores aritmética XOR de múltiplas

Leia mais

Circuitos Aritméticos. Circuitos Aritméticos. Circuitos Aritméticos. Circuitos Aritméticos. Circuitos Aritméticos. Circuitos Aritméticos

Circuitos Aritméticos. Circuitos Aritméticos. Circuitos Aritméticos. Circuitos Aritméticos. Circuitos Aritméticos. Circuitos Aritméticos 1 - ADIÇÃO BINÁRIA Computadores digitais e calculadoras realizam as várias operações aritméticas sobre os números representados em forma binária. Na adição binária apenas quatro situações podem ocorrer

Leia mais

Operações com números binários

Operações com números binários Operações com números binários Operações com sistemas de numeração Da mesma forma que se opera com os números decimais (somar, subtrair, multiplicar e dividir) é possível fazer essas mesmas operações com

Leia mais

Nível da Lógica Digital

Nível da Lógica Digital Nível da Lógica Digital (Aula 7) Circuitos Lógicos Digitais Básicos Circuitos Integrados CIs (chips/pastilhas) Agrupa portas lógicas Pastilhas de silício DIP (Dual Inline Package) Invóculo c/ 2 linhas

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I Memória Cache Slide 1 Introdução Tamanho Função de Mapeamento Política de Escrita Tamanho da Linha Número de Memórias Cache Cache em Níveis Slide 2 Introdução

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

3 a Lista de Exercícios

3 a Lista de Exercícios Universidade Federal de Santa Catarina Departamento de Informática e Estatística Bacharelado em Ciências da Computação INE 5406 - Sistemas Digitais - semestre 2010/2 Prof. José Luís Güntzel guntzel@inf.ufsc.br

Leia mais

Circuitos Integrados. Nível da Lógica Digital (Aula 7) Circuitos Combinacionais. Circuitos Lógicos Digitais Básicos. Multiplexadores (1)

Circuitos Integrados. Nível da Lógica Digital (Aula 7) Circuitos Combinacionais. Circuitos Lógicos Digitais Básicos. Multiplexadores (1) Circuitos Integrados Nível da Lógica Digital (Aula 7) Circuitos Lógicos Digitais Básicos Roberta Lima Gomes - LPRM/DI/UFES Sistemas de Programação I Eng. Elétrica 2007/2 CIs (chips/pastilhas) Agrupa portas

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

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

Sistemas Digitais Módulo 8 Introdução aos Circuitos Aritméticos

Sistemas Digitais Módulo 8 Introdução aos Circuitos Aritméticos Universidade Federal de Uberlândia Faculdade de Computação Sistemas Digitais Módulo 8 Introdução aos Circuitos Aritméticos Graduação em Sistemas de Informação Disciplina: Sistemas Digitais Prof. Dr. Daniel

Leia mais

Revisão: Projeto e síntese de Circuitos Digitais em FPGA

Revisão: Projeto e síntese de Circuitos Digitais em FPGA Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Revisão: Projeto e síntese de Circuitos Digitais em FPGA DCA0119 Sistemas Digitais Heitor Medeiros Florencio

Leia mais

Processador: Conceitos Básicos e Componentes

Processador: Conceitos Básicos e Componentes Processador: Conceitos Básicos e Componentes Cristina Boeres Instituto de Computação (UFF) Fundamentos de Arquiteturas de Computadores Material baseado nos slides de Fernanda Passos Cristina Boeres (IC/UFF)

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 3335 Laboratório Digital A. Introdução ao VHDL

EPUSP PCS 3335 Laboratório Digital A. Introdução ao VHDL Introdução ao VHDL Versão 2016 RESUMO Esta experiência consiste no estudo de descrições VHDL e no projeto e implementação de um circuito digital simples. São apresentados aspectos básicos da linguagem

Leia mais

Prof. Leonardo Augusto Casillo

Prof. Leonardo Augusto Casillo UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO Aula 10 Circuitos Aritmeticos Prof. Leonardo Augusto Casillo Somador Binário Funções aritméticas como adição, subtração, podem ser

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

Arquitetura e organização de computadores Uma visão geral

Arquitetura e organização de computadores Uma visão geral Arquitetura e organização de computadores Uma visão geral MAC 344 - Arquitetura de Computadores Prof. Siang Wun Song Baseado em W. Stallings - Computer Organization and Architecture Objetivo do disciplina

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

Projeto e Implementação de um Fatorial em Hardware para Dispositivos Reconfiguráveis

Projeto e Implementação de um Fatorial em Hardware para Dispositivos Reconfiguráveis Projeto e Implementação de um Fatorial em Hardware para Dispositivos Reconfiguráveis Álamo G. Silva, Leonardo A. Casillo Departamento de Ciências Exatas e Naturais Universidade Federal Rural do Semi- Árido

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

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

Capítulo13 Arquiteturas de Dispositivos Lógicos Programáveis Pearson. Todos os direitos reservados.

Capítulo13 Arquiteturas de Dispositivos Lógicos Programáveis Pearson. Todos os direitos reservados. Capítulo13 Arquiteturas de Dispositivos Lógicos Programáveis slide 1 Temas abordados nesse capítulo: - Descrever as diferentes categorias de dispositivos de sistemas digitais. - Descrever os diferentes

Leia mais

Trabalho 4: Projeto Elétrico e Leiaute de Porta XOR em Lógica Estática

Trabalho 4: Projeto Elétrico e Leiaute de Porta XOR em Lógica Estática Trabalho 4: Projeto Elétrico e Leiaute de Porta XOR em Lógica Estática 1. Introdução Dieison Soares Silveira Universidade Federal do Rio Grande do Sul UFRGS Instituto de Informática Programa de Pós-Graduação

Leia mais

Implementando PWM por soft - um método simples. Por Renie S. Marquet reniemarquet.sites.com.br - versão

Implementando PWM por soft - um método simples. Por Renie S. Marquet reniemarquet.sites.com.br - versão Implementando PWM por soft - um método simples. Por Renie S. Marquet reniemarquet.sites.com.br - versão 25.02.2005 O PWM (Pulse Width Modulation Modulação por largura de pulso) consiste em controlar o

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

Introdução à Computação

Introdução à Computação Universidade Federal de Campina Grande Departamento de Sistemas e Computação Introdução à Computação Conceitos Básicos de Eletrônica Digital (Parte III) Prof. a Joseana Macêdo Fechine joseana@computacao.ufcg.edu.br

Leia mais

3. Revisão de Eletrônica Digital

3. Revisão de Eletrônica Digital 3. Professor: Vlademir de Oliveira Disciplina: Microcontroladores e DSP 3.1 Aritmética Binária Representação de números em complemento de 1 Ex.: 1 1 1 1-1 1 2, 5 = 12,5d ou 12,5 1 Decimal 2 3 2 2 2 1 2

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

ELD - Eletrônica Digital Aula 11 Introdução à Lógica Programável. Prof. Antonio Heronaldo de Sousa

ELD - Eletrônica Digital Aula 11 Introdução à Lógica Programável. Prof. Antonio Heronaldo de Sousa ELD - Eletrônica Digital Aula 11 Introdução à Lógica Programável Prof. Antonio Heronaldo de Sousa Agenda - Introdução - Lógica Programável - Dispositivos de Lógica Programável - Arranjos Lógicos Programáveis

Leia mais

ORGANIZAÇÃO DE COMPUTADORES

ORGANIZAÇÃO DE COMPUTADORES Organização de Computadores ORGANIZAÇÃO DE COMPUTADORES Curso: Tecnologia em Gestão da Tecnologia da Informação Ano: 2011 Conhecida como Processador ou é o cerebro do computador Unifica todo sistema e

Leia mais

Projeto com Dispositivos Programáveis

Projeto com Dispositivos Programáveis Projeto com Dispositivos Programáveis E.T.M./2011 (revisão) RESUMO Nesta experiência será apresentada uma metodologia para projeto de sistemas digitais utilizando FPGAs (dispositivos programáveis) e HDLs

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

Circuitos Aritméticos Somadores

Circuitos Aritméticos Somadores Circuitos Aritméticos Somadores Por Bruno Silva Guedes 1-159033 1. Introdução Circuitos aritméticos somadores são circuitos combinacionais básicos, cujo desenvolvimento ocorre desde os primórdios da informática.

Leia mais

Notas de Aula Guilherme Sipahi Arquitetura de Computadores

Notas de Aula Guilherme Sipahi Arquitetura de Computadores Notas de Aula Guilherme Sipahi Arquitetura de Computadores Endereçamento O Campo de endereço em uma instrução é pequeno. Para referenciar uma faixa de endereços maior na memória principal, ou em alguns

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

Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores

Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores Ciência da Computação Arq. e Org. de Computadores Processadores Prof. Sergio Ribeiro Composição básica de um computador eletrônico digital: Processador Memória Memória Principal Memória Secundária Dispositivos

Leia mais

Todo processador é constituído de circuitos capazes de realizar algumas operações primitivas:

Todo processador é constituído de circuitos capazes de realizar algumas operações primitivas: Todo processador é constituído de circuitos capazes de realizar algumas operações primitivas: Somar e subtrair Mover um dado de um local de armazenamento para outro Transferir um dado para um dispositivo

Leia mais

Organização de Sistemas de Computadores

Organização de Sistemas de Computadores Organização de Sistemas de Computadores Cap. 2 (Tanenbaum), Cap. 3 (Weber) 2.1 Processadores 1 CPU UC = buscar instruções na memória principal e determinar o seu tipo ULA = adição e AND Registradores =

Leia mais

4 Resultados. 4.1 Análise de desempenho

4 Resultados. 4.1 Análise de desempenho 4 Resultados Nesta seção, analisaremos o funcionamento do módulo cinegrafista proposto. Foram realizados dois testes para a avaliação do módulo cinegrafista. O primeiro corresponde a uma análise do custo

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

AVALIAÇÃO DE CIRCUITOS SOMADORES DE 32 BITS EM VHDL UTILIZANDO DISPOSITIVOS DE LÓGICA PROGRAMÁVEL

AVALIAÇÃO DE CIRCUITOS SOMADORES DE 32 BITS EM VHDL UTILIZANDO DISPOSITIVOS DE LÓGICA PROGRAMÁVEL AVALIAÇÃO DE CIRCUITOS SOMADORES DE 32 BITS EM VHDL UTILIZANDO DISPOSITIVOS DE LÓGICA PROGRAMÁVEL Thiago Moutran Araki, André Reis, Renato P. Ribas Instituto de Informática UFRGS Av. Bento Gonsalves, 9500

Leia mais

Introdução ao Projeto de Sistemas Digitais com Dispositivos Programáveis

Introdução ao Projeto de Sistemas Digitais com Dispositivos Programáveis Introdução ao Projeto de Sistemas Digitais com Dispositivos Programáveis Versão 2012 RESUMO Nesta experiência será apresentada uma metodologia estruturada para projeto de sistemas digitais utilizando FPGAs

Leia mais

ULA. Combina uma variedade de operações lógicas e matemáticas dentro de uma única unidade.

ULA. Combina uma variedade de operações lógicas e matemáticas dentro de uma única unidade. PROCESSADOR ULA Combina uma variedade de operações lógicas e matemáticas dentro de uma única unidade. ULA Uma ULA típica pode realizar as operações artiméticas: - adição; - subtração; E lógicas: - comparação

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

Introdução ao Projeto de Sistemas Digitais com Dispositivos Programáveis

Introdução ao Projeto de Sistemas Digitais com Dispositivos Programáveis Introdução ao Projeto de Sistemas Digitais com Dispositivos Programáveis E.T.M./2011 (adaptação) RESUMO Nesta experiência será apresentada uma metodologia estruturada para projeto de sistemas digitais

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

Tecnólogo em Análise e Desenvolvimento de Sistemas. Sistemas Operacionais (SOP A2)

Tecnólogo em Análise e Desenvolvimento de Sistemas. Sistemas Operacionais (SOP A2) Tecnólogo em Análise e Desenvolvimento de Sistemas Sistemas Operacionais (SOP A2) Conceitos de Hardware e Software Referências: Arquitetura de Sistemas Operacionais. F. B. Machado, L. P. Maia. Editora

Leia mais

Estrutura Básica de um Computador

Estrutura Básica de um Computador SEL-0415 Introdução à Organização de Computadores Estrutura Básica de um Computador Aula 2 Prof. Dr. Marcelo Andrade da Costa Vieira INTRODUÇÃO n Organização Æ implementação do hardware, componentes, construção

Leia mais

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 18

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 18 ORGANIZAÇÃO DE COMPUTADORES MÓDULO 18 Índice 1. Álgebra Booleana e Portas lógicas - Continuação...3 1.1. Exemplos de Circuitos Básicos - II... 3 1.1.1. Somador completo... 3 1.1.2. Relógios... 4 2. Glossário...4

Leia mais

Descreva em VHDL, simule no simulador logico e sintetize usando uma ferramenta de CAD para FPGA :

Descreva em VHDL, simule no simulador logico e sintetize usando uma ferramenta de CAD para FPGA : UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMATICA LISTA DE EXERCÍCIOS DE SISTEMAS DIGITAIS Prof. Fernanda Gusmão de Lima Kastensmidt E Marcelo Porto (aluno mestrado PPGC) Descreva em VHDL,

Leia mais

MULTIPLEXADOR E DEMULTIPLEXADOR (Unidade 4)

MULTIPLEXADOR E DEMULTIPLEXADOR (Unidade 4) MINISTÉRIO DA EDUCAÇÃO SECRETARIA DE EDUCAÇÃO PROFISSIONAL E TECNOLÓGICA INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE SANTA CATARINA BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO DISCIPLINA: ELETRÔNICA

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

PROGRAMA DA DISCIPLINA

PROGRAMA DA DISCIPLINA VIGÊNCIA: 2002/1-2019/1 PROGRAMA DA DISCIPLINA DISCIPLINA: CIRCUITOS DIGITAIS CODCRED CARGA HORÁRIA MÓDULO 4452B-04 60 30 EMENTA: Descrições em nível lógico de abstração. Circuitos combinacionais e seqüenciais.

Leia mais

Capítulo 7. Expressões e Sentenças de Atribuição

Capítulo 7. Expressões e Sentenças de Atribuição Capítulo 7 Expressões e Sentenças de Atribuição Introdução Expressões são os meios fundamentais de especificar computações em uma linguagem de programação Para entender a avaliação de expressões, é necessário

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

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

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 A Informação

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

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

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

Projeto de CI Semidedicados

Projeto de CI Semidedicados Projeto de CI Semidedicados VHDL- Prática Especial (novembro/ 2012) Turma TECSUP São objetivos desta segunda prática de VHDL: Métodos estrutural de implementação da arquitetura VHDL; Hierarquia na descrição

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

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