Síntese de circuitos (data-path) partindo de C

Enquadramento

A síntese de circuitos a partir de uma linguagem de programação é hoje possível utilizando a linguagem VHDL. No entanto, muitos algoritmos encontra-se implementados em C, pelo que o desenvolvimento ferramentas e de técnicas que permitam mapear algoritmos de C (mesmo que com restrições) em VHDL sintetizável é desejável.

Objectivo

Desenvolver uma ferramenta que a partir de um algoritmo em C obtenha uma descrição em VHDL sintetizável satisfazendo um conjunto pré-definidos de restrições.

Descrição

Neste trabalho pretende-se usar a informação gerada pelos estágios intermédios do compilador gcc da GNU (formato de 3 endereços RTX) para determinar o grafo de controlo de fluxo e grafo de dependência de dados. A partir deste último pretende-se obter de forma automática a uma descrição em VHDL sintetizável do circuito. Esta descrição deve realizar as operações pretendidas e simultaneamente satisfazer um conjunto de restrições (por exemplo, número e tipo de operadores a usar, número máximo de ciclos de relógio, etc).

Requisitos

Ter conhecimento da linguagem de descrição de circuitos VHDL. Saber programar em C ou C++.

Referências

Resultado esperado

Estudo do compilador da GNU (gcc) para obter a informação sobre o programa em C. Desenvolvimento de um algoritmo e ferramenta para, a partir da informação obtida pelo compilador e das restrições de hardware, gerar código VHDL sintetizável para o data-path do circuito.

Local

Este trabalho será realizado no INESC-ID, no grupo ALGOS

Contactos

Prof. Paulo Flores (pff@inesc-id.pt)    Tel: 213100399
IST/INESC-ID,  R. Alves Redol N. 9, 1000 Lisboa


ALGOS Homepage TFCs Main page 2004-04-29