10 resultados para Fpga

em Lume - Repositório Digital da Universidade Federal do Rio Grande do Sul


Relevância:

20.00% 20.00%

Publicador:

Resumo:

This thesis presents the study and development of fault-tolerant techniques for programmable architectures, the well-known Field Programmable Gate Arrays (FPGAs), customizable by SRAM. FPGAs are becoming more valuable for space applications because of the high density, high performance, reduced development cost and re-programmability. In particular, SRAM-based FPGAs are very valuable for remote missions because of the possibility of being reprogrammed by the user as many times as necessary in a very short period. SRAM-based FPGA and micro-controllers represent a wide range of components in space applications, and as a result will be the focus of this work, more specifically the Virtex® family from Xilinx and the architecture of the 8051 micro-controller from Intel. The Triple Modular Redundancy (TMR) with voters is a common high-level technique to protect ASICs against single event upset (SEU) and it can also be applied to FPGAs. The TMR technique was first tested in the Virtex® FPGA architecture by using a small design based on counters. Faults were injected in all sensitive parts of the FPGA and a detailed analysis of the effect of a fault in a TMR design synthesized in the Virtex® platform was performed. Results from fault injection and from a radiation ground test facility showed the efficiency of the TMR for the related case study circuit. Although TMR has showed a high reliability, this technique presents some limitations, such as area overhead, three times more input and output pins and, consequently, a significant increase in power dissipation. Aiming to reduce TMR costs and improve reliability, an innovative high-level technique for designing fault-tolerant systems in SRAM-based FPGAs was developed, without modification in the FPGA architecture. This technique combines time and hardware redundancy to reduce overhead and to ensure reliability. It is based on duplication with comparison and concurrent error detection. The new technique proposed in this work was specifically developed for FPGAs to cope with transient faults in the user combinational and sequential logic, while also reducing pin count, area and power dissipation. The methodology was validated by fault injection experiments in an emulation board. The thesis presents comparison results in fault coverage, area and performance between the discussed techniques.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Este trabalho foi realizado dentro da área de reconhecimento automático de voz (RAV). Atualmente, a maioria dos sistemas de RAV é baseada nos modelos ocultos de Markov (HMMs) [GOM 99] [GOM 99b], quer utilizando-os exclusivamente, quer utilizando-os em conjunto com outras técnicas e constituindo sistemas híbridos. A abordagem estatística dos HMMs tem mostrado ser uma das mais poderosas ferramentas disponíveis para a modelagem acústica e temporal do sinal de voz. A melhora da taxa de reconhecimento exige algoritmos mais complexos [RAV 96]. O aumento do tamanho do vocabulário ou do número de locutores exige um processamento computacional adicional. Certas aplicações, como a verificação de locutor ou o reconhecimento de diálogo podem exigir processamento em tempo real [DOD 85] [MAM 96]. Outras aplicações tais como brinquedos ou máquinas portáveis ainda podem agregar o requisito de portabilidade, e de baixo consumo, além de um sistema fisicamente compacto. Tais necessidades exigem uma solução em hardware. O presente trabalho propõe a implementação de um sistema de RAV utilizando hardware baseado em FPGAs (Field Programmable Gate Arrays) e otimizando os algoritmos que se utilizam no RAV. Foi feito um estudo dos sistemas de RAV e das técnicas que a maioria dos sistemas utiliza em cada etapa que os conforma. Deu-se especial ênfase aos Modelos Ocultos de Markov, seus algoritmos de cálculo de probabilidades, de treinamento e de decodificação de estados, e sua aplicação nos sistemas de RAV. Foi realizado um estudo comparativo dos sistemas em hardware, produzidos por outros centros de pesquisa, identificando algumas das suas características mais relevantes. Foi implementado um modelo de software, descrito neste trabalho, utilizado para validar os algoritmos de RAV e auxiliar na especificação em hardware. Um conjunto de funções digitais implementadas em FPGA, necessárias para o desenvolvimento de sistemas de RAV é descrito. Foram realizadas algumas modificações nos algoritmos de RAV para facilitar a implementação digital dos mesmos. A conexão, entre as funções digitais projetadas, para a implementação de um sistema de reconhecimento de palavras isoladas é aqui apresentado. A implementação em FPGA da etapa de pré-processamento, que inclui a pré-ênfase, janelamento e extração de características, e a implementação da etapa de reconhecimento são apresentadas finalmente neste trabalho.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

As tarefas de visão computacional incentivam uma significativa parte da pesquisa em todas as áreas científicas e industriais, entre as quais, cita-se a área voltada para o desenvolvimento de arquiteturas de computadores. A visão computacional é considerada um dos problemas mais desafiadores para a computação de alto desempenho, pois esta requer um grande desempenho, bem como um alto grau de flexibilidade. A flexibilidade é necessária pois a visão computacional abrange aplicações em que há diferentes tarefas a serem realizadas com diferentes necessidades de desempenho. Esta flexibilidade é particularmente importante em sistemas destinados a atuar como ambientes experimentais para novas técnicas de processamento visual ou para a prototipação de novas aplicações. Computação configurável tem demonstrado, por meio de exemplos implementados pela comunidade científica, fornecer uma boa relação entre alto desempenho e flexibilidade necessária para a implementação de diferentes técnicas utilizadas na área de visão computacional. Contudo, poucos esforços de pesquisa têm sido realizados na concepção de sistemas completos visando a solução de um problema de visão computacional, incluindo ambos os requisitos de software e de hardware. O principal objetivo deste trabalho é mostrar que as técnicas e tecnologias disponíveis na área de computação configurável podem ser empregadas para a concepção de um sistema capaz de implementar um grande número de aplicações da área de visão computacional na pesquisa e no ambiente industrial. Entretanto, não é escopo deste trabalho implementar um sistema de computação que seja suficiente para abordar os requerimentos necessários para todas as aplicações em visão computacional, mas os métodos aqui introduzidos podem ser utilizados como uma base geral de implementação de várias tarefas de visão computacional. Este trabalho utiliza ambientes que permitem implementações conjuntas de hardware e software, pois os mesmos facilitam a validação das técnicas aqui apresentadas, por meio da implementação de um estudo de caso, sendo parte deste estudo de caso implementado em software e outra parte em hardware.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Baseado na tecnologia de interligação de redes, este trabalho apresenta uma proposta de conexão de dois sistemas com processamento próprio com o intuito de troca de informações, utilizando a pilha de protocolos TCP/IP. Este sistema será empregado em ambientes de controle industrial, permitindo o envio de informações do servidor de dados para o cliente. Os dados são constituídos de leituras feitas em equipamentos de campo, apresentando ao cliente remoto, medições dos mais diversos tipos. Por outro lado, o cliente poderá enviar comandos aos equipamentos de campo visando o telecontrole. Como ponto de partida para a elaboração do trabalho prático, foi utilizado o ambiente de controle do sistema de potência da companhia energética do estado do Rio Grande do Sul (CEEE). Um microcomputador com um browser acessa, através de uma rede local, os equipamentos controlados, que poderão ser qualquer tipo de equipamento de campo empregado em subestações de energia elétrica, como disjuntores, transformadores ou chaves. Para permitir o acesso remoto de tais equipamentos, foi elaborado um servidor de dados constituído de um controlador de rede do tipo Ethernet e um microcontrolador de aplicação específica que se encarrega do processamento da pilha de protocolos. O controlador Ethernet utilizado é um circuito integrado dedicado comercial, que executa o tratamento dos sinais de nível físico e de enlace de dados conforme o padrão IEEE 802.2. O processador TCP/IP, enfoque principal deste trabalho, foi elaborado através da linguagem de programação C, e a seguir traduzido para o Java, que é o ponto de partida para a ferramenta SASHIMI, de geração da descrição em VHDL do microcontrolador de aplicação específica utilizado. O processador TCP/IP encarrega-se da aquisição de dados do equipamento de campo, do processamento da pilha de protocolos TCP/IP, e do gerenciamento do controlador Ethernet. A partir desta descrição VHDL, foi sintetizado o hardware do microcontrolador em um FPGA, que juntamente com o software aplicativo, também fornecido pela ferramenta utilizada, desempenha o papel de processador TCP/IP para o sistema proposto. Neste ambiente, então, o cliente localizado no centro de operação, acessa através de um browser o equipamento de campo, visando obter suas medições, bem como enviar comandos, destacando o aspecto bidirecional para a troca de dados e a facilidade de conexão de dois sistemas heterogêneos. Este sistema pretende apresentar baixo custo de aquisição e de instalação, facilidade de interconexão local ou remota e transparência ao usuário final.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

