FPGA: ¿ Emulación, Simulación, Réplica o WTF ?

Avatar de Usuario
Jinks
Mensajes: 1588
Registrado: 09 Oct 2013 16:47
Agradecido : 122 veces
Agradecimiento recibido: 166 veces
Contactar:

Re: FPGA: ¿ Emulación, Simulación, Réplica o WTF ?

Mensajepor Jinks » 21 Jun 2019 23:37

Último mensaje de la página anterior:

Supongo que entonces la gracia de la FPGA es que, aunque unos chips sean reimplementados y otros chips sean emulados, cada chip funciona en paralelo con todos los demás. Simplemente por cómo funciona la FPGA.

Mientras que ese mismo conjunto de chips, en un emulador software, van funcionando por turnos y el emulador, además de emularlos, tendrá que ir gestionando cuánto tiempo le va dando a cada uno (como si el emulador fuese un S.O. y cada chip un proceso). Lo cual puede que sea más complejo que emular algunos de los chips.

DRomero
Mensajes: 161
Registrado: 06 May 2011 22:47
Agradecido : 1 vez
Agradecimiento recibido: 10 veces

Re: FPGA: ¿ Emulación, Simulación, Réplica o WTF ?

Mensajepor DRomero » 22 Jun 2019 11:37

Es la eterna discusión que los no ingenieros os empeñais en no abandonar. Lo cierto es que no tiene sentido comparar un FPGA con un emulador software. Es como comparar manzanas y naranjas.

Aquí tenéis un sumador realizado únicamente con puertas lógicas: http://www.circuitstoday.com/half-adder-and-full-adder

Ahora solo tenéis que ver la lógica utilizada y sus recursos. Mirad que solución tan elegante sencilla ..

Ahora haced lo mismo mediante emulación software... vais a necesitar de una CPU con todo su chipset, ram, sistema operativo, el lenguaje de programación elegido y el algoritmo a utilizar.

Si que es cierto que para el usuario final el resultado es el mismo, pero aquí no hablamos de resultados finales, aquí estáis equiparando emulación software por implementación hardware de algoritmos. Es que no tiene sentido compararlos .

En este caso en particular del sumador, es muuuuuucho más fácil implementarlo en hardware y utiliza infinitamente menos recursos que la emulación software.

Ahora extrapolar esto a niveles mayores de complejidad ... Si se tiene la implementación original del circuito a implementar, este seguirá siendo muchísimo más fácil implementarlo en hardware que en software, y seguirá siendo muchísimo más efectivo en recursos que cualquier emulación software.

Otro ejemplo...

El algoritmo para las multiplicaciones de Karatsuba, claro, podemos implementarlo a nivel software, pero que tal si en vez de eso habitamos a nuestra CPU con extensiones hardware para realizar estas multiplicaciones?

El resultado final será el mismo? Quizás, pero qué será más eficiente y rápido?

Es lo mismo emular un decodificador mpeg por software o que nuestra gráfica nos permita acelerar estas operaciones directamente?

Emulación de funciones trigonométricas vía software o aceleración hardware vía directx?

Que tal el coprocesador aritmético del 8086/88? Habían programas que simulaban operaciones en punto flotante, pero era lo mismo un programa a tener el chip real?

Un FPGA no deja de ser un chip real, de echo en la industria todos los chips se suelen prototipar en fpga antes de pasar al chip físico final.

Primero están los transistores, luego a partir de ellos se construyen las puertas lógicas, después tenéis las FPGA, después los chips Asic, después los sistemas operativos que los controlan, luego sus compiladores o interpretes, después los programas.

Que sí, que se puede hacer un sumador en Basic, y también se puede hacer con transistores. Entonces son los transistores emuladores? Emuladores de qué?

Quizás me hago pesao, pero es que no podéis comparar software con hardware, son dos cosas distintas.

De la única forma que se pueden comparar es que son formas distintas de abordar un mismo problema.

Con el software emulamos, hacemos una abstracción de los problemas, con hardware implementamos físicamente con transistores los algoritmos que resuelven estos problemas.

Y eso es lo que son las fpas, transistores reconfigurables.

Avatar de Usuario
Jinks
Mensajes: 1588
Registrado: 09 Oct 2013 16:47
Agradecido : 122 veces
Agradecimiento recibido: 166 veces
Contactar:

Re: FPGA: ¿ Emulación, Simulación, Réplica o WTF ?

Mensajepor Jinks » 22 Jun 2019 17:18

DRomero escribió:Es la eterna discusión que los no ingenieros os empeñais en no abandonar.

Creo que de los que estábamos hablando sobre ésto, no soy el único que sí es ingeniero.

Diferencia entre no haber discusión y sí haberla:

De los ejemplos que dices, el del coprocesador x87. Evidentemente, por emulación es más lento y además (para no enlentecer en exceso) menos preciso. Se podía llegar a la misma precisión, pero siendo todavía más lento. En ese caso, no hay discusión. Iba más rápido un 387 que cualquiera de sus emuladores corriendo en un 386.

Pero si tanto con una FPGA actual como por emulación en cualquier ordenador de hoy en día puedes conseguir el comportamiento de XXX (cualquier micro de 8 bits), con la misma precisión (aquí sería fidelidad) y misma velocidad que el original... Pues entonces habrá quien piense que tiene ventajas hacerlo con una FPGA y habrá quien piense que tiene ventajas hacerlo por simulación. Porque evidentemente, ambos tienen sus ventajas.

Por cierto, no he mencionado una de las cosas que me gustan de las FPGA: Puedo "jugar al Spectrum" con la potencia proporcionada con un cargador USB, mientras que por emulación necesitaría toda la potencia y refrigeración que consume mi PC.

Pero la simulación también tiene sus ventajas. Casi siempre permiten utilizar más variedad de formatos de carga, y muchas veces está la opción del debugger o inspección/modificación de lo que vamos ejecutando.

Edito: Incluso en el caso del 387 podía haber discusión: ¿Sabes lo que costaba un 387 en tiemposdel 386? Porque solo eso ya era un motivo para emularlo por software. Además, la discusión de este hilo no sería entre un 387 real o un emulador, sino entre una FPGA que implemente un 387 y un emulador de 387. Al parecer no hay esquemas fieles completos del coprocesador de un 486, no sé si los habrá de un 387.

muon
Mensajes: 261
Registrado: 03 Jul 2017 11:46
Ubicación: Madrid
Agradecido : 16 veces
Agradecimiento recibido: 52 veces

Re: FPGA: ¿ Emulación, Simulación, Réplica o WTF ?

Mensajepor muon » 22 Jun 2019 17:41

Jinks escribió:
Por cierto, no he mencionado una de las cosas que me gustan de las FPGA: Puedo "jugar al Spectrum" con la potencia proporcionada con un cargador USB, mientras que por emulación necesitaría toda la potencia y refrigeración que consume mi PC.



Y con un PC tambien... cogete un stick PC de Intel..https://www.amazon.es/Intel-BOXSTK1AW32 ... way&sr=8-1

DRomero
Mensajes: 161
Registrado: 06 May 2011 22:47
Agradecido : 1 vez
Agradecimiento recibido: 10 veces

Re: FPGA: ¿ Emulación, Simulación, Réplica o WTF ?

Mensajepor DRomero » 22 Jun 2019 23:16

Ya ya, si yo no niego las ventajas de la emulación, por supuesto que las tiene.

Peeero, técnicamente hablando una FPGA no emula, implementa un hardware, y no es que sea porque lo diga yo, es que así lo indican los libros de texto, y es lo que uno aprende cuando estudia estos temas en profundidad.

Y ya puestos a razonar, comentar y dar nuestras opiniones, que por supuesto todos tenemos derecho y me parece genial que se pueda hablar de esto, considero, a modo personal, porque no deja de ser mi opinión, que debemos ser estrictos y ceñirnos a lo técnico. Ya que el titulo del post nos pregunta si una FPGA es una emulación, simulación, réplica o WTF...

Quizás de cara al usuario final, la emulación sea igual que una FPGA, de eso se trata, pero es que realmente son dos cosas distintas, pero que muy distintas.

Y voy a poner un último ejemplo... tenemos una impresora 3D con la que nos construimos esa misma impresora en 3D. Las dos son iguales, el resultado final es el mismo. Ahora, la segunda es una emulación de la primera? Acaso será un WTF? XD A que no tiene sentido? Es una réplica verdad? Una implementación o reimplementacion. Pos ya está.

Con los FPGA pasa lo mismo, imaginaros que son impresoras 3D capaces de hacer replicas de otros chips. Creo que lo he dejado claro...

Es que sabéis, cuando escucho a alguien hablar de emuladores FPGA, pues es que no puedo evitarlo, siento la necesidad de aclarar que son dos cosas distintas, es como una herejía que no puedo dejar pasar por alto XD

Perdonadme por el tocho jeje. Un saludo.

Avatar de Usuario
minter
Mensajes: 2494
Registrado: 22 Jul 2014 18:51
Agradecido : 2314 veces
Agradecimiento recibido: 1023 veces

Re: FPGA: ¿ Emulación, Simulación, Réplica o WTF ?

Mensajepor minter » 23 Jun 2019 03:17

Imagen

Estoy con Dromero.

Esta foto es de Lorraine, el primer Amiga 1000.

Es emulación?

O simplemente un Amiga contruido con un tipo de componente electronicos?

Los custom chips son emulación o implementación?

Un custom y una FPGA no se diferencian mucho. Se sintetiza un circuito mucho mas grande en una unica pastilla, pero a efectos electronicos son practicamente funcionalmente iguales (que no a nivel electronico) . Cuando digo a nivel electronico, es a nivel de oblea, osea, silicio. Ahí ... No, no son iguales.
Pero a nivel lógico... de puertas... son iguales. (también dependerá de lo bien quw esté descripto el circuito)

y no puwdo explayarmr mas, que estoy con.movil.

Avatar de Usuario
Chema
Mensajes: 2237
Registrado: 21 Jun 2012 20:13
Ubicación: Gijón
Agradecido : 1816 veces
Agradecimiento recibido: 586 veces
Contactar:

Re: FPGA: ¿ Emulación, Simulación, Réplica o WTF ?

Mensajepor Chema » 23 Jun 2019 13:50

A ver, creo que se están mezclando algunas cosas aquí. Yo estoy de acuerdo solo en parte con lo que han dicho minter y DRomero. Explico mi punto de vista.

¿De qué estamos hablando? ¿Del término correcto que hay que usar? Eso es una discusión compleja, porque no hay blancos y negros. La FPGA es, básicamente, un conjunto de puertas lógicas (estoy simplificando, lo sé) en el que que puedes configurar sus interconexiones, y así construir en hardware cualquier circuito digital. Y ambos términos son importantes, creo. Es la versión moderna de las ULAs del Spectrum o del Oric, y lo que se hacía en muchos otros custom chips.

Si recreamos un circuito con un FPGA, estamos haciendo una implementación hardware del mismo. Da igual que el circuito sea un sumador o un procesador completo (registros, unidad central, ULA,...), o un computador completo (CPU, RAM, buses, I/O,...). ¿Entonces esto no es una emulación, tal y como dicen minter y DRomero? Pues yo diría que no... pero a veces puede serlo. Cuando hablamos de una Mister o un sistema similar resulta que nos encontramos con algo que va más allá de "recrear" el sistema.

Ya que hablamos de terminología vamos a la RAE:
emular
1. tr. Imitar las acciones de otro procurando igualarlas e incluso excederlas.


Yo creo que estos sistemas encajan más con esta definición ¿no? Soportan leer archivos de SD, bajar imágenes de internet, salidas de video por HDMI, periféricos modernos, se pueden configurar con diferentes dispositivos y capacidades... De hecho no reimplementan el circuito (más o menos exactamente) sino que, en muchos casos, emulan su comportamiento. A veces tienen que emular chips que son analógicos lo mejor que pueden...

