Cómo acceder a la RAM para usar con un FPGA para computación de alto rendimiento

6

Estoy explorando la idea de usar un FPGA para el álgebra lineal. Me gustaría poder trabajar en matrices grandes (> 4 GB). Pero los FPGA de gama alta modernos tienen RAM en el orden de los megabytes.

Por favor, describe cómo puedo:

  • agregar un chip de RAM externo
  • acceder y usar la memoria RAM de una PC conectada

Cualquier otro comentario o comentario es bienvenido.

Actualmente tengo un basil2 de Digilent. Soy un principiante.

    
pregunta kobrien

1 respuesta

10

Por diversos motivos, Digilent Basys2 y Xilinx Spartan-3E no funcionarán para usted.

Para esa cantidad de RAM, necesitará algo como DDR2 o DDR3 SDRAM ejecutándose a una velocidad de reloj bastante alta. Esto no es algo que pueda soldar a un prototipo de PCB. La PCB debe estar diseñada para interactuar con la memoria, idealmente con la memoria RAM ya soldada en la PCB. Si nunca ha diseñado un circuito de este tipo, le sugiero que obtenga una placa FPGA que ya tenga la memoria RAM. Sin embargo, esto va a ser difícil, ya que todas las placas FPGA que vi (en 5 minutos de búsqueda) tenían mucho menos de 4 GB de RAM.

A continuación, necesita algo más nuevo que el Spartan-3 / 3A / 3E. Si bien el S3 es un FPGA bueno, la serie Spartan-6 tiene mucho más que ofrecer. Tiene mucho más RAM interna (pero aún necesita RAM externa), muchos más bloques DSP48 y más lógica. Pero lo más importante es que tiene una interfaz SDRAM mucho mejor que la que tiene el Spartan-3. Y por "mucho mejor", quiero decir "mucho más fácil para un principiante usar con éxito". El controlador de memoria en el S6 es un IP rígido, lo que para usted significa que es mucho más fácil lograr los estrictos requisitos de tiempo de la interfaz a SDRAM.

Pero controlar DDR2 / DDR3 SDRAM no es fácil. Xilinx tiene una herramienta llamada "Generador de interfaz de memoria", que se puede encontrar en Core Generator. Esto generará la lógica de la interfaz de memoria para usted, y le brinda muchas características geniales que harán su vida más fácil.

Una alternativa al Spartan-6 sería un Virtex-5 o cualquiera de las partes de la serie 7. Todos estos tienen interfaces de memoria tan buenas o mejores que el Spartan-6.

Esta placa basada en Virtex-7 tiene un zócalo para dos módulos SO-DIMM, que podría superar los 4 GB de RAM, pero es súper caro a US $ 5,000.

También debo mencionar que si está haciendo esto porque quiere aprender sobre FPGA y electrónica, entonces apoyo sus esfuerzos. Pero si crees que esto va a ser más rápido que las PC estándar, entonces tengo malas noticias para ti. Por el dinero, es difícil vencer a una máquina de cuatro núcleos basada en Intel i7 con una tarjeta GPU razonable. Solo te advierto, en caso de que lo único que realmente te importa es la velocidad matemática.

    
respondido por el user3624

Lea otras preguntas en las etiquetas