Debate RW. ¿ Qué es para ti una FPGA ?

Avatar de Usuario
Chema
Mensajes: 2218
Registrado: 21 Jun 2012 20:13
Ubicación: Gijón
Agradecido : 1755 veces
Agradecimiento recibido: 574 veces
Contactar:

Re: Debate RW. ¿ Qué es para ti una FPGA ?

Mensajepor Chema » 31 Ene 2019 19:39

Último mensaje de la página anterior:

kikems escribió:En resumen , si la propia Commodore existiera podría recrear o sintetizar en un FPGA un C64 o un Amiga 100% compatible, por poner un ejemplo, pero como todo se hacer por ingeniería inversa o interpretación, el resultado final ( en el mejor de los casos ) no difiere mucho de un buen emulador.

Lo que si hemos visto en estos últimos años es que los programadores están consiguiendo buenas compatibilidades en FPGA en menos tiempo de lo que han tardado los emuladores en conseguir un buen nivel.


+1 kikems. Aunque es cierto que el comportamiento de estos sistemas basados en FPGA y múltiples cores se parece mucho más al de la máquina real, cuando están bien hechos. En todo caso creo que el objetivo de hacerlo en un FPGA es siempre conseguir un circuito (o conjunto de ellos) lo más fiel posible al circuito hardware original , mientras que en un emulador por software intentas más programar el comportamiento del hardware original, no en emular su circuito.

No sé si me explico... esta gente intenta sintetizar mediante las puertas de la FPGA, la CPU, la ULA, el AY y toda la circuitería adicional (memoria incluida) para que el conjunto se comporte como un spectrum. Más fiel al hardware original es difícil...

Otra cosa, como dice explorer, es si merece la pena el precio y perder la comodidad de un emulador por software de los de toda la vida. Para algunos fijo que sí, ya digo. El otro día en el directo de la cripta a mí me convencieron de sus ventajas -grin

Avatar de Usuario
shanshe
Mensajes: 25
Registrado: 17 Feb 2018 19:01
Agradecimiento recibido: 1 vez

Re: Debate RW. ¿ Qué es para ti una FPGA ?

Mensajepor shanshe » 31 Ene 2019 20:11

kikems escribió:No sé, desde mi ignorancia pero aplicando el sentido común, creo que el FPGA puede recrear el comportamiento exacto de una máquina real, siempre que dispongas de los planos y diseños de la circuitería y de los chips o en su defecto un decapado completo de todos los chipset.

Kikems, tu sentido común llega a acertar de pleno desde mi punto de vista.
Pongo un ejemplo muy tonto, que me ha pasado, a ver si a alguien le aclara un poco más. Imaginaos que queremos replicar exactamente una PAL16V8 con una nueva ATF16V8 (es decir, casi el mismo bicho pero más actual), pero no tenemos el fuente ni el binario de la PAL (y supongamos que tampoco pudiéramos obtenerlo de ninguna forma). Si se estudia lo que hace la PAL16V8 externamente, tú puedes deducir unas ecuaciones que puedes implementar en la ATF16V8. Mirando el comportamiento, la PAL y la ATF se parecerán puesto que lo hemos hecho de esa forma... Y si somos muy muy muy precisos, podríamos reimplementar todas las ecuaciones con exactitud, pero otra cosa bien distinta es que la ATF sea una réplica de la PAL.
Para que sea una réplica, todas las puertas lógicas deberían ser exactamente iguales, y esto es casi imposible (es mas, hasta teniendo el mismo fuente de la PAL, no se podría asegurar que el compilador para la ATF te vaya a dar exactamente el mismo binario).
En definitiva, creo que las FPGAs producen emuladores (o la palabra que nos convenga) más cercanos al feeling real por el hecho de hacer las cosas en paralelo, y no estar atado a un tiempo de ejecución mínimo para que no haya skips de Frame Rate, ni lags...
Dicho todo esto, prefiero una MIST a un emulador en un ordenador.

Avatar de Usuario
explorer
Mensajes: 302
Registrado: 10 Ene 2016 18:43
Ubicación: Valladolid, España
Agradecido : 7 veces
Agradecimiento recibido: 274 veces
Contactar:

Re: Debate RW. ¿ Qué es para ti una FPGA ?

Mensajepor explorer » 31 Ene 2019 20:14

En mi mensaje no puse ejemplos de la ventaja de una emulación software sobre la emulación hardware. Aquí va uno.

Mientras que la implementación de la circuitería en el FPGA te da una representación muy fiel, o exacta, a la máquina real, en algunas ocasiones tu NO quieres una representación real de esa máquina:

  • no deseas hacer las esperas de cargas en disquete o casete que sufrimos hace 30 años. Lo que quieres es que la imagen del juego pase a la memoria del sistema lo más rápido posible.
  • hay partes del programa (o incluso todo el programa) que deseas que corra a la máxima velocidad posible. Son esas partes que en los juegos llamaban "intermission", que eran pequeñas animaciones para reducir el estrés del jugador, y así alargar la experiencia de juego. En el PacMan la podéis ver cada dos pantallas. Bueno, pues en un emulador como el MAME podéis pulsar la tecla "Avanzar Página" en el teclado y hará que la emulación pase a la máxima velocidad posible, saltando esa pantalla. O quizás quieras hacer un renderizado 3D, o una compilación de un programa, o simplemente copiar archivos de un sitio a otro... Operaciones que deseas hacer con la velocidad de hoy y no con la de hace 30 años.
  • una emulación software permite "modificar" el hardware original, haciendo más atractivo el trabajar con la máquina. Por ejemplo, con el emulador Altirra, con el "enhanced text mode" es posible trabajar en modo texto con un tamaño de pantalla más grande que el original, algo ideal para quienes quieren programar en el sistema antiguo, pero con la facilidad de tener más líneas y columnas a la vista, aumentando la productividad.
    Imagen
Repito que esto depende del uso y necesidades de cada uno.

Avatar de Usuario
Hodor
Mensajes: 1034
Registrado: 19 May 2015 10:55
Ubicación: A 900km de Oviedo
Agradecido : 140 veces
Agradecimiento recibido: 172 veces

Re: Debate RW. ¿ Qué es para ti una FPGA ?

Mensajepor Hodor » 31 Ene 2019 20:54

Chema escribió:
kikems escribió:En resumen , si la propia Commodore existiera podría recrear o sintetizar en un FPGA un C64 o un Amiga 100% compatible, por poner un ejemplo, pero como todo se hacer por ingeniería inversa o interpretación, el resultado final ( en el mejor de los casos ) no difiere mucho de un buen emulador.

Lo que si hemos visto en estos últimos años es que los programadores están consiguiendo buenas compatibilidades en FPGA en menos tiempo de lo que han tardado los emuladores en conseguir un buen nivel.


+1 kikems. Aunque es cierto que el comportamiento de estos sistemas basados en FPGA y múltiples cores se parece mucho más al de la máquina real, cuando están bien hechos. En todo caso creo que el objetivo de hacerlo en un FPGA es siempre conseguir un circuito (o conjunto de ellos) lo más fiel posible al circuito hardware original , mientras que en un emulador por software intentas más programar el comportamiento del hardware original, no en emular su circuito.

[...]


Desconozco hasta qué punto esto es así con los emuladores más serios. Por ejemplo, el proyecto MAME lleva ya tiempo modernizando su código de forma que lo ha separado por dispositivos permitiendo su modularización y tratando de evitar el acoplamiento lo máximo posible. Es decir y por poner un simple ejemplo: cuando se ha decapado y dumpeado el contenido de un chip de protección -mismamente con algunos juegos de la española Gaelco o recientemente con Taito- se ha creado un código propio e individualizado para él de forma que se convierta en un dispositivo a enchufar en aquel hardware que lo necesite. Y como lo anterior puedes encontrarte con chips de sonido, cpus o controladores de E/S entre otros.

Es decir, a nivel de software también se puede conseguir al menos ese ensamblado de componentes replicando la máquina original y sus periféricos.

Un saludo.

Avatar de Usuario
Chema
Mensajes: 2218
Registrado: 21 Jun 2012 20:13
Ubicación: Gijón
Agradecido : 1755 veces
Agradecimiento recibido: 574 veces
Contactar:

Re: Debate RW. ¿ Qué es para ti una FPGA ?

Mensajepor Chema » 31 Ene 2019 21:26

Tienes toda la razón, Hodor. Me refería, en todo caso, a llegar al nivel de puertas lógicas dentro del dispositivo o integrado, no tanto al comportamiento externo del mismo. Pero lo que apuntas es cierto.

Avatar de Usuario
Drtad
Mensajes: 725
Registrado: 19 Ago 2017 11:21
Agradecido : 72 veces
Agradecimiento recibido: 131 veces

Re: Debate RW. ¿ Qué es para ti una FPGA ?

Mensajepor Drtad » 01 Feb 2019 00:17

Efectivamente como dice Explorer esa es una de las ventajas de la aceleración en un emulador de ordenador, pero a día de hoy en las fpga también se puede hacer eso, otro tema es la réplica exacta de los integrados de la.maquina a replicar, hay máquinas como el spectrum que si son exactas y otras como el oric, lo siento Chema, o los chips dedicados de amiga o el Atari Falcon o los chips dedicados de algunos cartuchos de sega o antes que no se pueden replicar y se hacen mediante estimación, por medio de tecnología inversa o basndose en los emuladores por eso siempre habrá máquinas que aunque en fpga vayan bien en emulador irán mejor pero eso es por que faltan esos chips dedicados o la ecuaciones exactas de los GAL o...... Lo dicho hoy por hoy en fpga y gracias al profe Miguel Ángel Rodríguez ala mcleos ideafix tenemos un clon perfecto del specrrum
A.N.O.N.I.M.O.X.: Artificial Networked Organism Normally for Intensive Mathematics and Online Xenocide

Avatar de Usuario
ron
Mensajes: 18406
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 1578 veces
Agradecimiento recibido: 1316 veces

Re: Debate RW. ¿ Qué es para ti una FPGA ?

Mensajepor ron » 01 Feb 2019 07:40

Añado un punto más al debate La portabilidad. Las FPGA funcionan sin dependencias.

Ejemplo. Te vas de fin de semana a la casa del pueblo. Te la llevas y listo.

A no ser que tengas el portatil con el MESS y un puñado de emus... es un punto

Hay comentarios y puntos de vista excelentes, gracias por las respuestas, estoy convencido que queda mucho tema por desarrollar y exponer. En cuanto tenga un rato me pongo al tema.

chernandezba
Mensajes: 310
Registrado: 05 May 2015 18:27
Agradecido : 6 veces
Agradecimiento recibido: 138 veces

Re: Debate RW. ¿ Qué es para ti una FPGA ?

Mensajepor chernandezba » 01 Feb 2019 08:17

Jinks escribió:Pues menudo chasco. Yo que pensaba que todo lo que se hace para FPGAs son réplicas... y ahora me entero de que no, que no deja de ser una emulación de los Z80, 68000... De verdad que con la MiST voy de chasco en chasco, aunque la verdad es que si esto no me lo contáis no me hubiera enterado.


Casi haciendo offtopic... ;) te recomiendo que eches un vistazo a ZX EVO:
http://nedopc.com/zxevo/zxevo_eng.php

Tecnología rusa con un Z80 real (con otros chips de apoyo), no es FPGA en la parte de la cpu. Hay demos y juegos bastante impresionantes para este sistema:
http://prods.tslabs.info/
----

