1 / 54

PICOBLAZE

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

rene
Download Presentation

PICOBLAZE

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. PICOBLAZE RESUMEN: Softmicro de 8 bits Xilinx

  2. Procesadores Embebidos de 8 bits • 1 Introducción • 2 Arquitectura Picoblaze • 3 Programación en ensamblador Picoblaze • 4 Integración con VHDL

  3. 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

  4. Diagrama de un fsmd y un microprocesador

  5. 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

  6. Diagrama a bloques de picoblaze

  7. 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

  8. KCPSM3 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

  9. out_port( salida 8 bits), datos de salida hacia los periféricos de entrada/salida • write_strobe (salida 1 bit) strobe asociado con las operaciones de salida • interrupt ( entrada 1 bit) solicitud de interrupción de los periféricos de entrada/salida • interrupt_ack (salida 1 bit), reconocimiento de la interrupción hacia los periféricos de entrada/salida KCPSM3

  10. 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.

  11. CONJUNTO DE INSTRUCCIONES 57 INSTRUCCIONES MODELO DE PROGRAMACIÓN • 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

  12. FORMATO DE INSTRUCCIÓN

  13. FORMATO DE INSTRUCCIÓN

  14. Comparación y Test Comp: comparan 2 registros o bien reg – cte y las banderas de Z y C se ponen a 1

  15. FORMATO DE INSTRUCCIÓN

  16. FORMATO DE INSTRUCCIÓN

  17. FORMATO DE INSTRUCCIÓN

  18. Instrucciones tipo lógicas

  19. Aritméticas

  20. De prueba y comparación

  21. Corrimiento y rotación

  22. Movimiento de datos

  23. Control del flujo de programa

  24. Relacionadas con las interrupciones

  25. Directivaspblazeide

  26. Diferencias entre la sintaxis del kcpsm3 y PblazeIde

  27. En matlab:Xlpb_as Otra manera de ensamblar un programa es a través de MATLAB. Para esto, ejecutamos en la ventana de comandos >> cd c:\assembler; xlpb_as -p 'diego.psm' La primera instrucción 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 typexlpb_as en la ventana de comandos de MATLAB). Si el programa no presenta errores, se tiene la siguiente presentación en pantalla:

More Related