FPGA vs emuladores

Si por algo se caracteriza el Spectrum es por su gran variedad de periféricos (clásicos y modernos)

Moderador: Sir Cilve Sinclair

sromero
Nonamed
Mensajes: 1221
Registrado: Mar Abr 17, 2007 12:35 pm
Ubicación: Valencia
Contactar:

Re: FPGA vs emuladores

Mensaje por sromero » Jue Feb 13, 2014 1:24 pm

Por cierto, os dejo esta URL sobre lo que sería emular por software el hardware de una SNES, donde se hace referencia a los "conceptos" que decía yo de "emular al 100% las imperfecciones del hardware" gracias a emular el comportamiento a nivel eléctrico (no de "caja negra", como el ZNES):

3GHz quest to build a perfect SNES emulator

(abajo de la página hay enlaces para las partes 2 y 3 del artículo, que es largo).
NoP / Compiler

Avatar de Usuario
GLAURUNG
Jack The Nipper
Mensajes: 195
Registrado: Lun Oct 14, 2013 7:41 am

Re: FPGA vs emuladores

Mensaje por GLAURUNG » Jue Feb 13, 2014 1:39 pm

Pues un emulador son también datos que le estás metiendo a unos chips, así que de una forma u otra el camino es más o menos el mismo, solo cambia el número de elementos participantes en un mismo resultado :D
Lo bueno es que se preserve, mayormente :D
Descárgate gratis GLAUZONE, un juego diferente https://drive.google.com/file/d/0BykJPZ ... sp=sharing
Imagen

Avatar de Usuario
Hark0
Freddy Hardest
Mensajes: 545
Registrado: Mar Nov 13, 2012 12:42 pm
Ubicación: Cornella de Llobregat - Barcelona
Contactar:

Re: FPGA vs emuladores

Mensaje por Hark0 » Jue Feb 13, 2014 1:44 pm

sromero escribió:Por cierto, os dejo esta URL sobre lo que sería emular por software el hardware de una SNES, donde se hace referencia a los "conceptos" que decía yo de "emular al 100% las imperfecciones del hardware" gracias a emular el comportamiento a nivel eléctrico (no de "caja negra", como el ZNES):

3GHz quest to build a perfect SNES emulator

(abajo de la página hay enlaces para las partes 2 y 3 del artículo, que es largo).



En esto que comentas eighty8 se sale por sus efectos de video (y yo que lo pongo con doble "halo" o sombra como mi vieja tv Philips de valvulas) :mrgreen:
litiopixel.blogspot.com - Desarrollo videojuegos Indie · Pixel-Art · Retroinformática · Electrónica

Avatar de Usuario
antoniovillena
Nonamed
Mensajes: 1164
Registrado: Dom Ene 09, 2011 8:55 am

Re: FPGA vs emuladores

Mensaje por antoniovillena » Jue Feb 13, 2014 1:51 pm

GLAURUNG escribió:Pues un emulador son también datos que le estás metiendo a unos chips, así que de una forma u otra el camino es más o menos el mismo, solo cambia el número de elementos participantes en un mismo resultado :D
Lo bueno es que se preserve, mayormente :D


Y en la máquina real también son datos que estás metiendo a unos chips. Es más, la ULA del Spectrum podemos considerar que es una recreación de un prototipo que hizo Richard Altwasser. Por tanto podemos decir que el spectrum emula un circuito. Siendo muy puristas deberíamos reemplazar las placas de los Spectrums por Harlequines, puesto que estos segundos son más fieles al diseño original. :twisted:

Lo que quiero decir es que no hay una línea que delimite claramente donde empieza una cosa y acaba en otra. Y circuitos programables hay de muchos tipos, desde una EPROM, pasando por una PAL, hasta la propia ULA del spectrum. Digamos que la ULA es una especie de FPGA pero muy costosa de diseñar y que requiere un volumen alto de chips para ser rentable.
Imagen

Avatar de Usuario
Hark0
Freddy Hardest
Mensajes: 545
Registrado: Mar Nov 13, 2012 12:42 pm
Ubicación: Cornella de Llobregat - Barcelona
Contactar:

