1 Introduccin 2 Arquitectura Picoblaze 3 Programacin en
ensamblador Picoblaze 4 Integracin con VHDL Procesadores Embebidos
de 8 bits
Diapositiva 3
Picoblaze Microprocesador de 8 bits Empotrado en un FPGA Xilinx
Soft core Optimizado ocupa 200 celdas lgicas Menos del 5% Spartan
3s200 Aplicaciones Debido a que el desarrollo del software es
usualmente mas fcil que crear hardware a la medida, la opcin de un
microcontrolador es preferida para aplicaciones no criticas en el
tiempo. Picoblaze requiere 2 ciclos para completar una instruccin
Si el reloj del sistema es de 50 MHz, Picoblaze ejecuta 25 millones
de instrucciones por segundo
Diapositiva 4
Diagrama de un fsmd y un microprocesador
Diapositiva 5
Bus de datos de 8 bits ALU de 8 bits con banderas de acarreo e
indicacin de cero 16 registros de propsito general de 8 bits 64
byte de memoria de datos Formato de instrucciones de 18 bits Bus de
direcciones de 10 bits (1024 instrucciones) Stack de 31 palabras
256 puertos de entrada 256 puertos de salida 2 ciclos de reloj por
instruccin 5 ciclos de reloj para respuesta de interrupcion
Organizacin bsica
Diapositiva 6
Diagrama a bloques de picoblaze
Diapositiva 7
Top Level HDL modules Picoblaze es un sistema organizado en 2
mdulos de alto nivel en HDL El modulo KCPSM3 es el procesador
Picoblaze
Diapositiva 8
KCPSM3 clk (entrada 1 bit), seal de reloj del sistema reset
(entrada 1 bit), seal de reset address (salida 10 bits), direccin
de la memoria de instrucciones, especifica la localidad de donde se
va a leer la instruccin instruction ( entrada 18 bits), instruccin
port_id(salida 8 bits), direccin del puerto de entrada o puerto de
salida in_port(entrada 8 bits), datos de entrada de los perifricos
de entrada /salida read_strobe(salida 1 bit), strobe asociado con
la operacin de entrada
Diapositiva 9
o out_port( salida 8 bits), datos de salida hacia los
perifricos de entrada/salida o write_strobe (salida 1 bit) strobe
asociado con las operaciones de salida o interrupt ( entrada 1 bit)
solicitud de interrupcin de los perifricos de entrada/salida o
interrupt_ack (salida 1 bit), reconocimiento de la interrupcin
hacia los perifricos de entrada/salida KCPSM3
Diapositiva 10
El segundo modulo es para la memoria de instrucciones Durante
el desarrollo usualmente almacenamos el cdigo ensamblado en la
memoria y se configura como una ROM en el lenguaje de descripcin de
hardware.
Diapositiva 11
Diapositiva 12
CONJUNTO DE INSTRUCCIONES 57 INSTRUCCIONES Instrucciones del
tipo: Lgicas Aritmticas De prueba y comparacin Corrimiento y
rotacin Movimiento de datos Control del flujo de programa
Relacionadas con las interrupciones MODELO DE PROGRAMACIN
Diapositiva 13
FORMATO DE INSTRUCCIN
Diapositiva 14
Diapositiva 15
Comparacin y Test Comp: comparan 2 registros o bien reg cte y
las banderas de Z y C se ponen a 1
Diapositiva 16
Diapositiva 17
FORMATO DE INSTRUCCIN
Diapositiva 18
Diapositiva 19
Diapositiva 20
Instrucciones tipo lgicas
Diapositiva 21
Aritmticas
Diapositiva 22
De prueba y comparacin
Diapositiva 23
Corrimiento y rotacin
Diapositiva 24
Diapositiva 25
Movimiento de datos
Diapositiva 26
Control del flujo de programa
Diapositiva 27
Diapositiva 28
Diapositiva 29
Relacionadas con las interrupciones
Diapositiva 30
Diapositiva 31
Diapositiva 32
Diapositiva 33
Diapositiva 34
Diapositiva 35
Diapositiva 36
Diapositiva 37
Diapositiva 38
Diapositiva 39
Diapositiva 40
Diapositiva 41
Diapositiva 42
Diapositiva 43
Diapositiva 44
Diapositiva 45
Diapositiva 46
Diapositiva 47
Diapositiva 48
Directivas pblaze ide
Diapositiva 49
Diferencias entre la sintaxis del kcpsm3 y Pblaze Ide
Diapositiva 50
En matlab: Xlpb_as Otra manera de ensamblar un programa es a
travs de MATLAB. Para esto, ejecutamos en la ventana de comandos
>> cd c:\assembler; xlpb_as -p 'diego.psm' La primera
instruccin cd c:\assembler es para ubicarnos en la carpeta donde
guardamos el programa y la segunda xlpb_as -p 'diego.psm' es para
ensamblar el programa (se puede explorar en detalle el comando
xlpb_as ejecutando type xlpb_as en la ventana de comandos de
MATLAB). Si el programa no presenta errores, se tiene la siguiente
presentacin en pantalla: