Kmila
Todos los ejercicios
Difícil Completa el hueco 5 pruebas

Desplazamiento ALU a la izquierda — completa el hueco

Un barrel shifter está casi terminado. La entidad ya declara
la entrada de 8 bits a, la cantidad de desplazamiento de 3 bits
sh, y la salida y. El evaluador ya ha colocado el
process(a, sh) que envuelve tu código.

Tu tarea es asignar a y el valor de a desplazado a la
izquierda por sh posiciones, rellenando con ceros por la
derecha.

Especificación

  • numeric_std ya está importado.
  • Convierte a a unsigned, la cantidad con
    to_integer(unsigned(sh)), y usa shift_left(...).
  • Convierte el resultado con std_logic_vector(...).
  • Los bits que pasan del MSB se descartan; los LSB quedan a 0.

Pista

Una sola línea basta:

y <= std_logic_vector(shift_left(unsigned(a), to_integer(unsigned(sh))));

Dónde escribir

Sólo las líneas entre -- BEGIN_EDIT y -- END_EDIT se evalúan.

Caso de prueba visible

Desplaza 0x01 con sh = 0..7 — observa el 1 caminando

Puerto Tiempo Valor
a 0 ns 00000001
sh 0 ns 000
sh 200 ns 001
sh 400 ns 010
sh 600 ns 011
sh 800 ns 100
sh 1000 ns 101
sh 1200 ns 110
sh 1400 ns 111

4 casos de prueba ocultos — resuélvelos para revelarlos.

Ocurrió un error no controlado. Recargar 🗙