simposio taller de vhdl

14
Página | 1 Enrique Barajas Ortiz INSTITUTO TECNOLÓGICO DE LA PIEDAD MAQUINAS ELÉCTRICAS INGENIERÍA ELECTRÓNICA TALLER DE VHDL ALUMNOS: ENRIQUE BARAJAS ORTIZ PROFESOR: ING. RODOLFO GUADALUPE HERNÁNDEZ La Piedad Michoacán Miércoles 19 de Mayo de 2010

Upload: kike159

Post on 19-Jun-2015

323 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Simposio Taller de VHDL

P á g i n a | 1

Enrique Barajas Ortiz

INSTITUTO TECNOLÓGICO DE LA PIEDAD

MAQUINAS ELÉCTRICAS

INGENIERÍA ELECTRÓNICA

TALLER DE VHDL

ALUMNOS:

ENRIQUE BARAJAS ORTIZ

PROFESOR:

ING. RODOLFO GUADALUPE HERNÁNDEZ La Piedad Michoacán

Miércoles 19 de Mayo de 2010

Page 2: Simposio Taller de VHDL

P á g i n a | 2

Enrique Barajas Ortiz

FPGA’s Una FPGA (del inglés Field Programmable Gate Array) es un dispositivo

semiconductor que contiene bloques de lógica cuya interconexión y funcionalidad se puede programar. La lógica programable puede reproducir desde funciones tan sencillas como las llevadas a cabo por una puerta lógica o un sistema combinacional hasta complejos sistemas en un chip (w:en:System-on-a-chip).

Las FPGAs se utilizan en aplicaciones similares a los ASICs sin embargo son más lentas, tienen un mayor consumo de potencia y no pueden abarcar sistemas tan complejos como ellos. A pesar de esto, las FPGAs tienen las ventajas de ser reprogramables (lo que añade una enorme flexibilidad al flujo de diseño), sus costes de desarrollo y adquisición son mucho menores para pequeñas cantidades de dispositivos y el tiempo de desarrollo es también menor.

Ciertos fabricantes cuentan con FPGAs que sólo se pueden programar una vez, por lo que sus ventajas e inconvenientes se encuentran a medio camino entre los ASICs y las FPGAs reprogramables.

Las FPGAs fueron inventadas en el año 1984 por Ross Freeman y Bernard Vonderschmitt, co-fundadores de Xilinx, y surgen como una evolución de los CPLDs.

Tanto los CPLDs como las FPGAs contienen un gran número de elementos lógicos programables. Si medimos la densidad de los elementos lógicos programables en puertas lógicas equivalentes (número de puertas NAND equivalentes que podríamos programar en un dispositivo) podríamos decir que en un CPLD hallaríamos del orden de decenas de miles de puertas lógicas equivalentes y en una FPGA del orden de cientos de miles hasta millones de ellas.

Aparte de las diferencias en densidad entre ambos tipos de dispositivos, la diferencia fundamental entre las FPGAs y los CPLDs es su arquitectura. La arquitectura de los CPLDs es más rígida y consiste en una o más sumas de productos programables cuyos resultados van a parar a un número reducido de biestables síncronos (también denominados flip-flops). La arquitectura de las FPGAs, por otro lado, se basa en un gran número de pequeños bloques utilizados para reproducir sencillas operaciones lógicas, que cuentan a su vez con biestables síncronos. La enorme libertad disponible en la interconexion de dichos bloques confiere a las FPGAs una gran flexibilidad.

Otra diferencia importante entre FPGAs y CPLDs es que en la mayoría de las FPGAs se pueden encontrar funciones de alto nivel (como sumador y multiplicador) embebidas en la propia matriz de interconexiones, así como bloques de memoria.

Page 3: Simposio Taller de VHDL

P á g i n a | 3

Enrique Barajas Ortiz

FPGA’s

El siguiente ensayo nos adentra un poco a lo que es la programación de VHDL, el cual fue un taller dado en el Primer Simposio de Electrónica en el INSTITUTO TECNOLÓGICO DE LA PIEDAD. Una vez que el Doctor Abundis se presento al grupo de alumnos que participamos el taller nos empezó hablarnos un poquito sobre lo que es un FPGA’s y así empezamos a ver qué es lo que tiene como funciona etc. En este taller por el tiempo tan limitado de 2 días se trato de poder acelerar las cosas así que el Doctor Abundis encardado de impartir el taller de programación de VHDL, nos facilito los programas que iba a estar cargando a la placa, solo se tuvo un inconveniente ya que los programas que el Doctor realizado fueron un el FPGA Spartan 3E-100 TQ144 Basys y la que el Instituto nos proporciono fue una FPGA Spartan 3E-100 CP132 Basys2 y se tuvo que modificar, no el código del programa pero si los pines de salida y entrada de la placa y botones asignado para poder hacer que funcione correctamente.

FPGA’s Basys y FPGA´s Basys2

Puede que a simple vista se vean iguales pero tiene diferentes valores los pines. Y ese él es motivo por el cual se tuvo que modificar lo ya mencionado. Bueno nuestro primer programas que se implemento en la tarje fue un sumador de 4 bits con una salida de 5 bits con el Carry. Bueno ahora se pasa a nuestro ordenador y se crea una carpeta en disco (C:) la cual la llamaremos TRABAJO, esta carpeta se creó en C por que la rota le queda más corta a nuestro programa y así se procura tener menos inconvenientes en un futuro.

Page 4: Simposio Taller de VHDL

P á g i n a | 4

Enrique Barajas Ortiz

Nuestro próximo paso es abrir nuestro software el cual lleva el nombre de Xilinx ISE 10.1 y una vez ejecutado, se verá así.

Como se avía mencionado anterior mente el Doctor nos proporciono los programas que se van haber en el curso.