A criptografia assumiu papel de destaque no cotidiano das pessoas, em virtude da necessidade de segurança em inúmeras transações eletrônicas. Em determinadas áreas, a utilização de hardware dedicado à tarefa de criptografia apresenta vantagens em relação à implementação em software, devido principalmente ao ganho de desempenho. Recentemente, o National Institute of Standards and Technology (NIST) publicou o novo padrão norte-americano de criptografia simétrica, chamado de Advanced Encryption Standard (AES). Após um período de aproximadamente 3 anos, no qual várias alternativas foram analisadas, adotou-se o algoritmo Rijndael. Assim, este trabalho apresenta um Soft IP do padrão AES, codificado em VHDL, visando a implementação em FPGA Altera. Todo o projeto foi construído com funções e bibliotecas genéricas, a fim de permitir a posterior implementação sobre outras tecnologias. Foram geradas duas versões: uma priorizando desempenho e outra priorizando a área ocupada nos componentes. Para cada uma das versões, produziu-se um circuito para encriptar e outro para decriptar. O desempenho alcançado em termos de velocidade de processamento superou todos os outros trabalhos publicados na área, sobre a mesma tecnologia. São apresentados os detalhes de implementação, arquiteturas envolvidas e decisões de projeto, bem como todos os resultados. A dissertação contém ainda conceitos básicos de criptografia e uma descrição do algoritmo Rijndael.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

A tarefa de estimação de movimento, utilizada na compressão de vídeo digital, é normalmente realizada em hardware por processador dedicado, uma vez que demanda expressiva capacidade computacional. Este trabalho propõe e desenvolve uma arquitetura de hardware para realizar o cálculo dos vetores de movimento no contexto de compressão de vídeo digital. Essa arquitetura para estimação de movimento é composta pelos blocos: interface de entrada e saída (E/S), matriz de processamento com 64 elementos de processamento, unidade de comparação e unidade de controle. A arquitetura foi descrita em linguagem VHDL de maneira que o número de bits utilizados para representação da luminância dos pontos é configurável. A partir desta descrição, foi gerado um protótipo para dados representados em 4 bits utilizando um kit de desenvolvimento baseado no dispositivo FPGA XC2S150 da Xilinx. Para validação do algoritmo e da arquitetura implementada, além da simulação, foi desenvolvido um software para plataforma PC capaz de exercitar as funcionalidades do protótipo. O PC é utilizado como dispositivo controlador de E/S para esta validação, na qual uma implementação do algoritmo em software e outra em linguagem de descrição de hardware são comparadas. A máxima freqüência de trabalho do protótipo, estimada por simulação da arquitetura mapeada no FPGA XC2S150, é de 33 MHz. A esta freqüência o núcleo da arquitetura paralela de 64 elementos de processamento realiza cerca de 2,1 GOps (bilhões de operações inteiras por segundo). Esta arquitetura de hardware calcula os vetores de movimento para vídeo no formato 640x480 pontos à taxa de 107,32 quadros por segundo, ou um quadro a cada 9,3 ms. A arquitetura implementada para luminânica em 4 bits ocupa 16 pinos de E/S, 71,1% dos blocos lógicos do FPGA e 83,3% dos blocos de memória disponíveis no dispositivo XC2S150.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

