Está en la página 1de 26

1

Tabla de Contenido
1. PLANTEAMIENTO DEL PROBLEMA ........................................................................................ 4
2. OBJETIVOS .................................................................................................................................... 4
2.1. Objetivo general ...................................................................................................................... 4
2.2. Objetivos especficos ............................................................................................................... 4
3. MARCO TEORICO ........................................................................................................................ 5
3.1. PICOBLAZE ........................................................................................................................... 5
3.1.1. Mdulos HDL para PicoBlaze ......................................................................................... 5
3.2. El Ncleo KCPSM3 ................................................................................................................ 5
3.2.1. Beneficios ........................................................................................................................ 6
3.2.2. Caractersticas bsicas ..................................................................................................... 6
3.2.3. Puertos I/O ....................................................................................................................... 6
3.2.4. Instrucciones .................................................................................................................... 8
3.4. Proceso para la creacin de un proyecto en vhdl con picoblaze............................................ 10
3.4.1. Descargar PicoBlaze:..................................................................................................... 10
3.4.2. Copiar archivos .............................................................................................................. 10
3.4.3. Montaje de cdigos de idiomas ..................................................................................... 10
3.4.4. Ejecutar el ensamblador ................................................................................................ 11
3.4.5. Navegador de proyectos ................................................................................................ 15
3.5. Arduino DUE ........................................................................................................................ 18
3.5.1. ADC en Arduino DUE (analogReadResolution) ........................................................... 19
3.5.2. DigitalWrite ................................................................................................................... 19
4. DIAGRAMAS ............................................................................................................................... 19
4.1. Diagrama de Bloques ................................................................................................................ 20
4.2. Diagrama digital .................................................................................................................... 20
4.3. Diagrama de bloques ............................................................................................................. 20
5. LISTA DE COMPONENTES ....................................................................................................... 20
6. MAPA DE VARIABLES .............................................................................................................. 21
6.1. ADC.vhd................................................................................................................................ 21
6.2. KCPSM3 ............................................................................................................................... 21
6.3. ArduinoDUE ......................................................................................................................... 22
7. DESCRIPCION DE PRERREQUISITOS Y CONFIGURACION .............................................. 22
8. CONCLUSIONES ......................................................................................................................... 24
9. RECOMENDACIONES ............................................................................................................... 24
2

10. APLICACIONES ...................................................................................................................... 24
11. CRONOGRAMA ...................................................................................................................... 25
12. BIBLIOGRAFA ....................................................................................................................... 25
13. ANEXOS ................................................................................................................................... 25
13.1. Manual de usuario ............................................................................................................. 25
13.2. Resultados del Programa Antiplagio ................................................................................. 25
13.3. Hojas tcnicas .................................................................................................................... 25

Tabla de ilustraciones
Ilustracin 1Conexin del ncleo KCPSM3 con su memoria de cdigo................................................. 5
Ilustracin 2Esquema de movimiento de datos en los puertos I/O ......................................................... 7
Ilustracin 3Montaje de cdigos de idiomas ......................................................................................... 11
Ilustracin 4Ejecutar el ensamblador ................................................................................................... 11
Ilustracin 5Procedimiento para 32 bits:cd .......................................................................................... 12
Ilustracin 6Procedimiento para 32 bits: ADC.psm KCPSM3 ............................................................. 12
Ilustracin 7Procedimiento para 32 bits:KCPSM3 completo ............................................................... 12
Ilustracin 8Directorio de trabajo ........................................................................................................ 13
Ilustracin 9Procedimiento para 64 bits. .............................................................................................. 13
Ilustracin 10Software DOSbox ............................................................................................................ 14
Ilustracin 11Comando c, se utiliza para cambiar el directorio. ......................................................... 14
Ilustracin 12Introducir el comando KCPSM3 ADC.psm .................................................................... 15
Ilustracin 13Navegador de proyectos en este caso Xilinx ISE Design ................................................ 15
Ilustracin 14Crear un proyecto en Xilinx ISE Design ......................................................................... 16
Ilustracin 15Configurara las caractersticas de la FPGA .................................................................. 16
Ilustracin 16Aadir los archivos de cdigo fuente .............................................................................. 17
Ilustracin 17Aadir ADC.VHD y kcpsm3.vhd. .................................................................................... 17
Ilustracin 18Muestra los dos archivos seleccionados se aadan al proyecto ..................................... 18
Ilustracin 19Aadir los archivos al proyecto ...................................................................................... 18
Ilustracin 20Arduino DUE .................................................................................................................. 18
Ilustracin 21Diagrama de Bloques ..................................................................................................... 20
Ilustracin 22Logo de Windows 7 ......................................................................................................... 22
Ilustracin 23DOSBox .......................................................................................................................... 23
Ilustracin 24FPGA SPARTAN 3E-500 ................................................................................................ 23
Ilustracin 25ArduinoDue ..................................................................................................................... 23
Ilustracin 26Cronograma de Actividades ........................................................................................... 25
Ilustracin 27Due-pinout ...................................................................................................................... 26



