• Nenhum resultado encontrado

Diversos barramentos podem ser encontrados na plataforma PROCStarIII. Os barramen- tos de maior relevância para a implementação do canal de comunicação foram os barramentos inter-FPGAs, o diagrama de blocos da plataforma é apresentado na figura 3.2.

Figura 4.2: Diagrama da GiDEL PROCStarIII

Como mostrado na figura 3.2, o barramento local é responsável por conectar todos os FPGAs ao host através do controlador PCIex8. O protocolo de comunicação para este barra- mento é automaticamente gerado pela ferramenta GiDEL ProcWizard GIDEL PROCWIZARD

(Acessado em 2014). Ele também gera uma lógica simples que habilita o acesso as memórias internas dos FPGAs. Além dos quatro FPGAs de processamento apresentados na figura 3.2, existe ainda um FPGA extra, ALTERA Stratix II responsável por implementar a comunicação

54 4.2. CONECTIVIDADE DA PLATAFORMA PCIex8 e os controladores DMA na plataforma. O barramento principal da plataforma, por sua vez, conecta todos os FPGAs entre si e tem uma largura de 40 bits.

Para comunicação de dados, dois barramentos estão disponíveis: o barramento VL-RL e o L-R. Cada um deles conecta os FPGAs adjacentes disponíveis na plataforma. O VL-RL é um barramento de I/O comum e tem largura de 10 bits. Os sinais utilizados nesse barramento possuem uma tensão de 1.8 V.

O barramento L-R possui largura de 100 bits e é também do tipo I/O comum. O barramento L-R além de ser o maior disponível, concentra um único banco de pinos que podem ser utilizados no canal de comunicação. Isto minimiza o impacto referente ao data skew uma vez que suas vias estão alinhadas. Diminui-se assim possíveis problemas de atraso de sinal. Outro fator que merece destaque é que além dele ser o maior barramento disponível na plataforma, ele conta com algumas vias especiais para sinalização crítica ou relógio. Somente por meio desse tipo de via é que se pode gerar um sinal de relógio pelo barramento. Esses fatores foram determinantes para a escolha do barramento L-R para ser utilizado na implementação do canal de comunicação. Parte desse barramento também é conectado aos sockets PSDB que são interfaces de alta velocidade utilizadas para conectar outras placas disponíveis pela fabricante (camera links, interfaces ethernet e etc). A figura 4.3 mostra um diagrama de conectividade de cada FPGA de forma individual.

Figura 4.3: Diagrama da GiDEL PROCStarIII (Por FPGA individualmente)

Cada FPGA na plataforma possui três barramentos de comunicação com as memórias. Os três barramentos possuem 64 vias de comunicação cada e proveêm o meio de acesso para

cada módulo de memória. Os dois mais superiores são interligados com os sockets SODIMM e representam os bancos B e C. Cada socket SODIMM suporta módulos de memória DDR2 de até 4 GB. O barramento inferior se conecta com a memória onboard de 512 MB DDR2 e representa o banco A. Essa mesma configuração se repete para os demais FPGAs. Adicionalmente pode ser destacado os barramentos L-IO e L-IN, ambos com 20 e 8 vias respectivamente. Esses dois barramentos integram a conexão com o socket PSDB. Como pode ser notado, parte da conexão PSDB é a mesma do barramento L-R. Dessa forma, o conector PSDB totaliza 113 vias.

Apesar da plataforma disponibilizar quatro FPGAs, ela não possibilita que a comuni- cação entre eles seja realizada utilizando-se os pares diferenciais (LVDS) disponíveis nesses dispositivos. Isto ocorre porque os pinos dos FPGAs utilizados no projeto da plataforma para serem os pinos de comunicação, ou seja, os pinos que estão diretamente conectados entre os FPGAs adjacentes, são pinos de I/O comuns. Outro aspecto, é que não hágarantias relacionadas ao layout da plataforma. Características como resistência, capacitância, distância das vias do barramento que interligam os FPGAs não são garantidas, inviabilizando uma comunicação estável. Outro fator relevamente e que merece destaque, é que os FPGAs disponíveis possuem pinagem LVDS dedicada para comunicações de alta velocidade, mas a fabricante da plataforma não os direcionaram para a comunicação inter-FPGA. Ao invés disso, a pinagem LVDS dos FPGAs foi mapeada no layout da plataforma para formar os barrementos L-IO e L-IN que por sinal são barramentos de alta velocidade. Essa característica prejudicou a implementação de um barramento de alto desempenho na plataforma uma vez que a pinagem utilizada para tal é uma pinagem de I/O comum. Uma transmissão de dados realizada sem os recursos de pinagem LVDS pode acarretar erros na transferência de dados quando a taxa de transmissão for alta, uma vez que não hágarantia de que serámantida a integridade dos dados. Isso ocorre porque todos os pinos de I/O dos FPGAs, estão, em geral, sujeitos a interferências físicas. Devido a este possível baixo desempenho na transmissão de dados, os sistemas que utilizam estes recursos terão que reduzir a velocidade de seus módulos lógicos para se adequar ao canal e assim diminuir as incidências de erro na comunicação. Adicionalmente, não é possível utilizar os transceptores internos de cada FPGA, pois os mesmos tem seu funcionamento condicionado a uma pinagem LVDS. Diante desses problemas, o trabalho presente se preocupa em prover um meio de comunicação estável com detecção de erros para possibilitar que projetos envolvendo comunicação inter-FPGAs de alto desempenho possam ser desenvolvidos.

Como citado anteriormente, devido as características do barramento L-R, a arquitetura proposta neste trabalho a utilizou para a implementação do canal de comunicação. Por fim, a plataforma também dispõe de conectores JTAG que podem ser utilizados para depuração.

4.3 GiDEL ProcWizard

Para auxiliar no desenvolvimento de projetos para essa plataforma, a fabricante Gi- DEL disponibiliza juntamente com a aquisição da tecnologia um software chamado GiDEL

56 4.3. GIDEL PROCWIZARD

Documentos relacionados