Next186 funcionano en placa Altera EP4CE22F17 Cyclone IV

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

Next186 funcionano en placa Altera EP4CE22F17 Cyclone IV

Mensaje por jepalza » 05 May 2018, 07:50

Gracias al aviso de spark2k06 :chocala!: Me enteré de que habían sacado hace apenas un mes, una versión del Next186 de Dumitrache para los Altera DE0-Nano, que emplea una FPGA parecida a la de mi placa clónica de china, la misma que empleo para el A500 Minimig.

La del DE0 Nano solo se diferencia en el índice de velocidad, que es de 6 frente a 8 (mas rápida en el Nano). Pero el resto es igual, por lo que hacer conversiones es mucho mas sencillo.

Me puse ayer por la noche a hacer la conversión, y el resultada ha sido positivo:

Imagen

:maestro: :maestro: :maestro:

Ya tenemos dos cores para esta plaquita genérica tan barata.

Que sepáis que este core no es perfecto, falla mas que una escopeta de feria, pero funciona, punto pelota.
He visto que en el WolfStein el sonido de los disparos no se oye, y que juegos de 640x480 dejan un rastro cuando cambian de pantalla, que no se borra.

Para detalles sobre el core:
https://opencores.org/project/next186_soc_pc


Cometar, que se me ocurrió la tonta idea de probar un core llamado AO486, pero es IMPOSIBLE colarlo en las placas que circulan por los hogares. Necesita una FPGA de al menos 90000 celdas lógicas, que es algo que solo se pueden permitir las universidades y empresas.

****************************************************
Actualización 25/05/18:

He dejado los ficheros para grabar el core, aqui:
http://www.forofpga.es/viewtopic.php?f=11&t=10

Dentro van el SOF, el JIC y el contenido de la SD según mis investigaciones.

NOTAS IMPORTANTES:
- para ejecutar este core, "creo" que es obligatorio usar la BIOS que yo he preparado, por que la original emplea 147mhz para la SDRAM y la placa Altera "nuestra" solo alcanza 133mhz. Con 147mhz la SDRAM se calentaba demasiado para mi gusto, y lo bajé a 133.

- el core tiene varias trampas preparadas por mi, por ejemplo, una que engaña a la mayoría de programas, y les hace creer que es un 80286, pero NO ES VERDAD, dado que este core solo alcanza un 80186. Con esa trampa hecha, programas como el emulador de FPU (8087) creen que tienen un 80286, y funcionan. Otros como el CHECKIT no se cuelgan al detectar CPU. Solo he visto un par de programas que se cuelgan y ambos son de chequeos de hard.

-el controlador de memoria tanto XMS como EMS no sirve (creo) el de MSDOS622, hay que usar el de FREEDOS (ver carpeta XMS y fichero CONFIG.SYS)

-en el autoexec.bat he incluido la carga del emulador de FPU (copro 8087) llamado 88x87, muy util para aplicaciones CAD, como AUTOCAD ;-)

-si quieres cargar WINDOWS 3.0 (del 3.1 en adelante no sirven) DEBES emplear el KERNEL.EXE parcheado de la carpeta WINDOWS/SYSTEM (el parchero, gracias a QUEST de ZXUNO)

-para un modo emulado de un 386, podemos usar el EMU386S.EXE (ver config.sys) peeerooo..... no va muy bien, no todos los programas lo detectan, la mayoría falla. Ademas, si usamos el EMU386S en conjunción con el 88X87, el PC se cuelga, o lo uno, o lo otro, ambos no se puede.

- "NO" tiene soporte de mando de juegos, por que no he sido capaz de activarlo :mecagonto:

- como "regalo", dejo una de las cientos de aplicaciones que hice de joven cuando trabajé como informático en mi primera empresa, con 20 años. Está en la carpeta "tools" y os dejo que lo probéis por si os gusta. ;-)


Imagen del Next186 detectado como un "falso" 80286 con la trampa interna que le hice, que permite cargar un emulador de Coprocesador 8087
Imagen