3

Tablas
Tabla 1 Repertorio de instrucciones ....................................................................................................................... 9
Tabla 2 Directivas de ensambladores para PicoBlaze ............................................................................................. 9
Tabla 3 Diferencias entre nemnicos del ensamblador para PicoBlaze ................................................................ 10
Tabla 4.Lista de Componentes .............................................................................................................................. 21
Tabla 5Entradas:ADC.vhd ..................................................................................................................................... 21
Tabla 65Salidas:ADC.vhd....................................................................................................................................... 21
Tabla 7Entradas: KCPSM3 ..................................................................................................................................... 21
Tabla 8Salidas de kcpsm3 ..................................................................................................................................... 21
Tabla 9Entradas de top_level ................................................................................................................................ 22
Tabla 10Salidas de top_level ................................................................................................................................. 22
Tabla 11Signals de top_level ................................................................................................................................. 22
Tabla 12ArduinoDUE ............................................................................................................................................. 22

















4

1. PLANTEAMIENTO DEL PROBLEMA
En la actualidad debido al avance tecnolgico se han creado las FPGA Arreglo de compuertas lgicas
programables que contiene bloques de lgica cuya interconexin y funcionalidad puede ser
configurada mediante un lenguaje de descripcin especializado. Si bien es cierto el diseo y desarrollo
de nuevas tecnologas aplicadas a la investigacin avanza lentamente debido a las pocas aplicaciones
que se realizan con base a estas tecnologas; son desarrollos que hasta el momento estn comenzando a
ser explorados con mayor profundidad, por este motivo se plante la elaboracin de la una aplicacin
con el micro PicoBlaze que obtenga datos de un ADC y que su valor se despliegue en una serie de
leds segun el valor digitalizado, desde la manipulacin de la tarjeta de desarrollo Spartan 3E con sus
mdulos incorporados y todo el tratamiento digital que esto implica.
Con base a lo anterior, este proyecto se estructura en cuatro fases de desarrollo. Una primera fase de
investigacin sobre el desarrollo de FPGA como nueva tecnologa aplicada al procesamiento de
seales ; una segunda etapa ya enfocada en la implementacin que implica el procesamiento previo y
conversin a smbolos analgicos ; una tercera etapa del bloque de programacin con la FPGA para el
procesamiento, y por ltimo la conversin de estos smbolos.

2. OBJETIVOS

2.1. Objetivo general
Desarrollar e implementar una aplicacin con el micro PicoBlaze que obtenga datos de un ADC,
en una tarjeta FPGA Xilinx Spartan 3E.

2.2. Objetivos especficos
Detallar el procedimiento necesario para implementar una aplicacin con el micro PicoBlaze.
Investigar el marco terico del mdulo PicoBlaze, el cual incluye funcionalidad, lenguaje e
instrucciones y conexin del mdulo con la FPGA.
Incluir el mdulo de PicoBlaze en el programa principal y sintetizar el sistema entero en la FPGA
en el software especfico de Xilinx.
Representar los datos obtenidos del ADC en una serie de leds segn el valor digitalizado.
















5

3. MARCO TEORICO
3.1. PICOBLAZE

3.1.1. Mdulos HDL para PicoBlaze
Est organizado en dos mdulos: KCPSM3 es el procesador (constant (K) coded programmable state
machine). El otro mdulo es para la memoria de instrucciones. All se almacena el cdigo ensamblado.

Ilustracin 1Conexin del ncleo KCPSM3 con su memoria de cdigo.

3.2. El Ncleo KCPSM3

El ncleo requiere de un bloque de RAM, en el que es posible almacenar un programa de hasta 1024
instrucciones, que se cargan automticamente durante la configuracin del FPGA. El microprocesador
es flexible, no requiere recursos externos. Su funcionalidad bsica puede ser extendida conectndole
puertos de entrada y salida u otros recursos, realizados con lgica del FPGA.


PICOBLAZE
Es un
microcontrolador
de 8 bits,
compacto y de
distribucin libre
Est diseado
para ser
empotrado en
dispositivos
FPGA
Se provee como
soft core, y puede
sintetizarse con el
resto de la lgica.
Est optimizado
y ocupa solo 200
celdas lgicas.
(5% de los
recursos)
6

3.2.1. Beneficios


3.2.2. Caractersticas bsicas

3.2.3. Puertos I/O
Los puertos de entrada/salida permiten conectar al microprocesador a otros mdulos o a los perifricos
del FPGA. El microprocesador admite manejar 256 puertos de entrada y 256 puertos de salida,
utilizando las siguientes seales:


Es un recurso que se presenta como cdigo VHDL y que puede ser sintetizado
en algn FPGA
El ncleo puede emigrarse a futuras arquitecturas de FPGAs
Se elimina el riesgo de que la aplicacin quede obsoleta, debido a
nuevas generaciones de FPGAs.
Como el KCPSM3 queda integrado en el FPGA de una tarjeta de
desarrollo, reduce la necesidad de espacio fsico externo.
Es posible sintetizar ms de un ncleo dentro de un FPGA.
Datos CPU de 8-
bits
16 registros de
datos
64 posiciones de
memoria de
datos (direccin
de 6-bit)
ALU de 8-bits
con flags C
(carry) y Z (zero)
256 puertos de
entrada y 256
puertos de salida
PORT_ID
provee la
direccin del
puerto.
IN_PORT
Bus de
entrada.
OUT_PORT
Bus de
salida.
READ_STROBE
Activacin
de una
operacin de
lectura.
WRITE_STROBE
Activacin
de una
operacin de
escritura.
7


Proceso de entrada de datos

Proceso de salida de datos

Las seales PORT_ID, READ_STROBE y WRITE_STROBE son utilizadas para la decodificacin de
hardware externo, haciendo posible que diferentes recursos de hardware sean mapeados en diferentes
direcciones. PORT_ID es vlido por dos ciclos del reloj proporcionando tiempo adicional para
decodificacin lgica externa. READ_ STROBE y WRITE_ STROBE se proveen en el segundo ciclo
de reloj.



Movimiento de datos

Ilustracin 2Esquema de movimiento de datos en los puertos I/O





Se realiza con la
instruccin INPUT
El PicoBlaze coloca en
PORT_ID la direccin a
leer
Genera un pulso en
READ_STROBE por un
ciclo de reloj
Lee el dato del bus
IN_PORT y lo
transfiere a un registro
especificado.
Se tiene a la
instruccin
OUTPUT
El PicoBlaze
coloca en
PORT_ID la
direccin a
escribir
Coloca un dato
en el bus
OUT_PORT
proveniente de
un registro
especificado
Genera un
pulso en
WRITE_STROBE
por un ciclo de
reloj.
8

3.2.4. Instrucciones

El repertorio de instrucciones del ncleo KCPSM3 se muestra en la tabla 1 y se compone de 57
instrucciones, que de acuerdo con su funcin, se organizan en 7 grupos.

1024 posiciones
de memoria de
instrucciones
(direccin de 10-
bits)
9


Tabla 1 Repertorio de instrucciones


La notacin empleada para los operandos es:
sX Uno de los 16 registros entre el rango de s0 a sF.
sY Uno de los 16 registros entre el rango de s0 a sF.
kk representa un valor constante en el rango de 00 a FF.
aaa representa una direccin en el rango de 000 a 3FF.
pp representa la direccin de un puerto en el rango de 00 a FF
ss Representa una direccin de almacenamiento interno en el rango de 00 a 3F

3.2.5. Directivas del ensamblador
Las directivas son rdenes para el ensamblador y no tienen traduccin a cdigo mquina. Para los dos
ensambladores principales tenemos:

Tabla 2 Directivas de ensambladores para PicoBlaze

3.2.6. Nemnicos del Ensamblador
El lenguaje ensamblador trabaja con nemnicos, que son grupos de caracteres alfanumricos que
simbolizan las rdenes o tareas a realizar.
La traduccin de los nemnicos a cdigo mquina la lleva a cabo un programa ensamblador.
10

DOSBox es
un emulador que
recrea un entorno
similar al
sistema DOS
Su objetivo es poder ejecutar
programas originalmente escritos
para el sistema operativo MS-
DOS deMicrosoft en ordenadores
ms modernos o en
diferentes arquitecturas
DOSBox
es software libre
Est disponible para
muchos sistemas
operativos,
como Linux, FreeBSD,
Windows, Mac OS
X, OS/2 y BeOS.

Tabla 3 Diferencias entre nemnicos del ensamblador para PicoBlaze
3.3. DOSBox




3.4. Proceso para la creacin de un proyecto en vhdl con picoblaze

3.4.1. Descargar PicoBlaze:
Descargar el archivo desde KCPSM3.zip http://www.xilinx.com/. La versin del software para la
familia Spartan-3 debe ser elegida.

3.4.2. Copiar archivos
Cree un directorio llamado ADC, en este se almacenar todos los archivos del proyecto.
Copiar los siguientes archivos del directorio de ensamblador en ADC.
KCPSM3.EXE
ROM_form.coe
ROM_form.v
ROM_form.vhd
Copiar el archivo siguiente del directorio VHDL en ADC.
kcpsm3.vhd

3.4.3. Montaje de cdigos de idiomas
11

Abrir un editor de texto (Bloc de notas o Wordpad) y escriba el texto que se muestra en la figura. El
texto consta de un programa escrito en el lenguaje ensamblador KCPSM3.

Ilustracin 3Montaje de cdigos de idiomas
El programa se ejecuta en un bucle infinito:
Lee el contenido de un puerto de entrada a la direccin 00h (conectada a los interruptores) en
un registro,
Escribe el contenido de este registro a un puerto de salida en la direccin de 80h (conectado a
los LED).
Despus guardar el archivo en ADC.psm, en el directorio ADC.

Nota: Si se utiliza el Bloc de notas, tener cuidado de no guardar el archivo como tutorial.psm.txt. El
nombre del archivo debe ser restringido a 8 caracteres. Los caracteres que aparecen despus de un ";"
en cada lnea son comentarios.

3.4.4. Ejecutar el ensamblador
El ensamblador toma el archivo .psm como entrada, as como tres plantillas de inicializacin del
bloque de memoria RAM. Se producen quince archivos de salida diferentes. El archivo de salida es
.vhd.

Ilustracin 4Ejecutar el ensamblador

El ensamblador es un archivo ejecutable de DOS, KCPSM3.exe, que se puede ejecutar en una ventana
del smbolo del sistema DOS.
12

Para sistemas operativos de 32 bits se puede realizar el siguiente procedimiento en cmd, para 64 bits se
especificar ms adelante.

Procedimiento para 32 bits:
Abrir una ventana del smbolo del sistema DOS seleccionando:
Inicio Todos los programas Prompt Accesorios Smbolo

Utilice el comando cd para cambiar al directorio del trabajo ADC, como se muestra en la figura:

Ilustracin 5Procedimiento para 32 bits:cd

Escribir el comando ADC.psm KCPSM3, como se muestra en la figura:

Ilustracin 6Procedimiento para 32 bits: ADC.psm KCPSM3
Despus de introducir el comando KCPSM3 ADC.psm, aparecer en la pantalla varios mensajes que
termina con "KCPSM3 xitoso. KCPSM3 completo.

Ilustracin 7Procedimiento para 32 bits:KCPSM3 completo
Despus de que el ensamblador se ha ejecutado correctamente, el directorio de trabajo debe contener
muchos ms archivos.
13


Ilustracin 8Directorio de trabajo
Procedimiento para 64 bits.
En un sistema de 64 bits al realizar el procedimiento aparecer el mensaje de error como se muestra en
la figura:

Ilustracin 9Procedimiento para 64 bits.
Para poder implementarlo se debe utilizar el software DOSbox, que se puede descargar desde
http://www.dosbox.com/.

