Picoblaze
Es un microcontrolador de 8 bits, muy simple, orientado
inicialmente para FPGAs de la familia Spartan 3
Está optimizado para este tipo de FPGAs.
Se puede conseguir como softcore, provisto por Xilinx
Una de sus características principales es que ocupa muy
pocos recursos (5% en las 3S200 y menos del 0,3% en las
3S5000)
Picoblaze
FSMD (Finite State Machine with Data Path)
Picoblaze
FSMD (Finite State Machine with Data Path)
Picoblaze
FSMD (Finite State Machine with Data Path)
Picoblaze
Bloque Picoblaze y su memoria de instrucciones
Picoblaze
Características
Tamaño de programa
Utiliza un solo bloque de memoria que puede alojar 1024
instrucciones de 18 bits (direcciones de 10 bits)
Registros
Cuenta con 16 registros de propósito general de 8 bits, especificados como
‘s0’ .. ‘sF’.
En el código assembly se pueden renombrar.
Las operaciones pueden trabajar indistintamente con cada uno de los 16
registros.
No existen registro reservados para ninguna tares en especial
No cuenta con un acumulador, ya que cualquier registro puede cumplir con
esa función.
Picoblaze
Características
ALU
Todas las operaciones son realizadas con un operando almacenado en un
registro. El resultado es volcado en el mismo registro
Para operaciones que necesiten dos operandos los mismos pueden ser
especificados a través de un segundo registro o de una constante de 8 bits
Las operaciones de suma/resta tienen la opción de incluir el flag de carry como entrada
Las operaciones COMPARE y TEST permiten verificar el contenido de los registros sin alterarlos
También incluye las operaciones LOAD, AND, OR, XOR, SHIFT y ROTATE
Picoblaze
Características
Flags y Control del flujo del programa
El resultado de la ALU determina el valor de los flags de carry y cero
El flag de carry se pone en ‘1’ cuando existe un overflow en una operación
aritmética. También se usa para capturar el bit desplazado en las operaciones
de desplazamiento y rotación
En la operación TEST el flag de carry indica si el contenido de un registro
tiene paridad impar
Los flags pueden ser utilizados para controlar la secuencia de ejecución de un
programa por medio de instrucciones de control de flujo condicionales o
incondicionales
Picoblaze
Características
Reset
El reset fuerza al procesador a pasar al estado inicial. El programa
se ejecutará desde la posición 0 y las interrupciones serán deshabilitadas
Los flags de estado serán reseteados, como así también la pila asociada a las
instrucciones CALL/RETURN.
El contenido de los registros no se altera
Picoblaze
Características
Entrada / Salida
Posee 256 puertos de entrada y 256 puertos de salida
Para acceder a un puerto se debe fijar el valor de una dirección de
8 bits especificada por PORT_ID. Esta dirección puede ser
especificada como un valor absoluto o, de manera indirecta, por
medio del contenido de un registro
La operación de entrada INPUT transfiere el valor existente en el
puerto de entrada a uno de los 16 registros
Una operación de entrada se indica a través de un pulso de la
señal READ_STROBE. Esta señal indica que el procesador adquirió
correctamente el dato
La operación de salida OUTPUT transfiere el valor existente en uno
de los 16 registros al puerto de salida
Una operación de salida se indica a través de un pulso de la señal
WRITE_STROBE. Usualmente, esta señal es utilizada como un
habilitador de clock o de escritura
Picoblaze
Características
Memoria Scratch Pad
Es una memoria interna de propósito general de 64 bytes
Con la instrucción STROE se puede cargar en cualquiera de sus 64
posiciones el valor de cualquiera de los 16 registros
Con la instrucción FETCH se puede escribir en cualquiera de los 16
registros el valor almacenado en cualquiera de las 64 direcciones
La dirección de 6 bits puede ser especificada por un valor absoluto
o, de manera indirecta, por el valor contenido en un registro. En
este último caso sólo se tienen en cuenta los 6 bits menos significativos
Interrupción
Existe una única señal de entrada de interrupción
Por defecto las interrupciones están deshabilitadas (enmascaradas).
Desde el programa pueden ser habilitadas y deshabilitadas
Picoblaze
Características
Número de ciclos constante
Todas las instrucciones bajo todas las condiciones se ejecutan en
dos ciclos de reloj
Esta caracterísitca (tasa de ejecución constante) es muy importante
al momento del cálculo del tiempo de ejecución de un programa,
particularmente cuando el procesador se encuentra embebido en un
escenario de tiempo real
Interrupción
Existe una única señal de entrada de interrupción
Por defecto las interrupciones están deshabilitadas (enmascaradas).
Desde el programa pueden ser habilitadas y deshabilitadas
Picoblaze
Diagrama en bloques
Picoblaze
Movimiento de los datos
Picoblaze
Operaciones de entrada: Lógica de la interfaz
Picoblaze
Operaciones de entrada: Lógica de la interfaz
Página siguiente |