Clon en FPGA facilito

Comentarios sobre el actual panorama retro. Lanzamiento de libros, películas, vídeos, y cualquier media sobre retro. Cualquier otra iniciativa que promueva nuestra afición y noticias retro que no cuenten con foro específico en ZONADEPRUEBAS.
Avatar de Usuario
jotego
Atari 1040 STf
Atari 1040 STf
Mensajes: 657
Registrado: 16 Ene 2013, 23:25
Sistema Favorito: Atari ST
primer_sistema: Amstrad CPC
consola_favorita: Sony PlayStation 2
Primera consola: Atari Lynx
Ubicación: Valencia (España)
Gracias dadas: 27 veces
Gracias recibidas: 44 veces
Contactar:

Clon en FPGA facilito

Mensajepor jotego » 18 Jul 2013, 11:34

Después de algunos éxitos con el proyecto de ingeniería inversa del YM2151, lo tengo que aparcar unas semanas hasta que me lleguen los transceptores (los conversores de 3V a 5V). Hasta ahora había usado la FPGA a 3V y el Yamaha a 5V con algunas resistencias para evitar sobrecargas pero parece que las entradas de la FPGA se acaban enganchando a 1 o 0, seguramente la protección ESD de los pines sea la responsable. Cuando pongo el Yamaha a 3V no tengo ese problema, pero fallan una de cada dos escrituras al mapa de registros así que cuesta mucho programarlo. No hay más remedio que poner varios 74LVC4245 para traducir los niveles lógicos.

Mientras espero, quería implementar algún clon en la FPGA. Un Spectrum o Amstrad tendría su gracia. ¿Alguien sabe de dónde hay código fuente de algún clon? Lo que he visto por internet eran sólo ficheros de programación que no puedo usar en mi Spartan 3A.

Avatar de Usuario
antoniovillena
Amiga 1200
Amiga 1200
Mensajes: 2013
Registrado: 16 Abr 2012, 21:22
Gracias recibidas: 8 veces

Re: Clon en FPGA facilito

Mensajepor antoniovillena » 18 Jul 2013, 11:44

Aquí tienes el mío.

http://retrolandia.net/foro/showthread.php?tid=76

Lo bueno es que es progresiva y si por ejemplo tu FPGA no da para un 48K, le puedes meter un 16K. En la última lección se implementa un 128K sin sonido AY, aunque no creo que tengas problemas en añadírselo.

También puedes probar el que hizo mcleod en opencores, es un proyecto más maduro.

Avatar de Usuario
jotego
Atari 1040 STf
Atari 1040 STf
Mensajes: 657
Registrado: 16 Ene 2013, 23:25
Sistema Favorito: Atari ST
primer_sistema: Amstrad CPC
consola_favorita: Sony PlayStation 2
Primera consola: Atari Lynx
Ubicación: Valencia (España)
Gracias dadas: 27 veces
Gracias recibidas: 44 veces
Contactar:

Re: Clon en FPGA facilito

Mensajepor jotego » 18 Jul 2013, 11:50

¡Gracias! Lo voy a probar durante el fin de semana.

Avatar de Usuario
antoniovillena
Amiga 1200
Amiga 1200
Mensajes: 2013
Registrado: 16 Abr 2012, 21:22
Gracias recibidas: 8 veces

Re: Clon en FPGA facilito

Mensajepor antoniovillena » 18 Jul 2013, 12:01

Estoy viendo las especificaciones de tu placa, si no me equivoco es una XC3S700A con 32Mbit de SDRAM. Siguiendo mi tutorial puedes llegar a implementar hasta el ZX Spectrum 16K sin problemas. Esa FPGA no tiene muchos más bloques BRAM que la mía (20 en lugar de 16), por lo que vas a tener que tirar de RAM externa para implementar modelos superiores.

El problema es que tu RAM externa es dinámica, y el tutorial está hecho para RAM estática, tendrías que hacer las modificaciones pertinentes. Si optas por el core de McLeod lo vas a tener más complicado aún, porque éste implementa los dos bancos de RAM con memoria externa, vía multiplexación.

Por cierto, si consigues hacer funcionar el clon con la SDRAM publica los fuentes, hay gente que se ha comprado la MOD-VGA-32Mb a la que le vendría muy bien.

