Microprocesador picoblaze
Resumen
El presente artículo muestra una visión global de las características del microprocesador PicoBlazeTM, así como el conjunto de instrucciones para su programación: sintaxis KCPSM3 y sintaxis pBlazeIDE. Además, presenta las herramientas destinadas a la compilación de los programas, así como un breve ejemplo ejecutado en Xilinx System Generador, herramienta deMatlab/Simulink.
Abstract
This article shows a whole vision of the characteristics of the microprocessor PicoBlazeTM, as well as the set of instructions for its programming: syntax KCPSM3 and syntax pBlazeIDE. It also presents the tools used to the compilation of the programs, as well as a brief example ran in Xilinx System Generator, tool of Matlab/Simulink.
¿Qué es PicoBlaze?
Elmicrocontrolador Picoblaze es un Soft Core de 8 bits, diseñado para ser empotrado en dispositivos FPGAs como Spartan™-3, Virtex™-II, y Virtex-IIPro™.
El núcleo del microcontrolador Picoblaze es completamente empotrado dentro de la una tarjeta FPGA y no requiere recursos externos. Este microprocesador es extremadamente sensible y su funcionalidad básica es fácilmente extendida y reforzada por su comunicación conel exterior a través de sus puertos de entrada y salida.
Este microprocesador ha mantenido una evolución de arquitecturas (KCPSM, KCPSM2 y KCPSM3), cada una perfeccionada para cierta tecnología de FPGAs.
|[pic] |
|Fig. 1. Módulo PicoBlaze y bloque de memoria.|
Conjunto de Instrucciones
Para efecto de la programación del microcontrolador, se cuenta con dos conjuntos de instrucciones. Estos son la sintaxis KCPSM3 y la sintaxis pBlazIDE.
El conjunto de instrucciones de PicoBlaze se puede clasificar de la siguiente manera:
Instrucciones de control de programa
JUMP aa
JUMP Z,aa
JUMP NZ,aa
JUMP C,aaJUMP NC,aa
CALL aa
CALL Z,aa
CALL NZ,aa
CALL C,aa
CALL NC,aa
RETURN
RETURN Z
RETURN NZ
RETURN C
RETURN NC
Instrucciones Lógicas
LOAD sX,kk
AND sX,kk
OR sX,kk
XOR sX,kk
LOAD sX,sY
AND sX,sY
OR sX,sY
XOR sX,sY
Instrucciones aritméticas
ADD sX,kk
ADDCY sX,kk
SUB sX,kk
SUBCY sX,kk
ADD sX,sY
ADDCY sX,sY
SUB sX,sY
SUBCY sX,sY
Instrucciones de desplazamiento
SR0 sX
SR1 sXSRX sX
SRA sX
RR sX
SL0 sX
SL1 sX
SLX sX
SLA sX
RL sX
Instrucciones de Entrada/Salida
INPUT sX,pp
INPUT sX,(sY)
OUTPUT sX,pp
OUTPUT sX,(sY)
Instrucciones de interrupción
RETURNI ENABLE
RETURNI DISABLE
ENABLE INTERRUPT
DISABLE INTERRUPT
La siguiente tabla presenta las diferencias entre la sintaxis KCPSM3 y pBlazeIDE:
|KCPSM3 |PBlazeIDE ||RETURN |RET |
|RETURN C |RET C |
|RETURN NC |RET NC |
|RETURN Z |RET Z |
|RETURN NZ |RET NZ |
|RETURNI ENABLE |RETI ENABLE |
|RETURNI DISABLE |RETI DISABLE|
|ADDCY |ADDC |
|SUBCY |SUBC |
|INPUT SX,(SY) |IN SX,SY |
|INPUT SX, KK |IN SX, KK |
|OUTPUT SX, (SY) |OUT SX,SY |
|OUTPUT SX, KK |OUT SX,KK |
|ENABLE INTERRUPT|EINT |
|DISABLE INTERRUPT |DINT |
|COMPARE |COMP |
|STORE SX, (SY) |STORE SX, SY |
|FETCH SX, (SY) |FETCH SX, SY |
1. “X” y “Y” se refieren al número de registro “S” en el rango de 0 a F.
2. “kk” representa un valor constante en el rango de 00 a FF....
Regístrate para leer el documento completo.