picoblaze

Post on 05-Jan-2016

67 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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

PICOBLAZE

RESUMEN:Softmicro de 8 bits Xilinx

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

Procesadores Embebidos de 8 bits

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

Diagrama de un fsmd y un microprocesador

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

Diagrama a bloques de 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

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

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

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.

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

FORMATO DE INSTRUCCIÓN

FORMATO DE INSTRUCCIÓN

Comparación y Test

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

FORMATO DE INSTRUCCIÓN

FORMATO DE INSTRUCCIÓN

FORMATO DE INSTRUCCIÓN

Instrucciones 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

Directivas pblaze ide

Diferencias entre la sintaxis del kcpsm3 y Pblaze Ide

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:

top related