Descarguar y ejecutar DOSBox.
Montar el directorio de trabajo y el cambio en este directorio.
Al ejecutar el DOSbox aparece una ventana de comandos que se asemeja a la ventana del smbolo del
sistema DOS pero primero es necesario montar el directorio de trabajo a una letra de unidad antes de
poder entrar en este directorio y ejecutar programas.
Esto se realiza con el comando mount:
mount <letra_unidad><directorio>
14


Ilustracin 10Software DOSbox
El comando c: se utiliza para cambiar en este directorio.

Ilustracin 11Comando c, se utiliza para cambiar el directorio.
Despus de introducir el comando KCPSM3 ADC.psm, se podr configurar como que fuera un
sistema de 32 bits como se muestra en la figura.
15


Ilustracin 12Introducir el comando KCPSM3 ADC.psm
3.4.5. Navegador de proyectos
Inicie el software Navegador de proyectos en este caso Xilinx ISE Design y creamos un nuevo
proyecto:

Ilustracin 13Navegador de proyectos en este caso Xilinx ISE Design
16


Ilustracin 14Crear un proyecto en Xilinx ISE Design

Ilustracin 15Configurara las caractersticas de la FPGA

Luego aadimos los archivos de cdigo fuente como se muestra en la figura:

17


Ilustracin 16Aadir los archivos de cdigo fuente
Seleccionar ADC.VHD y kcpsm3.vhd.

Ilustracin 17Aadir ADC.VHD y kcpsm3.vhd.
Nos aparecer la ventana que aparece en la siguiente figura que muestra los dos archivos
seleccionados se aadan al proyecto y hacemos clic en Aceptar.
18

Figura 1Arduino DUE
Arduino
Due
Es una placa
electrnica
basada en la
CPU
Atmel SAM3
X8E ARM
Cortex-M3
Es la primera
placa Arduino
basado en un
microcontrola
dor ncleo
ARM de 32
bits
Lleva 54
entradas /
salidas
digitales
I/O 12 se
pueden
utilizar
como salidas
PWM)
4 UARTs
Un reloj de
84 MHz
Cuenta con una
conexin capaz
USB OTG, 2
DAC (de digital
a analgico)
Ilustracin 20Arduino DUE

Ilustracin 18Muestra los dos archivos seleccionados se aadan al proyecto

Podemos observar que se aadieron los archivos a nuestro proyecto.

Ilustracin 19Aadir los archivos al proyecto
Y luego configuramos en un programa principal los puertos por los cuales va a funcionar el programa
implementado el PicoBlaze.

3.5. Arduino DUE











19


















3.5.1. ADC en Arduino DUE (analogReadResolution)
Descripcin
analogReadResolution () es una extensin de la API analgica para el Arduino Due.
Define el tamao (en bits) del valor devuelto por analogRead (). Por defecto es 10 bits (devuelve
valores entre 0-1023) para la compatibilidad con placas basadas AVR.
El Due tiene capacidades de ADC de 12 bits que se puede acceder al cambiar la resolucin a 12. Esto
devolver los valores de analogRead () entre 0 y 4095.

Sintaxis
analogReadResolution (bits)


3.5.2. DigitalWrite
Descripcin
Escribe un valor HIGH o LOW hacia un pin digital.
Si el pin ha sido configurado como OUTPUT con pinMode(), su voltaje ser establecido al
correspondiente valor: 5V ( o 3.3V en tarjetas de 3.3V) para HIGH, 0V (tierra) para LOW.
Si el pin es configurado como INPUT, escribir un valor de HIGH con digitalWrite() habilitar una
resistencia interna de 20K conectada en pullup (ver el tutorial de pines digitales). Escribir LOW
invalidar la resistencia. La resistencia es sufuciente para hacer brillar un LED de forma opaca, si
los LEDs aparentan funcionar, pero no muy iluminados, esta puede ser la causa. La solucin es
establecer el pin como salida con la funcin pinMode().

Sintaxis
digitalWrite(pin, valor)


4. DIAGRAMAS
20

4.1. Diagrama de Bloques













4.2. Diagrama digital

4.3. Diagrama de bloques

