Ejercicios vhdl

Solo disponible en BuenasTareas
  • Páginas : 6 (1495 palabras )
  • Descarga(s) : 0
  • Publicado : 13 de septiembre de 2010
Leer documento completo
Vista previa del texto
De momento se resuelven los impares

Capítulo 3
1. ¿ Cuáles de los siguientes identificadores son válidos? ¿Por qué?
⇒ CORRECTO: comienza con letra, finaliza con número o letra, no contiene dos «_» seguidos ni tampoco ningún carácter no permitido Entr_sal ⇒ CORRECTO Entrada__2 ⇒ CORRECTO Modulo 1 ⇒ INCORRECTO: no se permite utilizar espacios en blanco Sal_ ⇒ INCORRECTO: no es possiblefinalizar con el carácter «_» sal@2 ⇒ INCORRECTO: no es válido el carácter «@» 1EN ⇒ INCORRECTO: no es posible que comenzar con un número _sal2 ⇒ INCORRECTO: no es possible comenzar con el carácter «_» Valor_2_3 ⇒ CORRECTO dir_4_pos_7 ⇒ CORRECTO entrada_1

Los que figuran como correctos lo son porque cumplen los requisitos sintácticos de los identificadores simples: – El primer carácter ha de sernecesariamente una letra (a÷z, A÷Z) del alfabeto inglés, mayúscula o minúscula (el lenguaje no hace distinción entre ambas, se dice que es case insensitive). – El último carácter no puede ser «_». – No pueden utilizarse dos caracteres «_» seguidos. – No se permite la utilización de espacios en blanco

3. Indicar qué tipo de literal es cada uno y su equivalencia en lenguaje convencional (donde fuerapreciso).
4.5E–7 ⇒ numérico, real (o en coma flotante): 4, 5x10-7 230_000 ⇒ numérico, entero: 230.000 2#1011# ⇒ numérico, entero representado en binario: 10112 o 1110 8#67# ⇒ numérico, entero representado en octal: 678 o 5510 7#46_52 ⇒ numérico, entero en base 7: 46527 o 170310 16#A0#E1 ⇒ numérico, entero en hexadecimal: A016x161 o 2.56010 2#1110_0110#E–5 ⇒ numérico, real en binario: 11100110.2-5o 7,187510 –5.3_16E3 ⇒ numérico, real: -5316 "B" ⇒ string: B "" ⇒ string: espacio en blanco '' ⇒ character: espacio en blanco "ESTA ES UNA ENTIDAD" ⇒ string: ESTA ES UNA ENTIDAD "ESTA ES UNA ARQUITECTURA" & "Y ESTO ES UN PAQUETE" ⇒ string: ESTA ES UNA ENTIDAD Y ESTO ES UN PAQUETE B"1110_0110" ⇒ bit string literal o literal de cadena de bits: 11100110 X"B7A" ⇒ bit string literal expresado enhexadecimal: 101101111010 ⇒ bit string literal expresado en octal: 011001010000 O"650"

5. ¿Cuáles serán los valores de A y B una vez ejecutadas las dos sentencias que siguen a las siguientes declaraciones?
-- declaraciones:

subtype valor is integer range 0 to 420; variable A: valor; variable B: valor:= 25; constant C: integer := 4;
Diseño de Sistemas Digitales con VHDL  ITES - Paraninfo

2-- sentencias:

A:= (B–4) * 4 + (B rem 4); B:= B mod 4;

La ejecución es secuencial por cuanto A y B son variables, luego en primer lugar A recibe el valor 82 y a continuación B pasa a valer 1.

7. Detectar posibles errores en las siguientes asignaciones, justificándolo, a partir de las siguientes declaraciones de objetos:
constant A: time:= 7.5 sec; variable B, C: time; variable R, S:bit(2 downto 0); variable T: bit_vector(3 downto 0); C:= A/3; C:= 3/A; C:= A + 1; ⇒ ERROR: no es posible un tipo físico únicamente en el denominador. ⇒ ERROR: no existe un operador de suma predefinido que acepte como operandos un tipo físico y un entero. Habría que definir una función que los admitiese. Las funciones se explican el capítulo 6 ⇒ ERROR: no es posible el cambio en la dirección delrango de la variable T. Dicho cambio solo se podría llevar a cabo declarando un alias. Los alias se estudian en el capítulo 6. ⇒ ERROR: el operador de concatenación sólo admite operandos de tipo array y/o elementos del mismo tipo para dar lugar a un array como resultado.

C:= B/A * C; T(0 to 2):= R;

T:= R & 1;

S:= S and not R; S:= R & S; ⇒ ERROR: el resultado de la operación tiene 6 bits,mientras que la variable que recibe la asignación solo es de 3 bits.

9. Detectar, justificándolo, posibles fallos en las siguientes declaraciones de tipos y subtipos de datos:
type estatura is range 0 to 3; subtype altos is estatura range 1.80 to 2; ⇒ ERROR: «estatura» es de tipo entero, luego no es admissible un literal real como límite de rango del subtipo «altos». ⇒ ERROR: el subtipo «altos»...
tracking img