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:
  1. Definição de um formato intermediário para o algoritmo de particionamento
  2. Definição de uma arquitetura genérica
  3. Incorporação do modelo genérico de arquitetura no algoritmo de particionamento
  4. Verificação da corretude do particionamento para CSP/occam
  5. Verificação da corretude da síntese de hardware para CSP/occam
  6. Verificação mecânica do particionamento para CSP/occam
  7. Verificação da corretude do particionamento para LOTOS
  8. Tradução LOTOS/occam
  9. 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....