Y las mas chula de todas: Windows 3.0 con la trampa del Kernel que publicó Quest: :maestro:
( por cierto, con la "sombrilla" preparada por AntonioVillena y el menda lerenda)
Imagen
Última edición por jepalza el 19 Ago 2018, 09:49, editado 7 veces en total.


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

Re: Next186 funcionano en placa Altera EP4CE22F17 Cyclone IV

Mensaje por jepalza » 05 May 2018, 12:09

Vale mas una imagen que mil palabras:

Código: Seleccionar todo

+----------------------------------------------------------------------------------+
; Fitter Summary                                                                   ;
+------------------------------------+---------------------------------------------+
; Fitter Status                      ; Successful - Sat May 05 07:21:09 2018       ;
; Quartus Prime Version              ; 17.1.0 Build 590 10/25/2017 SJ Lite Edition ;
; Revision Name                      ; Next186_SoC                                 ;
; Top-level Entity Name              ; Next186_SoC                                 ;
; Family                             ; Cyclone IV E                                ;
; Device                             ; EP4CE22F17C8                                ;
; Timing Models                      ; Final                                       ;
; Total logic elements               ; 13,720 / 22,320 ( 61 % )                    ;
;     Total combinational functions  ; 12,141 / 22,320 ( 54 % )                    ;
;     Dedicated logic registers      ; 5,469 / 22,320 ( 25 % )                     ;
; Total registers                    ; 5539                                        ;
; Total pins                         ; 88 / 154 ( 57 % )                           ;
; Total virtual pins                 ; 0                                           ;
; Total memory bits                  ; 510,736 / 608,256 ( 84 % )                  ;
; Embedded Multiplier 9-bit elements ; 12 / 132 ( 9 % )                            ;
; Total PLLs                         ; 2 / 4 ( 50 % )                              ;
+------------------------------------+---------------------------------------------+

Avatar de Usuario
DistWave
Mensajes: 183
Registrado: 14 Oct 2015, 19:24
Ubicación: Zaragoza

Re: Next186 funcionano en placa Altera EP4CE22F17 Cyclone IV

Mensaje por DistWave » 06 May 2018, 15:08

Muy interesante, queda muchísimo espacio para expandir el sistema... lástima que esta FPGA sólo tenga la misma cantidad de BRAM que la del ZXUNO

Avatar de Usuario
Uto
Mensajes: 1394
Registrado: 17 Dic 2015, 16:39

Re: Next186 funcionano en placa Altera EP4CE22F17 Cyclone IV

Mensaje por Uto » 06 May 2018, 16:24

Una pregunta : ¿la FPGA tiene funcionalidad multicore y la fñasho lo que quiera que almacene los cores tiene espacio para más de uno o no habría mas remedio que usar el cable usb blaster para cambiar de core?

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

Re: Next186 funcionano en placa Altera EP4CE22F17 Cyclone IV

Mensaje por jepalza » 06 May 2018, 17:54

No tengo ni idea de cómo es esta FPGA. Es Altera, y solo llevo dos semanas con ella. Y mi intención no es convertirla en algo inmenso. Yo solo lo quiero por el minimig, por ser el único core que no he logrado meter en el Xlinx.
No me quiero comprometer a nada con este proyecto, para evitar pillarme los dedos. Ahora mismo, solo estoy tanteando los cores que en Xilinx no funcionaban o estaban limitados, como el ST, el Ql, el PC mejorado y por supuesto, el A500. Y si puedo intentar el de Megadrive, idem.

Si logro averiguar lo del multiboot, lo indicaré, sino, realmente me da igual, por que grabar un nuevo core teniendo el grabador, es cosa de segundos. Y esta placa, el que la compre, ya le viene el grabador, y quieras que no, va a tener que instalarse el programa grabador de Altera, que son unos 100megas. Una vez instalado, que mas da dejarlo e ir rotando los cores (de momento)

Avatar de Usuario
Uto
Mensajes: 1394
Registrado: 17 Dic 2015, 16:39

Re: Next186 funcionano en placa Altera EP4CE22F17 Cyclone IV

Mensaje por Uto » 07 May 2018, 00:40

Veo que la placa lleva 64mbit de flash así que como dudo que cada core ocupe más de 32mb (4MB) supongo que cabe más de uno. Luego está ya el tema de si la FPGA en sí acepta que le digan de que lugar de la flash pillar su configuración.

