picoblaze

51
PICOBLAZE RESUMEN: Softmicro de 8 bits Xilinx

Upload: dee

Post on 05-Jan-2016

66 views

Category:

Documents


0 download

DESCRIPTION

PICOBLAZE. RESUMEN: Softmicro de 8 bits Xilinx. Procesadores Embebidos de 8 bits. 1 Introducción 2 Arquitectura Picoblaze 3 Programación en ensamblador Picoblaze 4 Integración con VHDL. Picoblaze Microprocesador de 8 bits Empotrado en un FPGA Xilinx Soft core - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: PICOBLAZE

PICOBLAZE

RESUMEN:Softmicro de 8 bits Xilinx

Page 2: PICOBLAZE

1 Introducción2 Arquitectura Picoblaze3 Programación en ensamblador Picoblaze4 Integración con VHDL

Procesadores Embebidos de 8 bits

Page 3: PICOBLAZE

Picoblaze Microprocesador de 8 bits Empotrado en un FPGA Xilinx Soft core Optimizado ocupa 200 celdas lógicas Menos del 5% Spartan 3s200

Aplicaciones Debido a que el desarrollo del software es

usualmente mas fácil que crear hardware a la medida, la opción de un microcontrolador es preferida para aplicaciones no criticas en el tiempo.

Picoblaze requiere 2 ciclos para completar una instrucción

Si el reloj del sistema es de 50 MHz, Picoblaze ejecuta 25 millones de instrucciones por segundo

Page 4: PICOBLAZE

Diagrama de un fsmd y un microprocesador

Page 5: PICOBLAZE

Bus de datos de 8 bits ALU de 8 bits con

banderas de acarreo e indicación de cero

16 registros de propósito 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

instrucción 5 ciclos de reloj para

respuesta de interrupcion

Organización básica

Page 6: PICOBLAZE

Diagrama a bloques de picoblaze

Page 7: PICOBLAZE

Top Level HDL modules

Picoblaze es un sistema organizado en 2 módulos de alto nivel en HDL

El modulo KCPSM3 es el procesador Picoblaze

Page 8: PICOBLAZE

KC

PSM

3

clk (entrada 1 bit), señal de reloj del sistema

reset (entrada 1 bit), señal de reset

address (salida 10 bits), dirección de la memoria de instrucciones, especifica la localidad de donde se va a leer la instrucción

instruction ( entrada 18 bits), instrucción

port_id(salida 8 bits), dirección del puerto de entrada o puerto de salida

in_port(entrada 8 bits), datos de entrada de los periféricos de entrada /salida

read_strobe(salida 1 bit), strobe asociado con la operación de entrada

Page 9: PICOBLAZE

o out_port( salida 8 bits), datos de salida hacia los periféricos de entrada/salida

o write_strobe (salida 1 bit) strobe asociado con las operaciones de salida

o interrupt ( entrada 1 bit) solicitud de interrupción de los periféricos de entrada/salida

o interrupt_ack (salida 1 bit), reconocimiento de la interrupción hacia los periféricos de entrada/salida

KC

PSM

3

Page 10: PICOBLAZE

El segundo modulo es para la memoria de instrucciones

Durante el desarrollo

usualmente almacenamos el código ensamblado en la memoria y se configura como una ROM en el lenguaje de descripción de hardware.

Page 11: PICOBLAZE
Page 12: PICOBLAZE

CONJUNTO DE INSTRUCCIONES57 INSTRUCCIONES

Instrucciones del tipo: Lógicas Aritméticas De prueba y comparación Corrimiento y rotación Movimiento de datos Control del flujo de

programa Relacionadas con las

interrupciones

MODELO DE PROGRAMACIÓN

Page 13: PICOBLAZE

FORMATO DE INSTRUCCIÓN

Page 14: PICOBLAZE

FORMATO DE INSTRUCCIÓN

Page 15: PICOBLAZE

Comparación y Test

Comp: comparan 2 registros o bien reg – cte y las banderas de Z y C se ponen a 1

Page 16: PICOBLAZE
Page 17: PICOBLAZE

FORMATO DE INSTRUCCIÓN

Page 18: PICOBLAZE

FORMATO DE INSTRUCCIÓN

Page 19: PICOBLAZE

FORMATO DE INSTRUCCIÓN

Page 20: PICOBLAZE

Instrucciones tipo lógicas

Page 21: PICOBLAZE

Aritméticas

Page 22: PICOBLAZE

De prueba y comparación

Page 23: PICOBLAZE

Corrimiento y rotación

Page 24: PICOBLAZE
Page 25: PICOBLAZE

Movimiento de datos

Page 26: PICOBLAZE

Control del flujo de programa

Page 27: PICOBLAZE
Page 28: PICOBLAZE
Page 29: PICOBLAZE

Relacionadas con las interrupciones

Page 30: PICOBLAZE
Page 31: PICOBLAZE
Page 32: PICOBLAZE
Page 33: PICOBLAZE
Page 34: PICOBLAZE
Page 35: PICOBLAZE
Page 36: PICOBLAZE
Page 37: PICOBLAZE
Page 38: PICOBLAZE
Page 39: PICOBLAZE
Page 40: PICOBLAZE
Page 41: PICOBLAZE
Page 42: PICOBLAZE
Page 43: PICOBLAZE
Page 44: PICOBLAZE
Page 45: PICOBLAZE
Page 46: PICOBLAZE
Page 47: PICOBLAZE
Page 48: PICOBLAZE

Directivas pblaze ide

Page 49: PICOBLAZE

Diferencias entre la sintaxis del kcpsm3 y Pblaze Ide

Page 50: PICOBLAZE

En matlab: Xlpb_as

Otra manera de ensamblar unprograma es a través de MATLAB. Paraesto, ejecutamos en la ventana decomandos >> cd c:\assembler; xlpb_as-p 'diego.psm'La primera instrucción cdc:\assembler es para ubicarnos en lacarpeta donde guardamos el programa yla segunda xlpb_as -p 'diego.psm' espara ensamblar el programa (se puedeexplorar en detalle el comando xlpb_asejecutando type xlpb_as en la ventanade comandos de MATLAB). Si elprograma no presenta errores, se tiene lasiguiente presentación en pantalla:

Page 51: PICOBLAZE