Clon Zxuno en el Papilio Pro

Otras placas, clones o aparatos basados en FPGA / Oher FPGA based clones/devices/boards
Responder
Avatar de Usuario
jepalza
Mensajes: 613
Registrado: 02 Oct 2015, 18:52

Clon Zxuno en el Papilio Pro

Mensaje por jepalza » 23 Oct 2015, 19:05

No es un clón exacto, pero si que utiliza algunas partes del ZXUNO (en el hilo original del creado, Kyp, podéis leer los avances --> http://www.va-de-retro.com/foros/viewto ... =48&t=3473 )

Yo solo me he tomado la libertad de probarlo en mi placa Papilio Pro con el "Arcade Megawing", para ver que realmente funciona. Emplea el PS2, la VGA y el mando de juegos de la placa extra del papilio. Es un Spectum "pelado", pero funciona, y es una muestra mas de lo que se peude hacer con estas plaquitas.

La pequeña pega, por ahora, es que solo emplea BRAM (RAM interna de la Spartan 6) , por que la Papilio va equipada con SDRAM y es muy complejo emplearla para emular una SRAM, por lo que el Core está limitado en cuanto a RAM. Pero es un muy buen trabajo, con su mérito. :chocala!:

Imagen

Avatar de Usuario
mcleod_ideafix
Mensajes: 831
Registrado: 27 Sep 2015, 00:14
Ubicación: Jerez de la Frontera
Contactar:

Re: Clon Zxuno en el Papilio Pro

Mensaje por mcleod_ideafix » 24 Oct 2015, 22:15

Un día tenemos que ponernos a mirar, porque es que resulta que muchas placas FPGA "tochacas" y que se emplean con éxito para la implementación de sistemas clásicos disponen de hecho de este tipo de memorias. Sin ir más lejos, El One Chip MSX es una de ellas, y tiene que poder usar la memoria a la vez tanto el chip gráfico (que tiene memoria independiente) como la CPU, así que tienen que haber resuelto este tema de alguna forma.

Yo lo poco que he visto sobre este tema es que la máquina de estados que gobierna una SDRAM pasa por algunos ciclos de reloj sólo para hacer un acceso a una dirección de memoria, pero si son varios accesos a direcciones consecutivas, el gasto de direccionar la memoria sólo ocurre una vez, pudiendo dar un dato de memoria nuevo en cada ciclo de reloj (acceso por ráfagas).

Claro que entonces las descripciones y cores que hiciéramos seguramente no podrían ser tan independiente de dispositivo como lo son ahora, porque por ejemplo los accesos de memoria de la ULA tendrían que sincronizarse con los accesos a ráfagas de la SDRAM..... Uffff, qué lío. ¿Por qué no harán memorias SRAM asíncronas de 32 megabytes y todos contentos? (ya, porque serían carísimas)

Este es el FSM típico de una SDRAM:
Memctl_fsm4.png
Para una lectura aleatoria de un byte, en el mejor de los casos, se usarían 11 ciclos de reloj. Para igualar las prestaciones de la SRAM que usamos ahora (45 ns), la SDRAM tendría que ir a un mínimo de 245 MHz. Y esto sólo en el mejor caso. En el peor caso, que haya que hacer un ciclo de refresco, se gastan 17 ciclos, lo que equivaldría a usar una memoria de 378 MHz para igualar las prestaciones de la que tenemos.

Lo malo es que las velocidades comerciales de SDRAM son de como mucho 133 MHz. Para optar a velocidades mayores hay que irse a las DDR, DDR2, etc, pero en éstas, el FSM es más complejo aún, con lo que tienes más ciclos y lo que ganas por una parte, lo pierdes en otra.

Leo que para paliar los tiempos muertos de la SDRAM se usan cachés, habitualmente implementadas usando BRAM. Eso probablemente solucione, o casi solucione el problema, pero añade aún más complejidad al módulo controlador de SDRAM, quitándole espacio para otras cosas que quieras meter en un core.

Si estuviéramos interesados en clonar ordenadores en los que por su naturaleza, el número de ciclos de reloj que se gastan en una instrucción no es relevante, esto de las SDRAM y tal no tendría mayor dificultad, pero teniendo que diseñar sistemas "perfect-cycle" la cosa se complica.

¿O quizás soy yo el que se está haciendo un lío y la cosa no es tan complicada?
http://www.zxuno.com
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA

Avatar de Usuario
jepalza
Mensajes: 613
Registrado: 02 Oct 2015, 18:52

Re: Clon Zxuno en el Papilio Pro

Mensaje por jepalza » 25 Oct 2015, 08:54

mcleod_ideafix escribió:...por ejemplo los accesos de memoria de la ULA tendrían que sincronizarse con los accesos a ráfagas de la SDRAM..... Uffff, qué lío. ¿Por qué no harán memorias SRAM asíncronas de 32 megabytes y todos contentos? (ya, porque serían carísimas)
:plasplas: Y que lo digas tú.....

Cuando compré a "papilio pro" (con SDRAM), lo hice por que la "papilio plus" (con SRAM) ya no se vendía, y me dediqué a probar como usar una SDRAM con SRAM, pero me volví loco, y lo dejé por imposible. Pero todo esto es para divertirse, volveré a repasar todo y miraré ejemplos de cómo otros lo han hecho, a ver si lo consigo. No se pierde nada por intentarlo.

Subcritical
Mensajes: 17
Registrado: 19 May 2019, 22:04

Re: Clon Zxuno en el Papilio Pro

Mensaje por Subcritical » 30 May 2019, 01:07

También están las memorias sincronas en sram, doy enlace:
Y permiten al parecer grandes velocidades de funcionamiento.



4Mb, 9Mb, 18Mb, 36Mb, and 72Mb densities available
x18, x36, and x72 configurations available
Pipeline, Flow-Through, and No-Wait State (ZBT equivalent)
Commercial, Industrial, and Automotive Temperature support
ECC feature available for 4Mb product
250MHz speed for Pipeline
6.5ns access time for Flow-Through


http://www.issi.com/US/product-synchronous-sram.shtml

Responder