5. LISTA DE COMPONENTES
COMPONENTES UTILIDAD
Camtasia Studio 8.0


Prezi


Viper

ISE Desing Suite 14.1

Xilins PlanAhead 14.1


PBlazeIDE


DOSBox



FPGA SPARTAN 3E-500




Capturar videos directamente mientras se trabaja en
pantalla.

Permite realizar presentaciones de trabajo para la
exposicin del mismo.

Software antiplagio.

Software para programar en VHDL

Software para grabar el programa en VHDL en la
FPGA.

Programar el procesador PicoBlaze en
ensamblador.

Es un emulador que recrea un entorno similar al
sistema DOS con el objetivo de poder ejecutar
programas

Field Programmable Gate Array Dispositivo es un
dispositivosemiconductor que contiene bloques de
lgica cuya interconexin y funcionalidad puede ser
configurada

Entrada analgica
ADC
Salida digital
8 bits
8 bits de
entrada
8 bits de salida
(digital)
Figura 2Diagrama de Bloques Ilustracin 21Diagrama de Bloques
21

Arduino DUE



Es una placa electrnica que permite la conversin
anloga digital

Tabla 4.Lista de Componentes
6. MAPA DE VARIABLES
6.1. ADC.vhd
Entradas de ADC.vhd
Tipo Nombre Descripcin Dimensin Asignacin
STD_LOGIC_VECTOR address Direccin de la Instruccin 10 address
STD_LOGIC clk reloj 1 clk
Tabla 5Entradas:ADC.vhd
Salidas de ADC.vhd
Tipo Nombre Descripcin Dimensin Asignacin
STD_LOGIC_VECTOR instruction instruccin 18 instruction
Tabla 65Salidas:ADC.vhd
6.2. KCPSM3
Entradas de kcpsm3
Tipo Nombre Descripcin Dimensin Asignacin
STD_LOGIC_VECTOR instruction instruccin 18 instruction
STD_LOGIC_VECTOR in_port puerto de entrada 8 in_port
STD_LOGIC interrupt generar un evento de alarma al afirmar 1 interrupt
esta entrada de alta durante al menos dos CLK
STD_LOGIC clk reloj 1 clk
STD_LOGIC reset reset 1 reset
Tabla 7Entradas: KCPSM3
Salidas de kcpsm3
Tipo Nombre Descripcin Dimensin Asignacin
STD_LOGIC_VECTOR address 10 address
STD_LOGIC_VECTOR port_id Contiene la direccin del puerto durante 2
ciclos
8 port_id
STD_LOGIC write_strobe Valida los datos de salida del puerto 1 write_strobe
STD_LOGIC read_storbe Indica que los datos de entrada fueron
capturados
1 read_storbe
STD_LOGIC_VECTOR out_port Datos de salida aparece durante dos ciclos 8 out_port
STD_LOGIC interrupt_ack reconoce que se ha producido un evento
de interrupcin
1 interrupt_ack
Tabla 8Salidas de kcpsm3
Entradas de top_level
Tipo Nombre Descripcin Dimensin
STD_LOGIC_VECTOR switches entrada de la seal del arduino 8
STD_LOGIC clk reloj 1
22

Tabla 9Entradas de top_level
Salidas de top_level
Tipo Nombre Descripcin Dimensin
STD_LOGIC_VECTOR LEDs muestra la conversin A/D 8
Tabla 10Salidas de top_level
Signals de top_level
Tipo Nombre Dimensin
STD_LOGIC_VECTOR address 10
STD_LOGIC_VECTOR instruction 18
STD_LOGIC_VECTOR port_id 8
STD_LOGIC_VECTOR out_port 8
STD_LOGIC_VECTOR in_port 8
STD_LOGIC write_storbe 1
STD_LOGIC read_storbe 1
STD_LOGIC interrupt_ack 1
STD_LOGIC reset 1
STD_LOGIC interrupt 1
Tabla 11Signals de top_level
6.3. ArduinoDUE
Variables del Arduino
Tipo Nombre Descripcin
int sensor Almacena el valor de la
conversin A/D
byte num Almacena el valor de la
conversin A/D en 1byte
Tabla 12ArduinoDUE

7. DESCRIPCION DE PRERREQUISITOS Y CONFIGURACION
Computadora con Windows 7 para instalar el programa ISE Desing Suite 14.1