¿Hay una frontera clara? Yo creo que no. Y lo principal es que no importa. Yo llamo a estos sistemas emuladores por hardware y me encantaría discutir por qué es un término incorrecto. Pero lo que no hace ese término es englobarlo todo. Acabará habiendo sistemas que tengan parte en hardware, parte en FPGA y parte en software (como los sistemas de simulación con "hardware-in-the-loop") y no pasa nada.

Ahora bien, ¿por qué nos preocupa el término que usemos? Por la necesidad que algunos tienen (va de coña -507 ) de que se diferencien claramente de los emuladores que corren en nuestros PCs o RPis (normalmente, además, por considerarlos como "más reales" o "superiores"). Pero eso es otra discusión, en la que podemos entrar luego.

A mí, el argumento que dio Estrayk en su día del lag en la respuesta me convenció, por cierto.

BlackHole
Mensajes: 1100
Registrado: 03 Ago 2011 23:07
Ubicación: Aluche, Madrid
Agradecido : 10 veces
Agradecimiento recibido: 220 veces

Re: FPGA: ¿ Emulación, Simulación, Réplica o WTF ?

Mensajepor BlackHole » 23 Jun 2019 14:05

Luis: El MOS 8500 es una recreación absoluta en tecnología HMOS de toda la circuitería interna del 6510 NMOS. Es un 6510 en HMOS, no es una emulación ni un rediseño, es el mismo procesador en otra tecnología. Dicho esto, si existe algún core FPGA que tenga absolutamente todas las puertas lógicas del 6510, que no sé si a estas alturas sigue patentado, pues seguiría siendo lo mismo.

Edit: Oh... me acabo de dar cuenta que había otra página entera de respuestas y estoy contestando a algo de anteayer que ya no es relevante.

danielo70
Mensajes: 33
Registrado: 19 Nov 2017 16:54
Agradecimiento recibido: 7 veces

Re: FPGA: ¿ Emulación, Simulación, Réplica o WTF ?

Mensajepor danielo70 » 23 Jun 2019 16:50

muon escribió:
Jinks escribió:
Por cierto, no he mencionado una de las cosas que me gustan de las FPGA: Puedo "jugar al Spectrum" con la potencia proporcionada con un cargador USB, mientras que por emulación necesitaría toda la potencia y refrigeración que consume mi PC.



Y con un PC tambien... cogete un stick PC de Intel..https://www.amazon.es/Intel-BOXSTK1AW32 ... way&sr=8-1


Tambien tienes la opcion de emulacion con Una Raspberry pi.

Ultimamente estoy probando los emuladores Baremetal y son una pasada, arrancan en 3 o 4 segundos y van de maravilla. Para spectrum tienes el ZXBaremulator, para VIC20/C64/C128 tienes el BMC64 y para amiga estan trabajando en uno, pero aun esta muy verde. Por no decir los Emuladores que puedes instalar sobre un linux tanto para ordenadores como consolas y todo ello como dices alimentado por un cargador USB.

Avatar de Usuario
Jinks
Mensajes: 1588
Registrado: 09 Oct 2013 16:47
Agradecido : 122 veces
Agradecimiento recibido: 166 veces
Contactar:

Re: FPGA: ¿ Emulación, Simulación, Réplica o WTF ?

Mensajepor Jinks » 23 Jun 2019 21:36

danielo70 escribió:
muon escribió:
Jinks escribió:
Por cierto, no he mencionado una de las cosas que me gustan de las FPGA: Puedo "jugar al Spectrum" con la potencia proporcionada con un cargador USB, mientras que por emulación necesitaría toda la potencia y refrigeración que consume mi PC.



Y con un PC tambien... cogete un stick PC de Intel..https://www.amazon.es/Intel-BOXSTK1AW32 ... way&sr=8-1


Tambien tienes la opcion de emulacion con Una Raspberry pi.

Pues es verdad, aunque para la RPi 3 se recomienda un cargador de 2,5A (el mío es de 3) y a la MiST le sobra con uno de 1,5A, las dos son mucho más "ecológicas" que un PC. Tampco había tenido en cuenta que la pantalla consume mucho más, pero eso afecta a todos (RPi, MiST y PC).

Avatar de Usuario
Jinks
Mensajes: 1588
Registrado: 09 Oct 2013 16:47
Agradecido : 122 veces
Agradecimiento recibido: 166 veces
Contactar:

Re: FPGA: ¿ Emulación, Simulación, Réplica o WTF ?

Mensajepor Jinks » 23 Jun 2019 21:44

Chema escribió:Ya que hablamos de terminología vamos a la RAE:
emular
1. tr. Imitar las acciones de otro procurando igualarlas e incluso excederlas.

No es por meterme con nada ni con nadie, sólo por decir una chorrada, pero según esta definición el Z80 es un emulador de 8080... -507
Y estirándolo, el 68040 un emulador de 68000 y, por supuesto, el Core i7 un emulador de 8088.
Bueno, y el Spectrum +2 un emulador de Spectrum.
Generalizando, cualquier nuevo producto que tenga retro-compatibilidad con otro viejo, sería un emulador de este último.

DRomero
Mensajes: 161
Registrado: 06 May 2011 22:47
Agradecido : 1 vez
Agradecimiento recibido: 10 veces

Re: FPGA: ¿ Emulación, Simulación, Réplica o WTF ?

Mensajepor DRomero » 24 Jun 2019 02:36

Todo el mundo sabe que los Tesla son emuladores de carruajes a caballo XD

Coñas a parte, estoy seguro que aunque incorrectamente, con el tiempo todo el mundo se referirá a las FPGAs como emuladores cuando estas implementen cacharros antiguos.

Realmente tampoco tiene tanta importancia usar un término u otro. El usuario final lo verá así: Implementa un Z80, emulación, que corre el último Risc-V ejecutando linux, implementación de la última tecnología open hardware.

Es una forma muy subjetiva de ver las cosas, pero el que entienda un poco sabrá que eso no es emulación ni de coña.

Al fin y al cabo que más da, que cada uno lo llame como le salga XD

Avatar de Usuario
Chema
Mensajes: 2237
Registrado: 21 Jun 2012 20:13
Ubicación: Gijón
Agradecido : 1816 veces
Agradecimiento recibido: 586 veces
Contactar:

Re: FPGA: ¿ Emulación, Simulación, Réplica o WTF ?

Mensajepor Chema » 24 Jun 2019 10:16

Coñas aparte (me he reído un rato con vuestros ejemplos -rofl ) todos aquí somos inteligentes y conocemos perfectamente el lenguaje. La acción o efecto de emular es la emulación y, como siempre, hay que contextualizar. Si pones un procesador en un contexto determinado con el objetivo de imitar a otro, entonces está emulándolo. Y la definición no habla de los medios que se utilicen, sólo del objetivo.

Mi punto, que he intentado argumentar con mejor o peor suerte, es que intentar clasificar de modo absolutamente claro estos sistemas (y los que vendrán) no tiene caso, porque las fronteras son grises. Quizás lo interesante es el por qué queremos hacer tal cosa. ¿Por diferenciarlos? ¿Con qué objetivo?

DRomero escribió:Es una forma muy subjetiva de ver las cosas, pero el que entienda un poco sabrá que eso no es emulación ni de coña.


En casi todo estoy de acuerdo, pero insistes en decir que el término es incorrecto. Decir que "los que saben" o "todo el mundo" sabe que no es emulación, es una falacia discursiva, no un argumento. De hecho yo considero que entiendo un poco y pienso que lo es. Es más, acabo de preguntar a un compañero que trabaja con FPGAs y sistemas empotrados híbridos y opina igual (lo cual no quiere decir nada).

Su arquitectura, su manera de "programarlos", sus "propiedades" son diferentes de los emuladores por software al uso, pero su objetivo no.

Mira, por poner algún ejemplo:
In integrated circuit design, hardware emulation is the process of imitating the behavior of one or more pieces of hardware (typically a system under design) with another piece of hardware, typically a special purpose emulation system.

(https://en.wikipedia.org/wiki/Hardware_emulation)
O
Hardware emulation is the use of one hardware device to mimic the function of another hardware device.

(https://searchservervirtualization.tech ... -emulation)

De hecho mi punto es que no sé por qué hay gente que no quiere usar el término "emulación" para estos dispositivos, quizás simplemente porque le encuentra una connotación peyorativa. Y no lo entiendo.

zxpope
Mensajes: 43
Registrado: 02 Ene 2018 02:25
Agradecido : 11 veces
Agradecimiento recibido: 14 veces

Re: FPGA: ¿ Emulación, Simulación, Réplica o WTF ?

Mensajepor zxpope » 24 Jun 2019 10:18

hola amigos

si hablásemos de minado de criptomonedas, en lugar de retro, el problema seria similar.
que es mejor, una CPU o una GPU o una FPGA o un ASIC para minar?
INTEL ha detectado que los usuarios no quieren comprar placas FPGAs o de ASICs para minar, quieren usar el ordenador.
así que un entorno operativo que use de forma eficiente el hardware es la clave.
si luego este entorno usa para ciertas rutinas una cpu, una gpu o una fpga que va cambiando su síntesis cada minuto... poco importa a ojos del usuario.
lo mismo hablo de minar que de optimizar una ala de un avion...


==

regresando al retro

las FPGAs tienen un punto de elegancia que no ofrecen los emuladores. os cuento.

A)
mi ordenador personal es una tablet MANZANA-IPAD2 y uso el entorno RETROARCH. pues bien
desde que pulso un boton de mi joystick BLUETOOTH hasta que se mueve el monigote del MANIC-MINER en la pantalla
no imagino los millones de lineas de código que se ejecutan
realmente sudé tinta para configurarme la máquina. hay 25 tablas de conversión aquí alla, horrible

B)
la ZXUNO, por ejemplo tiene un joystick con 5 pulsadores
al cerrar cualquiera de los pulsadores, 0 voltios físicos llegan a una pata de la FPGA y desde esa pata pasa a un registro de 8bits
la CPU PSEUDOZ80 lee en una direccion del mapa de memoria IO y mueve el monigote y ya está
cero tablas de mapeado
sin fallos

el dia que me di cuenta de ello, se me disiparon dudas
la elegancia de la simplicidad

saludos
zxpope

Avatar de Usuario
ron
Mensajes: 18442
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 1615 veces
Agradecimiento recibido: 1338 veces

Re: FPGA: ¿ Emulación, Simulación, Réplica o WTF ?

Mensajepor ron » 24 Jun 2019 10:28

A colación de todo esto, hoy ya es noticia en todos sitios puesto que acaban de lanzar la Raspberry Pi 4.

Con procesador Cortex-A72 con cuatro núcleos a 1,5 GHz y hasta 4 GB de RAM. Decodificación de vídeo 4K a 60 fps.
Los benchmarks arrojan resultados entre dos y cuatro veces mayores respecto a la Raspberry Pi 3B+.

A 1.5GHz quad-core 64-bit ARM Cortex-A72 CPU (~3× performance)
1GB, 2GB, or 4GB of LPDDR4 SDRAM
Full-throughput Gigabit Ethernet
Dual-band 802.11ac wireless networking
Bluetooth 5.0
Two USB 3.0 and two USB 2.0 ports
Dual monitor support, at resolutions up to 4K
VideoCore VI graphics, supporting OpenGL ES 3.x
4Kp60 hardware decode of HEVC video
Complete compatibility with earlier Raspberry Pi products


Pi 4 1 GB de RAM: 35 dólares.
Pi 4 2 GB de RAM: 45 dólares.
Pi 4 4 GB de RAM: 55 dólares.

https://www.raspberrypi.org/blog/raspbe ... w-from-35/

DRomero
Mensajes: 161
Registrado: 06 May 2011 22:47
Agradecido : 1 vez
Agradecimiento recibido: 10 veces

Re: FPGA: ¿ Emulación, Simulación, Réplica o WTF ?

Mensajepor DRomero » 24 Jun 2019 18:02

Es la caña Ron, para mi la mejor plataforma para emular/simular mis antiguos cacharros vía software, no hay nada más cómodo y fácil, seguro caen un par.

Para implementar hardware me sigo quedando con mi Alhambra II o Altera DE0 / 1.

https://github.com/FPGAwars/Alhambra-II-FPGA