Re: FPGA vs emuladores

Mensaje por Hark0 » Jue Feb 13, 2014 1:56 pm

Y un chip no es una "emulador" de interruptores? :mrgreen:

o si me apuras de "velas"... encendido/apagado...encendido/apagado...encendido/apagado...encendido/apagado... :mrgreen:
litiopixel.blogspot.com - Desarrollo videojuegos Indie · Pixel-Art · Retroinformática · Electrónica

Avatar de Usuario
cheveron
Manic Miner
Mensajes: 280
Registrado: Lun Jun 28, 2010 6:14 pm
Ubicación: Londres
Contactar:

Re: FPGA vs emuladores

Mensaje por cheveron » Vie Feb 14, 2014 12:32 pm

FPGAs are not emulators. But they also aren't 100% the same as the original hardware. They're better. The original hardware behaves differently depending on how long the machine has been switched on and is incapable of putting out a real PAL signal that is can be displayed by modern LCD televisions.
«Dime con quién andas, y te diré quién eres» — Cervantes

jzx
Nonamed
Mensajes: 1047
Registrado: Lun Feb 08, 2010 8:19 pm

Re: FPGA vs emuladores

Mensaje por jzx » Jue Sep 29, 2016 7:58 pm

cheveron escribió:They're better. The original hardware behaves differently depending on how long the machine has been switched on and is incapable of putting out a real PAL signal that is can be displayed by modern LCD televisions.
Si son mejores ... no emulan bien. Un buen emulador / clon tiene que emular también los bugs o rarezas. Por ejemplo, dices que la señal no es pal 100%, pero para serlo tendría que tener 1/2 línea más por cuadro, las interrupciones irían un poco más lentas (entonces sí a 50 Hz) y seguro que en algún programa se notaba, o incluso no funcionaría. O el problema del bus flotante, que Amstrad "arrregló" en los 128 grises y no funcionaba con algunos juegos ...
Hark0 escribió:En esto que comentas eighty8 se sale por sus efectos de video (y yo que lo pongo con doble "halo" o sombra como mi vieja tv Philips de valvulas) :mrgreen:
Realmente es muy bueno y realista, pero ... me gusta más que se vea "bien", como si la tele de la época hubiera sido buena :lol: .

Avatar de Usuario
mcleod_ideafix
Johnny Jones
Mensajes: 3985
Registrado: Vie Sep 21, 2007 1:26 am
Ubicación: Jerez de la Frontera
Contactar:

Re: FPGA vs emuladores

Mensaje por mcleod_ideafix » Lun Nov 07, 2016 8:55 am

jzx escribió:Si son mejores ... no emulan bien. Un buen emulador / clon tiene que emular también los bugs o rarezas. Por ejemplo, dices que la señal no es pal 100%, pero para serlo tendría que tener 1/2 línea más por cuadro, las interrupciones irían un poco más lentas (entonces sí a 50 Hz) y seguro que en algún programa se notaba, o incluso no funcionaría. O el problema del bus flotante, que Amstrad "arrregló" en los 128 grises y no funcionaba con algunos juegos ...
Eso es si quieres una señal PAL entrelazada. También es legal una señal PAL progresiva. La del Spectrum no es 100% legal porque el sincronismo vertical es una señal plana, cuando el estándar PAL requiere que sea una señal "serrada" con pulsos de ecualización y todo eso. En ZX-UNO (y en mi primer reemplazo de ULA), cambié la forma de la señal de sincronismo para que fuera PAL progresiva legal.

Una pregunta: ¿consideras que el Harlequin es un buen clon del Spectrum?
Web: ZX Projects | Twitter: @zxprojects

jzx
Nonamed
Mensajes: 1047
Registrado: Lun Feb 08, 2010 8:19 pm

Re: FPGA vs emuladores

Mensaje por jzx » Lun Nov 07, 2016 8:57 pm

Es a lo que me refería con lo de 100%. Ahora no te puedo asegurar, pero creo que para que sea 100% sí que tiene que ser entrelazada. Y aunque no lo sea tendría que tener unos pulsos llamados de preecualización o algo así. Y la portadora de color sincronizada con la base de tiempos (para evitar el dot crawl). Lo que quería decir es que una señal 100% es muy dificil y cara de crear, en las emisoras de tv se hacía porque para eso está el estándar, pero para un spectrum no se puede pedir. Y luego el señor que hace las teles modernas aprovecha no se qué particularidad para ahorrarse algo y no es compatible. :lol: .
Yo he visto alguna tele, lcd, que se veía normalmente con emisoras, con spectrum y con otras cosas, pero con una NES los colores iban cambiado de derecha a izquierda hasta invertirse ... y en otras teles no. :?:

El comentario iba por lo de que los clones a veces son mejores que el real, pero entonces no son tan "clónicos".
mcleod_ideafix escribió:Una pregunta: ¿consideras que el Harlequin es un buen clon del Spectrum?
Creo que sí, aunque no soy muy purista. Pero el mío da una señal pal totalmente incorrecta, porque no tiene el codificador. :mrgreen: (sólo RGB)

Avatar de Usuario
Nat
Herbert
Mensajes: 95
Registrado: Lun Mar 25, 2019 9:31 am

Re: FPGA vs emuladores

Mensaje por Nat » Mar Jun 11, 2019 11:01 am

Me disculpáis que suba un tema tan antiguo pero me quedan algunas dudas que, si os apetece, podemos debatir.
radastan escribió:La pega, por lo que no son 100% perfectos, es que es imposible emular de esta forma un hardware real. Las puertas lógicas tienen tiempos de propagación, los datos no llegan de forma simultánea a todos lados (en un emulador si)
No entiendo que se puede afirmar tan categóricamente que es imposible, los tiempos de propagación, por tomarlos como ejemplo, se pueden emular. Dependerá si el enfoque de la emulación es a nivel de componentes o del dispositivo a emular y tanto con un enfoque o con otro, los tiempos de propagación no son un problema insalvable.
radastan escribió:Una FPGA no es un emulador, no hay sistema operativo. Las siglas FPGA vienen de "Field Programmable Gate Array", es decir "Campo matricial de puertas programables". Contiene bloques lógicos (puertas lógicas) cuya interconexión y funcionalidad puede ser configurada.

Esta lógica programable no emula un circuito, lo reproduce.
Tampoco lo acabo de comprender. Una FPGA es un conjunto de puertas programables, el resultado de su funcionamiento depende de la interpretación que el usuario realice sobre el dispositivo al que emula, ¿cómo un campo matricial de puertas programables reproduce el comportamiento físico de una resistencia, un inductor o un condensador? ¿qué tipo de condensador, de qué material? La física de estos materiales es compleja y mediante software o mediante FPGA cualquier resultado solo va a ser una aproximación, de nuevo el resultado de una interpretación personal en base a modelos y simplificaciones propias. En este debate es raro que estemos debatiendo sobre el caso de un diseño lógico puro, una combinación o secuencia más o menos sofisticada de puertas lógicas, algo que sí se resuelve con una FPGA.
radastan escribió:Evidentemente para poder clonar un hardware debemos conocerlo al 100%,
Que no es el caso de microprocesadores como el Z80 o los 65xx y derivados para los que conocemos el juego de instrucciones pero no el "firmware", las microinstrucciones, si puedo abusar de estos términos, que determinan su comportamiento interno real. Más aún cuando algunos procesadores eran diseñados según los criterios de cada fabricante basándose solo y exclusivamente en la documentación publicada, es decir, el juego de instrucciones y poco más.
radastan escribió:QUÉ PUEDE HACER UNA FPGA QUE NO PUEDA HACER UN EMULADOR

Pues muy simple: funcionar exactamente igual.
Pero creo que no es el caso. Por poner un ejemplo para apoyar mi tesis, en el caso del ZX Spectrum ¿el comportamiento interno y externo es idéntico al 100%? ¿es posible diseñar un test para detectar si es un Spectrum, un emulador software, una FPGA?
Saludos,
Nat

