08.08.2015 Views

VARIABLES Y SEÑALES

VARIABLES Y SEÑALES

VARIABLES Y SEÑALES

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

1 FUNCIONES Y PROCEDIMIENTOS<strong>VARIABLES</strong> Y <strong>SEÑALES</strong>• Constantes• Variables• Señales• Señales de Resolución. Funciones de resolución


2 FUNCIONES Y PROCEDIMIENTOSConstantes• Objeto que almacena un único valor durante todala simulación.• Se deben inicializar al ser declaradas.• Declaración en arquitecturas (visible en todala arquitectura), antes de begin.


3 FUNCIONES Y PROCEDIMIENTOSVariables/señales• Variables y señales: almacenan información que puedecambiar durante la simulación. Transportan datosentre elementos.• Variables y señales: Tratamiento distinto en lasimulación y en la síntesis.• Señales: Ligadas al carácter hardware del lenguaje.Son las conexiones o terminales físicos del circuito.


4 FUNCIONES Y PROCEDIMIENTOSVariables• Declaradas y usadas en sistemas secuenciales:funciones, procedimientos y procesos.• Dentro de un proceso:- En su parte de declaración.- Visibles sólo dentro del proceso.


5 FUNCIONES Y PROCEDIMIENTOSVariables: Declaración• Una vez declarada su valor puede cambiar durante lasimulación:- La asignación a variables es inmediata:


6 FUNCIONES Y PROCEDIMIENTOSVariables: AsignaciónCuando hay cambios en “a” elproceso se dispara y “count_a”se incrementa.


7 FUNCIONES Y PROCEDIMIENTOSSeñales• Usadas para representar:• Puertos de entrada/salida de la entidad.• Señales internas en el cuerpo de una arquitectura.• Visibles en:• Puertos entrada/salida de una entidad: Visibles entodos los cuerpos de arquitecturas de esa entidad.• Señales internas: Accesibles en todo el cuerpo dela arquitectura.


8 FUNCIONES Y PROCEDIMIENTOSSeñales: Declaración


9 FUNCIONES Y PROCEDIMIENTOSVariables vs señales• Sintaxis:• Variables: tienen un campo de acción limitado (proceso).• Señales: tienen un campo de acción más extenso(módulo).• Simulación:• Variables: asignación con efecto inmediato.• Señales: la asignación se produce en el siguiente ciclo desimulación (al final de la ejecución del proceso).• Síntesis:• Variables: a veces se sintetizan como cableados.• Señales: En sentencias con reloj pueden dar lugar aelementos de memorias.


10 FUNCIONES Y PROCEDIMIENTOSVariables vs señales


11 FUNCIONES Y PROCEDIMIENTOSSeñales: Comportamiento• Las señales se utilizan para comunicación entre procesos.• Cuando se realiza una asignación a una señal se crea undriver para la misma.• No puede haber dos procesos escribiendo en la mismaseñal.• Excepción son las señales “resolved” .


12 FUNCIONES Y PROCEDIMIENTOSSeñales: Comportamiento• La asignación a señales no se produce de formainmediata.• La asignación es efectiva cuando se termina el“wait”.


13 FUNCIONES Y PROCEDIMIENTOSSeñales: ComportamientoP1: process isbegin……x


14 FUNCIONES Y PROCEDIMIENTOSSeñales resueltas• Hasta ahora se ha asumido una asignación por señal sólo un proceso puede aplicar asignaciones a dichaseñal.• Funciones de resolución: deciden qué valor ha de tomarla señal cuando se le aplican dos o más asignaciones.


15 FUNCIONES Y PROCEDIMIENTOSSeñales resueltasarchitecture b of e issignal x: rbit;beginp1: process isbegin…x


16 FUNCIONES Y PROCEDIMIENTOSFunciones de resoluciónABnet1signal net 1: resolv_and bit;Cand_1: port map(A,B,net1);inv_1: port map (C,net1);Función de resolución: resuelve el valor que ha de tomarel nodo net1.


17 FUNCIONES Y PROCEDIMIENTOSFunciones de resoluciónfunction resolv_and (A:bit_vector) return bit isbeginfor I in A´range loopif A(I) = ´0´thenreturn ´0´;end if;end forreturn ´1´;end resolv_and;Es una conexión AND


18 FUNCIONES Y PROCEDIMIENTOSFunciones de resolucióntype std_ulogic is( ‘U’, -- unintialized‘X’, -- forcing unknown‘0’, -- forcing 0‘1’, -- forcing 1‘Z’, -- high impedance‘W’, -- weak unknown‘L’, -- weak 0‘H’, -- weak 1‘-’ -- don’t care);IEEE.std_logic_1164

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!