Avatar de Usuario
ron
Mensajes: 18442
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 1615 veces
Agradecimiento recibido: 1338 veces

Re: FPGA: ¿ Emulación, Simulación, Réplica o WTF ?

Mensajepor ron » 15 Ago 2019 12:55

Bueno, bueno, lo que hace un día festivo y esto de las fpga's. Pues nada, más o menos estuve dándole una vuelta y la cosa la planteo que tal:

-bRick -laughing

Por un lado las emulaciones, tradicionales y HLE, fuera del hardware original nos quedan las fpga. La cuestión ahora, es si lo que hacen las fpga es completamente fidedigno. Ya como que da igual que le llamemos simulación, emulación, implementación o pez sierra. -rofl

Con lo que me quedo es que una FPGA ( matriz de puertas programables) es un "dispositivo programable en forma de circuito integrado" que contiene bloques de lógica cuya interconexión y funcionalidad puede ser programada, configurada y alterada en el momento y se consigue mediante un lenguaje de descripción especializado llamado VHDL. Programar lógica sobre una matriz de puertas programables nos permite sintetizar cualquier cosa, incluso un sistema complejo en un chip. Al ser reprogramables son muy versátiles en los flujos de diseño y directamente eliminan el coste de lo que supondría integrar un proyecto electrónicamente, de ahí que se usaran en sus comienzos para prototipar integrados o incluso probar funciones especificas antes de su implementación final en forma de ASIC o de Custom.

Una de las ventajas es que en una FPGA con los conocimientos suficientes puedes hacer implementaciones perfectas de una maquina y en un emulador es muchísimo más complejo y con resultados que dependen de unos timmings que marcan la diferencia. La gran variedad de salidas de video permiten al usuario disfrutar de los colores y paletas originales que muchas veces los emuladores no son capaces de renderizar.

Y entonces llegamos a los tiempos actuales y todo esto ha dado un salto cuantitativo y cualitativo. Ahora se pueden adquirir a precios asequibles y nos permiten disfrutar de máquinas completas de 8, 16 y 32 bit, funcionando tal y como funcionaban los sistemas originales gracias a la simulación del hardware original, el software funciona tal cual funciona en el hardware original. Es la FPGA la encargada de hacer la simulación de lo que "realmente estaría funcionando" en el hardware original.

Luego ya dependiendo de la implementación que se esté sintetizando esta puede incorporar otros elementos, como controladoras de disco, interfaces, tarjetas, ram y todo esto es configurable, con lo que se puede configurar la máquina pelada o expandida a tope. Eso es a gusto del usuario.

El debate que se está generando a mi opinión se centra entre los que no saben exactamente que se cuece y entre usuarios y puristas porque existe hardware NO documentado que se encuentra ya funcionando en las FPGA y las únicas formas de poder implementarlo son a través de la ingeniería inversa, el decapado del integrado original o incluso portando partes que provienen de la emulación. Digamos que si un chip está emulado en MAME/MESS y no hubiera manera de poder sintetizarlo en una fpga, se aprovecha todo y el único "pero" que se le podría achacar es este mismo ya que esa parte no estaría funcionando bajo una simulación real del hardware original sino bajo una muy próxima, que no la misma.

Dicho todo eso, de lo que pudiera ser una FPGA y de lo que cada uno entiende, tengo volver a insistir en lo que vengo diciendo hace mucho en las cryptas. Lejos de la nostalgia de un micro ( o de una consola ) que nadie se piense que con una FPGA va a reemplazar la máquina original, por tanto creedme cuando os digo que son el complemento perfecto. En ningún caso son para sustituir al micro original pero si como elementos de gran apoyo. Aunque también pudiera verse bajo el punto de vista de quien no tuviera la máquina original y quisiera conocerla, con lo ahí no hay nada que añadir. También para probar y filtrar antes de llevarte el software el micro físico, ya puestos.

A muchos usuarios les da esto exactamente igual y lo único que buscan es que les funcione, eso ya lo tienen garantizado, funciona. En realidad a mi lo que más me gustó o importó era la sensación, el feeling. Si eso lo valoras, lo agradecerás.


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