Ilustracin 22Logo de Windows 7
Programa ISE Desing Suite 14.1 para programar en VHDL
23

Programa Xilins PlanAhead 14.1 para grabar el programa en la FPGA.
Programa DOSBox

Ilustracin 23DOSBox
FPGA SPARTAN 3E-500









Tener conocimiento bsico de programacin en VHDL.
Instalar el PBlazeIDE, el cual se puede descargar de la pgina de mediatronix.
Programa Arduino 1.5.5, para programar el ArduinoDue
ArduinoDue







Figura 3FPGA SPARTAN 3E-500 Ilustracin 24FPGA SPARTAN 3E-500
Ilustracin 25ArduinoDue
24

8. CONCLUSIONES
PicoBlaze tiene dos mdulos principales, el primero es el ncleo kcpsm3 que tiene las
caractersticas y arquitectura generales de cualquier microprocesador, posee registros e
instrucciones en lenguaje ensamblador y seales de entrada y salida. El segundo es la memoria de
instrucciones donde se almacena el cdigo ensamblador del programa, esto permite configurarlo
como una ROM en HDL.

Los FPGAs son eficaces para la implementacin de algoritmos o el prototipado de circuitos y
sistemas digitales, sumado a la ventaja de emplear lenguajes de alto nivel en la especificacin de
los diseos. Al contar con un microprocesador empotrado, se ampla la gama de aplicaciones que
con estos dispositivos pueden desarrollarse.
El microprocesador PicoBlaze permite realizar programas en lenguaje de bajo nivel, mediante
ensambladores propios de este microprocesador se los puede incluir como mdulos vhdl en un
sistema embebido con una aplicacin especfica.

9. RECOMENDACIONES
Encender primero la tarjeta de desarrollo, y posteriormente conectar el puerto USB de
programacin desde la PC a la tarjeta, para evitar posibles daos.
Verificar que las especificaciones de la tarjeta de desarrollo ingresadas al momento de
crear el proyecto corresponden con las especificaciones de la tarjeta que se va a utilizar.
Se recomienda agregar el archivo de origen vho al proyecto para ser compilado
correctamente en el diseo durante la sntesis y aplicacin.
Para realizar el montaje de cdigos de idiomas si se utiliza el Bloc de notas, tener cuidado de no
guardar el archivo como tutorial.psm.txt. El nombre del archivo debe ser restringido a 8 caracteres.
Los caracteres que aparecen despus de un ";" en cada lnea son comentarios.

10. APLICACIONES
Al momento de hablar de aplicaciones el mdulo PicoBlaze compite con una mquina de estados
FSMD. A diferencia de FSMD que podra completar en un nico estado (ciclo de reloj) una operacin
compleja, el PicoBlaze puede realizar una operacin prediseada en un ciclo. Puede requerir muchas
instrucciones para realizar la misma tarea que el FSMD.
Debido a que el desarrollo de software es generalmente ms fcil que crear hardware personalizado, la
opcin microprocesador es generalmente preferible para aplicaciones de tiempo no crtico.
Existen varios proyectos y aplicaciones realizadas con este mdulo:
Contador ascendente-descendente utilizando el procesador empotrado Picoblaze. A partir de
su repertorio de instrucciones se crea un cdigo ensamblador que programa un contador.
Cronmetro digital con precisin de centsimas de segundos, utilizando el PicoBlaze, se
decodifican los nmeros hexadecimales para poder ser mostrados en un display de 7
segmentos.
Diseo de un reloj que mide el tiempo en horas, minutos y segundos junto la posibilidad de
programar una alarma. El diseo contiene un mdulo UART para establecer comunicacin
serial y se utiliza para observar y/o programar el tiempo y la alarma a travs de comandos
simples y mensajes; para ello se utiliza el HyperTerminal de Windows. La seal de alarma
25

puede ser usada para disparar una interrupcin en el procesador principal.

11. CRONOGRAMA

Ilustracin 26Cronograma de Actividades

12. BIBLIOGRAFA



13. ANEXOS
13.1. Manual de usuario

13.2. Resultados del Programa Antiplagio

13.3. Hojas tcnicas

13.3.1. Due-pinout
26


Ilustracin 27Due-pinout