A presente tese apresenta a concepção de uma rede neural oscilatória e sua realização em arquitetura maciçamente paralela, a qual é adequada à implementação de chips de visão digitais para segmentação de imagens. A rede proposta, em sua versão final, foi denominada ONNIS-GI (Oscillatory Neural Network for Image Segmentation with Global Inhibition) e foi inspirada em uma rede denominada LEGION (Locally Excitatory Globally Inhibitory Oscillator Network), também de concepção recente. Inicialmente, é apresentada uma introdução aos procedimentos de segmentação de imagens, cujo objetivo é o de situar e enfatizar a importância do tema abordado dentro de um contexto abrangente, o qual inclui aplicações de visão artificial em geral. Outro aspecto abordado diz respeito à utilização de redes neurais artificiais em segmentação de imagens, enfatizando as denominadas redes neurais oscilatórias, as quais têm apresentado resultados estimulantes nesta área. A implementação de chips de visão, integrando sensores de imagens e redes maciçamente paralelas de processadores, é também abordada no texto, ressaltando o objetivo prático da nova rede neural proposta. No estudo da rede LEGION, são apresentados resultados de aplicações originais desenvolvidas em segmentação de imagens, nos quais é verificada sua propriedade de separação temporal dos segmentos. A versão contínua da rede, um arranjo paralelo de neurônios baseados em equações diferenciais, apresenta elevada complexidade computacional para implementação em hardware digital e muitos parâmetros, com procedimento de ajuste pouco prático. Por outro lado, sua arquitetura maciçamente paralela apresenta-se particularmente adequada à implementação de chips de visão analógicos com capacidade de segmentação de imagens. Com base nos bons resultados obtidos nas aplicações desenvolvidas, é proposta uma nova rede neural, em duas versões, ONNIS e ONNIS-GI, as quais suplantam a rede LEGION em diversos aspectos relativos à implementação prática. A estrutura dos elementos de processamento das duas versões da rede, sua implementação em arquitetura maciçamente paralela e resultados de simulações e implementações em FPGA são apresentados, demonstrando a viabilidade da proposta. Como resultado final, conclui-se que a rede ONNIS-GI apresenta maior apelo de ordem prática, sendo uma abordagem inovadora e promissora na solução de problemas de segmentação de imagens, possuindo capacidade para separar temporalmente os segmentos encontrados e facilitando a posterior identificação dos mesmos. Sob o ponto de vista prático, a nova rede pode ser utilizada para implementar chips de visão digitais com arquitetura maciçamente paralela, explorando a velocidade de tais topologias e apresentando também flexibilidade para implementação de procedimentos de segmentação de imagens mais sofisticados.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

O crescente avanço nas mais diversas áreas da eletrônica, desde instrumentação em baixa freqüência até telecomunicações operando em freqüências muito elevadas, e a necessidade de soluções baratas em curto espaço de tempo que acompanhem a demanda de mercado, torna a procura por circuitos programáveis, tanto digitais como analógicos, um ponto comum em diversas pesquisas. Os dispositivos digitais programáveis, que têm como grande representante os Field Programmable Gate Arrays (FPGAs), vêm apresentando um elevado e contínuo crescimento em termos de complexidade, desempenho e número de transistores integrados, já há várias décadas. O desenvolvimento de dispositivos analógicos programáveis (Field Programmable Analog Arrays – FPAAs), entretanto, esbarra em dois pontos fundamentais que tornam sua evolução um tanto latente: a estreita largura de banda alcançada, conseqüência da necessidade de um grande número de chaves de programação e reconfiguração, e a elevada área consumida por componentes analógicos como resistores e capacitores, quando integrados em processos VLSI Este trabalho apresenta uma proposta para aumentar a faixa de freqüências das aplicações passíveis de serem utilizadas tanto em FPAAs comerciais quanto em outros FPAAs, através da utilização de uma interface de translação e seleção de sinais, mantendo características de programabilidade do FPAA em questão, sem aumentar em muito sua potência consumida. A proposta, a simulação e a implementação da interface são apresentadas ao longo desta dissertação. Resultados de simulação e resultados práticos obtidos comprovam a eficácia da proposta.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

