pdf (90) - Faculdade de Informática - pucrs
pdf (90) - Faculdade de Informática - pucrs
pdf (90) - Faculdade de Informática - pucrs
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
XHWIF, a interface <strong>de</strong> hardware Xilinx (Xilinx Hardware InterFace), é uma interface escrita em<br />
Java para comunicação entre um computador hope<strong>de</strong>iro (host) e uma placa baseada em FPGA. Ela<br />
é composta por métodos para leitura e escrita <strong>de</strong> bitstreams no FPGA, e métodos para <strong>de</strong>scrição do<br />
tipo e do número <strong>de</strong> FPGAs na placa em questão. Também inclui métodos para leitura e escrita nas<br />
memórias na placa, e possibilita ligá-la e <strong>de</strong>sligá-la.<br />
A interface padroniza a forma <strong>de</strong> comunicação com o hardware, <strong>de</strong> tal forma que, utilizando<br />
a mesma interface, diversas aplicações po<strong>de</strong>m comunicar-se com uma varieda<strong>de</strong> <strong>de</strong> placas. Toda<br />
informação específica do hardware é encapsulada <strong>de</strong>ntro <strong>de</strong> uma classe que implementa a interface<br />
XHWIF. Utilizando a interface nativa Java (JNI - Java Native Interface), que permite que programas<br />
Java interajam com programas C, chamadas à interface são convertidas em chamadas aos drivers da<br />
placa. Esta metodologia possibilita que as aplicações comuniquem-se diretamente com os drivers<br />
ou com o barramento. Escon<strong>de</strong>ndo informações específicas do barramento e dos drivers na classe<br />
que implementa XHWIF é possível que aplicações comuniquem-se com placas conectadas através <strong>de</strong><br />
qualquer barramento, que po<strong>de</strong> ser PCI, ISA, ou qualquer outro padrão.<br />
XHWIF possui uma aplicação, <strong>de</strong>nominada XHWIF Server que habilita que outros programas<br />
comuniquem-se com o dispositivo reconfigurável localizado em qualquer host através da Internet.<br />
Esta possibilida<strong>de</strong> admite a <strong>de</strong>puração do projeto mesmo sem o acesso direto ao hardware, além <strong>de</strong><br />
permitir que diversos usuários testem suas aplicações no mesmo hardware (obviamente, através <strong>de</strong><br />
um escalonamento no tempo).<br />
3.2.4 Reconfiguração dinâmica com JBits<br />
Na documentação do JBits encontra-se afirmação <strong>de</strong> que reconfiguração dinâmica po<strong>de</strong> ser obtida<br />
com esta API, em conjunto com XHWIF [GUC99]. Apesar <strong>de</strong> não ter sido encontrada na literatura<br />
nenhuma referência a respeito <strong>de</strong> uma reconfiguração dinâmica realizada com a utilização do JBits,<br />
teoricamente isto po<strong>de</strong> ser possível, segundo o método a seguir <strong>de</strong>scrito.<br />
Uma aplicação RTR po<strong>de</strong> realizar chamadas à interface JBits para modificar os dados do arquivo<br />
<strong>de</strong> configuração. Então, esta po<strong>de</strong> fazer uma chamada ao XHWIF para interagir com o dispositi-<br />
vo. Por exemplo, a aplicação utilizaria o método ¢¢ e<br />
em seguida faria chamadas ¢ para realizar download e readback dos dados <strong>de</strong><br />
configuração.<br />
Contudo, em testes realizados no laboratório do GAPH (Grupo <strong>de</strong> Apoio ao Projeto <strong>de</strong> Hard-<br />
ware 1 ), observou-se que a geração do arquivo <strong>de</strong> configuração parcial utilizando JBits <strong>de</strong>u-se com<br />
erro. Primeiramente foi criado o bitstream completo, <strong>de</strong>pois, com a ferramenta que é <strong>de</strong>scrita na<br />
Seção 5.1, foi gerado o bitstream parcial. Quando tentou-se realizar o download parcial, o software<br />
1 Laboratório vinculado à <strong>Faculda<strong>de</strong></strong> <strong>de</strong> <strong>Informática</strong> da PUCRS.<br />
52