pdf (90) - Faculdade de Informática - pucrs
pdf (90) - Faculdade de Informática - pucrs
pdf (90) - Faculdade de Informática - pucrs
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
3.2.1 Mo<strong>de</strong>lo <strong>de</strong> programação do JBits<br />
O mo<strong>de</strong>lo <strong>de</strong> programação utilizado pelo JBits é baseado em uma matriz bidimensional <strong>de</strong> CLBs.<br />
Cada CLB é referenciada por uma linha e uma coluna. Assim, todos os recursos configuráveis na<br />
CLB selecionada po<strong>de</strong>m ser configurados ou analisados. Além disso, o controle <strong>de</strong> todo o roteamento<br />
adjacente à CLB selecionada torna-se disponível. Pelo fato <strong>de</strong> o controle ser ao nível <strong>de</strong> CLB, os<br />
arquivos <strong>de</strong> configuração po<strong>de</strong>m ser modificados ou gerados rapidamente.<br />
Esta API tem sido utilizada para construir circuitos completos ou para modificar circuitos exis-<br />
tentes. Esta API po<strong>de</strong> ser utilizada como base para a construção <strong>de</strong> outras ferramentas. Isto inclui<br />
ferramentas <strong>de</strong> projeto tradicionais para executar tarefas como posicionamento e roteamento do cir-<br />
cuito, bem como ferramentas <strong>de</strong> aplicação específica, como por exemplo um configurador <strong>de</strong> cores.<br />
O JBits fornece uma abordagem <strong>de</strong> linguagem <strong>de</strong> alto nível para <strong>de</strong>senvolvimento <strong>de</strong> sistemas<br />
reconfiguráveis incluindo reconfiguração em tempo <strong>de</strong> execução. É necessário que o projetista tenha<br />
conhecimento do seu circuito e dos <strong>de</strong>talhes <strong>de</strong> configuração do dispositivo, pois, caso contrário, o<br />
JBits po<strong>de</strong> gerar dados que danifiquem o dispositivo.<br />
3.2.2 Limitações do JBits<br />
A maior <strong>de</strong>svantagem da API JBits é sua natureza manual. Tudo <strong>de</strong>ve ser explicitamente relaci-<br />
onado no código-fonte. Esta característica, contudo, po<strong>de</strong> ser amenizada com a utilização <strong>de</strong> cores<br />
ou macrocélulas. Devido a esta necessida<strong>de</strong> <strong>de</strong> especificação explícita <strong>de</strong> todos recursos, a interface<br />
JBits favorece circuitos mais estruturados. Circuitos não-estruturados (lógica aleatória, por exemplo)<br />
não são bem adaptadas para uso com o JBits.<br />
Outra limitação importante é que a API Jbits requer que o usuário seja familiarizado com a arqui-<br />
tetura do dispositivo. Conforme antes citado, a utilização <strong>de</strong> aplicações <strong>de</strong>senvolvidas com o auxílio<br />
das classes JBits, sem o <strong>de</strong>vido conhecimento <strong>de</strong> <strong>de</strong>talhes arquiteturais do dispositivo, po<strong>de</strong> causar<br />
danos físicos ao FPGA.<br />
Além disto, como a interface JBits necessariamente atua no nível <strong>de</strong> configuração do bitstream, a<br />
criação ou modificação <strong>de</strong> um arquivo <strong>de</strong> configuração com o JBits elimina qualquer possibilida<strong>de</strong> <strong>de</strong><br />
utilização <strong>de</strong> ferramentas <strong>de</strong> análise disponíveis para <strong>de</strong>puração futura do circuito. Especificamente,<br />
a habilida<strong>de</strong> <strong>de</strong> realizar quaisquer tipos <strong>de</strong> análises <strong>de</strong> temporização está ausente no JBits.<br />
3.2.3 XHWIF<br />
51