51
PICOBLAZE RESUMEN: Softmicro de 8 bits Xilinx

PICOBLAZE RESUMEN: Softmicro de 8 bits Xilinx. 1 Introducción 2 Arquitectura Picoblaze 3 Programación en ensamblador Picoblaze 4 Integración con VHDL

Embed Size (px)

Citation preview

  • Diapositiva 1
  • PICOBLAZE RESUMEN: Softmicro de 8 bits Xilinx
  • Diapositiva 2
  • 1 Introduccin 2 Arquitectura Picoblaze 3 Programacin en ensamblador Picoblaze 4 Integracin con VHDL Procesadores Embebidos de 8 bits
  • Diapositiva 3
  • 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
  • Diapositiva 4
  • Diagrama de un fsmd y un microprocesador
  • Diapositiva 5
  • 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
  • Diapositiva 6
  • Diagrama a bloques de picoblaze
  • Diapositiva 7
  • Top Level HDL modules Picoblaze es un sistema organizado en 2 mdulos de alto nivel en HDL El modulo KCPSM3 es el procesador Picoblaze
  • Diapositiva 8
  • KCPSM3 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
  • Diapositiva 9
  • 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
  • Diapositiva 10
  • 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.
  • Diapositiva 11
  • Diapositiva 12
  • CONJUNTO DE INSTRUCCIONES 57 INSTRUCCIONES Instrucciones del tipo: Lgicas Aritmticas De prueba y comparacin Corrimiento y rotacin Movimiento de datos Control del flujo de programa Relacionadas con las interrupciones MODELO DE PROGRAMACIN
  • Diapositiva 13
  • FORMATO DE INSTRUCCIN
  • Diapositiva 14
  • Diapositiva 15
  • Comparacin y Test Comp: comparan 2 registros o bien reg cte y las banderas de Z y C se ponen a 1
  • Diapositiva 16
  • Diapositiva 17
  • FORMATO DE INSTRUCCIN
  • Diapositiva 18
  • Diapositiva 19
  • Diapositiva 20
  • Instrucciones tipo lgicas
  • Diapositiva 21
  • Aritmticas
  • Diapositiva 22
  • De prueba y comparacin
  • Diapositiva 23
  • Corrimiento y rotacin
  • Diapositiva 24
  • Diapositiva 25
  • Movimiento de datos
  • Diapositiva 26
  • Control del flujo de programa
  • Diapositiva 27
  • Diapositiva 28
  • Diapositiva 29
  • Relacionadas con las interrupciones
  • Diapositiva 30
  • Diapositiva 31
  • Diapositiva 32
  • Diapositiva 33
  • Diapositiva 34
  • Diapositiva 35
  • Diapositiva 36
  • Diapositiva 37
  • Diapositiva 38
  • Diapositiva 39
  • Diapositiva 40
  • Diapositiva 41
  • Diapositiva 42
  • Diapositiva 43
  • Diapositiva 44
  • Diapositiva 45
  • Diapositiva 46
  • Diapositiva 47
  • Diapositiva 48
  • Directivas pblaze ide
  • Diapositiva 49
  • Diferencias entre la sintaxis del kcpsm3 y Pblaze Ide
  • Diapositiva 50
  • En matlab: Xlpb_as 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:
  • Diapositiva 51