Avatar de Usuario
jotego
Atari 1040 STf
Atari 1040 STf
Mensajes: 657
Registrado: 16 Ene 2013, 23:25
Sistema Favorito: Atari ST
primer_sistema: Amstrad CPC
consola_favorita: Sony PlayStation 2
Primera consola: Atari Lynx
Ubicación: Valencia (España)
Gracias dadas: 27 veces
Gracias recibidas: 44 veces
Contactar:

Re: Clon en FPGA facilito

Mensajepor jotego » 18 Jul 2013, 13:48

Sí, al final pondré los fuentes en opencores. ¿Tú lo tienes todo en VHDL o tienes partes en Verilog?

Avatar de Usuario
antoniovillena
Amiga 1200
Amiga 1200
Mensajes: 2013
Registrado: 16 Abr 2012, 21:22
Gracias recibidas: 8 veces

Re: Clon en FPGA facilito

Mensajepor antoniovillena » 18 Jul 2013, 13:54

Yo lo tengo todo en VHDL porque es un tutorial y no quiero que la gente se haga la picha un lío, aparte estoy muy pegado en Verilog. Pero vamos que si consigues añadir algo útil (SDRAM, implementación AY) en Verilog lo incluyo igualmente con la excusa de que se pueden mezclar ambos lenguajes lo puedo poner como ejemplo.

Avatar de Usuario
jotego
Atari 1040 STf
Atari 1040 STf
Mensajes: 657
Registrado: 16 Ene 2013, 23:25
Sistema Favorito: Atari ST
primer_sistema: Amstrad CPC
consola_favorita: Sony PlayStation 2
Primera consola: Atari Lynx
Ubicación: Valencia (España)
Gracias dadas: 27 veces
Gracias recibidas: 44 veces
Contactar:

Re: Clon en FPGA facilito

Mensajepor jotego » 18 Jul 2013, 14:53

Voy a empezar por replicar lo que haces en el tutorial. Si para cuando acabe no me han llegado aun los chips para el asunto del Yamaha, trataré de añadir el clon del AY-3-8910 que hice.

Avatar de Usuario
Joss
Atari 1040 STf
Atari 1040 STf
Mensajes: 930
Registrado: 17 Jul 2012, 20:07
Gracias dadas: 14 veces
Gracias recibidas: 2 veces

Re: Clon en FPGA facilito

Mensajepor Joss » 18 Jul 2013, 19:22

Por si os sirve de referencia podeis echarle un vistazo a este proyecto de un Spectrum en una Altera DE1, que tiene salida VGA (que implementa la placa para la que está hecha el proyecto) y salida RGB.

Avatar de Usuario
antoniovillena
Amiga 1200
Amiga 1200
Mensajes: 2013
Registrado: 16 Abr 2012, 21:22
Gracias recibidas: 8 veces

Re: Clon en FPGA facilito

Mensajepor antoniovillena » 19 Jul 2013, 05:28

Os dejo unos videos para abrir boca




Avatar de Usuario
jotego
Atari 1040 STf
Atari 1040 STf
Mensajes: 657
Registrado: 16 Ene 2013, 23:25
Sistema Favorito: Atari ST
primer_sistema: Amstrad CPC
consola_favorita: Sony PlayStation 2
Primera consola: Atari Lynx
Ubicación: Valencia (España)
Gracias dadas: 27 veces
Gracias recibidas: 44 veces
Contactar:

Re: Clon en FPGA facilito

Mensajepor jotego » 19 Jul 2013, 09:03

Joss escribió:Por si os sirve de referencia podeis echarle un vistazo a este proyecto de un Spectrum en una Altera DE1, que tiene salida VGA (que implementa la placa para la que está hecha el proyecto) y salida RGB.


Gracias por la referencia.

-- Actualizado 19 Jul 2013, 09:06 --

antoniovillena escribió:Aquí tienes el mío.

http://retrolandia.net/foro/showthread.php?tid=76

Lo bueno es que es progresiva y si por ejemplo tu FPGA no da para un 48K, le puedes meter un 16K. En la última lección se implementa un 128K sin sonido AY, aunque no creo que tengas problemas en añadírselo.

También puedes probar el que hizo mcleod en opencores, es un proyecto más maduro.


He hecho la lección 1, pasándola a Verilog y la he implementado en la placa. Efectivamente, mis temores se han hecho realidad y no se ve nada. ¿Qué conectabas tú a la placa? ¿Un televisor? Esa salida que has hecho no es VGA, ¿verdad? Falta el sincronismo vertical además de que el tamaño de pantalla seguramente es demasiado pequeño.


Volver a “Retroinformatica hoy”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 19 invitados