Si eso es posible podría ser multiboot, pero desde luego no sería trivial, porque probablemente implique tener que lanzar un core desde el primer core, y eso implica elegir un core “principal” y meterle una bios o al menos una aplicación que lance otros cores como el de Spectrum del zxuno. En fin, nada trivial desde luego, así que mi pregunta, al menos para este momento, es básicamente teórica, no pregunto si alguien lo va a hacer sino simplemente si se podría o no? :-)

BCH
Mensajes: 170
Registrado: 01 May 2016, 10:55

Re: Next186 funcionano en placa Altera EP4CE22F17 Cyclone IV

Mensaje por BCH » 07 May 2018, 01:35

jepalza escribió:No tengo ni idea de cómo es esta FPGA. Es Altera, y solo llevo dos semanas con ella. Y mi intención no es convertirla en algo inmenso. Yo solo lo quiero por el minimig, por ser el único core que no he logrado meter en el Xlinx.
Pero el minimig original no llevaba una FPGA de Xilinx?

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

Re: Next186 funcionano en placa Altera EP4CE22F17 Cyclone IV

Mensaje por jepalza » 07 May 2018, 05:49

BCH escribió: Pero el minimig original no llevaba una FPGA de Xilinx?
Sí, pero no tiene ningún parecido con los cores actuales. Se usó memoria SRAM con doble puerto de datos (para obtener 16bits de ancho) y un PIC para el acceso a "solo" ADF (no tenía soporte de HDF, o sea, discos duros virtuales, solo leía discos 3.5). Ademas Empleaba un 68000 "real" soldado en la placa.
Las versiones mejoradas actuales, dejaron de lado la SRAM y metieron SDRAM, y quitaron el PIC y pusieron ARM, que permite varios ADF y HDF, así como cambiar la bios desde el menu. Con el viejo, para cambiar de BIOS había que poner una nueva en la SD. Ademas, empezaron a usar el TG68K, core de 68000 por FPGA
Ninguna de las versiones que emplean SRAM, PIC o ARM (o 68000 real) sirven para nada en ninguna de las FPGA con las que podamos nosotros trastear.
Las únicas versiones que permiten eso son las basadas en los Terasic Altera DE0/DE1/DE2, que debido a la carencia de SRAM, PIC o ARM y 68000, tuvieron que hacer lo mismo mediante FPGA únicamente.
A partir de esos cores DE0/DE1/DE2 se han sacado varias versiones, como la FLEAFPGA, el DE0-NANO (en el que yo me baso por el parecido), el Chameleon64 (C64) o el FampigaC3. Pero creo que todos están basados en Altera
En Xilinx solo hubo una placa, creo que se llama AVNET, pero emplea memoria DDR, no Sdram, y DDR no tiene ninguna de las placas mias.
Última edición por jepalza el 07 May 2018, 06:02, editado 1 vez en total.

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

Re: Next186 funcionano en placa Altera EP4CE22F17 Cyclone IV

Mensaje por jepalza » 07 May 2018, 05:59

Uto escribió:.... no pregunto si alguien lo va a hacer sino simplemente si se podría o no? :-)
Probablemente se pueda, no veo por que no (no lo he mirado aún). Leer datos de la flash y programar al vuelo la FPGA no creo que sea un problema, pero como tú dices, no es fácil. Hay que hacer un core previo con un sistema gráfico de menús para poder elegir, lo cual queda alejado de mi propósito para esta placa.

No tengo un MIST para poder decirlo, pero juraría que no usa la flash para los cores. Es el ARM el encargado de hacerlo. Los cores van en la SD,los muestra en el menú de inicio, y los envía a la FPGA directamente. Cuando apagas el MIST, se borra el contenido y queda limpia. Enviar un core a la FPGA es muy rápido, unos pocos segundos, frente a grabarlo directamente, que tarda 1 minuto, por eso, es mas eficiente no grabar permanentemente, y alargas la vida de la FPGA. Y aunque el MIST sí que grabe el contenido en FPGA, vuelvo a lo mismo, emplea un ARM para ello.

Responder