En Internet Explorer 7 y 8 pueden aparecer distintos fallos en la visualización de esta página.
Utilice un navegador seguro y actualizado, que le garantice una visualización sin fallos. Puede emplear navegadores gratuitos:
I - Conceptos básicos de VHDL
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.

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 ^^.
Actualizado (Jueves, 19 de Noviembre de 2009 19:33)
Video de ArCan funcioando :)
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.
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! Actualizado (Lunes, 16 de Noviembre de 2009 18:46) Video-Tutorial del Xilinx ISEHe 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.
PD: Es el primero que hago en mi vida, así que no seais muy críticos ^^ Actualizado (Sábado, 14 de Noviembre de 2009 17:47) Elige velocidad en ArCan!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! Actualizado (Viernes, 20 de Noviembre de 2009 07:53) Por fín terminado!!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.
Y estos son alguno de los componetes y kits que tengo para desarrollo :)
Un saludo! Actualizado (Jueves, 12 de Noviembre de 2009 19:14) |














