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.

aplicação Java escrita pelo usuário. Este programa acessa a Interface do JBits (Figura 3.1-b1) para<br />

manipular os recursos configuráveis do FPGA. Cada chamada <strong>de</strong> função no nível <strong>de</strong> interface do JBits<br />

realiza uma ou mais chamadas <strong>de</strong> funções à Interface em Nível <strong>de</strong> Bit (Figura 3.1-b2). Neste nível, é<br />

possível modificar até um único bit no arquivo <strong>de</strong> configuração. Mesmo que seja possível configurar<br />

bits individualmente, não é provável que o usuário do circuito <strong>de</strong>seje lidar com um nível tão baixo<br />

<strong>de</strong> abstração. Por isto, a Interface JBits disponibiliza uma abstração que permite a modificação <strong>de</strong><br />

conjuntos <strong>de</strong> bits.<br />

Outro nível <strong>de</strong> <strong>de</strong>talhe que <strong>de</strong>ve ser escondido do usuário diz respeito às especificida<strong>de</strong>s relativas<br />

a dispositivos diferentes <strong>de</strong> uma mesma família <strong>de</strong> FPGAs. A Interface em Nível <strong>de</strong> Bit po<strong>de</strong> ser vista<br />

como uma camada que provê suporte necessário para que <strong>de</strong>talhes como a localização <strong>de</strong> um bit num<br />

FPGA XCV300 ou num FGPA XCV150 seja transparente para o usuário.<br />

Finalmente, a Interface em Nível <strong>de</strong> Bit interage com a classe Bitstream (Figura 3.1-b3). Esta<br />

classe gerencia o arquivo <strong>de</strong> configuração do dispositivo e provê suporte para leitura e escrita das<br />

configurações dos arquivos e para eles (Figura 3.1-c) .<br />

A<strong>de</strong>mais, a classe Bitstream po<strong>de</strong> receber dados lidos diretamente do dispositivo (readback) e<br />

mapeá-los para o formato <strong>de</strong> bitstream. Esta habilida<strong>de</strong> <strong>de</strong> gerenciar dados obtidos por readback é<br />

essencial para reconfiguração dinâmica (Seção 5.2). A API JBits utiliza o software XHWIF (Xilinx<br />

HardWare InterFace) para configurar o dispositivo e realizar o readback (Figura 3.1-d).<br />

Além do que foi exposto, ainda há outra parte relacionada na Figura3.1: a biblioteca <strong>de</strong> Cores<br />

(Figura 3.1-e). Essa biblioteca é um conjunto <strong>de</strong> classes em java que <strong>de</strong>fine macrocélulas, ou módulos<br />

parametrizáveis <strong>de</strong> hardware, que po<strong>de</strong>m ser adicionados ou removidos do dispositivo.<br />

(e)<br />

Biblioteca<br />

<strong>de</strong> cores<br />

(a) (b)<br />

(c)<br />

Aplição Java<br />

XHWIF<br />

(d)<br />

Placa <strong>de</strong><br />

prototipação<br />

JBits<br />

Interface em<br />

nível <strong>de</strong> bit<br />

Arquivo<br />

configuração<br />

(b1)<br />

(b2)<br />

(b3)<br />

Figura 3.1: Fluxo <strong>de</strong> projeto com JBits e XHWIF.<br />

50<br />

Arquivos<br />

.bit

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

Saved successfully!

Ooh no, something went wrong!