Monografias.com > Sin categoría
Descargar Imprimir Comentar Ver trabajos relacionados

Picoblaze: Microcontrolador Embebido de 8 bits (página 2)




Enviado por Pablo Turmero



Partes: 1, 2

Monografias.com

Picoblaze
Operaciones de entrada: Temporización

Monografias.com

Picoblaze
Operaciones de salida: Lógica de la interfaz

Monografias.com

Picoblaze
Operaciones de salida: Lógica de la interfaz

Monografias.com

Picoblaze
Operaciones de salida: Temporización

Monografias.com

Picoblaze
Proceso básico de diseño

1. Escritura del programa en código assembly. El archivo poseerá la
extensión ”psm” (por ejemplo programa.psm)
2. Ensamblado del archivo ”psm”. Se utiliza la aplicación KCPSM3.exe, que genera un archivo “vhd” (con el mismo nombre que el del archivo “psm”, por ejemplo programa.vhd) que contiene la descripción de la memoria de instrucciones
c:>KCPSM3AssemblerKCPSM.exe programa.psm -> programa.vhd
3. Inclusión de los archivos .vhd correspondientes al módulo del picoblaze y de la memoria de instrucciones, en un proyecto creado con el ISE
4. Generación del bitsteam (archivo de programación)

Monografias.com

Picoblaze
Declaración del componente kcpsm3

component kcpsm3
port (
address : out std_logic_vector(9 downto 0);
instruction : in std_logic_vector(17 downto 0);
port_id : out std_logic_vector(7 downto 0);
write_strobe : out std_logic;
out_port : out std_logic_vector(7 downto 0);
read_strobe : out std_logic;
in_port : in std_logic_vector(7 downto 0);
interrupt : in std_logic;
interrupt_ack : out std_logic;
reset : in std_logic;
clk : in std_logic
);
end component;

Monografias.com

Picoblaze
Declaración del componente bloque de memoria

component myprog
port (
address : in std_logic_vector(9 downto 0);
instruction : out std_logic_vector(17 downto 0);
clk : in std_logic
);
end component;
(Gp:) Nombre derivado del archivo .psm

Monografias.com

Picoblaze
Ejemplo de código assembly

El siguiente ejemplo implementa la lectura de los switches del kit y
muestra cada valor a través de los leds del mismo

; Definición de las direcciones de los puertos
CONSTANT switch_in , 00 ; puerto de entrada (switches)
CONSTANT leds_out , 01 ; puerto de salida (leds)

; Inicio
start: INPUT s0, 00 ; se leen los switches y se lo almacena
; en el registro s0
OUTPUT s0, leds_out ; se escribe el contenido del registro s0 ; al puerto de salida (leds)
JUMP start ; loop back to start

Monografias.com

Picoblaze
Multiplicación con operandos de 8 bits

– Utilizando el Core Generator para instanciar un bloque
multiplicador

Monografias.com

Picoblaze
mult_8x8:
NAMEREG s0, multiplicando
NAMEREG s1, multiplicador
NAMEREG s3, result_msb ; MSB del resultado
NAMEREG s4, result_lsb ; LSB del resultado
;
; Definicion de los puertos como constantes
CONSTANT multiplicador_lsb, 00
CONSTANT multiplicador_msb, 01
;
; Envio del multiplicando y del multiplicador a los registros de la FPGA conectados
; a las entradas del bloque multiplicador
OUTPUT multiplicando, multiplicador_lsb
OUTPUT multiplicador, multiplicador_msb
;
; Entrada del resultado emitido por el bloque multiplicador.
INPUT result_lsb, multiplicador_lsb
INPUT result_msb, multiplicador_msb
Multiplicación con operandos de 8 bits

– Código assembly

Partes: 1, 2
 Página anterior Volver al principio del trabajoPágina siguiente 

Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

Categorias
Newsletter