Sie sind auf Seite 1von 24

MAESTRO: MARROQUIN PIMENTEL JUAN GABRIEL.

MATERIA: DISEO CON VHDL.


CARRERA: ING. ELECTONICA.

TEMA: OPERADORES Y EXPRESIONES EN VHDL.

INTEGRANTES DEL EQUIPO:


ARROYO VAZQUEZ FERNANDO.
OROZCO GUTIERREZ MARIO A.
GONZALEZ HERNANDEZ EVELYN.
NAVA DE LA FUENTE JESUS.
ALVARADO SANCHEZ JESUS RAMSES.

Operadores y Expresiones
Las expresiones en VHDL son prcticamente iguales a
otros lenguajes de programacin.
Se expondrn brevemente los existentes y para que
sirven.

Operador de concatenacin &


Concatenar en programacin significa unir dos o ms
cadenas, es decir en lenguaje coloquial significa unir
dos o ms palabras(cadenas de letras).
La dimensin de la matriz resultante es la suma de las
dimensiones de las matrices.

Ejemplo:
Punto <= x&y

Va a construir la matriz punto y va a tener dentro de


la matriz a x en las primeras posiciones, y a y en las
ultimas.

OPERADORES
ARITMETICOS

** (EXPONENCIAL). Sirve para elevar un numero a una


potencia por ejemplo: 4**2 = 42 el operador de la
izquierda puede ser entero o real pero el de la derecha
solo puede ser entero.

ABS () (VALOR ABSOLUTO). Funcion que devuelve el


valor absoluto a su argumento que puede ser de
cualquier tipo numerico.
*(MULTIPLICACION). Sirve para multiplicar 2 numeros de
cualquier tipo numerico.

/ (DIVISION). Funciona con cualquier tipo de dato


numrico.
MOD (MODULO): calcula el modulo de dos nmeros y
cumple con la operacin a=b*N + (a MOD b) donde N
es entero. Los operandos solo pueden se enteros y el
resultado toma el signo de b. ejemplo: (6 MOD 2) = 3

REM (RESTO). Calcula el resto de la divisin entera y


cumple con a= (a/b)*b +(a REM b) siendo divisin
entera. Los operandos solo pueden ser enteros y el
resultado toma el signo de a. ejemplo : (5 REM 2) = 1
+ (SUMA Y SIGNO POSITIVO). Sirve para indicar suma, si
va entre dos operandos ejemplo : 5+4 o signo si va al
principio de la expresin (+5). Opera sobre cualquier
valor numrico.

- (RESTA Y SIGNO NEGATIVO). Cuando se encuentra


entre 2 operandos realiza la operacin de sustraccin
(5-2) y si va delante de una expresin le cambia el signo
(-8), los operandos pueden ser numricos de cualquier
tipo.

Operadores de desplazamiento
Desplazamiento lgico a derecha y a izquierda.
Desplazamiento aritmtico a derecha y a izquierda.
Rotacin a derecha y a izquierda.

Desplazamiento lgico a derecha y a


izquierda.
SLL (Shift Left Logic) y SRL (Shift Right Logic),
desplazamiento lgico a la izquierda y desplazamiento
lgico a la derecha, respectivamente.
Desplaza un vector un numero de bits a la derecha o
izquierda, rellenando los espacios con ceros.

Desplazamiento lgico a izquierda.


Tenemos un vector Num de 6 bits:
0

Para desplazar 2 espacios


a la izquierda el vector Num se
0
escribe de la siguiente manera:
Num sll 2
El vector resultante queda:
0

Desplazamiento lgico a derecha.


Tenemos un vector Num de 6 bits:
1

Para desplazar 4 espacios a la derecha el vector Num se


escribe de la siguiente manera:
Num srl 4
El vector resultante queda:
0

Desplazamiento aritmtico a derecha


y a izquierda.
SLA (Shift Left Arithmetic) y SRA (Shift Right Arithmetic),
desplazamiento aritmtico a la izquierda y derecha
respectivamente.
Similar al desplazamiento lgico, pero con la diferencia
de que los espacios no los rellena con ceros, si no con el
ultimo valor en desplazarse.

Desplazamiento aritmtico a izquierda.


Tenemos un vector Num de 6 bits:
0

Para desplazar 2 espacios a la izquierda el vector Num se


escribe de la siguiente manera:
Num sla 2

El vector resultante queda:


0

Desplazamiento aritmtico a derecha.


Tenemos un vector Num de 6 bits:
0

Para desplazar 3 espacios a la derecha el vector Num se


escribe de la siguiente manera:

Num sra 3
El vector resultante queda:
0

Rotacin a derecha y a izquierda.


ROL (ROtate Left) y ROR (ROtate Right), rotacin a la
izquierda y a la derecha respectivamente. En este caso
los huecos son ocupados por los bits que van quedando
fuera.

Rotacin a izquierda.
Tenemos un vector Num de 6 bits:
1

Para rotar 2 espacios a la izquierda el vector Num se


escribe de la siguiente manera:
Num rol 2

El vector resultante queda:


0

Rotacin a derecha.
Tenemos un vector Num de 6 bits:
0

Para rotar 3 espacios a la derecha el vector Num se


escribe de la siguiente manera:
Num ror 3
El vector resultante queda:
0

Operadores relacionales
Devuelven siempre un valor de tipo booleano (true o
false). Los tipos con los que pueden operar dependen
de la operacin.

=, /= (igualdad, desigualdad) el primero devuelve true


si los operadores son iguales y false en caso contrario. El
segundo indica desigualdad, as que funciona justo al
revs. Los operadores pueden ser de cualquier tipo con
la condicin de que ambos sean del mismo tipo.

< , <=, >, >= (menor mayor) tienen el significado


habitual. La diferencia con los anteriores es que los tipos
de datos que pueden manejar son siempre de tipo
escalar o matrices de una sola dimensin de tipos
discretos.

Operadores lgicos.
Son la NOT, NAND, OR, NOR, XOR, en VHDL93 se aadi XNOR.
Funcionamiento habitual.
Actan en datos tipo bit, bit-vector y boolean.
Si acta en vector la operacin se realiza bit a bit.

Precedencia de operadores y
sobrecarga
La precedencia de los operadores se presenta en la
siguiente tabla

Los operadores lgicos solo operaban sobre


unos tipos de datos determinados. Existe en
VHDL la posibilidad de sobrecargar
operadores y funciones de manera que es
posible extender la aplicacin de estos
operadores para que trabajen con otros
tipos aparte de los predefinidos. As se
podran redefinir los operadores lgicos
para pudieran trabajar sobre enteros.

Das könnte Ihnen auch gefallen