O principal objetivo do projeto PISH consiste no desenvolvimento de um
sistema de CAD que suporte o projeto de sistemas digitais complexos
considerando arquiteturas heterogêneas compostas por componentes
programáveis de propósito geral (denominados no projeto componentes de
software) e componentes de aplicação específica (ou componentes de
hardware).
Tal objetivo será obtido através do desenvolvimento de seis subprojetos:
Dos subprojetos mencionados anteriormente os dois primeiros objetivam o
desenvolvimento de um mecanismo para particionamento de uma descrição
em partes a serem implementadas diretamente em hardware e partes a serem
implementadas por programas sendo executados em microprocessadores de
propósito geral, isto é soluções implementadas por software.
Além de considerar uma arquitetura mais genérica dos que os métodos em
desenvolvimento consideram e ter a capacidade de analisar um espaço mais
amplo de alternativas de projetos, os subprojetos em questão visam o
desenvolvimento de um método que permita um particionamento correto por
construção através do uso de técnicas de verificação formal,
tais como transformações algébricas e técnicas de reescritura de
termos. As tarefas realizadas dentros destes subprojetos são dadas por:
- Definição de um formato intermediário para o algoritmo de
particionamento
- Definição de uma arquitetura genérica
- Incorporação do modelo genérico de arquitetura no algoritmo
de particionamento
- Verificação da corretude do particionamento para CSP/occam
- Verificação da corretude da síntese de hardware para CSP/occam
- Verificação mecânica do particionamento para CSP/occam
- Verificação da corretude do particionamento para LOTOS
- Tradução LOTOS/occam
- Implementação de um protótipo de verificação
As tarefas mencionadas acima estão em desenvolvimento no
Departamento de
Informática da UFPE.
As implementações estão sendo realizadas em estações de trabalho baseadas em UNIX por razões de desempenho e
portabilidade.
A descrição do hardware a ser sintetizado será dada em VHDL, uma linguagem para descrição de
hardware adotada como padrão pelo IEEE desde 1987.
A utilização de VHDL representa uma grande facilidade em termos de
portabilidade e capacidade de integração das diversas ferramentas
a serem desenvolvidas durante o projeto pelas diversas parcerias.
Para prover uma base de dados comum entre as diversas ferramentas facilitando
sua integração utilizaremos a plataforma VTIP, desenvolvida pela
firma COMPASS, para a integração das diversas ferramentas.
O desenvolvimento do método de particionamento inclui o uso e
desenvolvimento de ferramentas de analise e profiling , as quais implicam
num alto custo computacional.
Também o processo de mecanização da verificação do
particionamento possui um custo computacional elevado.
As implementações atuais de provadores de teoremas em geral
(e dos sistemas de reescritura OBJ e 2OBJ em particular) são grandes
consumidoras de recursos.
Disco, memória principal e processadores de alta capacidade são
praticamente indispensá veis ao uso desses sistemas. Experimentos realizados
mostram que, para o tipo de aplicação proposto aqui, faz-se
necessá rio o uso de estações de trabalho de alto desempenho,
caso contrá rio o andamento do projeto poderá ser seriamente
comprometido.
A tarefas referentes a este subprojeto requerem, portanto
a utilização de uma Sparc 20 para que possam ser realizadas de forma
satisfatória.
Para implementar o bloco lógico existe uma variedade de FPGAs
disponíveis no mercado, como Xilinx, Altera Concurrent Logic e
ACTEL
entre outros. Cada um tem seus pontos positivos e negativos. A
escolha
aqui recaiu sobre a tecnologia Altera, motivada pela experiência prévia
dos participantes. O mapeamento em fpga será realizado utilizando um
microcomputador PC 486.
Para atingir os objetivos mencionados trabalharão em conjunto a PUC-RS e a
UFPE. O ambiente de prototipação deverá ser desenvolvido na PUC-RS
com a participação da UFPE.
A plataforma de prototipação será um PC-486 equipado com placa de fpga's
comercializada
pela Altera e uma placa de transputers. Para permitir o trabalho conjunto da
PUC-RS e UFPE teremos plataformas de prototipação em ambos os centros
de pesquisa.
Em Construção....