Sunteți pe pagina 1din 51

PICOBLAZE

RESUMEN: Softmicro de 8 bits Xilinx

Procesadores Embebidos de 8 bits

1 Introduccin 2 Arquitectura Picoblaze 3 Programacin en ensamblador Picoblaze 4 Integracin con VHDL

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

Diagrama de un fsmd y un microprocesador

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

Diagrama a bloques de picoblaze

Top Level HDL modules

Picoblaze es un sistema organizado en 2 mdulos de alto nivel en HDL

El modulo KCPSM3 es el procesador Picoblaze

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

KCPSM3

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

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.

CONJUNTO DE INSTRUCCIONES
57 INSTRUCCIONES

MODELO DE PROGRAMACIN

Instrucciones del tipo: Lgicas Aritmticas De prueba y comparacin Corrimiento y rotacin Movimiento de datos Control del flujo de programa Relacionadas con las interrupciones

FORMATO DE INSTRUCCIN

FORMATO DE INSTRUCCIN

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

FORMATO DE INSTRUCCIN

FORMATO DE INSTRUCCIN

FORMATO DE INSTRUCCIN

Instrucciones tipo lgicas

Aritmticas

De prueba y comparacin

Corrimiento y rotacin

Movimiento de datos

Control del flujo de programa

Relacionadas con las interrupciones

Directivas pblaze ide

Diferencias entre la sintaxis del kcpsm3 y Pblaze Ide

En matlab:

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:

Xlpb_as

S-ar putea să vă placă și