Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

30/11/2013 #1


Fpga con interfaz otro lenguaje
Hola, espero que no este equivocado y este sea el buen lugar para preguntar, ya que el FPGA es un embebido..


Mi pregunta es, en una FPGA se le puede incluir codigo de otro lenguaje que no sea VHDL, osea por ejemplo, si quieres hacer un "juego" . Pues tienes que programar ese juego en VHDL? o haces un paquete en otro lenguaje, ejemplo JAVA o C, y crear un paquete, para implementarlo en VHDL? osea como una interfaz? Al igual que para hacer interfaces de salida de video , sonido..


Estoy un poco perdido, empeze este Lunes a estudiar FPGA con VHDL y tengo bastantes dudas hehe. Adema sde que estudio por mi cuenta.

Un saludo!
30/11/2013 #2

Avatar de chclau

VHDL es un lenguaje de descripcion de Hardware. O sea, describes compuertas, flip flops y memorias. De alli para arriba, como se suele decir, el cielo es el limite. Dado que, por dar un ejemplo, todo microprocesador esta basado en compuertas, flip flops y memorias, si tienes el codigo VHDL de un procesador determinado puedes implementarlo (si entra) en tu FPGA y correr programas en ese micro. Del mismo modo puedes hacer interfaces de video, sonido o lo que sea, desde cero o utilizando bloques ya realizados por otros.
30/11/2013 #3

Avatar de Mostdistortion

Tiene razón chclau, vas de a bloques armados (en una interfaz gráfica) y/o con código VHDL.
Por cierto los bloques armados son en código VHDL normalmente, o con la interconección de las compuertas en una especie de diagrama (raras veces, cuando el bloque realiza una función menor o muy puntual)

No hay C, ni java, ni ningún otro porque aquellos son para hacer modelos secuenciales, y los FPGA tienen un modelo concurrente (o sea que un pedazo del chip puede funcionar como video mientras que al mismo tiempo -sin usar interrupciones- otra parte del mismo chip es sonido, USB, lo que sea)

Saludos.
30/11/2013 #4

Avatar de ByAxel

Duda...
De echo si hay, por ejemplo el programa Altium Designer no solo es dedicado a hacer PCB de buen nivel, también soporta o mejor dicho es capaz de programar para FPGAs en C,C++ o gráficamente, ahora no se si solo es para su propio hardware como el NanoBoard 3000 o es más libre...
Bueno igual no es tan conocido y es caro...
30/11/2013 #5

Avatar de chclau

ByAxel, el soporte de Altium para C y C++ es justamente para ser usado en microprocesadores sintetizados en FPGA, tales como el Nios II de Altera o el MicroBlaze de Xilinx.

Con eso no quiero decir que NO se pueda usar C para modelar Hardware. En realidad, hay una tendencia a comenzar a utilizar sistemas tales como System C para lo que se denomina co-desarrollo de HW y SW.

Pero, y hasta donde yo se, Altium Designer NO utiliza C para desarrollo de HW sino para desarrollo de SW sobre procesadores sintetizados en FPGA
01/12/2013 #6


chclau dijo: Ver Mensaje
VHDL es un lenguaje de descripcion de Hardware. O sea, describes compuertas, flip flops y memorias. De alli para arriba, como se suele decir, el cielo es el limite. Dado que, por dar un ejemplo, todo microprocesador esta basado en compuertas, flip flops y memorias, si tienes el codigo VHDL de un procesador determinado puedes implementarlo (si entra) en tu FPGA y correr programas en ese micro. Del mismo modo puedes hacer interfaces de video, sonido o lo que sea, desde cero o utilizando bloques ya realizados por otros.
No he entendido lo siguiente: microprocesador en VHDL? pero no se programa en ensamblador? o C?

A ver una fpga es el " chip" pero luego esta la placa que incluye mas cosas, como microprocesador , salidas de audio, video etc.. e incluso unas tienen un procesador.


Al comprar la placa FPGA te viene en el manual el codigo del microprocesdor? y si entra, podria modificarlo? Lo de la interfaces ya para mi es como llegar a marte sin ni siquiera a ver empezado a volar... Porque yo solo estoy ahora en el pensmiento de FPGA= puertas logicas, con ello solo llega a "robots" pero nada de cosas informaticas como interfaces de video, o cosas analogica. Si pudieras explicar mas o enviar algun apunte te lo agredeceria mucho.

Gracias

---------- Actualizado después de 3 minutos ----------

Mostdistortion dijo: Ver Mensaje
Tiene razón chclau, vas de a bloques armados (en una interfaz gráfica) y/o con código VHDL.
Por cierto los bloques armados son en código VHDL normalmente, o con la interconección de las compuertas en una especie de diagrama (raras veces, cuando el bloque realiza una función menor o muy puntual)

No hay C, ni java, ni ningún otro porque aquellos son para hacer modelos secuenciales, y los FPGA tienen un modelo concurrente (o sea que un pedazo del chip puede funcionar como video mientras que al mismo tiempo -sin usar interrupciones- otra parte del mismo chip es sonido, USB, lo que sea)

Saludos.
Pero FPGA tambien tiene modelos secuenciales, como el if, when.. .

Que es un bloque armado? un paquete?
01/12/2013 #7

Avatar de chclau

Te diria que te lo tomes con un poco de paciencia, comiences a tomar las clases de VHDL y si luego de eso todavia hay cosas que no entiendes, lo hablamos. Me parece que lo que te diga ahora te va a confundir mas de lo que te va a ayudar.

Lo que si, trata de pensar para que se usa VHDL. Principalmente para dos cosas:


1. Para describir HW
2. Para realizar verificacion de HW

En el caso (1) en que estas describiendo HW, el "programa" de VHDL se "ejecuta" en forma secuencial pero el resultado cuando se lo sintetiza es una pieza de HW que NO es secuencial. Un flip flop se genera mediante codigo secuencial (IF) que "primero" revisa el reset y "luego" el clock, pero como sabemos un flip flop responde en forma paralela a todas sus entradas, tanto las de datos, como la de reset, como la de clock.

Creo que cuando hayas visto varios ejemplos de como se describen compuertas y flip flops entenderas mejor la relacion entre el codigo VHDL y el HW que intenta representar.

Si estas realizando verificacion (2) de HW ahi si el VHDL es mas parecido en su comportamiento a los lenguajes de computacion secuenciales.
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.