Detalhes do Documento

Utilização da linguagem Handel-C na criação e implementação de um Gap Puzzle

Autor(es): Bruno Pimentel cv logo 1

Data: 2012

Origem: Electrónica e Telecomunicações

Assunto(s): Gap Puzzle; linguagem Handel-C; Gap Puzzle; linguagem Handel-C


Descrição
This article describes the challenges found and strategies used in the development of a program that consists of a Gap Puzzle. The program was created to run on the Celoxica RC100 board, using the Handel-C language in the DK1 environment.When the program starts, the puzzle image is transferred from the FlashRAM to the SSRAM external to the FPGA.The puzzle map is mixed up and a few cyclic and concurrentprocesses are launched to support the required functionality.A layer hierarchy was created to allow the identification of the focused graphic item, from which the needed pixel value is read. With the puzzle image stored in the SSRAM, it is possible to send to the monitor screen, in each clock cycle, a pixel value read in the previous cycle (using a pipeline forsuch a purpose). A referential mapping of the puzzle pieceswas implemented to support their displacement. The mousepointer can be shaped into different figures, stored in the ROM, using values that correspond to colors.To properly adapt the program to the hardware characteristics, the following strategies were enforced: minizing the number of FPGA resources, using Handel-C shared expressions and avoiding long operations in the program critical areas. Este artigo descreve os desafios encontrados e as estratégias utilizadas no desenvolvimento de um programa que consiste num Gap Puzzle.Quando o programa inicia, a imagem utilizada no puzzle étransferida da FlashRAM para o banco de memória SSRAMexterna à FPGA. O mapa do puzzle é baralhado e iniciam-seos processos concorrentes e cíclicos que suportam a funcionalidade necessária ao Gap Puzzle.Criou-se uma hierarquia de camadas que permite identificar o elemento gráfico em foco, do qual se extrai o valor de pixel que se pretende projectar. Com a imagem de puzzle armazenada na SSRAM, recorrendo a um pipeline, é possível projectar em cada ciclo de relógio o valor de pixel extraído no ciclo anterior. Optou-se por um mapeamento referencial das peças do puzzle, para suportar os deslocamentos das mesmas. O ponteiro do rato pode tomar várias formas armazenadas na ROM com valores que correspondem a cores.Para adaptar o programa às especificidades do hardwareutilizado, procurou-se: minimizar o número de recursos daFPGA utilizados, utilizar expressões Handel-C partilhadas eevitar operações longas nas zonas críticas do programa.
Tipo de Documento Artigo
Idioma Português
Editor(es) ;
delicious logo  facebook logo  linkedin logo  twitter logo 
degois logo
mendeley logo


    Financiadores do RCAAP

Fundação para a Ciência e a Tecnologia Universidade do Minho   Governo Português Ministério da Educação e Ciência Programa Operacional da Sociedade do Conhecimento União Europeia