Page 5: Simposio Taller de VHDL

P á g i n a | 5

Enrique Barajas Ortiz

De los cuales se van a copiar dos archivos que son los .ucf que nos proporciona las conexiones de la tarjeta y .vhd que nos deja ver nuestro código del programa, estoy archivos se pegara en una nueva carpeta creada dentro de TRABAJO y llamada suma ss, como se observa a continuación.

Esto más que nada es para tener un orden en los programas futuros que vallamos hacer y nos se haga un revolvedero.

Una vez copiados los archivos y nuestro software abierto solo nos queda crear nuestro proyecto y para eso nos vamos File y le ponemos el nombre suma_ss como se observa a continuación y más abajo HDL, y damos clic en next.

Page 6: Simposio Taller de VHDL

P á g i n a | 6

Enrique Barajas Ortiz

En esta venta se hace la configuración de la tarjeta y como ya se avía mencionado anteriormente nosotros contamos con una Spartan 3E CP132 y en esta ventana tenemos que configurar eso, y el lenguaje que es VHDL y presionamos next.

Page 7: Simposio Taller de VHDL

P á g i n a | 7

Enrique Barajas Ortiz

En esta venta no se hace nada solo hay que dar next.

Aquí cargamos los archivos que copiamos a la carpeta suma ss que era el .ucf y .vhd. Damos clic en next.

Page 8: Simposio Taller de VHDL

P á g i n a | 8

Enrique Barajas Ortiz

Esta ventana nos dice que ya terminamos de configurar tarjeta y programa para empezar la corrección de pines y ver el código, y por ultimo finalizar.

En esta ventana solo damos ok.

Page 9: Simposio Taller de VHDL

P á g i n a | 9

Enrique Barajas Ortiz

Bueno una vez cargado todo tenemos que hacer cambio de pines en nuestro archivo .ucf, como se observa nos manda un error ya que los pines son de la tarjeta del doctor solo tenemos que cambiarlos y volver a compilar y listo.

Como se observa ya se hiso el cambio de pines y ya no marca el error.

Page 10: Simposio Taller de VHDL

P á g i n a | 10

Enrique Barajas Ortiz

Por mero trámite vemos el código, no nos adentraremos mucho ya que Doctor proporciono el código y no tiene errores.

Como se observa lo primero que tenemos son las librerías que nos manda llamar todo los pequeños archivos que necesitamos para que nuestro programa funcione.

Después declaramos variables que seria “a y b” que son nuestras entradas cada unas de 4 bits y “c” es nuestra salida de 5 bits, también se cuenta con una salida que es s_r las cual nos sirve para escoger en un momento dado si queremos restar o sumar.

Después en el begin encontramos un if el cual nos permitirá hacer la condición que cuando se 0 sume y cuando se 1 reste y eso es lo que nuestro código nos dice.

Ahora damos doble clic en la Synthesize para ver que no marque error en el

código y como se observa se pone una palomita de que esta correcto el código.

Page 11: Simposio Taller de VHDL

P á g i n a | 11

Enrique Barajas Ortiz

Ahora que si queremos verlo más gráficamente como está conformado nuestro programa. Damos doble clic en Wiew RTL Schematic, se pude observar muy bien que tenemos 3 entradas y 1 salida pero si queremos ver que tiene adentro ese bloque damos nuevamente doble clic.

Page 12: Simposio Taller de VHDL

P á g i n a | 12

Enrique Barajas Ortiz

Bueno aquí se pude observar vas claramente lo mencionado anterior mente.

Ya cuando todo está bien en la sintaxis y pines, damos clic en implement Design para empezar a checar el mapeo y el enrutado que va a tener el la placa.

Page 13: Simposio Taller de VHDL

P á g i n a | 13

Enrique Barajas Ortiz

Y para terminar damos doble clic en Generate Programming File para generar el archivo que vamos a vaciar a la placa y ver ya físicamente lo que hicimos en código.

Para esto utilizamos un programa llamado Adept el cual pueden descargar directamente de la página de Digilent, por lastima no cuento con la tarjeta en este momento por eso no puedo mostrarles eso ya que necesito conectarla a la computadora para que el programa Adept pueda detectarla y poder vaciar el archivo creado que es un .bit. Bueno esto es lo que se hiso con todos los programas llenaría hojas y hojas de

lo mismo así que haré una lista con lo que hace cada programa para que se den una

idea sobre lo que se hiso.

1. Sumador de 4 bits y 5 bits de salida pero con signo decimal

2. Un contador de 0 a F con un display.

3. Un contador de 0 a 9 con display asendente

4. Un contador de 9 a 0 con display desendente

5. Una memoria

6. Un decodificador BCD-7 segmentos.

Page 14: Simposio Taller de VHDL

P á g i n a | 14

Enrique Barajas Ortiz

CONCLUSIÓN

En este Taller se pueden concluir muchas cosas ya que sabiendo utilizar bien este tipo de FPGA’s todo lo que cableábamos con TTL lo podemos hacer con el FPGA, pero no hay que olvidar que lo primero que tenemos que hacer es conocer bien el funcionamiento de todo lo que es TTL para el momento que nos pongamos a programas ya tengamos las bases y no se dificulte.

Otra cosas que puedo decir sobre este curso es que fue muy bien explicado en todos los expertos ya que el doctor era una persona muy capas y cualquier duda te la respondía de una forma muy fácil y entendible.

Y por ultimo esperemos que esto sea el principio para que cada año que se haga este tipo de Simposio ya que nos deja mucho como alumnos al ver nuevas cosas que hay y actualizarnos un poco, ya que casi es imposible ir de la mano de la tecnología pero para tener un mejor visión de la cosas y saber dónde estamos parados para el futuro.