Download - PICOBLAZE
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: