Empecemos desde el principio: FPGA son las siglas de Field Programmable Gate Array. Los FPGA pertenecen a una clase de dispositivos conocidos como de lógica programable o, en ocasiones, denominados como hardware programable. Esencialmente un FPGA no hace nada por sí mismo, pero se puede configurar para que sea casi cualquier circuito digital que se desee. La magia aquí es que nada cambia físicamente, simplemente carga una configuración y comienza a comportarse como el circuito descrito en la configuración cargada.
|
etiquetas: cómo funciona , fpga , circuito integrado
www.youtube.com/watch?v=R59Q-MwFbM8&list=PLmnz0JqIMEzXaeYVzf2TfTzR
Es una placa parecida a un Arduino, pero con una FGPA.
alhambrabits.com/alhambra/
#Disclaimer: no pretendo hacer publicidad del producto, la decisión de compra queda en manos del lector, solo muestro una opción.
Aquí con gente española dando explicaciones
www.youtube.com/watch?v=WBeJlqspeoc
www.youtube.com/watch?v=_cMH4ta8D1g
Hoy día, gran parte del prototipaje se hace en una FPGA, se depuran los diseños y cuando van a fabricar una Beta del procesador, se fabrica con muchos menos errores de saque. Es un proceso mucho más rápido. Incluso se pueden entregar alfas a clientes selectos para que depuren (y empiecen antes sus desarrollos).
A parte que se pueden hacer pequeñas tiradas de procesadores para una función específica.
Siempre me quedé con las ganas de comprar una tarjeta de esas chinas, porque las que se usaban en industriales eran carísimas, por lo menos en mi época, pero vendían FPGA en AliExpress a precios muy golosones, alguien las probó?
VHDL is a general-purpose programming language optimized for electronic circuit design. As such, there are many points in the overall design process at which VHDL can help.
www.uco.es/~ff1mumuj/h_intro.htm
(CC #10 #11 #12 #1)
emular(realmente es como jugar en el HW original). Esperando a que siga avanzando y baje los preciosY para tener todo en un único aparato por CRT el RGB-Pi y en la maquina arcade el Jamma Pi.
es un juguete muy interesante por los 10€ que costaba en AliExpress ya que el propio Chío fpga ya cuesta eso pero tienes que ser manitas soldando para sacarle partido ya que necesita bastantes ñapas para que sea equivalente a una placa de evaluación y es un poco lotería el estado en el que te llega ya que son reciclajes de mineros
Es curioso saber que están presentes en prácticamente en todos los sectores industriales, desde la automoción hasta el espacio.
Y con posibilidades cada vez mayores como los MPsoc y RFsoc.
Que el concepto difiere entre la programación del software (algo mayormente secuencial) y la descripción de un hardware (donde muchas cosas se resuelven en paralelo), sí; ¿y qué? Ese es el término que se utiliza. Lo demás es venir a hacerse notar, en mi opinión.
cc #6
stackoverflow.com/questions/5121679/why-is-verilog-not-considered-a-pr
"Typically, a beginner in Verilog/VHDL will be tempted to "translate" a given function/algorithm from a C/C++ type of pseudocode directly to Verilog/VHDL: surprisingly, it might sometimes work, but it always lead to dramatically poor design. One must really be aware of these differences in order to become a good Verilog/VHDL programmer."
otra cosa sería hacer procesado de imagen que la fpga es más idóneo a la par que una GPU para algunas cosas sencillas
mal ejemplo
github.com/open-sdr/openwifi
Tampoco es lo mismo dedicarse a programar gestionando bases de datos que dedicarse a programar drivers gráficos para tarjetas gráficas, el enfoque dentro de la programación convencional también debe adaptarse en cada caso y al propio hardware. Con las FPGA ocurre lo mismo.
Por lo menos en términos generales. Otra cosa es que haya un friki concreto que tenga sus motivos para pegarse un currazo en desarrollar todo el stack WiFi en puertas lógicas.
Todo lo que tú estás diciendo yo te lo entiendo perfectamente, pero sobra aquí. Es es el riesgo de explicar VHDL a gente de software, no electrónicos, y por eso hay que dejárselo claro desde el principio. Pero venir a decir que eso no es programar, cuando es el término utilizado, o dar esos detalles técnicos que solo unos pocos entendemos es venir a lucirse en lugar de a divulgar.
Si quisieras divulgar, podrías haber dicho algo así (o no...):
La programación software, de la que muchos por aquí son expertos o, al menos, entienden algo es, sin entrar en honduras, una secuencia de instrucciones que se ejecutan una detrás de otra (aunque pueda haber reparto de tareas por parte de un SO o de interrupciones por eventos externos).
La programación de una FPGA (u otros dispositivos digitales programables, como las EPLD) en sus primeros tiempos se llevaba a cabo diseñando el circuito electrónico a implementar, como si estuvieras diseñando un circuito con componentes discretos basados en puertas lógicas o módulos tipo registros, contadores, etc. Las FPGA se basan en celdas que contienen elementos básicos (algún registro y puertas lógicas). Un compilador del fabricante del silicio traduce el circuito a algo implementable con esas celdas. Con el tiempo el número de celdas y los componentes dentro de cada una de ellas fue creciendo exponencialmente permitiendo diseños muchísimo más complejos.
Ahí entra en juego los lenguajes de descripción del hardware (electrónica) como el VHDL. La sintaxis de este lenguaje se asemeja a los lenguajes de programación software más ampliamente conocidos. Pero las diferencias son importantes: en el caso que nos ocupa, se describe el hardware y, por tanto, no necesariamente una de las primeras líneas del programa se va a "ejecutar" antes que otra que esté escrita más abajo por debajo en el programa. Entrecomillo "ejecutar" porque un circuito electrónico siempre está haciendo algo, a diferencia de una instrucción en software, que se ejecuta cuando le llega su "turno", cuando algo así como un puntero o contador le dice que le toca.
La similitud del lenguaje VHDL a otros de programación software acerca el diseño de las FPGA a ingenieros de software. Pero es necesario tener conocimientos de… » ver todo el comentario
he tenido el gusto de conocer al "friki" que lo diseñó y no lo ha hecho por amor al arte si no porque fondos europeos de investigación se lo han pagado y ha hecho un trabajo espectacular que ahora pertenece a la comunidad open source
solo queria exponer como curiosidad que el ejemplo no era el más indicado.
de todas formas lo de que no se va a implementar la CPUs en hdl tampoco es correcto ya que se lleva años haciendo y seguirá así para muchos casos especificos
Algo así como el terminator polimórfico de la segunda entrega de la saga.