famaf - clase vhdl leccion 04

Post on 08-Jul-2015

1.974 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

top related