O padrão H.264 foi desenvolvido pelo JVT, que foi formado a partir de uma união entre os especialistas do VCEG da ITU-T e do MPEG da ISO/IEC. O padrão H.264 atingiu seu objetivo de alcançar as mais elevadas taxas de processamento dentre todos os padrões existentes, mas à custa de um grande aumento na complexidade computacional. Este aumento de complexidade impede, pelo menos na tecnologia atual, a utilização de codecs H.264 implementados em software, quando se deseja a decodi cação de vídeos de alta de nição em tempo real. Essa dissertação propõe uma solução arquitetural de hardware, denominada MoCHA, para compensação de movimento do decodi cador de vídeo de alta de nição, segundo o padrão H.264/AVC. A MoCHA está dividida em três blocos principais, a predição dos vetores de movimento, o acesso à memória e o processamento de amostras. A utilização de uma cache para explorar a redundância dos dados nos acessos à mem ória, em conjunto com melhorias propostas, alcançou economia de acessos à memória superior a 60%, para os casos testados. Quando uma penalidade de um ciclo por troca de linha de memória é imposta, a economia de ciclos de acesso supera os 75%. No processamento de amostras, a arquitetura realiza o processamento dos dois blocos, que dão origem ao bloco bi-preditivo, de forma serial. Dessa forma, são economizados recursos de hardware, uma vez que a duplicação da estrutura de processamento não é requerida. A arquitetura foi validada a partir de simulações, utilizando entradas extraídas de seqüências codi cadas. Os dados extraídos, salvos em arquivos, serviam de entrada para a simulação. Os resultados da simulação foram salvos em arquivos e comparados com os resultados extraídos. O processador de amostras do compensador de movimento foi prototipado na placa XUP Virtex-II Pro. A placa possui um FPGA VP30 da família Virtex-II PRO da Xilinx. O processador PowerPC 405, presente no dispositivo, foi usado para implementar um test bench para validar a operação do processador de amostras mapeado para o FPGA. O compensador de movimento para o decodi cador de vídeo H.264 foi descrito em VHDL, num total de 30 arquivos e cerca de 13.500 linhas de código. A descrição foi sintetizada pelo sintetizador Syplify Pro da Symplicity para o dispositivo XC2VP30-7 da Xilinx, consumindo 8.465 slices, 5.671 registradores, 10.835 LUTs, 21 blocos de memó- ria interna e 12 multiplicadores. A latência mínima para processar um macrobloco é de 233 ciclos, enquanto a máxima é de 590, sem considerar misses na cache. A freqüência máxima de operação foi de 100,5 MHz. A arquitetura projetada é capaz de processar, no pior caso, 36,7 quadros HDTV de 1080 por 1920, inteiramente bi-preditivos, por segundo. Para quadros do tipo P, que não utilizam a bi-predição, a capacidade de processamento sobe para 64,3 quadros por segundo. A arquitetura apresentada para o processamento de quadros bi-preditivos e a hierarquia de memória são, até o momento, inéditas na literatura. Os trabalhos relativos a decodi cadores completos não apresentam a solução para esse processamento. Os resultados apresentados tornam a MoCHA uma solução arquitetural capaz de fazer parte de um decodi cador para vídeos de alta definição.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Sistemas computacionais de tempo-real são tipicamente construídos a partir de primitivas de sincronização que fornecem uma noção do tempo no objetivo de coordenar a execução múltiplos fluxos de instruções em um processador. Quando o processamento é centralizado, a base de tempo destas primitivas é extraída do oscilador local da plataforma, permitindo que as ações do sistema sejam devidamente ordenadas, respeitando restrições de tempo e causalidade. No entanto, em sistemas distribuídos o problema não pode ser resolvido desta forma em decorrência de imperfeições nos dispositivos físicos. Diferenças mínimas na freqüência de osciladores fazem com que as bases de tempo dos componentes divirjam cada vez mais ao longo do tempo, dificultando ou até mesmo impossibilitando um ordenamento consistente de eventos. Por esta razão, sincronização de relógios é um serviço de fundamental importância, sobretudo em aplicações críticas, onde os níveis de confiabilidade exigidos são mais elevados. O presente trabalho consiste na proposta e implementação de uma plataforma de comunicação otimizada para sistemas de controle distribuídos, caracterizados por uma alta regularidade no comportamento da comunicação. O objetivo é propor uma solução em baixo nível com suporte para o projeto de sistemas distribuídos no domínio de aplicações críticas. A plataforma proposta, à qual foi atribuído o nome CASCA, sigla para “Communication Architecture for Safety- Critical Applications”, é de fato uma extensão time-triggered do protocolo CAN. Acima da camada de enlace do protocolo original foram projetados mecanismos sincronização de relógios e criação inicial da base de tempo, implementados na forma de uma combinação de hardware e software. Principais características da plataforma são jitter mínimo, uma base de tempo global essencialmente distribuída e particionamento temporal. Diferentes alternativas de projeto foram consideradas, observando com maior atenção a viabilidade de prototipação em dispositivos FPGA para fins de validação e aplicação imediata em plataformas reconfiguráveis. Como forma de validação da plataforma, um sistema elementar formado por três nodos foi sintetizado com sucesso em bancada obtendo-se como resultado uma base de tempo essencialmente distribuída com precisão menor do que um micro-segundo.