ZEsarUX
ZX Second-Emulator And Released for UniX
https://github.com/chernandezba/zesarux

masteries
Mensajes: 248
Registrado: 30 May 2018 11:33
Ubicación: Espaciando
Agradecido : 21 veces
Agradecimiento recibido: 75 veces

Re: Debate RW. ¿ Qué es para ti una FPGA ?

Mensajepor masteries » 01 Feb 2019 08:33

Ahora que lo pienso, la verdadera utilidad, la buena de verdad que se le puede encontrar a una FPGA no es ya implementar una copia más o menos fiel de una máquina... sino proveernos de circuitos equivalentes para aquellos chips de los Amiga, Falcon y otros que se dañan y se torna muy difícil o caro conseguir un recambio.

Estoy pensando en un FAT agnus en forma de FPGA, con el mismo encapsulado, listo para transplantarlo a un Amiga al que se la ha dañado; puede que el circuito implementado en la FPGA no sea el mismo, pues creo que desconocemos cómo es el FAT agnus por dentro. Pero podría ser un uso igualmente viable,
La maestría interior...

Se venden trapdoor de 512 KB para Amiga 500: viewtopic.php?f=71&t=200034052

Se venden trapdoor de 1 MB para Amiga 500 Plus: viewtopic.php?f=71&t=200034115

Avatar de Usuario
TitoxUnix
Mensajes: 471
Registrado: 14 Oct 2016 17:51
Ubicación: Entre la tele y el sofá
Agradecido : 40 veces
Agradecimiento recibido: 161 veces

Re: Debate RW. ¿ Qué es para ti una FPGA ?

Mensajepor TitoxUnix » 01 Feb 2019 18:04

Otro punto que veo en contra a las FPGAs es que no son equipos para cualquiera. No son un echufar y listo (o poco más) y además la información suele ser justita, dispersa y algo difusa.

Con esta última movida me estoy pensando quedame una Mistica o Mister para los viajes, porque la que me sufre es de un pueblo que está a 130Km de casa y como en poco más de una hora se llega me toca ir demasiado... así que he desenpolvado el ZX-UNO para ver como iba y como Speccy va sola, ya viene todo preparado pero cuando se trata de otros cores la cosa no me parece -para un neofito en el tema- nada fácil. El manual está completamente desfasado ya que tiene cerca de 3 años y sólo habla de actualizar o añadir cores mediante carga por el EAR con un TAP. En cambio dándo vueltas por el foro me he enterado de que también se añaden desde la SD.

Dado que la mayoría son productos abiertos sin ánimo de lucro (o sin mucho ánimo de lucro) es normal que pase ya que la gente se dedica a desarrolar lo que le gusta y no lo que un mercado pide, además de que el fabricante no suele ser el productor de cores, pero para gente normalita como yo se me hace difícil seguir las novedades principalmente porque tampoco es que quiera enterarme de todo ya que la quiero para utilizar su emulación (o sus réplicas -507 ).

Sí es cierto que ZX-UNO tiene un foro dedicado con subforos para cada core (menos mal) pero la información de cada core me parece escasa. No me queda claro en que punto del desarrollo están, osea que si le falta esto o aquello o si ya se puede dar por casi finalizado. Es dificil saber si funcionan compartiendo tarjeta SD o necesitan una propia...

Al final he encontrado las FAQ de Uto donde explica lo básico de bastantes cores pero la última actualización es de hace un año. Me imagino que en la Mist/Mistica/Mister aún debe ser más complicado con gente publicando cosas en foros/páginas distintas, twitter, facebook, etc.

Todo esto me hace pensar que las FPGAs son para quienes les gusta cacharrear con ellas, estar cambiando de core cada dos por tres, comprobar compatibilidades, etc. etc. Pero para desarrollar o echarse una partidillas ponerlas en marcha parece algo demasiado laborioso.


Volver a “Emulaciones software, FPGA y otras soluciones”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado