Tablero FPGA sugerido

11

Este es mi primer vistazo a FPGA, pero gran experiencia en el desarrollo de software. Me gustaría comprar un tablero para aprender, pero eventualmente me gustaría poder ejecutar una computadora con estilo Z80 de principios de los 80 (creo que el modelo TRS80 digo).

He estado buscando en las placas Spartan 3E y Spartan 6, pero no estoy muy seguro de las diferencias de rendimiento / capacidad.

Lo que estoy pensando es algo como esto:

  • Suficiente espacio para:
    • Z80 simulado utilizando el softcore T80 de los opencores.
    • periféricos integrados simulados, como controlador de video, controlador de sonido (simple 1 bit), controlador de disquete
    • quizás un par de controladores picoblaze para usar los botones integrados para la selección de imágenes de disquete, etc. ...
  • Conector VGA (16 colores sería suficiente, 256 bonus)
  • conector del teclado PS2
  • Suficiente flash incorporado para contener una serie de imágenes de disquetes virtuales y la ROM del sistema (16Mb debería ser suficiente)
  • En la pantalla de a bordo, la pantalla LCD estaría bien, el LED de 4x7 segmentos probablemente sería suficiente.
  • algún tipo de socket de tarjeta flash sería bueno, pero no es obligatorio.
  • Conecte la alimentación a la red eléctrica, probablemente a través de un paquete de alimentación.

Estos son los tableros que estoy considerando actualmente:

  • Placa Nexys ™ 3 Spartan-6 FPGA
  • Spartan 3E Starter Board
  • Junta de Desarrollo Spartan 3E-1600
  • Placa FPGA Basys ™ 2 Spartan-3E (500K) + 16M Flash pMod
  • Placa FPGA Basys ™ 2 Spartan-3E (1200K) + 16M Flash pMod

EDITAR: Noté que los Basys no tienen RAM integrada, por lo que me limitaría a la FPGA RAM, no es lo ideal.

Lo principal en lo que no estoy seguro es cuánto espacio quedará después de cargar el softcore T80. Cualquier consejo muy apreciado.

    
pregunta Brad

4 respuestas

6

Si bien los objetivos ambiciosos son agradables, mi consejo es comenzar más pequeño. Mucho más pequeña. El proyecto que está proponiendo sería difícil para un diseñador de FPGA intermedio y casi imposible para un principiante. Soy un gran defensor de los FPGA y me gustaría que tuviera éxito. Comenzar con un proyecto tan ambicioso probablemente resultará en mucha frustración y probablemente abandonará el diseño de los FPGA por completo.

Permítame ponerlo en términos de software: este proyecto sería como alguien que nunca ha hecho un software escribiendo un compilador de C completo: desde cero.

Comienza más pequeño y serás mucho más feliz.

Editar: Se agregaron cosas a continuación.

Dicho todo esto, es difícil dar una buena recomendación para un consejo. La razón de esto es que cualquier placa que recomiendo a alguien sin experiencia en FPGA no es la misma que recomendaría para hacer un proyecto de tipo CPU. Un tablero para principiantes puede costar entre US $ 50 y 100, mientras que un tablero para hacer CPU + VGA + Flash_Card + Lo que sea entre US $ 1000 y 2000.

También existe una gran posibilidad de que, una vez que hagas un par de diseños FPGA simples, cambies de opinión y quieras hacer un proyecto diferente más adelante.

Entonces, mi recomendación es que obtenga primero una tabla simple en el rango de precios de menos de US $ 100. Luego, cuando esté listo para abordar un proyecto más grande, puede comprar una tabla más cara que esté cerca de lo que quiere (lo que sea en ese momento).

El tablero que me gusta es este: enlace

Es económico, utiliza una parte de generación actual, es de una fabricación de nivel 1 e incluso puede hacer algunas cosas simples de CPU.

    
respondido por el user3624
2

Hmmm, desafortunadamente es vhdl, iba a decir comenzar con verilator o icarus verilog. En su lugar, tal vez utilice ghdl. La primera sugerencia es poner en marcha un entorno de simulación, comenzar a construir esto allí.

Antes de elegir un tablero de fpga, debe tener una idea de cuán grande será, las diferentes herramientas son gratuitas o gratuitas con el sacrificio de su dirección de correo electrónico y alguna otra información. Pruebe las herramientas de celosía, altera, xilinx, etc., comience estrictamente con el núcleo T80 y algunos de estos fpgas objetivo que está viendo. Supongo que todas las cosas que desea agregar aumentarán en gran medida el número total de porcentajes que encuentre cuando implemente el núcleo T80. Apuesto, solo en el centro, podrás eliminar algunos de los candidatos.

Tal vez la placa fpgaarcade, que de alguna forma ha usado el núcleo T80, es lo que está buscando ... cuando esté disponible.

Tengo que estar completamente de acuerdo con el otro David, si aún no eres un desarrollador profesional de fpga / board, aquí no es donde empiezas, estás viendo quizás años de trabajo, probablemente comprando varios miles de dólares. tablas como usted los destruye con errores, etc. Si tiene esa cantidad de dinero a su disposición tal vez debería contratar a un consultor para que lo guíe a través del proceso. O bien, tener una tabla construida a especificación.

Más poder para ti si esto es realmente algo que quieres hacer, solo sé inteligente al respecto, comienza con el núcleo y algunos programas simples que parpadean algunos leds y se abren paso desde allí, lentamente. Recomiendo encarecidamente la ruta de simulación. Aparte de la gratificación instantánea, no se moleste con el silicio hasta que esté más lejos en el camino. Para entonces tendrá más diseño y podrá usar las herramientas para ver en qué podría encajar. Si no puede ejecutar esto en simulación, probablemente no lo va a ejecutar en silicio.

    
respondido por el old_timer
1

Si desea simular computadoras con salida de video, intente obtener algo con una buena cantidad de memoria RAM, ya que la necesitará tanto para el sistema como para la memoria de video. Obviamente, un conector incorporado para VGA es bueno, aunque si desea realizar una simulación fiel a la sincronización de algunos de los sistemas anteriores, es posible que necesite generar video compuesto mediante el injerto en un DAC o incluso un DAC de resistencia R2R.

Luego, tal vez elija la opción de chip de conteo de compuerta más grande disponible en la placa que es compatible con la versión gratuita de las herramientas FPGA . Los chips más grandes tienen implícitamente más ram de bloque (he visto muchos diseños impulsados por eso en lugar de contar por compuerta), sin embargo, puede estar en el territorio de la aplicación donde un ram externo y un FPGA más pequeño es más barato que un FPGA lo suficientemente grande para hacerlo todo .

El almacenamiento flash siempre se puede injertar más tarde, por ejemplo, una tarjeta SD de varios gigabytes interconectada en modo SPI.

Generalmente, los tableros FPGA vienen en la clase $ 100-200, y luego en la clase realmente cara. Probablemente puedas hacer bastante progreso con uno de los primeros.

    
respondido por el Chris Stratton
0

Fui el póster original de esta pregunta, pero no debí haber iniciado sesión o aún no había creado una cuenta ...

De todos modos, al final dejé de lado el proyecto durante 4 o 5 meses, pero luego fui con la placa Nexys3 y ahora tengo una computadora Microbee en funcionamiento. Puede leer sobre esto aquí: enlace .

En general, estoy muy feliz con el Nexys3, maneja el núcleo T80 con espacio de sobra, no era demasiado caro ($ 250) y tiene todo lo que necesito (y más).

La principal decepción es que no pude hacer funcionar la interfaz del teclado USB-HID y, aunque todavía estoy discutiendo con Digilent, sospecho que solo funciona con algunos teclados y no lo he hecho. He podido encontrar uno que es compatible (ahora probé con 8 teclados diferentes). No hay diseños de referencia para él, las pruebas periféricas no prueban el teclado y he leído que otros tienen el mismo problema.

    
respondido por el Brad Robinson

Lea otras preguntas en las etiquetas