Avatar de Usuario
cheveron
Manic Miner
Mensajes: 280
Registrado: Lun Jun 28, 2010 6:14 pm
Ubicación: Londres
Contactar:

Re: FPGA vs emuladores

Mensaje por cheveron » Dom Jul 21, 2019 10:15 pm

Nat escribió:Me disculpáis que suba un tema tan antiguo pero me quedan algunas dudas que, si os apetece, podemos debatir.
And I apologize for using English, but translation is still unreliable.
radastan escribió:The paste, so they are not 100% perfect, is that it is impossible to emulate in this way a real hardware. Logical gates have propagation times, data does not arrive simultaneously everywhere (in an emulator if)
I do not understand that it can be stated so categorically that it is impossible, the times of propagation, to take them as an example, can be emulated. It will depend on whether the focus of the emulation is at the level of components or the device to be emulated and both with one approach or with another, the propagation times are not an insurmountable problem.
It is possible to perfectly recreate the behavior of a Spectrum in an FPGA, with some additional analog components. However, to do so you end up throwing away most of the resources of the FPGA in an effort to achieve perfect timing accuracy. However, I don't think it would be possible to recreate the transition from cold to hot that affects things on the original machine like the value of the color blue and timing delays. These are a result of the thermal properties of the ULA.

To put it into perspective. The ZX Uno recreates the Spectrum sufficiently well to run almost all the software. And it can run at up to 28MHz in the latest core. By comparison, if you got rid of timing compatibility the Uno could run Z80 instructions at the equivalent of over 200MHz. That's why McLeod and I are working on a core for the Uno that exploits its full potential.
radastan escribió:An FPGA is not an emulator, there is no operating system. FPGA acronyms come from "Field Programmable Gate Array", that is to say "Matrix field of programmable doors". It contains logical blocks (logic gates) whose interconnection and functionality can be configured.

This programmable logic does not emulate a circuit, it reproduces it.
I do not understand it either. An FPGA is a set of programmable doors, the result of its operation depends on the interpretation that the user makes on the device it emulates, how a matrix field of programmable doors reproduces the physical behavior of a resistor, an inductor or a capacitor ? What kind of capacitor, what material? The physics of these materials is complex and through software or FPGA any result will only be an approximation, again the result of a personal interpretation based on models and own simplifications. In this debate it is rare that we are debating the case of a pure logical design, a combination or more or less sophisticated sequence of logic gates, something that is solved with an FPGA.
You are right that while the inputs and outputs are similar, the path through the logic gates may not be identical. The T80 (Z80) core has a very different structure from an actual Z80. However there are FPGA implementations that are closer to the physical design of the original (A80). Then you have things like the thermal properties of the ULA that even emulators only implement as a hot/cold switch (they call it early or late tinings).
radastan escribió:Evidently to be able to clone a hardware we must know it 100%,
That is not the case of microprocessors like the Z80 or the 65xx and derivatives for which we know the set of instructions but not the "firmware", the microinstructions, if I can abuse these terms, which determine their real internal behavior. Even more so when some processors were designed according to the criteria of each manufacturer based solely and exclusively on the published documentation, that is, the set of instructions and little else.
The Z80 microinstructions are pretty well known at this point. Like the ALU being 4-bit and so on.
radastan escribió:WHAT CAN ANY FPGA DO THAT CAN NOT MAKE AN EMULATOR?

Well, very simple: work exactly the same.
But I think that is not the case. To give an example to support my thesis, in the case of the ZX Spectrum, the internal and external behavior is identical to 100%? Is it possible to design a test to detect if it is a Spectrum, a software emulator, an FPGA?
Depends on the machine. It should be possible to do a 100% accurate reproduction in either FPGA or emulation of the ASIC models (+2B / +3). But 100% accuracy wastes a lot of FPGA gates and uses a lot of resources of a host emulation. Doing a 100% accurate reproduction of the ULA models in FPGA is not possible because of the thermal characteristics. You could do it in emulation, but to date no-one has.
«Dime con quién andas, y te diré quién eres» — Cervantes

Responder

¿Quién está conectado?

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