Taller Pico
-
Upload
francisco-lira -
Category
Documents
-
view
230 -
download
0
Transcript of Taller Pico
-
8/2/2019 Taller Pico
1/51
PICOBLAZE
RESUMEN:
Softmicro de 8 bits Xilinx
-
8/2/2019 Taller Pico
2/51
1 Introduccin2 Arquitectura Picoblaze3 Programacin en ensamblador Picoblaze
4 Integracin con VHDL
Procesadores Embebidos de 8 bits
-
8/2/2019 Taller Pico
3/51
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 lamedida, la opcin de un microcontrolador espreferida para aplicaciones no criticas en el tiempo.
Picoblaze requiere 2 ciclos para completar unainstruccin
Si el reloj del sistema es de 50 MHz, Picoblaze ejecuta25 millones de instrucciones por segundo
-
8/2/2019 Taller Pico
4/51
Diagrama de un fsmd y unmicroprocesador
-
8/2/2019 Taller Pico
5/51
Bus de datos de 8 bits ALU de 8 bits con
banderas de acarreo eindicacin de cero
16 registros de propsitogeneral de 8 bits
64 byte de memoria dedatos
Formato deinstrucciones de 18 bits
Bus de direcciones de10 bits (1024instrucciones)
Stack de 31 palabras 256 puertos de entrada 256 puertos de salida
2 ciclos de reloj porinstruccin 5 ciclos de reloj para
respuesta deinterrupcion
Organizacinbsica
-
8/2/2019 Taller Pico
6/51
Diagrama a bloques de
picoblaze
-
8/2/2019 Taller Pico
7/51
Top Level HDL modules
Picoblaze es unsistema organizadoen 2 mdulos de
alto nivel en HDL
El modulo KCPSM3es el procesador
Picoblaze
-
8/2/2019 Taller Pico
8/51
KC
PSM
3
clk (entrada 1 bit), sealde reloj del sistema
reset (entrada 1 bit), seal
de reset address (salida 10 bits),
direccin de la memoriade instrucciones,especifica la localidad dedonde se va a leer lainstruccin
instruction ( entrada 18bits), instruccin port_id(salida 8 bits),
direccin del puerto deentrada o puerto de salida
in_port(entrada 8 bits),datos de entrada de losperifricos de entrada/salida
read_strobe(salida 1 bit),strobe asociado con laoperacin de entrada
-
8/2/2019 Taller Pico
9/51
o out_port( salida 8 bits), datos de
salida hacia los perifricos deentrada/salida
o write_strobe (salida 1 bit) strobeasociado con las operacionesde salida
o interrupt ( entrada 1 bit) solicitud
de interrupcin de los perifricosde entrada/salida
o interrupt_ack (salida 1 bit),reconocimiento de lainterrupcin hacia los perifricosde entrada/salida
KC
PSM
3
-
8/2/2019 Taller Pico
10/51
El segundo modulo es para lamemoria de instrucciones
Durante el desarrollousualmente almacenamos elcdigo ensamblado en lamemoria y se configura comouna ROM en el lenguaje dedescripcin de hardware.
-
8/2/2019 Taller Pico
11/51
-
8/2/2019 Taller Pico
12/51
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 DEPROGRAMACIN
-
8/2/2019 Taller Pico
13/51
FORMATO DEINSTRUCCIN
-
8/2/2019 Taller Pico
14/51
FORMATO DE
INSTRUCCIN
-
8/2/2019 Taller Pico
15/51
Comparacin y Test
Comp: comparan 2 registros o bien reg cte ylas banderas de Z y C se ponen a 1
-
8/2/2019 Taller Pico
16/51
-
8/2/2019 Taller Pico
17/51
FORMATO DEINSTRUCCIN
-
8/2/2019 Taller Pico
18/51
FORMATO DEINSTRUCCIN
-
8/2/2019 Taller Pico
19/51
FORMATO DEINSTRUCCIN
-
8/2/2019 Taller Pico
20/51
Instrucciones tipo lgicas
-
8/2/2019 Taller Pico
21/51
Aritmticas
-
8/2/2019 Taller Pico
22/51
De prueba y comparacin
-
8/2/2019 Taller Pico
23/51
Corrimiento y rotacin
-
8/2/2019 Taller Pico
24/51
-
8/2/2019 Taller Pico
25/51
Movimiento de datos
-
8/2/2019 Taller Pico
26/51
Control del flujo de programa
-
8/2/2019 Taller Pico
27/51
-
8/2/2019 Taller Pico
28/51
-
8/2/2019 Taller Pico
29/51
Relacionadas con lasinterrupciones
-
8/2/2019 Taller Pico
30/51
-
8/2/2019 Taller Pico
31/51
-
8/2/2019 Taller Pico
32/51
-
8/2/2019 Taller Pico
33/51
-
8/2/2019 Taller Pico
34/51
-
8/2/2019 Taller Pico
35/51
-
8/2/2019 Taller Pico
36/51
-
8/2/2019 Taller Pico
37/51
-
8/2/2019 Taller Pico
38/51
-
8/2/2019 Taller Pico
39/51
-
8/2/2019 Taller Pico
40/51
-
8/2/2019 Taller Pico
41/51
-
8/2/2019 Taller Pico
42/51
-
8/2/2019 Taller Pico
43/51
-
8/2/2019 Taller Pico
44/51
-
8/2/2019 Taller Pico
45/51
-
8/2/2019 Taller Pico
46/51
-
8/2/2019 Taller Pico
47/51
-
8/2/2019 Taller Pico
48/51
Directivas pblaze ide
-
8/2/2019 Taller Pico
49/51
Diferencias entre la sintaxis del
kcpsm3 y Pblaze Ide
-
8/2/2019 Taller Pico
50/51
En matlab:Xlpb_as
Otra manera de ensamblar un
programa es a travs de MATLAB. Paraesto, ejecutamos en la ventana decomandos >> cd c:\assembler; xlpb_as-p 'diego.psm'La primera instruccin cdc:\assembler es para ubicarnos en la
carpeta donde guardamos el programayla 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 tienelasiguiente presentacin en pantalla:
-
8/2/2019 Taller Pico
51/51