ARQUITETURA MULTITRANSFORMADA DE ALTO DESEMPENHO COM PARALELISMO PROGRAMÁVEL E DIRECIONADA PARA O PADRÃO DE COMPRESSÃO DE VÍDEO H.
|
|
- Cláudia Sanches Desconhecida
- 7 Há anos
- Visualizações:
Transcrição
1 ARQUIEURA MULIRANSFORMADA DE ALO DESEMPENHO COM PARALELISMO PROGRAMÁVEL E DIRECIONADA PARA O PADRÃO DE COMPRESSÃO DE VÍDEO H.264/AVC Luciano Agostini 1, Roger Porto 1, José Güntzel 1, Ivan Saraiva Silva 2, Sergio Bampi 3 1 Grupo de Arquiteturas e Circuitos Integrados (GACI) DInfo UFPel Pelotas, RS, Brasil 2 Departamento de Informática e Matemática Aplicada DIMAp UFRN Natal, RN, Brasil 3 Grupo de Microeletrônica (GME) II UFRGS Porto Alegre, RS, Brasil {agostini, rogerecp, guntzel}@ufpel.edu.br, ivan@dimap.ufrn.br, bampi@inf.ufrgs.br RESUMO Este artigo apresenta o projeto de uma arquitetura multitransformada de alto desempenho com paralelismo programável e direcionada para o padrão de compressão de vídeo H.264/AVC. Esta solução suporta as cinco transformadas previstas pelo padrão H.264/AVC e, ainda, suporta cinco diferentes níveis de paralelismo. A arquitetura proposta foi descrita em VHDL e sintetizada para FPGAs Stratix da Altera e Virtex-II Pro da Xilinx e para standard cell de tecnologia SMC.35µm. A síntese para FPGAs mostrou que a arquitetura pode processar de 124 milhões a 3,2 bilhões de amostras por segundo. A versão standard cell é capaz de processar de 21,7 milhões a 3,5 bilhões de amostras por segundo. Estes resultados indicam que a solução proposta apresenta uma alta flexibilidade e pode ser usada em vários codecs H.264/AVC com diferentes requisitos de desempenho, além de poder ser usada em aplicações de alta definição como HDV. 1. INRODUÇÃO O H.264/AVC (também conhecido como MPEG-4 parte 1) [1, 2] é um padrão de compressão de vídeo que foi desenvolvido para obter significantes melhorias sobre os padrões existentes no que se refere ao desempenho da compressão. Os principais blocos do codificador H.264/AVC são estimação de movimento, compensação de movimento, predição intra, filtro, codificador de entropia, quantização direta, quantização inversa, transformada direta e transformada inversa. O decodificador H.264/AVC é formado por decodificador de entropia, compensação de movimento, predição intra, filtro, quantização inversa e transformada inversa [3]. O bloco da transformada direta (bloco ) usa três diferentes transformadas que dependem do tipo de dado de entrada. Estas transformadas são: ransformada Discreta do Co-seno 4x4, ransformada Hadamard 4x4, e ransformada Hadamard 2x2, todas elas diretas. O bloco da transformada inversa (bloco -1 ) também é formado por essas três transformadas, mas dessa vez, inversas. A ransformada Hadamard 2x2 direta é idêntica à sua inversa. As transformadas Hadamard são usadas para explorar a correlação residual que existe entre os resultados da DC quando são processadas amostras coloridas ou elementos luma preditos no modo intra 16x16 [3]. odas as transformadas do padrão H.264/AVC usam aritmética inteira o que evita mismatch entre codificador e decodificador e possibilita uma implementação em hardware mais eficiente [4]. Este trabalho apresenta o projeto de uma arquitetura multitransformada com paralelismo programável. Outra característica do IP proposto é a possibilidade de se definir o número de bits da entrada através de um parâmetro. Esta solução é altamente flexível podendo, dessa forma, ser usada em projetos de codecs H.264/AVC com os mais diversos requisitos de desempenho. A segunda seção deste artigo apresenta alguns trabalhos relacionados. A seção três apresenta as características da arquitetura multitransformada. A quarta seção apresenta os resultados de síntese direcionados para FPGAs da Altera e da Xilinx e para tecnologia standard cell. As conclusões deste trabalho são apresentadas na seção cinco. 2. RABALHOS RELACIONADOS Há algumas soluções, em outros trabalhos, que implementam mais de uma transformada em um mesmo hardware. Os trabalhos apresentados em [4, 5 e 6] exploram a idéia da multitransformada mas apenas para as transformadas 4x4. A solução proposta em [4] foi desenvolvida em standard cell com a tecnologia SMC
2 .35µm e usa 653 portas lógicas. Esta solução é capaz de operar a uma freqüência de MHz e alcança uma taxa de processamento de 32Mamostras/s. Esta arquitetura multitransformada usa buffer de transposição e consome quatro amostras por ciclo. O trabalho apresentado em [5] também foi desenvolvido em tecnologia standard cell SMC.35µm e usa 5745 portas lógicas. Esta solução alcança uma freqüência de 1MHz, possibilitando uma taxa de processamento de Mamostras/s. Esta solução não usa buffer de transposição e consome oito amostras por ciclo. A solução [6] apresenta uma multitransformada, desenvolvida em standard cell de tecnologia.1µm, que usa 642 portas lógicas e alcança uma freqüência de operação de 1MHz. Esta solução também consome oito amostras por ciclo e não usa buffer de transposição. Esta solução possui uma taxa de processamento de Mamostras/s. O projeto apresentado em [7] possui uma solução que não é baseada na idéia de multitransformada. Esta solução agrupa as transformadas e a quantização e foi desenvolvida em standard cell SMC.35µm. Os melhores resultados foram encontrados no decodificador que usa 264 portas lógicas e alcança uma freqüência de operação de 62MHz e uma taxa de processamento de 497,5Mamostras/s. Esta solução consome oito amostras por ciclo de clock. A última solução analisada foi apresentada em [] e também não usa a idéia de multitransformada. Apenas a arquitetura da DC direta foi implementada. Esta arquitetura foi mapeada para um FPGA da família Virtex-II Pro da Xilinx. Esta solução consome 16 amostras por ciclo de clock e alcança 172 Mamostras/s rodando a 17,5MHz. A arquitetura usa aproximadamente 772 portas lógicas. As soluções relacionadas usam diferentes alternativas de projeto para obter desempenhos elevados e reduzir o consumo de recursos de hardware. A solução apresentada neste trabalho usa, para o núcleo da multitransformada, uma estratégia de projeto que é completamente diferente das estratégias usadas nas soluções apresentadas acima. Esta solução suporta todas as cinco transformadas previstas pelo padrão H.264/AVC e, além disso, permite a seleção do nível de paralelismo da arquitetura. 3. ARQUIEURA MULI-RANSFORMADA COM PARALELISMO PROGRAMÁVEL O desenvolvimento das arquiteturas de transformadas diretas e inversas sem separabilidade, em um trabalho anterior, conduziu a constatação que existem interessantes similaridades entre os algoritmos e arquiteturas destas transformadas. Deste modo, surgiu a idéia de construir uma arquitetura capaz de realizar o cálculo de qualquer transformada dos blocos e -1, isto é, a DC Direta 4x4, a DC Inversa 4x4, a Hadamard Direta 4x4 a Hadamard Inversa 4x4 e a Hadamard 2x2. Esta arquitetura, por realizar o cálculo de todas as transformadas, foi batizada de arquitetura multitransformada. Além desta idéia, em função da exploração do espaço de projeto das transformadas, surgiu uma idéia ainda mais interessante, qual seja: desenvolver a arquitetura multitransformada com paralelismo programável, isto é, o nível de paralelismo utilizado nos cálculos das transformadas seria definido pelo usuário da arquitetura. Então estas idéias foram exploradas e a arquitetura foi desenvolvida e está apresentada nesta seção do artigo. A primeira etapa no desenvolvimento desta arquitetura foi avaliar criteriosamente as similaridades dos algoritmos de cada transformada. Após esta análise, foi constatado que a arquitetura multitransformada realmente seria viável. Uma importante similaridade entre estes algoritmos é que, para um mesmo passo, existe sempre o mesmo número de adições e subtrações para todas as transformadas. Então foi realizada uma pesquisa na literatura para verificar o quanto de inovação existia nesta solução. Desta pesquisa, foi possível encontrar apenas um trabalho [6] que apresentava o desenvolvimento de uma arquitetura semelhante em alguns aspectos ao que estava sendo proposto. Esta arquitetura [6] realiza os cálculos das quatro transformadas aplicadas sobre matrizes 4x4 de entrada (DC Direta 4x4, DC Inversa 4x4, Hadamard Direta 4x4 e Hadamard Inversa 4x4), mas não apresenta o paralelismo programável e nem suporta a operação da Hadamard 2x2. Com base nesta análise do estado da arte, optou-se por continuar o desenvolvimento da arquitetura. Foi possível constatar que a implementação desta idéia apresentava dois desafios principais: (a) desenvolver um gerenciamento de entrada e saída programável capaz de suportar diferentes níveis de paralelismo e (b) desenvolver uma arquitetura multitransformada com alto desempenho, capaz de atingir a taxa de processamento exigida pelos diferentes níveis de paralelismo. As soluções para estes dois desafios estão muito relacionadas e serão detalhadas nos subitens dessa seção. Os níveis de paralelismo definidos para as entradas são de 1, 2, 4, ou 16 amostras por ciclo. Isso implica que a matriz 4x4 de entrada pode ser lida amostra por amostra, de uma maneira completamente serial, ou, no outro extremo, a matriz completa pode ser lida em um único ciclo. A arquitetura multitransformada deve ser capaz de suportar todos estes níveis de paralelismo. O caso mais complicado de resolver para a multitransformada é justamente o caso do maior nível de paralelismo. Se 16 amostras são lidas a cada ciclo, a arquitetura deve ser capaz de processar todas as 16 amostras em um único ciclo para que, no próximo ciclo, outras 16 amostras possam ser processadas. Por isso, optou-se por usar uma implementação paralela com pipeline para desenvolver o núcleo da arquitetura multitransformada, pois esta solução suporta o processamento de até 16 amostras por ciclo. Assim, o gerenciamento de entrada e saída deverá agrupar as amostras de entrada em grupos de 16 amostras e, então, prover estas amostras para a arquitetura multitransformada.
3 IN R 1 IN 2 R 2 IN 4 R 4 IN 6 R 6 IN R 9 IN 1 R 11 IN 12 IN 14 R 12 R E1 R 2 E2 E3 E4 E5 E6 E7 R 4 R 6 R R 1 R 12 R 14 R R 1 R 2 R 3 R 4 R 5 R 6 R 7 R R 9 R 1 R 11 R 12 R 13 R 14 R 15 IN IN 1 IN 2 IN 3 IN 4 IN 5 IN 6 IN 7 IN IN 9 IN 1 IN 11 IN 12 IN 13 IN 14 IN 15 S S1 S2 S3 S4 S5 S6 S7 S S9 S1 S11 S12 S13 S14 S15 M M 1 M 2 M 3 M 4 M 5 M 6 M 7 M M 9 M 1 M 11 M 12 M 13 M 14 M 15 Figura 1 Arquitetura do gerenciador de paralelismo de entrada Por outro lado, o gerenciamento também é responsável por receber os 16 coeficientes gerados pela arquitetura e disponibilizá-los na saída na taxa definida pelo nível de paralelismo empregado. Para flexibilizar ainda mais o uso desta arquitetura, optou-se por desenvolver todos os blocos com o número de bits de entrada parametrizável. Deste modo, a arquitetura pode ser utilizada em implementações que exijam números de bits diferentes. Os dois próximos subitens desta seção apresentam em mais detalhes estas duas partes principais da arquitetura, enquanto que o último subitem desta seção apresenta os primeiros resultados de síntese desta arquitetura Gerenciamento de Entrada e Saída Programável A solução desenvolvida para gerenciar o nível de paralelismo da entrada e da saída da arquitetura multitransformada considera que o usuário irá indicar o nível de paralelismo desejado através de um sinal externo chamado de PAR neste trabalho. Os níveis de paralelismo possíveis são 1, 2, 4, e 16, como já foi mencionado. Estes níveis foram escolhidos porque apenas com eles é possível processar a matriz 4x4 de entrada com n ciclos de clock, sendo n sempre um número inteiro. Se o paralelismo for 1, então n será 16; se o paralelismo for 2, então n será, e assim por diante, até que quando o paralelismo for 16, então n será 1. O sinal PAR foi codificado para representar os cinco possíveis níveis de paralelismo. Deste modo, a parte de controle do gerenciamento de entrada e saída deverá decodificar este sinal para indicar para o datapath quais operações devem ser realizadas. A abela 1 apresenta os códigos do sinal PAR. O sinal PAR é utilizado em todas as operações do gerenciador de paralelismo, controlando os multiplexadores, gerando os sinais de habilitação de escrita nos registradores internos, etc. A Figura 1 apresenta a arquitetura do gerenciador de paralelismo de entrada. A barreira de registradores apresentada na Figura 1 (R a R 15 ) é utilizada para os níveis de paralelismo 1, 2, 4 e. Os registradores recebem como entrada de uma a oito diferentes entradas externas, dependendo do nível de paralelismo selecionado. Os registradores apresentados na Figura 1 podem ter suas entradas conectadas diretamente em uma das entradas externas (IN, IN 2, IN 4, IN 6, IN, IN 1, IN 12 ou IN 14 ) ou no registrador imediatamente anterior. As saídas estão conectadas no próximo registrador e no multiplexador que seleciona a entrada de cada operador. abela 1 Códigos do sinal PAR indicando o nível de paralelismo Nível de Paralelismo Sinal PAR Decimal Binário 1 amostra por ciclo 2 amostras por ciclo amostras por ciclo 2 1 amostras por ciclo amostras por ciclo 4 1 Na Figura 1, os sinais de controle dos multiplexadores foram omitidos, para permitir uma maior clareza. Quando o nível de paralelismo selecionado é 16, então, com o objetivo de maximizar o desempenho, as 16 entradas paralelas (IN a IN 15 ) não passam pela barreira de registradores e são entregues diretamente para a arquitetura da multitransformada (M a M 15 ), passando primeiro pelo multiplexador de saída. Este conjunto de multiplexadores é controlado pelo mesmo sinal e entrega para a entrada da arquitetura multitransformada ou diretamente os 16 valores da entrada (paralelismo 16) ou os valores armazenados nos registradores R a R 14 (paralelismo 1, 2, 4 ou ). O controle dos multiplexadores que selecionam a entrada dos registradores é um pouco mais complicado, pois a escrita nos registradores depende do nível de paralelismo selecionado. A abela 2 apresenta as entradas dos registradores de acordo com o nível de paralelismo selecionado. Na abela 2 estão destacados em cinza os pontos onde as entradas externas são conectadas aos registradores.
4 M M 1 R 1 R 2 R 3 M 2 M 3 M 4 M 5 R 4 R 5 R 6 M 6 M 7 M M 9 R 7 R R 9 R 1 R 11 M 1 M 11 M 12 M 13 R 12 R 13 R 14 R 15 M 14 R 16 M 15 E E 1 E 2 E 3 E 4 E 5 E 6 E 7 E E 9 E 1 E 11 E 12 E 13 E 14 E 15 R R 1 R 2 R 3 R 4 R 5 R 6 R 7 R R 9 R 1 R 11 R 12 R 13 R 14 R 15 M M 1 M 2 M 3 M 4 M 5 M 6 M 7 M M 9 M 1 M 11 M 12 M 13 M 14 M 15 S S 1 S 2 S 3 S 4 S 5 S 6 S 7 S S 9 S 1 S 11 S 12 S 13 S 14 S 15 Out Out 1 Out 2 Out 3 Out 4 Out 5 Out 6 Out 7 Out Out 9 Out 1 Out 11 Out 12 Out 13 Out 14 Out 15 Figura 2 Arquitetura do gerenciador de paralelismo de saída A partir do que está apresentado na abela 2 é possível gerar os sinais de controle para os multiplexadores de entrada. É importante destacar que o número de entradas utilizadas depende diretamente do nível de paralelismo selecionado. A abela 3 apresenta esta relação indicando quais são as entradas utilizadas para cada nível de paralelismo. abela 2 Entradas dos registradores R a R14 de acordo com o nível de paralelismo Nível de Paralelismo R IN R IN R IN R IN R 1 R R 1 R R 1 R R 1 IN 2 R 2 R 1 R 2 R 1 R 2 R 1 R 2 R 1 R 3 R 2 R 3 R 2 R 3 IN 4 R 3 IN 4 R 4 R 3 R 4 R 3 R 4 R 3 R 4 R 3 R 5 R 4 R 5 R 4 R 5 R 4 R 5 IN 6 R 6 R 5 R 6 R 5 R 6 R 5 R 6 R 5 R 7 R 6 R 7 IN R 7 IN R 7 IN R R 7 R R 7 R R 7 R R 7 R 9 R R 9 R R 9 R R 9 IN 1 R 1 R 9 R 1 R 9 R 1 R 9 R 1 R 9 R 11 R 1 R 11 R 1 R 11 IN 12 R 11 IN 12 R 12 R 11 R 12 R 11 R 12 R 11 R 12 R 11 R 13 R 12 R 13 R 12 R 13 R 12 R 13 IN 14 R 14 R 13 R 14 R 13 R 14 R 13 R 14 R 13 A implementação do gerenciador do paralelismo da saída possui algumas semelhanças com a implementação do gerenciador de entrada. Com um paralelismo de nível 16, o gerenciador de saída entrega diretamente os 16 valores gerados pela arquitetura multitransformada para a saída, sem passar pelos registradores. Esta operação é realizada para maximizar o desempenho quando o paralelismo é de 16 amostras por ciclo. Nos outros casos, os resultados da arquitetura multitransformada são armazenados nos registradores e entregues na ordem correta nas saídas, a partir de deslocamentos sobre os dados armazenados. A Figura 2 apresenta a arquitetura do gerenciador de paralelismo de saída onde, novamente, os sinais de controle foram omitidos. Do mesmo modo que ocorre no gerenciador de paralelismo de entrada, o número de saídas utilizadas no gerenciador de paralelismo de saída depende do nível de paralelismo. A abela 4 apresenta esta relação indicando as saídas utilizadas para cada nível de paralelismo. abela 3 Entradas utilizadas para cada nível de paralelismo Nível de Paralelismo Entradas Utilizadas 1 In 2 In e In 4 In, In 4, In e In 12 In, In 2, In 4, In 6, In, In 1, In 12 e In 14 In 16, In 1, In 2, In 3, In 4, In 5, In 6, In 7, In, In 9, In 1, In 11, In 12, In 13, In 14 e In 15 Nível de Paralelismo abela 4 Saídas utilizadas para cada nível de paralelismo Saídas Utilizadas 1 Out 2 Out e Out 4 Out, Out 4, Out e Out 12 Out, Out 2, Out 4, Out 6, Out, Out 1, Out 12 e Out 14 Out, Out 1, Out 2, Out 3, Out 4, Out 5, Out 6, 16 Out 7, Out, Out 9, Out 1, Out 11, Out 12, Out 13, Out 14 e Out 15
5 X A B C S X 1 X 2 X S X X 5 X 6 X 7 X X X X X X X 14 X S 15 Figura 3 Núcleo da arquitetura multitransformada 3.2. Arquitetura Multitransformada de Alto Desempenho A solução adotada para desenvolver o núcleo da arquitetura multitransformada foi uma arquitetura totalmente paralela com pipeline. A principal diferença reside nos algoritmos implementados, pois para minimizar o consumo de recursos e a velocidade de processamento, as operações internas dos algoritmos das transformadas foram reorganizadas. Assim, foi possível agrupar as operações similares para todas as transformadas e compartilhar os operadores de maneira eficiente entre elas. No algoritmo da abela 5 foi inserido um atraso artificial para sincronizar as operações da transformada 2x2 com as operações das transformadas 4x4. O maior inconveniente desta solução é que as entradas de alguns operadores passaram a necessitar de um multiplexador, para selecionar as entradas corretamente, de acordo com o tipo de transformada realizada. A abela 5 apresenta os novos algoritmos com operações reagrupadas. Esta tabela apresenta as operações de todas as transformadas implementadas na arquitetura multitransformada. Nesta tabela apenas o primeiro estágio é apresentado. O desafio de construir uma arquitetura multitransformada está em adaptar as entradas de alguns dos operadores para receberem diferentes valores de acordo com o tipo de transformada (Figura 4). Para realizar este controle foi inserido um multiplexador nas entradas destes operadores. No primeiro estágio do pipeline (estágio A), alguns operadores possuem uma das entradas sempre fixa e a outra entrada pode receber duas diferentes entradas da arquitetura (X a X 15 ), como está apresentado na Figura 3. Os operadores restantes possuem uma das entradas recebendo ou diretamente uma entrada externa ou esta mesma entrada externa deslocada para a direita, enquanto que a outra entrada pode receber duas diferentes entradas externas. No segundo estágio do pipeline (estágio B), um multiplexador é necessário nas entradas de alguns operadores. Por fim, no último estágio do pipeline (estágio S) alguns operadores podem receber em uma de suas entradas o dado deslocado para a esquerda. inx iny inz (a) out inx iny inz >> (b) out Figura 4 Diferentes entradas dos operadores da arquitetura multitransformada. A saída da arquitetura multitransformada deve, ainda, ser deslocada para a direita quando a transformada for a Hadamard 4x4 direta. Então, todos os operadores do último nível de pipeline terão um multiplexador adicional, que entregará para a saída ou diretamente o resultado da última operação ou o valor deslocado. Este multiplexador só seleciona o valor deslocado quando a transformada for a Hadamard 4x4 direta. inx iny (c) out inx iny << (d) out
6 abela 5 Algoritmos com operações reagrupadas para a multitransformada Hadamard 4x4 Direta DC 4x4 Direta DC 4x4 Inversa Hadamard 4x4 Inversa Hadamard 2x2 Direta/Inversa E S Á G I O A a = X + X 12 a = X + X 12 a = X +X a = X + X 12 a = X + X 2 a 1 = X 4 + X a 1 = X 4 + X a 1 = X 4 +X 12 /2 a 1 = X 4 + X - a 2 = X 1 + X 13 a 2 = X 1 + X 13 a 2 = X 1 +X 9 a 2 = X 1 + X 13 - a 3 = X 5 + X 9 a 3 = X 5 + X 9 a 3 = X 5 +X 13 /2 a 3 = X 5 + X 9 - a 4 = X 2 + X 14 a 4 = X 2 + X 14 a 4 = X 2 +X 1 a 4 = X 2 + X 14 - a 5 = X 6 + X 1 a 5 = X 6 + X 1 a 5 = X 6 +X 14 /2 a 5 = X 6 + X 1 - a 6 = X 3 + X 15 a 6 = X 3 + X 15 a 6 = X 3 +X 11 a 6 = X 3 + X 15 a 6 = X 3 + X 1 a 7 = X 7 + X 11 a 7 = X 7 + X 11 a 7 = X 7 +X 15 /2 a 7 = X 7 + X 11 - a = X X 12 a = X X 12 a = X X a = X X 12 a = X X 2 a 9 = X 4 X a 9 = X 4 X a 9 = X 4 /2 X 12 a 9 = X 4 X - a 1 = X 1 X 13 a 1 = X 1 X 13 a 1 = X 1 X 9 a 1 = X 1 X 13 - a 11 = X 5 X 9 a 11 = X 5 X 9 a 11 = X 5 /2 X 13 a 11 = X 5 X 9 - a 12 = X 2 X 14 a 12 = X 2 X 14 a 12 = X 2 X 1 a 12 = X 2 X 14 - a 13 = X 6 X 1 a 13 = X 6 X 1 a 13 = X 6 /2 X 14 a 13 = X 6 X 1 - a 14 = X 3 X 15 a 14 = X 3 X 15 a 14 = X 3 X 11 a 14 = X 3 X 15 a 14 = X 3 X 1 a 15 = X 7 X 11 a 15 = X 7 X 11 a 15 = X 7 /2 X 15 a 15 = X 7 X Resultados de Síntese da Arquitetura Multitransformada com Paralelismo Programável A síntese da arquitetura multitransformada com paralelismo programável foi direcionada para o mesmo FPGA dos experimentos anteriormente apresentados, ou seja, um FPGA Virtex-II Pro VP7 da Xilinx e a ferramenta de síntese utilizada foi a Synplify Pro da Synplicity. Os resultados de síntese estão apresentados na abela 6. abela 6 Resultados da arquitetura multitransformada Bloco Gerenciador de Paralelismo de Entrada Gerenciador de Paralelismo de Saída Núcleo da Multitransformada Arquitetura Multitransformada Elementos Lógicos Freqüência (MHz) 22 21, , , ,4 Dispositivo 2VP7FF Na síntese cujos resultados estão apresentados na abela 6, o parâmetro que define o número de bits utilizado na entrada da arquitetura foi fixado com o valor oito. Foram utilizados 327 pinos do FPGA e este é um dos maiores problemas desta solução, pois muitos pinos são necessários, mesmo que não sejam utilizados. Por outro lado, a maioria das ferramentas de síntese é capaz de detectar que determinados pinos dos blocos instanciados não estão sendo utilizados e, deste modo, estas ferramentas são capazes de otimizar o processo de síntese, caso o paralelismo seja fixado nas instâncias superiores que utilizam esta arquitetura. Os resultados obtidos com a arquitetura multitransformada com paralelismo programável foram considerados interessantes, porque esta arquitetura atingiu elevadas taxas de processamento e permite uma enorme flexibilidade, podendo ser utilizada em diferentes projetos de compressores H.264, com diferentes níveis de paralelismo, além de tornar desnecessário o projeto de arquiteturas distintas e otimizadas para cada uma das cinco transformadas definidas pelo padrão H RESULADOS E DISCUSSÃO As arquiteturas do núcleo da multitransformada e dos gerenciadores de entrada e saída foram descritos em VHDL, sintetizados para FPGAs da família Stratix da Altera e validados através de simulações usando a ferramenta Quartus II, também da Altera. Com a arquitetura da multitransformada validada, outras duas sínteses foram realizadas: uma direcionada à FPGAs da família Virtex-II Pro da Xilinx (usando a ferramenta Synplify Pro da Synplicity) e outra direcionada para a tecnologia standard cell SMC.35µm (usando a ferramenta Leonardo Spectrum da Mentor Graphics). Estes resultados de síntese são apresentados na abela 7. O parâmetro que define o número de bits usados nas entradas da arquitetura foi ajustado para o valor oito.
7 Solução abela 9 Comparação com trabalhos relacionados ecnologia (SMC) Nível de Paralelismo Número de Portas Lógicas Máxima axa de Processamento (Mamostras/s) Nosso IP.35µ Kordasiewicz []** Cheng [5].35µ Chen [6].1µ 6.42 Lin [7]*.35µ Wang [4].35µ * DC direta e quantização ** apenas DC direta Assim, para entradas de oito bits, foram necessários 327 pinos para toda a arquitetura. Este elevado número de pinos é usado apenas quando o paralelismo é 16. Para os outros níveis de paralelismo, alguns ou vários pinos não são usados. É importante notar que a solução apresentada foi projetada como um IP para ser usada em outros projetos. Neste caso, se o nível de paralelismo não é igual a 16, as ferramentas de síntese são capazes de detectar os pinos não usados dos blocos instanciados e de eliminar estes pinos assim como toda lógica associada a eles, otimizando o uso de recursos e o desempenho. Virtex II Pro 2VP7FF Stratix EP1S1F7C5 SMC.35 um abela 7 Resultados de síntese Freqüência (MHz) Período (ns) 2,4 4,9 123,95,6 21,7 4,33 Área LUs LCs Portas abela Desempenho de acordo com o nível de paralelismo axa de Processamento Nível de Paralelismo (Mamostras/s) Virtex-II SMC Stratix Pro.35µm 1 amostra por ciclo 123,95 2,4 21,7 2 amostras por ciclo 247,9 4,96 437,4 4 amostras por ciclo 495, 1,92 74, amostras por ciclo 991,6 1.63, ,6 16 amostras por ciclo 1.93,2 3.27, ,2 A abela apresenta os resultados de desempenho para a arquitetura proposta considerando o nível de paralelismo selecionado. Desta tabela é possível notar que a taxa de processamento desta arquitetura varia de 123,9 milhões de amostras por segundo a 3,5 bilhões de amostras por segundo. Os resultados da abela indicam que a multitransformada pode ser usada em codecs H.264/AVC direcionados para aplicações de alta resolução como V digital de alta definição, HDV. A abela 9 apresenta uma comparação, com outros trabalhos, da arquitetura apresentada neste artigo. Nossa solução apresenta a mais alta taxa de processamento dentre todas as arquiteturas. O número de portas lógicas usadas em nossa solução é mais alto do que o de todas as outras soluções. Este alto uso de hardware é causado pelo elevado paralelismo no núcleo da multitransformada e pelo controle usado sobre este paralelismo. Comparando a relação entre o número de portas lógicas usadas e a taxa de processamento de todas as soluções é possível perceber quanto hardware foi usado para garantir um elevado desempenho. Neste caso, nossa solução apresenta a melhor relação entre todos os outros trabalhos, usando a menor quantidade de hardware por cada milhão de amostras por segundo obtido. Os resultados obtidos para a arquitetura multitransformada com multiparalelismo foram considerados interessantes porque esta arquitetura alcança taxas de processamento bastante elevadas, possibilita uma enorme flexibilidade para projetistas que usam o padrão H.264/AVC e pode ser usada em diferentes projetos de codecs, com diversos níveis de paralelismo, além de tornar desnecessário o desenvolvimento de uma arquitetura para cada uma das cinco transformadas previstas pelo padrão H.264/AVC. 5. CONCLUSÕES Este artigo apresentou uma arquitetura multitransformada de alto desempenho direcionada ao padrão H.264/AVC. Esta arquitetura multitransformada suporta todas as transformadas do H.264/AVC: DC 4x4 direta, DC 4x4 inversa, Hadamard 4x4 direta, Hadamard 4x4 inversa e Hadamard 2x2. O multiparalelismo disponível nesta
8 arquitetura possibilita a seleção entra cinco diferentes níveis de paralelismo: 1, 2, 4, e 16 amostras por ciclo de clock. Esta arquitetura inovadora e altamente flexível apresentada neste artigo foi descrita em VHDL e sintetizada para FPGAs da Altera e da Xilinx e para tecnologia standard cell. Foram apresentados os resultados desta implementação e discutidos os aspectos relativos ao desempenho. A versão standard cell SMC.35µm da arquitetura multitransformada é capaz de operar a uma freqüência de 21,7MHz, alcançando uma taxa de processamento próxima a 3,5 bilhões de amostras por segundo. Esta versão consome portas lógicas. Este elevado uso de recursos é causado pelo controle de multiparalelismo e pelo núcleo da multitransformada que é totalmente paralelo. Os resultados de desempenho indicam que esta solução pode ser usada até mesmo em codecs H.264/AVC para aplicações de alta resolução como, por exemplo, V digital de alta definição (HDV). REFERÊNCIAS [1] Joint Video eam of IU- and ISO/IEC JC 1, Draft IU- Recommendation and Final Draft International Standard of Joint Video Specification (IU- Rec. H.264 or ISO/IEC AVC), 23. [2] G. Sullivan and. Wiegand, Video Compression From Concepts to the H.264/AVC Standard, Proceedings of the IEEE, v. 93, n. 1, pp. 1-31, IEEE, 25. [3] Richardson, I., H.264 and MPEG-4 Video Compression Video Coding for Next-Generation Multimedia, John Wiley and Sons, 23. [4]. Wang, Y. Huang, H. Fang, and L. Cheng, Parallel 4x4 2D ransform and Inverse ransform Architecture for MPEG-4 AVC/H.264, IEEE International Symposium on Circuits and Systems, pp. -3, IEEE, 23. [5] Z. Cheng, C. Chen, B. Liu, and J. Yang, High hroughput 2- D ransform Architectures for H.264 Advanced Video Coders, IEEE Asia-Pacific Conference on Circuits and Systems, pp , IEEE, 24. [6] K. Chen, J. Guo, and J. Wang, An Efficient Direct 2-D ransform Coding IP Design for MPEG-4 AVC/H.264, IEEE International Symposium on Circuits and Systems, pp , IEEE, 25. [7] H. Lin, Y. Chao, C. Chen, B. Liu, and J. Yang, Combined 2- D ransform and Quantization Architectures for H.264 Video Coders, IEEE International Symposium on Circuits and Systems, pp , IEEE, 25. [] R. Kordasiewicz, and S. Shirani, Hardware Implementation of the Optimized ransform and Quantization Blocks of H.264, Canadian Conference on Electrical and Computer Engineering, pp , 24. [9] H. Malvar, A. Hallapuro, M. Karczewicz, and L. Kerofsky, Low-Complexity ransform and Quantization in H.264/AVC, IEEE ransactions on Circuits and Systems for Video echnology, v. 13, n. 7, pp , IEEE, 23.
PROJETO DE ARQUITETURAS SÍNCRONAS E DE ALTO DESEMPENHO PARA OS BLOCOS DAS TRANSFORMADAS DIRETAS E INVERSAS DA COMPRESSÃO H.264/AVC
PROJETO DE ARQUITETURAS SÍNCRONAS E DE ALTO DESEMPENHO PARA OS BLOCOS DAS TRANSFORMADAS DIRETAS E INVERSAS DA COMPRESSÃO H.64/AVC Leandro Rosa, Thaísa Silva, Roger Porto, José Luís Güntzel, Ivan Silva,
Leia maisUniversidade 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 maisQUANTIZAÇÃO DIRETA E INVERSA DE ALTA PERFORMANCE PARA A COMPRESSÃO DE VÍDEO H.264/AVC DIRECIONADA PARA HDTV
QUANTIZAÇÃO DIRETA E INVERSA DE ALTA PERFORMANCE PARA A COMPRESSÃO DE VÍDEO H.264/AVC DIRECIONADA PARA HDTV Marcelo Porto 1, Roger Porto 1, José Luís Güntzel 1, Ivan Silva 2, Sergio Bampi 3, Luciano Agostini
Leia maisArquitetura de um Módulo T Dedicado à Predição Intra do Padrão de Compressão de Vídeo H.264/AVC para Uso no Sistema Brasileiro de Televisão Digital
Arquitetura de um Módulo T Dedicado à Predição Intra do Padrão de Compressão de Vídeo H64/AVC para Uso no Sistema Brasileiro de Televisão Digital Robson Dornelles, Felipe Sampaio, Daniel Palomino, Guilherme
Leia maisARQUITETURA DE HARDWARE DEDICADA PARA A DECODIFICAÇÃO EXP-GOLOMB DO PADRÃO H.264 DE COMPRESSÃO DE VÍDEO
ARQUITETURA DE HARDWARE DEDICADA PARA A DECODIFICAÇÃO EXP-GOLOMB DO PADRÃO H.264 DE COMPRESSÃO DE VÍDEO Thaísa Leal da Silva 1, João Alberto Vortmann 1, José Luís Güntzel 1, Ivan Saraiva Silva 2, Sergio
Leia maisExploraçã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 maisExploração no Espaço de Projeto da Hadamard 4x4 Direta do Padrão de Compressão de Vídeo H.264/AVC
Exploração no Espaço de Projeto da Hadamard 4x4 Direta do Padrão de Compressão de Vídeo H264/AVC André Marcelo Silva 1, Thaísa Silva 1, Marcelo Porto 1, Roger Porto 1, José Güntzel 1, Ivan Silva 2, Sergio
Leia maisProjeto de Hardware para a Compensação de Movimento do Padrão H.264/AVC de Compressão de Vídeo
Projeto de Hardware para a Compensação de Movimento do Padrão H.264/AVC de Compressão de Vídeo Fabiane K. Rediess 1, André C. da Silva, João A. Vortmann 1, José L. Güntzel 1,2, Sérgio Bampi 2, Luciano
Leia maisCodificador de Entropia Segundo o Perfil Baseline do padrão H.264/AVC de Compressão de Vídeo
Codificador de Entropia Segundo o Perfil Baseline do padrão H.264/AVC de Compressão de Vídeo João A. Vortmann 1, Thaísa L. Silva 2, Fabiane K. Rediess 1, José L. Güntzel 1,2, Sérgio Bampi 2, Luciano V.
Leia maisEstendendo o Conjunto de Instruções de um PPC para Uso de Transformadas do H.264
Estendendo o Conjunto de Instruções de um PPC para Uso de Transformadas do H.264 Marcelo Schiavon Porto Roger E. C. Porto {msporto, recporto}@inf.ufrgs.br Introdução 2 O padrão H.264/AVC é o mais novo
Leia maisAvaliação Algorítmica para a Estimação de Movimento na Compressão de Vídeos Digitais
Avaliação Algorítmica para a Estimação de Movimento na Compressão de Vídeos Digitais Leandro Rosa 1, Marcelo Porto 2, Fabiane Rediess 1, Rafael Petry 1, Altamiro Susin 2, Sergio Bampi 2, Luciano Agostini
Leia maisIMPACTOS 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 maisAula 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 maisMPEG-4 & H.264. Dissertação, entendimento e comparativo entre e com o MPEG-2
MPEG-4 & H.264 Dissertação, entendimento e comparativo entre e com o MPEG-2 UFF Departamento de Engenharia de Telecomunicações 2005/1 Mestrado em Eng. de Telecomunicações Professora Debora Christina Muchaluat
Leia maisFPGA & 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 maisCapí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 maisAVALIAÇÃ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 maisEXPERIMENTOS 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 mais3. 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 maisAluno: João Gabriel Felipe Machado Gazolla. Professora: Drª. Débora Christina Muchaluat Saade. Disciplina: Redes Multimídia. 04 de Dezembro de
Aluno: João Gabriel Felipe Machado Gazolla. Professora: Drª. Débora Christina Muchaluat Saade. Disciplina: Redes Multimídia. 04 de Dezembro de 2012 - Niterói RJ Brasil. Disciplina. Aprofundar conhecimentos
Leia maisEPUSP 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 maisRelató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 maisNí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 maisAvaliação do Custo de Comunicação com a Memória Externa de uma Arquitetura em Hardware para Estimação de Movimento H.264
I Workshop de Sistemas Embarcados 43 Avaliação do Custo de Comunicação com a Memória Externa de uma Arquitetura em Hardware para Estimação de Movimento H.264 Alba S. B. Lopes 1, Ivan Saraiva Silva 2 1
Leia maisProcessador: 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 maisFPGA & 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 maisIntroduçã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 maisDSP Builder - Altera. MO801 - Tópicos em Arquitetura e Hardware. Michele Tamberlini 05/2006
DSP Builder - Altera MO801 - Tópicos em Arquitetura e Hardware Michele Tamberlini 05/2006 DSP Builder Roteiro Introdução Funcionalidades MegaCore MATLAB / SIMULINK SOPC Builder Bibliotecas Introdução Algoritmos
Leia maisCircuitos 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 maisSSC0112 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 maisProposta de Solução de HW/SW para o Módulo de Transformadas de um Codificador H.264/SVC 1
Proposta de Solução de HW/SW para o Módulo de Transformadas de um Codificador H.264/SVC 1 Ronaldo Husemann, Eduardo Eick, Mariano Majolo, Daniel Santos, Victor Guimarães Av. Osvaldo Aranha, 103 Porto Alegre
Leia maisParte # 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 maisEXPLORAÇÃ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 maisSistemas Digitais Transferências entre Registradores
Sistemas Digitais Transferências entre Registradores Referência Bibliográfica: Logic and Computer Design Fundamentals Mano & Kime Adaptações: josé artur quilici-gonzalez Sumário Transferências entre Registradores
Leia maisUMA HIERARQUIA DE MEMÓRIA PARA UM MODELO RTL DO PROCESSADOR RISC-V SINTETISÁVEL EM FPGA
UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE INFORMÁTICA GRADUAÇÃO EM ENGENHARIA DA COMPUTAÇÃO UMA HIERARQUIA DE MEMÓRIA PARA UM MODELO RTL DO PROCESSADOR RISC-V SINTETISÁVEL EM FPGA PROPOSTA DE TRABALHO
Leia maisELETRÔNICA DIGITAL I
ELETRÔNICA DIGITAL I Parte 0 Introdução Professor Dr. Michael Klug 1 Analógico x Digital Representações: Analógica = contínua Digital = discreta (passo a passo) 2 Vantagens Técnicas Digitais 1) Fáceis
Leia maisArquitetura 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 mais4 H Conceitos importantes
H.264 51 4 H.264 Foi desenvolvido pelos grupos MPEG (Moving Picture Expert Group) e VCEG (Video Coding Expert Group), através de um esforço conjunto denominado JVT (Joint Video Team), um novo padrão de
Leia maisProjeto 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 maisProf. Leonardo Augusto Casillo
UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO Circuitos Combinacionais MSI Parte 2 Prof. Leonardo Augusto Casillo Codificadores x Decodificadores Decodificadores (em sua maioria)
Leia maisESTUDO SOBRE O IMPACTO DOS PROCESSADORES HOSPEDEIROS SPARC V8 E NIOS II NO DESEMPENHO DA ARQUITETURA RECONFIGURÁVEL HÍBRIDA RoSA
ESTUDO SOBRE O IMPACTO DOS PROCESSADORES HOSPEDEIROS SPARC V8 E NIOS II NO DESEMPENHO DA ARQUITETURA RECONFIGURÁVEL HÍBRIDA RoSA Alba S. B. Lopes Departamento de Informática e Matemática Aplicada da UFRN
Leia maisInvestigação Algorítmica sobre a Estimação de Movimento na Compressão de Vídeo Digital: Uma Análise Quantitativa
Investigação Algorítmica sobre a Estimação de Movimento na Compressão de Vídeo Digital: Uma Análise Quantitativa Leandro Zanetti P. da Rosa 1, Marcelo S. Porto 1, Fabiane K. Rediess 2, Altamiro A. Susin
Leia maisUniversidade 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 maisERRATA que juntas formam que, combinadas, formam do filtro do filtro redutor redutor de efeito de bloco
ERRATA SILVA, L. M. de L. Implementação Física de Arquiteturas de Hardware para a Decodificação de Vídeo Digital Segundo o Padrão H.264/AVC. 136 f. Dissertação (Mestrado em Ciência da Computação) - Programa
Leia maisProjeto 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 maisEPUSP 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 maisPROJETO, 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 mais6 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 maisDispositivos 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 maisOrganizaçã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 maisDOCUMENTO TÉCNICO. Hikvision Advanced Video Compression HIKVISION. Tecnologia de Codificação H.264/AVC V Para liberação [12/01/2012]
HIKVISION Telefone: 909.895.0400 Fax: 909.595.2788 Marketing@Hikvisionusa.com 908 Canada Court City of Industry, CA 91748 HIKVISION DOCUMENTO TÉCNICO Tecnologia de Codificação H.264/AVC V0.8.0 Para liberação
Leia maisProjeto 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 maisEletrônica Digital para Instrumentação. Herman Lima Jr.
G03 Eletrônica Digital para Instrumentação Prof: hlima@cbpf.br Centro Brasileiro de Pesquisas Físicas Ministério da Ciência, Tecnologia e Inovação (MCTI) Parâmetros de circuitos integrados lógicos Dispositivos
Leia maisOperaçõ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 maisCompressão de Imagens. Lilian Nogueira de Faria (Bolsista)...DPI/INPE Leila Maria Garcia Fonseca (Coordenadora)...DPI/INPE
Compressão de Imagens Lilian Nogueira de Faria (Bolsista)...DPI/INPE Leila Maria Garcia Fonseca (Coordenadora)...DPI/INPE Imagens digitais necessitam de grande quantidade de espaço para armazenamento e
Leia maisOrganizaçã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 maisDesenvolvendo aplicações com LabVIEW FPGA. Rogério Rodrigues Engenheiro de Marketing Técnico Marcos Cardoso Engenheiro de Vendas
Desenvolvendo aplicações com LabVIEW FPGA Rogério Rodrigues Engenheiro de Marketing Técnico Marcos Cardoso Engenheiro de Vendas Agenda O que são FPGAs e por que eles são úteis? Programando FPGAs Hardware
Leia maisAVALIAÇÃO DE CONVERSORES BOOST OPERANDO EM PARALELO EMPREGANDO A TÉCNICA INTERLEAVED E CONTROLADOS DIGITALMENTE
AVALIAÇÃO DE CONVERSORES BOOST OPERANDO EM PARALELO EMPREGANDO A TÉCNICA INTERLEAVED E CONTROLADOS DIGITALMENTE ANALISYS OF PARALLEL BOOST CONVERTERS THROUGH INTERLEAVED STRATEGY AND CONTROLLED DIGITALLY
Leia maisPCS Sistemas Digitais I. Circuitos Combinatórios Blocos Básicos: (De)Multiplexadores e Dispositivos tri-state. Prof. Dr. Marcos A. Simplicio Jr.
PCS 35 Sistemas Digitais I Circuitos Combinatórios Blocos Básicos: (De)Multiplexadores e Dispositivos tri-state Prof. Dr. Marcos A. Simplicio Jr. versão: 3.0 (Jan/206) Adaptado por Glauber (208) 2 Blocos
Leia maisUM MÉTODO PARA COMPARAÇÃO ENTRE HARDWARE E SOFTWARE DAS FUNÇÕES CRC-16 E FDCT SCHNEIDER, R. F. ¹, RAMOS, F. L. L.¹
UM MÉTODO PARA COMPARAÇÃO ENTRE HARDWARE E SOFTWARE DAS FUNÇÕES CRC-16 E FDCT SCHNEIDER, R. F. ¹, RAMOS, F. L. L.¹ ¹ ³ Universidade Federal do Pampa (UNIPAMPA) Bagé RS Brasil RESUMO A execução de funções
Leia maisMultiplicador 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 maisPlano de Ensino. Leandro Schwarz Endereço eletrônico:
Plano de Ensino Disciplina: Dispositivos Lógicos Programáveis Semestre: 2011/1 Turma: 2030311A Carga horária: 80 horas Professor: Leandro Schwarz () Endereço eletrônico: 1. Objetivos A tecnologia de Dispositivos
Leia maisImagem Estática JPEG 2000 JPEG 2000 JPEG 2000 JPEG Joint Photographic Experts Group Padrão ISO/IEC 15444; ITU-T T.800
Departamento de Engenharia de Telecomunicações - UFF Imagem Estática Profa. Débora Christina Muchaluat Saade deborams@telecom.uff.br Joint Photographic Experts Group Padrão ISO/IEC 15444; ITU-T T.800 Oferece
Leia maisOrganizaçã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 maisProcessamento de áudio em tempo real utilizando dispositivos não convencionais:
Processamento de áudio em tempo real utilizando dispositivos não convencionais: Processamento paralelo com Pure Data e GPU. André Jucovsky Bianchi ajb@ime.usp.br Departamento de Ciência da Computação Instituto
Leia maisIntroduçã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 maisPontifí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 mais3 Estimação e Compensação de movimento na codificação de vídeo
Estimação e Compensação de movimento na codificação de vídeo 36 3 Estimação e Compensação de movimento na codificação de vídeo O objetivo do modelo temporal (que engloba as fases de estimação e compensação
Leia maisORGANIZAÇÃ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 maisUniversidade Federal do Rio Grande do Sul Instituto de Informática
Universidade Federal do Rio Grande do Sul Instituto de Informática INF01046: Fundamento de Processamento de Imagens PROFESSOR JACOB SCHARCANSKI Projeto II: Compactação de Imagens Autores: Charles Arnoud
Leia maisOperações com vetores
Sistemas Digitais GRECO/25 Operações com vetores Possíveis formas de Operação binárias Oper. Oper. 2 Resultado Comentário Escalar Escalar Escalar Operação padrão Escalar vetor Escalar Não existe Vetor
Leia maisTelevisão Digital. MPEG-2 Video
Televisão Digital MPEG-2 Video Pedro A. Amado Assunção - Pólo de Coimbra Instituto Politécnico de Leiria - ESTG 1 Sumário Introdução. Características principais da norma MPEG-2. Compressão de vídeo: princípios
Leia maisMemória SRAM 64x8 bits
UNIVERSIDADE FEDERAL DO PARANÁ Leonardo H. Menezes André N. Makoski Memória SRAM 64x8 bits Artigo elaborado como parte da avaliação da Disciplina de Circuitos Integrados Digitais, ministrada pelos Profs.:
Leia maisInstituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte Lista de Exercícios para a Terceira Unidade.
Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte Lista de Exercícios para a Terceira Unidade Disciplina: Informática Básica Professor: Eberton da Silva Marinho e-mail: ebertonsm@gmail.com
Leia maisCIRCUITOS DIGITAIS. Circuitos Combinacionais e Técnicas de Simplificação
CIRCUITOS DIGITAIS Circuitos Combinacionais e Técnicas de Simplificação Prof. Denis Fantinato Prof. Rodrigo Moreira Bacurau Slides baseados nas aulas do Prof. Rodrigo Moreira Bacurau O que será visto nesta
Leia maisRealização física de circuitos lógicos
Realização física de circuitos lógicos Circuitos integrados digitais Famílias lógicas Níveis de tensão Atrasos Lógica positiva, negativa e de polaridade Realização usando ROMs 2 1 Acções e processamento
Leia maisMicrocontrolador FemtoJava Pipeline (Low Power)
Microcontrolador FemtoJava Pipeline (Low Power) UFRGS Programa de Pós graduação em Computação CMP 237 Arquitetura e Organização de Processadores Prof. Dr. Flávio Rech Wagner Aluno: Paulo Roberto Miranda
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 O conteúdo deste documento é baseado no livro Princípios Básicos de Arquitetura e Organização de Computadores
Leia mais3 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 maisExercí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 maisPlano de Ensino. Leandro Schwarz Endereço eletrônico:
Plano de Ensino Disciplina: Dispositivos Lógicos Programáveis Semestre: 2011/1 Turma: 1880331A Carga horária: 120 horas Professor: Leandro Schwarz () Endereço eletrônico: 1. Objetivos A tecnologia de Dispositivos
Leia maisPLANEJAMENTO DAS DISCIPLINAS DE SISTEMAS DIGITAIS NA EC3. Workshop de Graduação do PCS Prof. Edson S. Gomi 31 de julho de 2018
PLANEJAMENTO DAS DISCIPLINAS DE SISTEMAS DIGITAIS NA EC3 Workshop de Graduação do PCS Prof. Edson S. Gomi 31 de julho de 2018 Disciplina PréRequisito Semestral Quadrimestral PCS3115 Sistemas Digitais I
Leia maisUniversidade 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 maisEPUSP PCS 2011/2305/2355 Laboratório Digital. Frequencímetro
Frequencímetro Versão 2014 RESUMO Esta experiência tem como objetivo a familiarização com duas classes de componentes: os contadores e os registradores. Para isto, serão apresentados alguns exemplos de
Leia mais1. 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 maisULA. 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 maisUniversidade 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 atarina entro Tecnológico epartamento de Informática e Estatística urso de Graduação em iências da omputação Lógica Programável INE 5348 Aula 4 Revisão de latches, flip-flops
Leia maisVALIDAÇÃO DE UMA ARQUITETURA PARA COMPENSAÇÃO DE MOVIMENTO SEGUNDO O PADRÃO H.264/AVC
VALIDAÇÃO DE UMA ARQUITETURA PARA COMPENSAÇÃO DE MOVIMENTO SEGUNDO O PADRÃO H.264/AVC Bruno Zatt, Arnaldo Azevedo, Luciano Agostini, Sergio Bampi Instituto de Informática, Universidade Federal do Rio Grande
Leia maisDADOS 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 maisExercícios de Laboratório 1
Tradução do Laboratory Exercise 1 disponível em Exercícios de Laboratório 1 Switches (chaves), Luzes (LEDs) e Multiplexadores
Leia maisCircuitos Combinacionais
! Circuitos Combinacionais x Sequenciais Combinacional - saídas dependem unicamente das entradas Entradas Circuito Combinacional Saídas Sequencial -háuma realimentação da saída para a entrada, denominada
Leia maisAcadêmicos: Cassiano Cesar Casagrande Claudir Galesky Junior Rafael Voltolini
JPEG2000 Acadêmicos: Cassiano Cesar Casagrande Claudir Galesky Junior Rafael Voltolini Compressão JPEG2000 A codificação pode ser dividida em três partes principais: Pré-processamento Processamento principal
Leia maisEPUSP PCS 2355 Laboratório Digital. Contadores em VHDL
Contadores em VHDL Versão 2012 RESUMO Esta experiência consiste no projeto e implementação de circuitos contadores com o uso da linguagem de descrição de hardware VHDL. São apresentados aspectos básicos
Leia maisVHDL Circuitos Combinacionais
VHDL Circuitos Combinacionais Neste módulo será feita uma revisão de circuitos combinacionais introduzindose alternativas representações em VHDL Uma descrição VHDL, de forma geral, pode seguir uma das
Leia maisELETRÔNICA DIGITAL. Prof. Fabio Martins Domingues
ELETRÔNICA DIGITAL Prof. Fabio Martins Domingues ELETRÔNICA DIGITAL Apresentação Nome Cidade Motivação Profissão Expectativas Time de futebol Bibliografia Ivan V. Idoeta e Francisco G. Capuano, Elementos
Leia maisProjeto Moderno de Sistemas Digitais
Projeto Moderno de Sistemas Digitais Edson Midorikawa 1 Tópicos Projeto Convencional Projeto com HDLs e FPGAs Fluxo de Projeto Moderno Codificação em HDLs Altera DE2 Digilent Nexys 3 2 Tecnologias de Lógica
Leia maisINSTITUTO FEDERAL DE CIÊNCIA E TECNOLOGIA DE SANTA CATARINA IFSC CAMPUS SÃO JOSÉ. Kamila Rose da Silva
Projeto Modernização das aulas de Laboratório de Circuitos Lógicos: fase implementação1 INSTITUTO FEDERAL DE CIÊNCIA E TECNOLOGIA DE SANTA CATARINA IFSC CAMPUS SÃO JOSÉ Kamila Rose da Silva Relatório Técnico
Leia maisSeminário de programação em sistemas embarcados
Seminário de programação em sistemas embarcados Implementando controle PID digital em sistemas embarcados Felipe S. Neves Agenda Compensadores, o compensador PID; Implementação PID em sistemas embarcados;
Leia maisPontifí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