11 votos

Placa FPGA sugerida

Esta es mi primera mirada a la FPGA, pero con una gran experiencia en el desarrollo de software. Me gustaría comprar una placa para aprender, pero con el tiempo me gustaría ser capaz de ejecutar un estilo de principios de los 80 Z80 basado en la computadora (creo que el modelo TRS80 digo).

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

Lo que estoy pensando es algo así:

  • Suficiente espacio para:
    • Z80 simulado usando el opencores T80 softcore.
    • simular los periféricos de la placa, como el controlador de vídeo, el controlador de sonido (simple de 1 bit), el controlador de disquetes
    • quizás un par de controladores picoblaze para utilizar los botones de a bordo para la selección de imágenes de disquetes, etc...
  • Conector VGA (16 colores sería suficiente, 256 de bonificación)
  • Conector del teclado PS2
  • Suficiente flash en la placa para albergar varias imágenes de disquetes virtuales y la ROM del sistema (16Mb deberían ser suficientes)
  • Pantalla a bordo, LCD estaría bien, 4x7 segmentos LED probablemente sería suficiente.
  • algún tipo de conector para tarjetas flash estaría bien, pero no es necesario.
  • La alimentación se conecta a la red eléctrica, probablemente a través de un paquete de energía.

Estas son las tablas que estoy considerando actualmente:

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

EDIT: Acabo de darme cuenta de que el Basys no tiene RAM integrada, así que estaría limitado a la RAM de la FPGA - no es lo ideal.

Lo principal que no tengo claro es cuánto espacio quedará después de cargar el T80 softcore. Cualquier consejo es muy apreciado.

6 votos

Sugiero aprender primero Verilog o VHDL. Métete con ellos en un simulador. Asegúrate de que estás hecho para trabajar con FPGAs. Lo extraño de las FPGAs es que pasarás la mayor parte de tu tiempo de desarrollo (como principiante) trabajando en simuladores y ejecutando bancos de pruebas.

6voto

Aunque los objetivos ambiciosos están bien, mi consejo es que empieces por algo más pequeño. Mucho más pequeño. El proyecto que propones sería difícil para un diseñador intermedio de FPGAs, y casi imposible para un principiante. Soy un gran defensor de las FPGAs y me gustaría que tuvieras éxito. Empezar con un proyecto tan ambicioso probablemente te lleve a la frustración y a abandonar el diseño de FPGAs.

Lo diré en términos de software: Este proyecto sería como si alguien que nunca ha hecho software escribiera un compilador completo de C desde cero.

Empieza con algo más pequeño y serás mucho más feliz.

Edición: Se ha añadido algo más abajo.

Dicho todo esto, es difícil dar una buena recomendación para una tabla. La razón es que cualquier placa que recomendaría para alguien sin experiencia en FPGA no es en absoluto la misma placa que recomendaría para hacer un proyecto de tipo CPU. Una placa para principiantes puede costar US $50-100, while a board for doing CPU+VGA+Flash_Card+Whatever might be US$ 1000-2000.

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

Mi recomendación es, pues, que primero te hagas con una tabla sencilla de menos de 100 dólares. Luego, cuando estés listo para abordar un proyecto más grande, puedes comprar una placa más cara que se acerque a lo que quieres (sea lo que sea en ese momento).

La tabla que me gusta es esta: http://www.xilinx.com/products/boards-and-kits/AES-S6MB-LX9.htm

Es barato, utiliza una pieza de última generación, es de un fabricante de primer nivel, e incluso puede hacer algunas cosas simples de la CPU.

2voto

Hmmm, desafortunadamente es vhdl, iba a decir que empiece con verilator o icarus verilog. En su lugar, tal vez utilizar ghdl. La primera sugerencia es conseguir un entorno de simulación en marcha, empezar a construir esta cosa allí.

Antes de elegir una placa fpga hay que hacerse una idea de lo grande que será esto, las distintas herramientas son gratuitas, o gratis con el sacrificio de tu dirección de correo electrónico y alguna otra información. Prueba las herramientas de lattice, altera, xilinx, etc, empieza estrictamente con el núcleo T80 y algunos de estos fpgas objetivo que estás mirando. Supongo que todas las cosas que quieres añadir van a aumentar enormemente cualquier número de porcentaje completo que obtengas cuando implementes el núcleo T80. Apuesto a que, sólo con el núcleo, va a ser capaz de eliminar algunos de los candidatos.

Tal vez la placa fpgaarcade, que de alguna forma ha utilizado el núcleo T80, sea lo que buscas... Cuando esté disponible.

Tengo que estar completamente de acuerdo con el otro David, si no eres ya un desarrollador profesional de fpga/placas, este no es el lugar por el que debes empezar, te esperan quizás años de trabajo, probablemente vas a comprar varias placas de varios miles de dólares mientras las destruyes con errores, etc. Si usted tiene esa cantidad de dinero a su disposición tal vez usted debe contratar a un consultor para guiarlo a través del proceso. O hacer que le construyan una placa según las especificaciones.

Más poder para ti si esto es realmente algo que quieres hacer, sólo sé inteligente al respecto, comienza con el núcleo, y algunos programas simples que parpadean algunos leds y trabaja tu camino desde allí, lentamente. Recomiendo la ruta de la 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 usted tendrá más del diseño y puede utilizar las herramientas para ver lo que podría encajar en. Si no puedes conseguir que esta cosa funcione en la simulación, probablemente no vas a conseguir que funcione en el silicio.

1 votos

Gracias chicos, he seguido vuestros consejos y he decidido pasar de ser demasiado ambicioso a ser totalmente tentativo. Recogí un pequeño kit de programador/placa de desarrollo PIC y un soldador...

0 votos

Hasta finales de año lattice tiene una placa cpld, pico algo (machx02) que soporta su núcleo mico8 que se vende por $29. They claimed they were going to fix it but their store has the wrong, non-sale price, but one/some of the resellers have it at the right price. For about $ 50 puedes su placa brevia que es un fpga con más bloques lógicos y más ejemplos de procesadores embebidos. También hay un escudo ardino gameduino que tiene un xilinx y vga, todo el código abierto, que se puede jugar con la generación de vídeo de trabajo hacia un objetivo de simulación de una tarjeta de vídeo / sistema de legado.

0 votos

Dwelch, ¿tienes un enlace directo para ese tablero? Ha despertado mi interés...

1voto

Andrew Walker Puntos 9038

Si quieres simular ordenadores con salida de vídeo, intenta conseguir algo con una buena cantidad de ram, ya que la necesitarás tanto para la memoria del sistema como para la de vídeo. Obviamente, un conector integrado para VGA es bueno, aunque si quieres hacer una simulación fiel al tiempo de algunos de los primeros sistemas, puede que tengas que generar vídeo compuesto injertando un DAC o incluso un DAC con resistencia R2R.

Entonces, tal vez, elija la opción de chip de mayor número de compuertas disponible en el tablero que es compatible con la versión gratuita de las herramientas FPGA . Los chips más grandes tienen implícitamente más ram en bloque (he visto muchos diseños impulsados por eso en lugar de por el número de puertas), sin embargo, puedes estar en el territorio de la aplicación donde la ram externa y una FPGA más pequeña es más barata que una FPGA lo suficientemente grande como para hacerlo todo en el chip.

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

Por lo general, las placas FPGA se sitúan en la categoría de 100-200 dólares, y luego en la categoría realmente cara. Probablemente puedas avanzar bastante con una de las primeras.

0voto

Nathan W Puntos 19990

Yo era el autor original de esta pregunta pero no debía estar conectado, o no había creado una cuenta todavía...

En fin, al final dejé de lado el proyecto durante 4 o 5 meses, pero luego me decanté por la placa Nexys3 y ahora tengo un ordenador Microbee en funcionamiento. Puedes leer sobre ello aquí: http://www.toptensoftware.com/fpgabee .

En general he estado muy contento con el Nexys3, maneja el núcleo del T80 con espacio de sobra, no fue demasiado caro (250 dólares) y tiene todo lo que necesito (y más).

La principal decepción es que no he podido conseguir que la interfaz de teclado USB-HID funcione y, aunque todavía estoy en conversaciones con Digilent al respecto, sospecho que sólo funciona con algunos teclados y no he podido encontrar uno que sea compatible (ya he probado unos 8 teclados diferentes). No hay diseños de referencia para ello, los test de periféricos no prueban el teclado y he leído que otros tienen el mismo problema.

1 votos

Si te preocupas por tu cuenta anterior puedes marcar para que se fusionen.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X