12.04.2013 Views

pdf (90) - Faculdade de Informática - pucrs

pdf (90) - Faculdade de Informática - pucrs

pdf (90) - Faculdade de Informática - pucrs

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

5.1 Configurador <strong>de</strong> bitstream<br />

A primeira ferramenta <strong>de</strong>senvolvida tem o objetivo <strong>de</strong> manipular dados contidos em LUTs, fazen-<br />

do uso das classes oferecidas pelo JBits. Todo o trabalho <strong>de</strong> reconfiguração é feito sobre o bitstream,<br />

ou seja, com hard cores e não soft cores [PAL01]. A aplicação criada permite as seguintes funciona-<br />

lida<strong>de</strong>s:<br />

1. Acessar arquivos <strong>de</strong> configuração (parciais ou completos);<br />

2. Manipular dados contidos em LUTs (localizar e alterar);<br />

3. Salvar as alterações e realizar download no dispositivo, local ou remotamente.<br />

As duas primeiras funcionalida<strong>de</strong>s implicam na possibilida<strong>de</strong> <strong>de</strong> modificar o comportamento do<br />

circuito pela alteração dos seus parâmetros <strong>de</strong> configuração do circuito. A terceira funcionalida<strong>de</strong><br />

po<strong>de</strong> significar uma gran<strong>de</strong> redução <strong>de</strong> custos para o projetista do sistema. Por exemplo, um <strong>de</strong>ter-<br />

minado fabricante <strong>de</strong>tecta um erro em seu circuito. Se reconfiguração remota é utilizada, ele po<strong>de</strong><br />

atualizar o hardware <strong>de</strong> todos os seus clientes à distância, sem que estes percebam que o sistema foi<br />

modificado. Outros exemplos, como atualização do hardware em função <strong>de</strong> evolução na tecnologia<br />

(por exemplo, um novo algoritmo <strong>de</strong> compressão <strong>de</strong> imagem para set-top box) também são válidos.<br />

A ferramenta em questão foi <strong>de</strong>senvolvida em Java. Ela permite acessar remotamente os bitstre-<br />

ams e visualizar suas configurações. Possibilita modificação <strong>de</strong> LUTs, procura <strong>de</strong> uma LUT com uma<br />

configuração específica e visualização da listagem <strong>de</strong> todas as LUTs com configurações diferentes da<br />

configuração padrão. Após modificar o bitstream é possível salvá-lo e baixá-lo remotamente para a<br />

placa sem a necessida<strong>de</strong> <strong>de</strong> nenhum software extra.<br />

A utilização do JBits é bastante simples. A Tabela 5.1 ilustra os principais métodos disponíveis<br />

no JBits para manipular um bitstream. Já a Figura 5.1 mostra um trecho <strong>de</strong> código on<strong>de</strong> um <strong>de</strong>sses<br />

métodos é utilizado. No caso, trata-se <strong>de</strong> uma leitura <strong>de</strong> valores <strong>de</strong> uma LUT. As linhas 339 a 342 da<br />

Figura 5.1 são responsáveis por receber do usuário as coor<strong>de</strong>nadas da LUT (linha e coluna da CLB,<br />

¦<br />

fatia e LUT F ou G). Já a linha entre duas setas, na mesma Figura, mostra como o método<br />

é utilizado. Esse método retorna 16 valores que correspon<strong>de</strong>m aos bits <strong>de</strong> uma LUT. No caso do<br />

exemplo em questão, esses valores são armazenados em um vetor (<br />

modificados.<br />

) para que sejam posteriormente<br />

Uma observação importante é quanto ao en<strong>de</strong>reçamento das CLBs por parte das classes JBits e<br />

da documentação da Xilinx. Por exemplo, no FPGA XCV300 as CLBs são numeradas <strong>de</strong> (1,1) a<br />

(32,48) [XIL00a]. Entretanto, no JBits as CLBs são numeradas <strong>de</strong> (31,0) a (0,47). Tais discrepâncias<br />

74

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!