FaMAF - Clase Vhdl Leccion 04
-
Upload
gueste7ad208 -
Category
Documents
-
view
1.972 -
download
0
Transcript of FaMAF - Clase Vhdl Leccion 04
•
Curso VHDL Lección 04
� Lección 4: Operadores y atributos
� 4_1 - Operadores (Repaso) � 4_2 - Atributos� 4_3 - Atributos Definidos por el usuario� 4_4 - Sobrecarga de Operadores� 4_5 - GENERIC� 4_6 - Ejemplos� 4_7 – Problemas
•
Curso VHDL Lección 04
� Lección 4: Operadores y atributos
� 4_1 - Operadores (Repaso) � 4_2 - Atributos� 4_3 - Atributos Definidos por el usuario� 4_4 - Sobrecarga de Operadores� 4_5 - GENERIC� 4_6 - Ejemplos� 4_7 – Problemas
•
4_1 Operadores 1/8
� _ ASIGNACIÓN� _ARITMÉTICOS� _RELACIONALES� _LÓGICOS� _ CORRIMIENTO � _CONCATENACIÓN
•
4_1 Operadores 2/8
ASIGNACIÓN
<= Para asignar un valor a una señal
:= Para asignar un valor a una variable, constante, genérico, o para inicializar valores.
=> Para asignar un valor a un elemento de un vector o con OTHERS
•
4_1 Operadores 3/8
EJEMPLOS DE ASIGNACIONES
SIGNAL x: STD_LOGIC;VARIABLE y: STD_LOGIC_VECTOR (3 DOWNTO
0);VARIABLE w: STD_LOGIC_VECTOR (0 TO 7);
x <= ‘1’;y := “0000”;w <= “10000000”;w <= (0=>’1’, OTHERS => ‘0’);
•
4_1 Operadores 4/8
LÓGICOSLOS DATOS DEBEN SER:
BIT, BIT_VECTOR, STD_LOGIC, STD_LOGIC_VECTOR, STD_ULOGIC, STD_ULOGIC_VECTOR
LOS OPERADORES SON:NOT, AND, OR, NOR, NAND, XOR, XNOR
•
4_1 Operadores 5/8
EJEMPLOS DE OPERACIONES LÓGICAS
y <= NOT a AND b;
y <= NOT (a AND b);
y <= a NAND b;
•
4_1 Operadores 6/8
ARITMÉTICOSLOS DATOS DEBEN SER:
INTEGER, SIGNED, UNSIGNED, REAL (NO SINTETIZABLE) O STD_LOGIC_VECTOR SI LOS PAQUETES
STD_LOGIC_SGNED O STD_LOGIC_UNSIGNED SE USAN+ -* /**MOD REMABS
•
4_1 Operadores 7/8
RELACIONALES
< MENOR<= MENOR O IGUAL> MAYOR>= MAYOR O IGUAL= IGUAL/= DISTINTO
•
4_1 Operadores 8/8
•
Curso VHDL Lección 04
� Lección 4: Operadores y atributos
� 4_1 - Operadores (Repaso) � 4_2 - Atributos� 4_3 - Atributos Definidos por el usuario� 4_4 - Sobrecarga de Operadores� 4_5 - GENERIC� 4_6 - Ejemplos� 4_7 – Problemas
•
Curso VHDL Lección 04
� Lección 4: Operadores y atributos
� 4_1 - Operadores (Repaso) � 4_2 - Atributos� 4_3 - Atributos Definidos por el usuario� 4_4 - Sobrecarga de Operadores� 4_5 - GENERIC� 4_6 - Ejemplos� 4_7 – Problemas
•4_2 Atributos 1/4
ATRIBUTOS SINTETIZABLES Y PREDEFINIDOS DE DATOS
SIGNAL d: STD_LOGIC_VECTOR(7 DOWNTO 0);
d’LOW d’HIGH d’LEFT d’RIGHT
d’LENGTH d’RANGE d’REVERSE_RANGE
•4_2 Atributos 2/4
ATRIBUTOS SINTETIZABLES Y PREDEFINIDOS DE DATOS
SIGNAL d: STD_LOGIC_VECTOR(0 TO 7);
FOR i IN RANGE (0 TO 7) LOOP…FOR i IN d’RANGE LOOP…FOR i IN RANGE (d’LOW TO d’HIGH) LOOP…FOR i IN RANGE (0 TO d’LENGTH-1) LOOP…
•4_2 Atributos 3/4
PARA DATOS PREDEFINIDOS TIPO ENUMERATED:
d’VAL(poscion)
d’POS(valor)
d’LEFT_OF(valor)
etcétera, PERO HAY MUY POCO SOPORTE PARA SINTETIZAR ESTO
•4_2 Atributos 4/4
ATRIBUTOS DE LAS SEÑALES
s’EVENT s’STABLE
s’ACTIVEs’QUIET<time>s’LAST_EVENTs’LAST_VALUEs’LAST_ACTIVE
IF (clk’EVENT AND clk =‘1’) . . .
•
Curso VHDL Lección 04
� Lección 2: Operadores y atributos
� 4_1 - Operadores (Repaso) � 4_2 – Atributos � 4_3 - Atributos Definidos por el usuario� 4_4 - Sobrecarga de Operadores� 4_5 - GENERIC� 4_6 - Ejemplos� 4_7 – Problemas
•
Curso VHDL Lección 04
� Lección 4: Operadores y atributos
� 4_1 - Operadores (Repaso) � 4_2 – Atributos � 4_3 - Atributos Definidos por el usuario� 4_4 - Sobrecarga de Operadores� 4_5 - GENERIC� 4_6 - Ejemplos� 4_7 – Problemas
•4_3 Atributos definidos por el usuario 1/3
_PARTE DECLARATIVA:
ATRIBUTE nomb_atr: TIPO DE DATOS;
_PARTE ESPECIFICATIVA
ATRIBUTE nomb_atr OF nombre: CLASE IS VALOR
TIPOS DE DATOS: BIT, INTEGER, (CUALQUIER TIPO DE DATOS)
CLASE: SIGNAL, TYPE, FUNCTION
VALOR: CONSTANTE CORRESPONDIENTE AL TIPO DE DATOS
•4_3 Atributos definidos por el usuario 2/3
_EJEMPLO DE LA PARTE DECLARATIVA:
ATRIBUTE numero_entradas: INTEGER;
_EJEMPLO PARTE ESPECIFICATIVA
ATRIBUTE numero_enatradas OF nand3: SIGNAL IS 3
…..
num_ent <= nand3’numero_entradas;
•4_3 Atributos definidos por el usuario 3/3
ATRIBUTO: ENUM_ENCODING
_TYPE color IS (red, green, blue, white);
-- (00 01 10 11)
ATTRIBUTE enum_encoding OF color: TYPE IS “11 00 10 01”;
•
Curso VHDL Lección 04
� Lección 4: Operadores y atributos
� 4_1 - Operadores (Repaso) � 4_2 – Atributos � 4_3 - Atributos Definidos por el usuario� 4_4 - Sobrecarga de Operadores� 4_5 - GENERIC� 4_6 - Ejemplos� 4_7 – Problemas
•
Curso VHDL Lección 04
� Lección 4: Operadores y atributos
� 4_1 - Operadores (Repaso) � 4_2 – Atributos � 4_3 - Atributos Definidos por el usuario� 4_4 - Sobrecarga de Operadores� 4_5 - GENERIC� 4_6 - Ejemplos� 4_7 – Problemas
•4_4 Sobrecarga de Operadores 1/2
•4_4 Sobrecarga de Operadores 2/2
•
Curso VHDL Lección 04
� Lección 4: Operadores y atributos
� 4_1 - Operadores (Repaso) � 4_2 – Atributos � 4_3 - Atributos Definidos por el usuario� 4_4 - Sobrecarga de Operadores� 4_5 - GENERIC� 4_6 - Ejemplos� 4_7 – Problemas
•
Curso VHDL Lección 04
� Lección 4: Operadores y atributos
� 4_1 - Operadores (Repaso) � 4_2 – Atributos � 4_3 - Atributos Definidos por el usuario� 4_4 - Sobrecarga de Operadores� 4_5 - GENERIC� 4_6 - Ejemplos� 4_7 – Problemas
•4_5 GENERIC 1/2
•4_5 GENERIC 2/2
•
Curso VHDL Lección 4
� Lección 4: Operadores y atributos
� 4_1 - Operadores (Repaso) � 4_2 – Atributos � 4_3 - Atributos Definidos por el usuario� 4_4 - Sobrecarga de Operadores� 4_5 – GENERIC � 4_6 - Ejemplos� 4_7 – Problemas
•
Curso VHDL Lección 04
� Lección 4: Operadores y atributos
� 4_1 - Operadores (Repaso) � 4_2 – Atributos � 4_3 - Atributos Definidos por el usuario� 4_4 - Sobrecarga de Operadores� 4_5 - GENERIC� 4_6 - Ejemplos� 4_7 – Problemas
•4_6 Ejemplos 1/3
•4_6 Ejemplos 2/3
•4_6 Ejemplos 3/3
•
Curso VHDL Lección 04
� Lección 4: Operadores y atributos
� 4_1 - Operadores (Repaso) � 4_2 – Atributos � 4_3 - Atributos Definidos por el usuario� 4_4 - Sobrecarga de Operadores� 4_5 – GENERIC � 4_6 - Ejemplos� 4_7 – Problemas
•
Curso VHDL Lección 04
� Lección 4: Operadores y atributos
� 4_1 - Operadores (Repaso) � 4_2 – Atributos � 4_3 - Atributos Definidos por el usuario� 4_4 - Sobrecarga de Operadores� 4_5 - GENERIC� 4_6 - Ejemplos� 4_7 – Problemas
•4_7 Problemas 1/4
•DETECTOR DE PARIDAD PAR
•4_7 Problemas 2/4•DETECTOR DE PARIDAD PAR
•4_7 Problemas 3/4
•GENERADOR DE PARIDAD PAR
•4_7 Problemas 4/4•GENERADOR DE PARIDAD PAR
•
Curso VHDL Lección 04
� Lección 4: Operadores y atributos
� 4_1 - Operadores (Repaso) � 4_2 – Atributos � 4_3 - Atributos Definidos por el usuario� 4_4 - Sobrecarga de Operadores� 4_5 – GENERIC � 4_6 - Ejemplos� 4_7 – Problemas