Jueves 19 Noviembre 2009

I - Conceptos básicos de VHDL PDF Imprimir Email
Escrito por Raúl Milla
Jueves, 19 de Noviembre de 2009 19:17
En los próximos artículos vamos a introducir formalmente que es el VHDL. Para empezar comentar que VHDL es el acrónimo que representa la combinación de VHSIC y HDL, donde VHSIC es el acrónimo de Very High Speed Integrated Circuit y HDL es a su vez el acrónimo de Hardware Description Language. Por tanto la primera idea que debemos abstraer es que el VHDL no es un lenguaje de programación, es una forma para describir formalmente circuitos electrónicos.

A nosotros en realidad, con el objetivo de configurar las FPGAs, solo nos interesa un pequeño subconjunto del lenguaje VHDL, que es el que los programas de síntesis lógica son capaces de procesar. Digo esto último porque es algo que no llegaba a entender, y es que aunque una sentencia sea sintácticamente correcta en VHDL no quiere decir que el programa de síntesis la interprete como debiera. Así que todos los conceptos que aparezcan en esta web estarán enfocados a descripciones RTL, Register Transfer Level, que es un  subconjunto de VHDL que se usa para definir circuitos puramente digitales.

udisenio

La estructura general de un programa VHDL está formado por módulos o unidades de diseño, cada uno de ellos compuesto por un conjunto de declaraciones e instrucciones que definen, describen, estructuran, analizan y evalúan el comportamiento de un sistema digital. Existem 5 tipos de unidades de diseño:

  • Entity, es la declaración de la entidad, podríamos imaginarla como la carcasa donde se ve el pinouts.
  • Architecture, aquí es donde encontraremos la definición de lo que realiza nuestro circuito.
  • Configuration, donde se definen parejas de entidad y arquitecturas, es decir, para un mismo encapsulado se puede realizar las mismas funciones de distinta forma.
  • Package, es donde se guardan las definiciones de tipos y los objetos que puedan ser utilizados en los diferentes diseños VHDL, serían como los .hpp en C++.
  • Packege body, es donde se encuentran definiciones o declaraciones propias del paquete y solo son accesibles de forma local desde el paquete, es decir, solo podremos usar en un programa externo lo que esté declarado en el. Package y nunca nada que esté dentro del Package body.

En los próximos artículos nos iremos adentrando poco a poco en todo los referente al lenguaje e iremos mostrando algunos ejemplos de uso.

Hasta pronto amigos!

PD: ¿Que os parecería si todas las semanas se coloca algún ejercicio VHDL en el foro? así podríamos participar todos y aprender unos de otros ^^.

Leer más...
Actualizado ( Jueves, 19 de Noviembre de 2009 19:33 )




Lunes 16 Noviembre 2009

Video de ArCan funcioando :) PDF Imprimir Email
Escrito por Raúl Milla
Lunes, 16 de Noviembre de 2009 12:00
Me gustaría compartir con vosotros este video, donde pruebo el funcionamiento de ArCan. Básicamente el sistema está compuesto por 3 Arduino+ArCan y la única forma de intercomunicación entre ellos es a través de CAN.


Los dos del panel se encargan del control, el de arriba es el que enciende los leds y el de abajo detecta el estado de los pulsadores y acciona el zumbador. El panel se encuentra conectado al 3º ArCan a través del cable negro(CAN-Bus) y esté a su vez está conectado al PC(Mac).

El software es el encargado de dar las ordenes y chequear el estado de los pulsadores, todo esto se realiza mendiante un protocolo propio muy sencillo, dejo aquí el código fuente por si queréis darle un vistazo.

La aplicación del PC está realizado con LabWindows CVI, más que nada por la facilidad que nos ofrece en este tipo de escenarios.

Un saludo a todos y espero que os guste!

Leer más...
Actualizado ( Lunes, 16 de Noviembre de 2009 18:46 )




Sábado 14 Noviembre 2009

Video-Tutorial del Xilinx ISE PDF Imprimir Email
Escrito por Raúl Milla
Sábado, 14 de Noviembre de 2009 17:01

He realizado mi primer videotutorial, trata sobre el manejo más básico del software de desarrollo de Xilinx, el ISE. En el se explica como crear un proyecto, simularlo y configurar posteriormente la FPGA.

Los archivos necesarios para seguir el videotutorial los podéis descargar desde aquí.

Y el videotutorial descargalo desde megaupload.

También está subido a Youtube.

Para cualquier duda que os pueda surgir usar los comentarios e intentaremos resolverlas.
Un saludo y espero que os guste.

 

PD: Es el primero que hago en mi vida, así que no seais muy críticos ^^

Leer más...
Actualizado ( Sábado, 14 de Noviembre de 2009 17:47 )




Viernes 13 Noviembre 2009

Elige velocidad en ArCan! PDF Imprimir Email
Escrito por Raúl Milla
Viernes, 13 de Noviembre de 2009 17:03

Llevo un tiempo queriendo implementar esta mejora, pero entre unas cosas y otras no he podido. Tan solo he añadido la posibilidad de inicializar ArCan eligiendo una de las 3 velocidades que he implementado,, 125Kbps, 250Kbps y 500Kbps, pero os contaré como lo he hecho por si estáis interesado en alguna otra para vuestra aplicación específica.

Lo primero que debéis conocer es que los registros específicos que se encargan de la velocidad son el CNF1,CNF2 y CNF3, el cálculo en sí es algo complejo y tedioso, es por este motivo que existe un pequeño programita, MBTime, que nos dará los valores correctos que debemos configurar en nuestros registros, lo podéis descargar desde http://www.intrepidsupport.com/mbtime.htm.

El MBTime es muy sencillo de usar, tan solo tenemos que poner la frecuencia del oscilador del MCP2515, en nuestro caso 8MHz y la velocidad que queréis en el bus CAN. Cuando le demos a Generate Report, nos da un informe donde al final vienen los valores de los 3 registros ya mencionados.

En la nueva librería, en la línea 134, encontramos la parte del código donde se configuran los registros CNFx, añadir los valores que deseéis respetando la estructura y listo.

Para que estos cambios tengan efecto hay que recompilar la librería, este paso también es sencillo, en el directorio donde tengáis instalado la aplicación de Arduino, en /hardware/libraries/ArCan debéis borrar el archivo “arcan.o”, luego cargáis de nuevo la aplicación de Arduino y podréis verificar que se ha generado otra vez, pero en este caso ya tiene las modificaciones hechas.

Podéis descargar la nueva versión desde el link ArCan_v110

Un saludo ArCanianos!

Leer más...
Actualizado ( Viernes, 20 de Noviembre de 2009 07:53 )




Miércoles 11 Noviembre 2009

Por fín terminado!! PDF Imprimir Email
Escrito por Raúl Milla
Miércoles, 11 de Noviembre de 2009 19:43

Me gustaría presentaros mi nuevo laboratorio/despacho/taller donde espero diseñar muchos circuitos, publicar mucha información interesante en la web y destripar todos los cacharros que caigan en mis manos ^^. Os dejo unas fotillos para que vais el centro de operaciones de ArCanPlanet.

Taller

Taller2

Desing_Zone

Y estos son alguno de los componetes y kits que tengo para desarrollo :)

Cacharrillos

 

Un saludo!

Leer más...
Actualizado ( Jueves, 12 de Noviembre de 2009 19:14 )