KCPSM6 PicoBlaze: ¡Soft cores al poder!

Vanfanel
Mensajes: 276
Registrado: 16 Oct 2016, 15:50

Re: KCPSM6 PicoBlaze: ¡Soft cores al poder!

Mensaje por Vanfanel » 24 Jun 2018, 20:22

@jotego: Muchas gracias por la explicación! La he disfrutado como un enano...
No sabía que ni un 68000 entero sólo para audio fuese incapaz de generar el mismo audio que el Yamaha a menos de 1MHz! :o

Avatar de Usuario
Radastan
Mensajes: 389
Registrado: 05 Oct 2015, 14:39

Re: KCPSM6 PicoBlaze: ¡Soft cores al poder!

Mensaje por Radastan » 19 Jul 2018, 12:37

¿Alguna novedad?

Avatar de Usuario
jotego
Mensajes: 158
Registrado: 11 May 2016, 23:45
Ubicación: Valencia
Contactar:

Re: KCPSM6 PicoBlaze: ¡Soft cores al poder!

Mensaje por jotego » 20 Jul 2018, 15:40

Os cuento. Esto está siendo un apasionante recorrido por la arquitectura de los procesadores y de las FPGAs. Le he dado muchas vueltas también a lo que hace el sintetizador de FM de Yamaha y a lo que hace una CPU.

Como siempre en tecnología está el doble filo de la Ley de Moore. Gracias a ella, en poco tiempo aparecen mejores dispositivos electrónicos. Esto es bueno pero me hace pensar que el esfuerzo por ocupar menos espacio en la FPGA se resuelve solo en el tiempo. Bueno, creo que los usuarios de ZX-UNO seguirán ahí así que es una preocupación menor.

Y de todas formas necesito hacer el sintetizador de una forma más fácil de depurar porque cuando hay un fallo en algún juego es muy difícil encontrar el problema ahora. Así que por ahí la implementación por software es mejor.

Tengo la CPU propia definida y casi hecha. Tengo los cuello de botella de velocidad identificados y controlados. No he conseguido aún terminar la unidad de control de la CPU. La segmentación (pipeline) es siempre muy liosa de revisar y todavía no va del todo. Por una crisis familiar estuve dos semanas parado y ahora dos semanas de vacaciones en el Caribe con internet mínimo y sin ordenador. Pero sigo con interés en el proyecto y quiero rematarlo cuando vuelva a España.

El 6809 que uso en la versión de MiST si que cabe en el Zx-uno. Asi que esa parte parece que será fácil. Si alguien quiere probar a pasar ya la parte de vídeo del core debería ser posible. Si no, cuando tenga el sonido listo me paso a montar el core de Ghosts’n Goblins completo.



Enviado desde mi iPhone utilizando Tapatalk

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

Re: KCPSM6 PicoBlaze: ¡Soft cores al poder!

Mensaje por Subcritical » 26 Abr 2023, 18:31

Este hilo siempre me gusto en exceso.
El core de PC-XT hace esto mismo usa un microcódigo para crear el core más exacto que existe en fpga en el mundo de las implementaciones X86, y una de las fpgas agraciadas de tener el mismo es el ZXUNO.

Enlace en el mismo foro de ZX-UNO, hacer microcódigo es el camino:
https://www.zxuno.com/forum/viewtopic.php?f=56&t=936

Tal vez el implementar cpus con microcódigo no sea no hacer hardware sino todo lo contrario.
http://www.microcorelabs.com/home.html

En cuanto a tener un amiga en una SPARTAN 6 XC6SLX9, es también posible incluso sin recurrir a crear un 68K con microcódigo.
La estrategia del DIY586 fue eliminar el OSD y parchear las roms del kickstart para usar mediante un driver nuevo el SD por SPI de forma nativa.
Otra vez escribir un driver en el sistema operativo hizo posible que en una FPGA pequeña entre un core grande, también aloja la Kickstart parcheada para el disco duro SD en la SPI rom.
phpBB [media]


Hay otra estrategia interesante que yo he visto en un core de PC y otros cores de los inicios en las placas de Terasic DE1. Alojar las roms en zonas relativas o absolutas de la memoria spi, en el caso de las primeras Terasic siempre eran flash paralelas, en vez de tener roms en bram como muchos cores hacen usar la rom spi que tiene el ZXUNO.
Aqui se vé el ZET de zeus usando la spi como memoria rom en este caso la usa de forma relativa y es Quartus II, pero ISE 14.7 puede alojar contenidos en la flash, y liberaría tanta tanta Bram en tantos cores que merece la pena tener al ZET de Zeus Marmolejo en consideración.
http://www.forofpga.es/viewtopic.php?f=20&t=350

Puede que en vez de alojar muchos cores en la rom spi del zxuno, sería lógico abrir más espacio para roms de otros retrosistemas.

Yo hago la pregunta sobre otra vía que voy a intentar; que las cpus que creen el microcódigo se añadan de forma externa, me aclaro... tener un bus estandarizado y muy difundido como el de una Raspberry pi y añadir dichas cpus; a partir de la PI 2, este modelo de SBC dispone de 4 cpus que superan 1Ghz de forma holgada, he visto recientemente que con una faja ide, bien colocadas las señales, puedo llegar a transmitir señales por los 40 hilos a alta frecuencia, y planteo transformar el bus del ZX-UNO en un bus de pi, para entre otras cosas poder conectarle la misma pi mediante una faja IDE FAST ATA.

En tiempos no tiene que ser muy traumático dado que he visto implementaciones baremetal en la PI2 que duran 4 Segundos, en realidad yo busco los cores híbridos donde una cpu se implemente con otra, y cuando se mira externamente los circuitos sin obsesionarse en la implementación interna, han empezado a ser tolerantes de las implementaciones híbridas.

Las implementaciones híbridas existen en los procesadores actuales ARM/AMD/INTEL en sus respectivas familias, en Intel sabemos que incluso llevan un sistema operativo MINIX en su interior:

https://www.zdnet.com/article/minixs-cr ... -using-it/
phpBB [media]



Al parecer ARM integra otro microkernel y AMD otro... El software es mucho más flexible incluso que una fpga...

Los primeros que están impresionados con los rendimientos de afrontar la necesidad de potencia con su sistema retro, son los usuarios de AMIGA o Minimig 1.8, que disponen de PiSTORM.

Además de añadir que el ZX-UNO tiene mucha vida por delante. Al disponer de 30 señales en su bus se puede incluso plantear un bus PI.

Imagen

Responder