practicas tuteladas vhdl (curso 04-05tamarisco.datsi.fi.upm.es/asignaturas/tc/practicas/...facultad...

18
Tecnología de Computadores: Práctica-2: Atributos de señales, elementos de memoria y registros © Departamento de Arquitectura y Tecnología de Sistemas Informáticos Facultad de Informática - Universidad Politécnica de Madrid - V. Rodellar 1 Practicas tuteladas VHDL (curso 04-05)

Upload: others

Post on 05-Apr-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Practicas tuteladas VHDL (curso 04-05tamarisco.datsi.fi.upm.es/ASIGNATURAS/TC/practicas/...Facultad de Informática - Universidad Politécnica de Madrid - V. Rodellar 1 Practicas tuteladas

Tecnología de Computadores: Práctica-2: Atributos de señales, elementos de memoria y registros © Departamento de Arquitectura y Tecnología de Sistemas Informáticos Facultad de Informática - Universidad Politécnica de Madrid - V. Rodellar

1

Practicas tuteladas VHDL (curso 04-05)

Page 2: Practicas tuteladas VHDL (curso 04-05tamarisco.datsi.fi.upm.es/ASIGNATURAS/TC/practicas/...Facultad de Informática - Universidad Politécnica de Madrid - V. Rodellar 1 Practicas tuteladas

Tecnología de computadores. Prácticas de VHDL (Curso 03/04)

PRÁCTICA-2: ATRIBUTOS DE SEÑALES ELEMENTOS DE MEMORIA Y REGISTROS

OBJETIVOS:

• Utilizar el paquete de datos estándar IEEE STD_LOGIC_1164 • Definir elementos básicos de almacenamiento • Utilizar los atributos de señales para activar el sincronismo de los elementos de almacenamiento. • Construir registros • Modelar salidas triestado

MUY IMPORTANTE:

• Las partes (I, II, III y IV) que se detallan a continuación, deberán ser terminadas

obligatoriamente por los alumnos, aún en el caso de no poder terminarse en la clase de prácticas.

• Antes de concluir la clase de prácticas en el laboratorio, no olvide almacenar sus diseños en

un disquete, ya que se podrá hacer uso de ellos en prácticas posteriores. El directorio del disco duro con el que Vd. va a trabajar se borrará después de cada clase de prácticas.

DESARROLLO:

0.- Una vez arrancada la herramienta, ha de crearse un espacio de trabajo con el nombre de PRACTICA2. ¡¡No se olvide que antes de compilar y simular hay que establecer las condiciones en las que éstas se van a realizar (Workspace-Settings)!!

Parte I : Realización de un reloj 1.- Escribir una entidad denominada reloj (reloj_ST_ent.vhd), que contenga en su definición el periodo del mismo como un genérico (GENERIC), y cuyo valor inicial sea de 10 ns. El tipo de datos a utilizar será STD_LOGIC_1164.

CLOCKFigura.1. Esquema de bloques de un reloj

LIBRARY IEEE; USE ieee.STD_LOGIC_1164.all;

Tecnología de Computadores: Práctica-2: Atributos de señales, elementos de memoria y registros © Departamento de Arquitectura y Tecnología de Sistemas Informáticos Facultad de Informática - Universidad Politécnica de Madrid - V. Rodellar

2

Page 3: Practicas tuteladas VHDL (curso 04-05tamarisco.datsi.fi.upm.es/ASIGNATURAS/TC/practicas/...Facultad de Informática - Universidad Politécnica de Madrid - V. Rodellar 1 Practicas tuteladas

ENTITY reloj IS GENERIC (ciclo: TIME:= 10 ns); PORT (clock: OUT STD_LOGIC); END reloj; 2.- Escribir una arquitectura en estilo de descripción algorítmico o de comportamiento, que se denominará simetrica (reloj_ST_arq.vhd). ARCHITECTURE simetrica OF reloj IS SIGNAL intermedia: STD_LOGIC := '0'; BEGIN intermedia <= NOT intermedia AFTER ciclo/2; clock <=intermedia; END simetrica; 3.- Establecer las condiciones de simulación (Figura-1), y simular el reloj durante 100 ns. Observar si la salida genera la forma de onda programada (Figura-2). Guardar los resultados de simulación de las ondas en forma de tabla (Tabular) (Tabla-1).

Parte II: Elementos de almacenamiento y atributos de señales

- Biestable tipo D, activado por flanco de bajada, y clear síncrono en estilo comportamiento. 4.- Escribir una entidad para un biestable tipo D, que llevará el nombre de biestable_D_CLR (biestableD_CLR_ent.vhd), que además de las señales de entrada (d), reloj (clock) y salida (q), contenga una señal de puesta a cero, clear. Defínase el tiempo de retardo entre la entrada y la salida como un parámetro genérico, que tomará el valor inicial de 0 ns (retardo: time:=0 ns). El tipo de datos de todas las señales será STD_LOGIC_1164.

CLOCK

CLEAR

d q Figura.2. Esquema de bloques de un biestable D activo con el flanco de bajada del reloj

LIBRARY IEEE; USE ieee.STD_LOGIC_1164.all; ENTITY biestable_D_CLR IS GENERIC (retardo:TIME:= 0 NS); PORT (d, clock,clear: IN STD_LOGIC; q: OUT STD_LOGIC := '0'); END biestable_D_CLR;

Tecnología de Computadores: Práctica-2: Atributos de señales, elementos de memoria y registros © Departamento de Arquitectura y Tecnología de Sistemas Informáticos Facultad de Informática - Universidad Politécnica de Madrid - V. Rodellar

3

Page 4: Practicas tuteladas VHDL (curso 04-05tamarisco.datsi.fi.upm.es/ASIGNATURAS/TC/practicas/...Facultad de Informática - Universidad Politécnica de Madrid - V. Rodellar 1 Practicas tuteladas

Tecnología de Computadores: Práctica-2: Atributos de señales, elementos de memoria y registros © Departamento de Arquitectura y Tecnología de Sistemas Informáticos Facultad de Informática - Universidad Politécnica de Madrid - V. Rodellar

4

5.- Escribir una arquitectura en estilo algorítmico o de comportamiento, que active el biestable con el flanco de bajada del reloj. La señal de puesta a cero será activa por nivel alto y actuará de forma síncrona con el flanco del reloj. La arquitectura tendrá el nombre de Bdco_ba_CLsin, (Bdco_Fba_CLsin.vhd). ARCHITECTURE Bdco_ba_CLsin OF biestable_D_CLR IS -- Esta arquitectura implementa un biestable activado --por flanco de bajada y clear sincrono -- Utiliza las funciones de detección de flancos del paquete -- STD_LOGIC_1164 BEGIN PROCESS BEGIN WAIT UNTIL (falling_edge (clock)); IF (clear='1') THEN q<= '0' AFTER retardo; ELSE q<=d AFTER retardo; END IF; END PROCESS; END Bdco_ba_CLsin; - Biestable tipo D, activado por flanco de subida, y clear asíncrono en estilo comportamiento. A continuación se indica la arquitectura en estilo de comportamiento, para la entidad del biestable descrita anteriormente, pero activado por flanco de subida de reloj, y clear asíncrono. En este caso, la detección del flanco se ha realizado utilizando los atributos de las señales (clock = '1' AND

clock'EVENT)para ver otra forma de modelización. Este fichero puede editarse, compilarse y simularse siguiendo las mismas pautas que para el modelo anterior. ARCHITECTURE BDco_Fsu_CLasin OF biestable_D_CLR IS BEGIN PROCESS (clock, clear) BEGIN IF (clear = '1') THEN q <= '0' AFTER retardo; ELSIF (clock = '1' AND clock'EVENT) THEN q <= d AFTER retardo; END IF; END PROCESS; END BDco_Fsu_CLasin; 6.- Escribir una entidad, biestabletest_CLR (biestabletest_CLR_ent.vhd) y una arquitectura biestable_test_general (biestabletest_CLR_arq.vhd) para testear el biestable descrito anteriormente. La arquitectura deberá instanciar el reloj diseñado en los apartados anteriores. La señal de entrada tomará los siguientes valores: d <=

0 1 0 1 0 1 0 1 Valor 0 2 6 26 36 46 56 66 Tiempo (ns)

La señal de clear estará definida por el siguiente driver:

Page 5: Practicas tuteladas VHDL (curso 04-05tamarisco.datsi.fi.upm.es/ASIGNATURAS/TC/practicas/...Facultad de Informática - Universidad Politécnica de Madrid - V. Rodellar 1 Practicas tuteladas

Tecnología de Computadores: Práctica-2: Atributos de señales, elementos de memoria y registros © Departamento de Arquitectura y Tecnología de Sistemas Informáticos Facultad de Informática - Universidad Politécnica de Madrid - V. Rodellar

5

Clear <= 0 1 0 1 0 Valor 0 5 6 50 80 Tiempo (ns)

LIBRARY IEEE; USE ieee.STD_LOGIC_1164.all; ENTITY biestabletest_CLR IS END biestabletest_CLR; ARCHITECTURE biestable_test_general OF biestabletest_CLR IS --Declaración de Componentes COMPONENT biestable_D_CLR PORT (d, clock, clear: IN STD_LOGIC; q: OUT STD_LOGIC); END COMPONENT; COMPONENT reloj PORT (clock: OUT STD_LOGIC); END COMPONENT; -- Declaración de Señales SIGNAL d, clock, clear,q: STD_LOGIC; -- Cuerpo de la arquitectura BEGIN U0: reloj PORT MAP (clock); U1: biestable_D_CLR PORT MAP (d, clock, clear,q); d<='0', '1'AFTER 2 NS, '0'AFTER 6 NS, '1'AFTER 26 NS, '0'AFTER 36 NS, '1'AFTER 46 NS, '0'AFTER 56 NS, '1'AFTER 66 NS; -- clear<= '0', '1'AFTER 5 NS, '0'AFTER 6 NS, '1' AFTER 50 NS, '0' AFTER 80 NS; END biestable_test_general; 7.- Realizar una unidad de configuración que se denominará bies_CLR_Ba (conf_D_clear_ba.vhd), asociando a la entidad para test (biestabletest_CLR), la arquitectura que acabamos de describir (biestable_test_general), así como las entidades del reloj y del biestable con sus correspondientes arquitecturas. CONFIGURATION bies_CLR_Ba OF biestabletest_CLR IS FOR biestable_test_general FOR U0: reloj USE ENTITY WORK.reloj(simetrica); END FOR; FOR U1: biestable_D_CLR USE ENTITY WORK.biestable_D_CLR(Bdco_ba_CLsin); END FOR; END FOR; END bies_CLR_Ba;

Page 6: Practicas tuteladas VHDL (curso 04-05tamarisco.datsi.fi.upm.es/ASIGNATURAS/TC/practicas/...Facultad de Informática - Universidad Politécnica de Madrid - V. Rodellar 1 Practicas tuteladas

Tecnología de Computadores: Práctica-2: Atributos de señales, elementos de memoria y registros © Departamento de Arquitectura y Tecnología de Sistemas Informáticos Facultad de Informática - Universidad Politécnica de Madrid - V. Rodellar

6

8.- A continuación se realizará la simulación durante 100 ns (Figura-3). Se interpretarán los resultados de las formas de onda (Figura-4), que se almacenaran en forma de tabla con el nombre biestable_bajada.txt, observando sobre este fichero los ciclos de simulación. - Biestable tipo D, activado por flanco de subida, clear síncrono en estilo flujo de datos 9.- Escribir una arquitectura en estilo flujo de datos, en la que el biestable se active con el flanco de subida del reloj. (Bflu_Fsu_CLsin). La nueva arquitectura se almacenará en un fichero de nombre (Bflu_Fsu_CLsin.vhd). La señal de clear actuará también a nivel alto y de forma síncrona con el flanco de subida del reloj. Se utilizará la sentencia BLOCK con condición de guarda o vigilancia y asignación concurrente de señal. ARCHITECTURE Bd_Fsu_CLsin OF biestable_D_CLR IS BEGIN ff:BLOCK ((clock ='1' AND NOT clock'STABLE)) BEGIN q <= GUARDED d AFTER retardo WHEN clear = '0' ELSE '0' AFTER retardo; end BLOCK ff; END Bd_Fsu_CLsin; - Biestable tipo D, activado por flanco de bajada, clear asíncrono en estilo flujo de datos. A continuación se describe una arquitectura en estilo flujo de datos, activado por flanco de bajada de reloj, y clear asíncrono. En este caso, se ha utilizado únicamente la sentencia de asignación concurrente de señal y los atributos de señales. Este fichero, puede editarse, compilarse y simularse siguiendo las mismas pautas que en los modelos de los casos anteriores. ARCHITECTURE Bd_Fba_CLAsin OF biestable_D_CLR IS BEGIN q <= '0' AFTER retardo WHEN clear = '1' ELSE d AFTER retardo WHEN (clock ='0' AND NOT clock'STABLE); END Bd_FBA_CLAsin; 10.- Escribir la correspondiente unidad de configuración, para asociar la arquitectura en estilo flujo de datos y flanco de subida con su entidad, así como la entidad y arquitectura para test. Llevará el nombre biest_D_clear_su y será almacenada en el fichero conf_D_clear_su.vhd. CONFIGURATION bies_D_CLR_su OF biestabletest_CLR IS FOR biestable_test_general FOR U0: reloj USE ENTITY WORK.reloj(simetrica); END FOR; FOR U1: biestable_D_CLR USE ENTIT WORK.biestable_D_CLR(Bd_Fsu_Clsin); END FOR; END FOR; END bies_D_CLR_su; 11.- Realizar la simulación, estudiar los resultados y compararlos con los obtenidos con la arquitectura activada por flanco de bajada (Figuras 5, 6, 7).

Parte III: Construcción de Registros

Page 7: Practicas tuteladas VHDL (curso 04-05tamarisco.datsi.fi.upm.es/ASIGNATURAS/TC/practicas/...Facultad de Informática - Universidad Politécnica de Madrid - V. Rodellar 1 Practicas tuteladas

12.- Escribir la entidad registro_PP (registro_PP_ent.vhd) para un registro de entrada y salida de datos en paralelo. El número de bits de la entrada y salida de datos será un parámetro genérico, que por defecto tomará el valor 4 (num_bits:natural := 4). Los datos de entrada (d0, d1, d2, d3,..., dn) y de salida (q0, q1, q 2, q3,..., qn) del registro, se definirán como un vector de bits en orden ascendente, BIT_VECTOR (0 TO num_bits -1).El tipo de datos para todas las señales de entrada y de salida será del tipo STD_LOGIC_1164. LIBRARY IEEE; USE ieee.STD_LOGIC_1164.all; ENTITY registro_PP IS GENERIC (num_bits:natural:=4);

PORT (ent_datos: IN STD_LOGIC_VECTOR(0 TO num_bits -1); clock, clear: IN STD_LOGIC; sal_datos: OUT STD_LOGIC_VECTOR (0 TO num_bits -1)); END registro_PP;

CLOCK

CLEAR

d

d0

q

q0

d

d1

q

q1

d

d2

q

q2

d

d3

q

q3

Figura.3. Esquema de bloques de un registro con entrada y salida de datos en paralelo 13.- Escribir una arquitectura en estilo de descripción estructural denominada regPP_es (regPP_es_arq.vhd), en la que se use el biestable activado por flanco de bajada y clear sincrono, (Bdco_ba_CLsin) diseñado anteriormente. La construcción del registro se realizará instanciando explícitamente cuatro biestables, uno para cada bit del registro. ARCHITECTURE regPP_es OF registro_PP IS COMPONENT biestable_D_CLR IS GENERIC (retardo:TIME:= 0 NS); PORT (d, clock,clear: IN STD_LOGIC; q: OUT STD_LOGIC := '0'); END COMPONENT; For all: biestable_D_CLR USE ENTITY WORK.biestable_D_CLR(BDco_ba_CLsin); BEGIN U0: biestable_D_CLR PORT MAP(ent_datos(0),clock,clear,sal_datos(0)); U1: biestable_D_CLR PORT MAP(ent_datos(1),clock,clear,sal_datos(1)); U2: biestable_D_CLR PORT MAP(ent_datos(2),clock,clear,sal_datos(2)); U3: biestable_D_CLR PORT MAP(ent_datos(3),clock,clear,sal_datos(3)); END regPP_es;

14.- Escribir una entidad de test para el registro de desplazamiento de nombre regPPtest, que se almacenará con el nombre de regPPtest_ent.vhd. LIBRARY IEEE; USE ieee.STD_LOGIC_1164.all; ENTITY regPPtest IS END regPPtest

Tecnología de Computadores: Práctica-2: Atributos de señales, elementos de memoria y registros © Departamento de Arquitectura y Tecnología de Sistemas Informáticos Facultad de Informática - Universidad Politécnica de Madrid - V. Rodellar

7

Page 8: Practicas tuteladas VHDL (curso 04-05tamarisco.datsi.fi.upm.es/ASIGNATURAS/TC/practicas/...Facultad de Informática - Universidad Politécnica de Madrid - V. Rodellar 1 Practicas tuteladas

Tecnología de Computadores: Práctica-2: Atributos de señales, elementos de memoria y registros © Departamento de Arquitectura y Tecnología de Sistemas Informáticos Facultad de Informática - Universidad Politécnica de Madrid - V. Rodellar

8

15.- Escribir una arquitectura asociada a la entidad anterior de nombre S_test_regPP, que almacenaremos con el nombre de fichero G_regPPtest_arq.vhd. Los datos de entrada y la señal de clear tomarán los siguientes valores: ent_datos <=

0000 1111 0000 1111 0000 1111 0000 1111 0000 Valor 0 2 6 26 36 46 56 66 87 Tiempo (ns)

Clear <=

0 1 0 1 0 Valor 0 5 6 50 80 Tiempo (ns)

-- ARCHITECTURE S_test_regPP OF regPPtest IS -- COMPONENT registro_pp GENERIC (num_bits:natural:=4); PORT (ent_datos: IN STD_LOGIC_VECTOR(0 TO num_bits - 1); clock, clear: IN STD_LOGIC; sal_datos: OUT STD_LOGIC_VECTOR (0 TO num_bits - 1)); END COMPONENT; -- COMPONENT reloj PORT (clock: OUT STD_LOGIC); END COMPONENT; -- SIGNAL ent_datos:STD_LOGIC_VECTOR(0 TO 3); SIGNAL clock, clear: STD_LOGIC; SIGNAL sal_datos: STD_LOGIC_VECTOR(0 TO 3); -- BEGIN U0: reloj PORT MAP (clock); U1: registro_pp PORT MAP (ent_datos, clock, clear,sal_datos); -- ent_datos <= ('0','0','0','0') AFTER 0 NS, ('1','1','1','1') AFTER 2 NS, ('0','0','0','0') AFTER 6 NS, ('1','1','1','1') AFTER 26 NS, ('0','0','0','0') AFTER 36 NS, ('1','1','1','1') AFTER 46 NS, ('0','0','0','0') AFTER 56 NS, ('1','1','1','1') AFTER 66 NS, ('0','0','0','0') AFTER 87 NS; -- clear<= '1' AFTER 5 NS, '0' AFTER 6 NS, '1' AFTER 50 NS, '0' AFTER 80 NS; END S_test_regPP; 16.- Escribir la correspondiente unidad de configuración para testear el registro, que llevará el nombre reg_PP_S, y se almacenará en un fichero de nombre conf_regPP_CLsin.vhd CONFIGURATION reg_PP_S OF regPPtest IS FOR S_test_regPP FOR U0: reloj USE ENTITY WORK.reloj(simetrica); END FOR; FOR U1: registro_pp USE ENTITY WORK.registro_pp(regPP_es); END FOR; END FOR; END reg_PP_S;

Page 9: Practicas tuteladas VHDL (curso 04-05tamarisco.datsi.fi.upm.es/ASIGNATURAS/TC/practicas/...Facultad de Informática - Universidad Politécnica de Madrid - V. Rodellar 1 Practicas tuteladas

Tecnología de Computadores: Práctica-2: Atributos de señales, elementos de memoria y registros © Departamento de Arquitectura y Tecnología de Sistemas Informáticos Facultad de Informática - Universidad Politécnica de Madrid - V. Rodellar

9

17.- Simular el circuito y estudiar los resultados (Figuras 8, 9,10). 18.- Modificar la arquitectura regPP_es (regPP_es_arq.vhd) para que la construcción del registro se realice mediante la sentencia GENERATE. La nueva arquitectura se denominará regPP_es_gene (regPP_esG_arq.vhd) ARCHITECTURE regPP_es_gene OF registro_PP IS -- COMPONENT biestable_D_CLR IS GENERIC (retardo:TIME:= 0 NS); PORT (d, clock,clear: IN STD_LOGIC; q: OUT STD_LOGIC := '0'); END COMPONENT; -- BEGIN G1: FOR i IN 0 TO num_bits -1 GENERATE B1: biestable_D_CLR PORT MAP (ent_datos(i), clock,clear,sal_datos(i)); END GENERATE; END regPP_es_gene; 19.-Escribir el correspondiente fichero de configuración, que llevará por nombre conf_registroPP_G.vhd. La escritura del código se deja como ejercicio a los alumnos. A continuación se procederá a realizar la simulación, y se contrastarán los resultados con los del apartado anterior, que deberán ser idénticos (Figura. 10).

Parte IV: Salidas triestado

20.- El fragmento de código que se presenta a continuación, contiene la entidad triestado, y una arquitectura asociada a ella denominada comportamiento, la cual modela una salida triestado mediante la utilización de la sentencia LOOP, asignando el valor ‘Z’ a cada una de las componentes de la salida. En este caso, la entidad y la arquitectura se encuentran en el mismo fichero (tries_separa.vhd). LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; -- m longitud de la entrada y la salida; ENTITY triestado IS GENERIC (m : IN INTEGER); PORT (tri_control: IN STD_LOGIC; data_in: IN STD_LOGIC_VECTOR ((m - 1) DOWNTO 0); data_out: OUT STD_LOGIC_VECTOR ((m - 1) DOWNTO 0)); END triestado;

Page 10: Practicas tuteladas VHDL (curso 04-05tamarisco.datsi.fi.upm.es/ASIGNATURAS/TC/practicas/...Facultad de Informática - Universidad Politécnica de Madrid - V. Rodellar 1 Practicas tuteladas

Tecnología de Computadores: Práctica-2: Atributos de señales, elementos de memoria y registros © Departamento de Arquitectura y Tecnología de Sistemas Informáticos Facultad de Informática - Universidad Politécnica de Madrid - V. Rodellar

10

ARCHITECTURE comportamiento OF triestado IS BEGIN PROCESS (tri_control, data_in) BEGIN IF (tri_control = '0') THEN data_out <= data_in; ELSE FOR i IN 0 TO (m - 1) LOOP data_out (i) <= 'Z'; END LOOP; END IF; END PROCESS; END comportamiento; 21.- Testear la arquitectura anterior con el siguiente fichero, que ha sido denominado tries_test.vhd. Debe prestarse especial atención a la forma en que se han escrito los valores de los vectores de los datos de entrada, así como a dichos valores, en contraste con el test realizado en el apartado 15. Se recomienda que cuando se visualice la simulación, se vean las componentes individuales del vector de entrada (Figura 11). LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY testtriestado IS END testtriestado; --- ARCHITECTURE triestado_test OF testtriestado IS COMPONENT triestado GENERIC (m : IN INTEGER := 4); PORT (tri_control: IN STD_LOGIC; data_in: IN STD_LOGIC_VECTOR ((m - 1) DOWNTO 0); data_out: OUT STD_LOGIC_VECTOR ((m - 1) DOWNTO 0)); END COMPONENT; SIGNAL tri_control: STD_LOGIC := '0'; SIGNAL data_in, data_out : STD_LOGIC_VECTOR (3 DOWNTO 0) := "0000"; BEGIN U: triestado PORT MAP (tri_control, data_in , data_out); tri_control <= '0', '1' AFTER 10 NS, '0' AFTER 20 NS, '1' AFTER 30 NS, '0' AFTER 40 NS; data_in <= "1111", "0000" AFTER 25 NS, "LHX0" AFTER 35 NS, "L10W" AFTER 50 NS; END triestado_test; 22.- El fragmento de código que se muestra a continuación representa una arquitectura de la misma funcionalidad que la indicada anteriormente, pero realizada utilizando únicamente una sentencia de asignación condicional de señal y la clausula OTHERS, se deja como ejercicio testear esta arquitectura. ARCHITECTURE simple OF triestado IS BEGIN data_out <= (OTHERS => 'Z') WHEN tri_control = '1' ELSE data_in; END simple;

NOTA: No es necesario entregar memoria de esta práctica

Page 11: Practicas tuteladas VHDL (curso 04-05tamarisco.datsi.fi.upm.es/ASIGNATURAS/TC/practicas/...Facultad de Informática - Universidad Politécnica de Madrid - V. Rodellar 1 Practicas tuteladas

Tecnología de Computadores: Práctica-2: Atributos de señales, elementos de memoria y registros © Departamento de Arquitectura y Tecnología de Sistemas Informáticos Facultad de Informática - Universidad Politécnica de Madrid - V. Rodellar

11

CUESTIONARIO PARA AUTOEVALUACION DEL ALUMNO

Se puede entregar opcionalmente este cuestionario como ejercicio de clase (consulte con su profesor) 1) ¿Por qué no es necesario escribir un programa de test para comprobar el funcionamiento del reloj? 2) ¿Qué parte del código realizado para el reloj modificaría para conseguir que la duración de su periodo fuese 20 seg.? 3) ¿Cómo especificaría el flanco de bajada de una señal utilizado las facilidades del paquete STD_LOGIC_1164? 4) Simular la arquitectura del biestable_D activado por flanco de subida y asíncrono en estilo de comportamiento inicializando el parámetro retardo a 2 nseg. Modificar los ficheros que se consideren necesarios, realizar la simulación y a analizar los resultados. 5) Escribir una entidad y una arquitectura para diseñar un registro de entrada y salida de datos serie de 4 bits, así como las unidades de diseño necesarias para testear y configurar este componente. 6) Describir una entidad y una arquitectura de un registro de desplazamiento hacia la derecha, y tenga salida triestado. Las especificaciones adicionales que se necesiten serán decididas por el alumno.

Page 12: Practicas tuteladas VHDL (curso 04-05tamarisco.datsi.fi.upm.es/ASIGNATURAS/TC/practicas/...Facultad de Informática - Universidad Politécnica de Madrid - V. Rodellar 1 Practicas tuteladas

Figura-1. Establecimiento de las condiciones de simulación para el reloj.

Figura-2. Formas de onda resultantes de la simulación del reloj.

Tecnología de Computadores: Práctica-2: Atributos de señales, elementos de memoria y registros © Departamento de Arquitectura y Tecnología de Sistemas Informáticos Facultad de Informática - Universidad Politécnica de Madrid - V. Rodellar

12

Page 13: Practicas tuteladas VHDL (curso 04-05tamarisco.datsi.fi.upm.es/ASIGNATURAS/TC/practicas/...Facultad de Informática - Universidad Politécnica de Madrid - V. Rodellar 1 Practicas tuteladas

Tecnología de Computadores: Práctica-2: Atributos de señales, elementos de memoria y registros © Departamento de Arquitectura y Tecnología de Sistemas Informáticos Facultad de Informática - Universidad Politécnica de Madrid - V. Rodellar

13

-- -- VeriBest VHDL Version 15.00.00.25 -- Dump signal values from 0 ns to 100 ns -- ns Delta CLOCK INTERMEDIA 0 0 U 0 0 1 0 0 5 0 0 1 5 1 1 1 10 0 1 0 10 1 0 0 15 0 0 1 15 1 1 1 20 0 1 0 20 1 0 0 25 0 0 1 25 1 1 1 30 0 1 0 30 1 0 0 35 0 0 1 35 1 1 1 40 0 1 0 40 1 0 0 45 0 0 1 45 1 1 1 50 0 1 0 50 1 0 0 55 0 0 1 55 1 1 1 60 0 1 0 60 1 0 0 65 0 0 1 65 1 1 1 70 0 1 0 70 1 0 0 75 0 0 1 75 1 1 1 80 0 1 0 80 1 0 0 85 0 0 1 85 1 1 1 90 0 1 0 90 1 0 0 95 0 0 1 95 1 1 1 100 0 1 0 100 1 0 0

Tabla-1 Resultados de la simulación del reloj.

Page 14: Practicas tuteladas VHDL (curso 04-05tamarisco.datsi.fi.upm.es/ASIGNATURAS/TC/practicas/...Facultad de Informática - Universidad Politécnica de Madrid - V. Rodellar 1 Practicas tuteladas

Figura-3. Establecimiento de las condiciones de simulación para el biestable D activado por flanco de bajada y clear

síncrono. Arquitectura en estilo comportamiento.

Figura-4. Formas de onda resultantes de la simulación del biestable D activado por flanco de bajada y clear síncrono.

Arquitectura en estilo comportamiento.

Tecnología de Computadores: Práctica-2: Atributos de señales, elementos de memoria y registros © Departamento de Arquitectura y Tecnología de Sistemas Informáticos Facultad de Informática - Universidad Politécnica de Madrid - V. Rodellar

14

Page 15: Practicas tuteladas VHDL (curso 04-05tamarisco.datsi.fi.upm.es/ASIGNATURAS/TC/practicas/...Facultad de Informática - Universidad Politécnica de Madrid - V. Rodellar 1 Practicas tuteladas

Figura-5. Establecimiento de las condiciones de simulación para el biestable D activado por flanco de subida y clear síncrono. Arquitectura Flujo de datos.

Figura-6. Selección de las señales a visualizar durante la simulación del biestable D activado por flanco de subida y clear síncrono. Obsérvese la indicación expresa de del bloque FF de la arquitectura.

Tecnología de Computadores: Práctica-2: Atributos de señales, elementos de memoria y registros © Departamento de Arquitectura y Tecnología de Sistemas Informáticos Facultad de Informática - Universidad Politécnica de Madrid - V. Rodellar

15

Page 16: Practicas tuteladas VHDL (curso 04-05tamarisco.datsi.fi.upm.es/ASIGNATURAS/TC/practicas/...Facultad de Informática - Universidad Politécnica de Madrid - V. Rodellar 1 Practicas tuteladas

Figura-7. Resultados de la simulación de la biestable D activado por flanco de subida y clear síncrono. Arquitectura

Flujo de datos.

Figura-8. Establecimiento de las condiciones de simulación para el registro paralelo/paralelo utilizando biestables tipo D activados por flanco de subida y clear síncrono.

Tecnología de Computadores: Práctica-2: Atributos de señales, elementos de memoria y registros © Departamento de Arquitectura y Tecnología de Sistemas Informáticos Facultad de Informática - Universidad Politécnica de Madrid - V. Rodellar

16

Page 17: Practicas tuteladas VHDL (curso 04-05tamarisco.datsi.fi.upm.es/ASIGNATURAS/TC/practicas/...Facultad de Informática - Universidad Politécnica de Madrid - V. Rodellar 1 Practicas tuteladas

Figura-9. Selección de las señales a visualizar durante la simulación del registro paralelo/paralelo utilizando biestables tipo D activados por flanco de bajada y clear síncrono. Observe las instancias de los biestables y sus

correspondientes arquitecturas asociadas.

Figura-10. Resultados de la simulación del registro paralelo/paralelo utilizando biestables tipo D activados por flanco de bajada y clear síncrono. Observe que las componentes del vector SAL_DATOS han sido visualizadas independientemente, mientras que el vector ENT_DATOS ha sido visualizado de forma global, mediante su valor en decimal.

Tecnología de Computadores: Práctica-2: Atributos de señales, elementos de memoria y registros © Departamento de Arquitectura y Tecnología de Sistemas Informáticos Facultad de Informática - Universidad Politécnica de Madrid - V. Rodellar

17

Page 18: Practicas tuteladas VHDL (curso 04-05tamarisco.datsi.fi.upm.es/ASIGNATURAS/TC/practicas/...Facultad de Informática - Universidad Politécnica de Madrid - V. Rodellar 1 Practicas tuteladas

Figura-11. Selección de las señales a visualizar durante la simulación del registro paralelo/paralelo utilizando biestables tipo D activados por flanco de bajada y clear síncrono utilizando la sentencia GENERATE. Observe las instancias de los biestables y sus correspondientes arquitecturas asociadas.

Figura-12. Visualización durante la simulación de la simulación de la salida triestado. Observe los valores de los datos

de entrada y los de salida.

Tecnología de Computadores: Práctica-2: Atributos de señales, elementos de memoria y registros © Departamento de Arquitectura y Tecnología de Sistemas Informáticos Facultad de Informática - Universidad Politécnica de Madrid - V. Rodellar

18