famaf - clase vhdl leccion 04

41
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

Upload: gueste7ad208

Post on 08-Jul-2015

1.973 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 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

Page 2: 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

Page 3: FaMAF - Clase Vhdl Leccion 04

4_1 Operadores 1/8

� _ ASIGNACIÓN� _ARITMÉTICOS� _RELACIONALES� _LÓGICOS� _ CORRIMIENTO � _CONCATENACIÓN

Page 4: FaMAF - Clase Vhdl Leccion 04

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

Page 5: FaMAF - Clase Vhdl Leccion 04

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’);

Page 6: FaMAF - Clase Vhdl Leccion 04

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

Page 7: FaMAF - Clase Vhdl Leccion 04

4_1 Operadores 5/8

EJEMPLOS DE OPERACIONES LÓGICAS

y <= NOT a AND b;

y <= NOT (a AND b);

y <= a NAND b;

Page 8: FaMAF - Clase Vhdl Leccion 04

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

Page 9: FaMAF - Clase Vhdl Leccion 04

4_1 Operadores 7/8

RELACIONALES

< MENOR<= MENOR O IGUAL> MAYOR>= MAYOR O IGUAL= IGUAL/= DISTINTO

Page 10: FaMAF - Clase Vhdl Leccion 04

4_1 Operadores 8/8

Page 11: 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

Page 12: 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

Page 13: FaMAF - Clase Vhdl Leccion 04

•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

Page 14: FaMAF - Clase Vhdl Leccion 04

•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…

Page 15: FaMAF - Clase Vhdl Leccion 04

•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

Page 16: FaMAF - Clase Vhdl Leccion 04

•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’) . . .

Page 17: FaMAF - Clase Vhdl Leccion 04

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

Page 18: 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

Page 19: FaMAF - Clase Vhdl Leccion 04

•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

Page 20: FaMAF - Clase Vhdl Leccion 04

•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;

Page 21: FaMAF - Clase Vhdl Leccion 04

•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”;

Page 22: 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

Page 23: 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

Page 24: FaMAF - Clase Vhdl Leccion 04

•4_4 Sobrecarga de Operadores 1/2

Page 25: FaMAF - Clase Vhdl Leccion 04

•4_4 Sobrecarga de Operadores 2/2

Page 26: 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

Page 27: 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

Page 28: FaMAF - Clase Vhdl Leccion 04

•4_5 GENERIC 1/2

Page 29: FaMAF - Clase Vhdl Leccion 04

•4_5 GENERIC 2/2

Page 30: FaMAF - Clase Vhdl Leccion 04

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

Page 31: 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

Page 32: FaMAF - Clase Vhdl Leccion 04

•4_6 Ejemplos 1/3

Page 33: FaMAF - Clase Vhdl Leccion 04

•4_6 Ejemplos 2/3

Page 34: FaMAF - Clase Vhdl Leccion 04

•4_6 Ejemplos 3/3

Page 35: 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

Page 36: 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

Page 37: FaMAF - Clase Vhdl Leccion 04

•4_7 Problemas 1/4

•DETECTOR DE PARIDAD PAR

Page 38: FaMAF - Clase Vhdl Leccion 04

•4_7 Problemas 2/4•DETECTOR DE PARIDAD PAR

Page 39: FaMAF - Clase Vhdl Leccion 04

•4_7 Problemas 3/4

•GENERADOR DE PARIDAD PAR

Page 40: FaMAF - Clase Vhdl Leccion 04

•4_7 Problemas 4/4•GENERADOR DE PARIDAD PAR

Page 41: 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