Reconfiguracion de bitstream fpga

Mi nombre es Adrian, me gustaría saber si se puede reconfigurar el bitstream de una FPGA en lenguaje Ensamblador o optimizar partes del bitstream con algún lenguaje Ensamblador.

1 respuesta

Respuesta
1
No que yo sepa, el lenguaje ensamblador es un lenguaje sequencial, que opera instrucción por instrucción, las fpgas trabajan de forma diferente, y por eso tienen un lenguaje diferente, como lo es el VHDL, verilog, ADL, etc... (una opción seria implementar un microcontrolador interno la fpga, nios, pic, opencore) y este programarlo en ensamblador, C, etc.. pero no te lo recomiendo, te va a dar muchísimo trabajo)
Por otra parte, si a lo que te refieres es si puedes programar una fpga desde un procesador, la respuesta es si, ya que solo se trata de implementar un spi para comunicarte con una memoria.
Muchas gracias Angel Monera, por la respuesta. Osea no existe la posibilidad de debug a bajo nivel, ¿ni mucho menos la posibilidad de programar algunas partes a bajo nivel?.
Pregunto esto Por que vi que en las distintas fase de compilación del Quartus II de Altera, existe una ultima fase que es la fase Assembler (quartus_asm) que genera la imagen para configuración de la fpga, que son archivos .sof (SRAM Object Files) y .pof ( Programmer Object Files), donde el .sof tiene la configuración de la fpga, también genera un archivo .ttf (Tabular Text Files), .hexout (formasto de Intel). Ahora, mis dudas son:
¿Este modulo Assembler (quartus_asm), se trata de un ensamblador?
¿.ttf (Tabular Text Files) si se puede levantar con un ensamblador o compilador, no podríamos ver los opcodes ahí y retocarlo?
Esta pregunta no tiene nada que ver con lo anterior, pero, ¿Por qué se implementan configurable soft processor O embedded-processor, como el caso de Microblaze, Nios II, en las fpga etc?
Perdón si cometo errores en mi expresión, hace poco descubrí este mundo de las fpga y no encuentro los materiales en base a mis consultas. Muchas gracias.
Creo que quieres ir demasiado lejos y complicado. Existe, según me han comentado, un modo de programación a bajo nivel en fpgas, pero cada fpgas es diferente, ya que van por directivas, que básicamente se basa en un lenguaje de conexiones entre los recursos de la fpga..
Pin x conect pin x or gate
Counter xxx
este lenguaje lo ves cuando generas con el (¿logic wizar?, ahora no recuerdo su nombre), el codigo que obtienes es un codigo en el que ves las conexiones a una memoria y como se habilita esta.
Para debug, no te calentes la cabeza... usa signal tap, y si tu fpga no te lo permite, cambia a una que si que te lo permita, cyclone 1 y 2 son muy baratas y te permiten signaltap sin ningun problema, que se basa en un analizador logico interno de x sambles (x: 16... 16K depende de los recursos que tengas) y las senyales que tu elijas...
Simula siempre antes, y una vez que tengas algo simulado y bien probado, entonces anyade signal tap al proyecto (nuevo signal tap y directamente al guardar se activa. Ahh y tendrás que compilarlo 2 veces, una para activarlo, y otra para poder anyadir las senyales que quieras monitorizar) puedes anyadir condiciones de trigger bastante complejas, vamos, que no es simulación paso a paso, pero puedes ver como la senyal a llega un cyclo tarde a tu maquina de estados y entonces ver como se va todo a la porra ;)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas