Documentos de Académico
Documentos de Profesional
Documentos de Cultura
INDICE: 1. Caracterizacin de seales 1. Transacciones 2. Eventos 3. Drivers 2. Tipos de retardos 1. Delta 2. Inercial 3. El modelo de simulacin 4. Modelos para test 5. Resumen 6. Trabajo a realizar por el alumno
SEALES Y RETARDOS
Grupo de Tecnologa de Computadores.- V. Rodellar Departamento de Arquitectura y Tecnologa de Sistemas Informtic Facultad de Informtica Universidad Politcnica de Madrid
Comprobacin del funcionamiento Visualizacin de seales de entrada y salida en un aparato tipo osciloscopio
e1
m1 e1 c
e1 e0 s e0 e1 s
e s
m1 m2
e1 s e0
Nc
m2
e0
.
SEALES Y RETARDOS
Grupo de Tecnologa de Computadores.- V. Rodellar Departamento de Arquitectura y Tecnologa de Sistemas Informtic Facultad de Informtica Universidad Politcnica de Madrid
1. Caracterizacin de seales
Seal real
Seal idealizada
.
SEALES Y RETARDOS
Grupo de Tecnologa de Computadores.- V. Rodellar Departamento de Arquitectura y Tecnologa de Sistemas Informtic Facultad de Informtica Universidad Politcnica de Madrid
15 ns
33 ns
38 ns
63 ns
108 ns
Una seal tiene un valor en tiempo determinado Transaccin: pareja (valor, tiempo) (0, 0 ns) (0, 7 ns) (1, 15 ns) (1, 30 ns) (0, 33 ns) (1, 38 ns) (0, 63 ns) (1, 108 ns)
SEALES Y RETARDOS
Grupo de Tecnologa de Computadores.- V. Rodellar Departamento de Arquitectura y Tecnologa de Sistemas Informtic Facultad de Informtica Universidad Politcnica de Madrid
15 ns
33 ns
38 ns
63 ns
108 ns
Evento: Una seal tiene un cambio de valor en un tiempo determinado (0, 0 ns) (1, 15ns) (0, 33 ns) (1, 38 ns) (0, 63 ns) (1, 108 ns)
SEALES Y RETARDOS
Grupo de Tecnologa de Computadores.- V. Rodellar Departamento de Arquitectura y Tecnologa de Sistemas Informtic Facultad de Informtica Universidad Politcnica de Madrid
15 ns
33 ns
38 ns
63 ns
108 ns
Propagacin de seales: Las transacciones/eventos se colocan en orden ascendente en el tiempo s <= 0, 1 AFTER 15 ns, 0 AFTER 33 ns, 1 AFTER 38 ns, 0 AFTER 63 ns, 1 AFTER 108 ns;
SEALES Y RETARDOS
Grupo de Tecnologa de Computadores.- V. Rodellar Departamento de Arquitectura y Tecnologa de Sistemas Informtic Facultad de Informtica Universidad Politcnica de Madrid
1. Caracterizacin de seales. Driver Un driver es una cola (tabla) de transacciones que almacena la forma de onda de la seal 0 0 15 1 33 0 38 1 63 0 108 1
Time Value
15 ns
33 ns
38 ns
63 ns
108 ns
SEALES Y RETARDOS
Grupo de Tecnologa de Computadores.- V. Rodellar Departamento de Arquitectura y Tecnologa de Sistemas Informtic Facultad de Informtica Universidad Politcnica de Madrid
1. Caracterizacin de seales. Driver El driver proyecta los valores futuros de la seal. La seal est planificada para tomar el valor indicado en su correspondiente momento 0 0 15 1 33 0 38 1 63 0 108 1
Time Value
15 ns
33 ns
38 ns
63 ns
108 ns
SEALES Y RETARDOS
Grupo de Tecnologa de Computadores.- V. Rodellar Departamento de Arquitectura y Tecnologa de Sistemas Informtic Facultad de Informtica Universidad Politcnica de Madrid
0 0
15 1
33 0
38 1
63 0
108 1
Time Value
Tiempo de simulacin 0 ns, el driver tiene el valor 0 Tiempo de simulacin 18 ns, el driver tiene el valor 1
SEALES Y RETARDOS
Grupo de Tecnologa de Computadores.- V. Rodellar Departamento de Arquitectura y Tecnologa de Sistemas Informtic Facultad de Informtica Universidad Politcnica de Madrid
1. Caracterizacin de seales. Driver Cuando avanza el tiempo de simulacin transacciones ya procesadas se eliminan de la cola
0 0 15 1
pasado
las
33 0
38 1
15 0
33 1
38 0
futuro
Ns
10
2. Tipos de retardos en seales Un retardo es el tiempo que le cuesta llegar a una seal de un punto a otro en un circuito
Los dos circuitos hacen la misma funcin, realizan la operacin NOT pero el de 5 ns es ms rpido que el de 15 ns. NO son exactamente iguales.
SEALES Y RETARDOS
Grupo de Tecnologa de Computadores.- V. Rodellar Departamento de Arquitectura y Tecnologa de Sistemas Informtic Facultad de Informtica Universidad Politcnica de Madrid
11
2. Tipos de retardos en seales Delta () Inercial output <= NOT input; output <= NOT input AFTER 5 ns;
Transporte output <= TRANSPORT NOT input AFTER 5 ns; (Transporte no lo vamos a ver en este curso, util para modelar lineas de transmisin)
SEALES Y RETARDOS
Grupo de Tecnologa de Computadores.- V. Rodellar Departamento de Arquitectura y Tecnologa de Sistemas Informtic Facultad de Informtica Universidad Politcnica de Madrid
12
2. Tipos de retardos en seales: Delta El retardo delta, es el que se asume por defecto cuando no se especifica un retardo para la seal. Ns <= NOT s; Es un retardo infinitesimal, siempre es despreciable respecto del tiempo de simulacin, que separa la excitacin de la respuesta en un sistema fsico (causalidad).
SEALES Y RETARDOS
Grupo de Tecnologa de Computadores.- V. Rodellar Departamento de Arquitectura y Tecnologa de Sistemas Informtic Facultad de Informtica Universidad Politcnica de Madrid
13
0 0
15 1
pasado
33 0
38 1
15 0
33 1
38 0
38 ns + = 38 ns
futuro
Ns
Ns <= NOT s;
SEALES Y RETARDOS
Grupo de Tecnologa de Computadores.- V. Rodellar Departamento de Arquitectura y Tecnologa de Sistemas Informtic Facultad de Informtica Universidad Politcnica de Madrid
14
0 0 0 1
15 1 15 0
33 0 33 1
38 1 38 0
63 108 0 1
63 108 1 0
SEALES Y RETARDOS
Grupo de Tecnologa de Computadores.- V. Rodellar Departamento de Arquitectura y Tecnologa de Sistemas Informtic Facultad de Informtica Universidad Politcnica de Madrid
15
0 0
15 1
pasado
33 0
38 1
20 0
38 1
43 0
futuro
Ns
38 ns + 5 ns = 43 ns
17
Grupo de Tecnologa de Computadores.- V. Rodellar Departamento de Arquitectura y Tecnologa de Sistemas Informtic Facultad de Informtica Universidad Politcnica de Madrid
0 0 5 1
15 1 20 0
33 0 38 1
38 1 43 0
63 108 0 1
68 113 1 0
SEALES Y RETARDOS
Grupo de Tecnologa de Computadores.- V. Rodellar Departamento de Arquitectura y Tecnologa de Sistemas Informtic Facultad de Informtica Universidad Politcnica de Madrid
18
SEALES Y RETARDOS
Grupo de Tecnologa de Computadores.- V. Rodellar Departamento de Arquitectura y Tecnologa de Sistemas Informtic Facultad de Informtica Universidad Politcnica de Madrid
19
Tiempo (ns)
Amplitud output
Tiempo (ns)
5 10 15 20 25 30 35 40 45 50
SEALES Y RETARDOS
Grupo de Tecnologa de Computadores.- V. Rodellar Departamento de Arquitectura y Tecnologa de Sistemas Informtic Facultad de Informtica Universidad Politcnica de Madrid
20
3. El modelo de simulacin
El modelo de simulacin tiene VHDL entiende cada sentencia concurrente (PROCESS, que considerar que: el asignacin concurrente de hardware opera seal, instanciacin de concurrentemente, y que las componentes, etc..), como un salidas del sistema solo PROCESO y los procesos se pueden cambiar si hay algn comunican entre ellos por cambio en sus entradas medio de seales. (eventos).
a
OR
b s c
AND
a
process-OR
I - comunicacin
b
process-AND
c
SEALES Y RETARDOS
Grupo de Tecnologa de Computadores.- V. Rodellar Departamento de Arquitectura y Tecnologa de Sistemas Informtic Facultad de Informtica Universidad Politcnica de Madrid
21
a b c
OR
AND
BEGIN or2: PROCESS (a,b) BEGIN I <= a OR b; END PROCESS or2; and2: PROCESS (I,c) BEGIN s <= I AND c; END PROCESS and2; END behave;
BEGIN
BEGIN
Proceso 1
I <= a OR b; U0: gate_OR PORT MAP (a,b,I);
Proceso 2
s <= I AND c; END flow; U1: gate_AND PORT MAP (I,c,s); END structural;
SEALES Y RETARDOS
Grupo de Tecnologa de Computadores.- V. Rodellar Departamento de Arquitectura y Tecnologa de Sistemas Informtic Facultad de Informtica Universidad Politcnica de Madrid
22
23
24
Tiempo especifico para el cual estamos realizando la simulacin por haberse producido un evento Este tiempo avanza as como los eventos se consumen en la cola. Supone un avance de tiempo fsico en el tiempo total de simulacin, su valor no es fijo (Ti). El tiempo fsico (simulacin) no avanza, es equivalente a un retardo tipo delta.
T1
0 ns evento1 5 ns
T2
25 ns evento2
T3
45 ns evento4 evento3
T4
T5
95 ns evento5 (Tiempo Total de simulacin T = 100 ns)
SEALES Y RETARDOS
Grupo de Tecnologa de Computadores.- V. Rodellar Departamento de Arquitectura y Tecnologa de Sistemas Informtic Facultad de Informtica Universidad Politcnica de Madrid
25
3. El modelo de simulacin.
a b c I
OR
DRIVERS
t(ns)
a b c I s
0 0 0 1 0 0
1 1 0 1 1 0
1+ 1 0 1 1 1
Primero se ejecutase el proceso AND como I = 0, S=0 no es correcto A continuacin se ejecutase el proceso OR, hace que I = 1, provoca un evento a la entrada del proceso AND, ello implica que ha de recalcularse este proceso
SEALES Y RETARDOS
26
Grupo de Tecnologa de Computadores.- V. Rodellar Departamento de Arquitectura y Tecnologa de Sistemas Informtic Facultad de Informtica Universidad Politcnica de Madrid
SEALES Y RETARDOS
Grupo de Tecnologa de Computadores.- V. Rodellar Departamento de Arquitectura y Tecnologa de Sistemas Informtic Facultad de Informtica Universidad Politcnica de Madrid
27
A V A N
C I C L O
S I M U L C
ACTUALIZACION DE LOS DRIVERS DE LAS SEALES IMPLICADAS EN LOS PROCESOS Se generan nuevas transacciones T actual = T actual + ACTIVACION DE PROCESOS (PROCESS, asignacin concurrente seal, componente,....) se termina la ejecucin cuando se encuentre un WAIT o terminado sentencia concurrente T actual = T
C E
D E
D E
I O N
INCREMENTO DEL TIEMPO DE SIMULACION SI La actualizacin de los drivers produciran nuevos eventos? PROCESOS ACTIVOS NO T actual = T anterior + Ti ACTUALIZA LOS DRIVERS DE LAS SEALES DE ENTRADA PARA EL TIEMPOACTUAL NO T actual T total SI
I E M P O
F I S I C O
SEALES Y RETARDOS
Grupo de Tecnologa de Computadores.- V. Rodellar Departamento de Arquitectura y Tecnologa de Sistemas Informtic Facultad de Informtica Universidad Politcnica de Madrid
28
VHDL analizador
VHDL elaborador Los componentes son asociados a las entidades. La jerarqua del modelo se aplana y como resultado se obtiene un conjunto de procesos conectados mediante seales
29
La ARCHITECTURE Declaracin del componente que se va testear tiene que describirse Declaracin de seales del componente en estilo Configuracin de componente STRUCTURAL instanciando el BEGIN component a testear Instanciacin del componente a testear y definiendo los Drivers de las seales drivers de las seales
END name;
SEALES Y RETARDOS
Grupo de Tecnologa de Computadores.- V. Rodellar Departamento de Arquitectura y Tecnologa de Sistemas Informtic Facultad de Informtica Universidad Politcnica de Madrid
30
Ejercicio:
Realizar la entidad, arquitectura y test para la funcin lgica: f = (a+b) c
Las entradas deben de tener todas las combinaciones posibles (8). Los datos han de ser tipo STD_LOGIC
SEALES Y RETARDOS
Grupo de Tecnologa de Computadores.- V. Rodellar Departamento de Arquitectura y Tecnologa de Sistemas Informtic Facultad de Informtica Universidad Politcnica de Madrid
31
Ejercicio: Entidad
f = (a+b) c
LIBRARY ieee; USE ieee.STD_LOGIC_1164.all; ENTITY modelo_simula IS PORT ( a,b,c : IN STD_LOGIC; -- entradas s ); END modelo_simula;
SEALES Y RETARDOS
Grupo de Tecnologa de Computadores.- V. Rodellar Departamento de Arquitectura y Tecnologa de Sistemas Informtic Facultad de Informtica Universidad Politcnica de Madrid
32
Ejercicio: Arquitectura
f = (a+b) c
ARCHITECTURE flujo OF modelo_simula IS SIGNAL I: STD_LOGIC; BEGIN I <= a OR b; s <= I AND c; END flujo;
SEALES Y RETARDOS
Grupo de Tecnologa de Computadores.- V. Rodellar Departamento de Arquitectura y Tecnologa de Sistemas Informtic Facultad de Informtica Universidad Politcnica de Madrid
33
Ejercicio: Test
f = (a+b) c
LIBRARY ieee; USE ieee.STD_LOGIC_1164.all; -- Observese que la entidad para simular no tiene puertos ENTITY simula_test IS END simula_test;
Simula_test
SEALES Y RETARDOS
superfluo
34
Grupo de Tecnologa de Computadores.- V. Rodellar Departamento de Arquitectura y Tecnologa de Sistemas Informtic Facultad de Informtica Universidad Politcnica de Madrid
Ejercicio: Test
f = (a+b) c
ARCHITECTURE test_flujo OF simula_test IS --Parte declarativa --Se declara el componente que se va a simular COMPONENT modelo_simula PORT (a,b,c: IN STD_LOGIC; s: OUT STD_LOGIC); END COMPONENT; -- Se declaran las seales del componente que se va a simular SIGNAL a,b,c,s: STD_LOGIC;
SEALES Y RETARDOS
superfluo
35
Grupo de Tecnologa de Computadores.- V. Rodellar Departamento de Arquitectura y Tecnologa de Sistemas Informtic Facultad de Informtica Universidad Politcnica de Madrid
Ejercicio: Test
f = (a+b) c
SEALES Y RETARDOS
Grupo de Tecnologa de Computadores.- V. Rodellar Departamento de Arquitectura y Tecnologa de Sistemas Informtic Facultad de Informtica Universidad Politcnica de Madrid
36
Ejercicio: Test
f = (a+b) c
--Cuerpo de la arquitectura BEGIN -- Instanciacin de componente que se va a simular U0: modelo_simula PORT MAP (a => a,
Simula_test modelo_simula
SEALES Y RETARDOS
Grupo de Tecnologa de Computadores.- V. Rodellar Departamento de Arquitectura y Tecnologa de Sistemas Informtic Facultad de Informtica Universidad Politcnica de Madrid
37
Ejercicio: Test
f = (a+b) c
Simula_test
modelo_simula
a b c I f
SEALES Y RETARDOS
Grupo de Tecnologa de Computadores.- V. Rodellar Departamento de Arquitectura y Tecnologa de Sistemas Informtic Facultad de Informtica Universidad Politcnica de Madrid
38
Ejercicio: Test
a 0 0 0 0 1 1 1 1 b 0 0 1 1 0 0 1 1 c 0 1 0 1 0 1 0 1 f 0 0 0 1 0 1 0 1
f = (a+b) c
10
12
14
16
c <=0',1 AFTER 2 NS, '0 AFTER 4 NS, '1 AFTER 6 NS, 0 AFTER 8 NS, 1 AFTER 10 NS, 0 AFTER 12 NS, 1 AFTER 14 NS, 0 AFTER 16 NS; b <=0', 1 AFTER 4 NS, 0 AFTER 8 NS, 1 AFTER 12 NS, 0 AFTER 16 NS; a <='0 ,'1 AFTER 8 NS, 0 AFTER 16 NS;
END test_flujo;
SEALES Y RETARDOS
Grupo de Tecnologa de Computadores.- V. Rodellar Departamento de Arquitectura y Tecnologa de Sistemas Informtic Facultad de Informtica Universidad Politcnica de Madrid
39
Ejercicio: Test
f = (a+b) c
Hay una forma ms compacta de definirlas (con el operador not forma algortmica
c <= NOT c AFTER 2 ns; b <= NOT b AFTER 4 ns; a <= NOT a AFTER 8 ns;
END test_flujo;
0 1 0 1 0 1 0 1 0
10
12
14
16
Para que la secuencia arranque es IMPRESCINDIBLE inicializar las seales a,b y c a un valor (0 1) cuando se declaran SIGNAL a,b,c: STD_LOGIC := '0';
T=16
SEALES Y RETARDOS
Grupo de Tecnologa de Computadores.- V. Rodellar Departamento de Arquitectura y Tecnologa de Sistemas Informtic Facultad de Informtica Universidad Politcnica de Madrid
40
Ejercicio: Simulacin
f = (a+b) c
a 0 0 0 0 1 1 1 1
b 0 0 1 1 0 0 1 1
c 0 1 0 1 0 1 0 1
f 0 0 0 1 0 1 0 1
SEALES Y RETARDOS
Grupo de Tecnologa de Computadores.- V. Rodellar Departamento de Arquitectura y Tecnologa de Sistemas Informtic Facultad de Informtica Universidad Politcnica de Madrid
Escala a 0,2 ns
41
Ejercicio: Simulacin
f = (a+b) c
ns Delta 0 0 0 1 0 2 2 0 4 0 4 1 6 0 6 1 8 0 8 1 10 0 10 1 12 0 12 1 14 0 14 1 16 0 16 1
SEALES Y RETARDOS
T0
T2
T4
T6
T8
T10
T12
T14
T16
Obsrvese los tiempos actuales de simulacin y los ciclos delta o pasos de simulacin
A U 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0
B U 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0
I U U 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0
C U 0 0 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0
S U U 0 0 0 0 0 1 1 0 0 1 1 0 0 1 1 0
42
Grupo de Tecnologa de Computadores.- V. Rodellar Departamento de Arquitectura y Tecnologa de Sistemas Informtic Facultad de Informtica Universidad Politcnica de Madrid
4. Resumen Una seal est caracterizada por su driver El modelo de simulacin de VHDL esta controlado por eventos El driver de una seal se actualiza despus de la ejecucin de una sentencia concurrente El test para simulacin puede hacerse mediante una entidad que no tiene PORTS y una arquitectura tipo estructural
SEALES Y RETARDOS
Grupo de Tecnologa de Computadores.- V. Rodellar Departamento de Arquitectura y Tecnologa de Sistemas Informtic Facultad de Informtica Universidad Politcnica de Madrid
43
5. Resumen Los tipos de retardos que vamos a usar en las sentencias de asignacin de seal: Delta (causalidad) Inertial (conmutacin de circuitos)
SEALES Y RETARDOS
Grupo de Tecnologa de Computadores.- V. Rodellar Departamento de Arquitectura y Tecnologa de Sistemas Informtic Facultad de Informtica Universidad Politcnica de Madrid
44
SEALES Y RETARDOS
Grupo de Tecnologa de Computadores.- V. Rodellar Departamento de Arquitectura y Tecnologa de Sistemas Informtic Facultad de Informtica Universidad Politcnica de Madrid
45
--Este diseo es propietario el autor y puede ser utilizado con fines de estudio -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Proyecto Modelo de simulacin en VHDL -- Diseo: Entidad y arquitectura de (a+b)c -- Nombre del fichero: modelo_simula.vhd --- Autor: V. Rodellar -- Fecha: 13/2/2012 -- Versin: 1.0 -- Resumen: Este fichero contiene una entidad y una arquitectura -en estilo flujo de datos de la funcin (a+b)c -Se han utilizando tipo de datos STD_LOGIC. --- Modificaciones: --- Fecha Autor Versin Descripcin del cambio --====================================================================================================================== ---======================================================================================================================
Parte I
-- Definicin de librerias y paquetes LIBRARY ieee; USE ieee.STD_LOGIC_1164.all; --Modelo de entidad ENTITY modelo_simula IS PORT ( a,b,c : IN STD_LOGIC; -- entradas s : OUT STD_LOGIC -- salida ); END modelo_simula;
SEALES Y RETARDOS
Grupo de Tecnologa de Computadores.- V. Rodellar Departamento de Arquitectura y Tecnologa de Sistemas Informtic Facultad de Informtica Universidad Politcnica de Madrid
46
Parte II
SEALES Y RETARDOS
Grupo de Tecnologa de Computadores.- V. Rodellar Departamento de Arquitectura y Tecnologa de Sistemas Informtic Facultad de Informtica Universidad Politcnica de Madrid
47
Parte I
-- Definicn de librerias LIBRARY ieee; USE ieee.STD_LOGIC_1164.all; --Modelo de entidad ENTITY simula_test IS END simula_test;
SEALES Y RETARDOS
Grupo de Tecnologa de Computadores.- V. Rodellar Departamento de Arquitectura y Tecnologa de Sistemas Informtic Facultad de Informtica Universidad Politcnica de Madrid
48
Parte II
-- Se declaran las seales del componente que se va a simular -- Observese que las seales de entrada se han inicializado a cero para generar sus drivers de forma algoritmica con el operador NOT SIGNAL a,b,c: STD_LOGIC := '0'; SIGNAL s: STD_LOGIC; -- Configuracion del componente FOR U0: modelo_simula USE ENTITY WORK.modelo_simula(flujo); --Cuerpo de la arquitectura BEGIN -- Instanciacin de componente que se va a simular y conexionado de sus puertos U0: modelo_simula PORT MAP ( a => a, b => b, c => c, s => s); c <= NOT c AFTER 2 ns; b <= NOT b AFTER 4 ns; a <= NOT a AFTER 8 ns; END test1;
SEALES Y RETARDOS
Grupo de Tecnologa de Computadores.- V. Rodellar Departamento de Arquitectura y Tecnologa de Sistemas Informtic Facultad de Informtica Universidad Politcnica de Madrid
49