Práctica 2 · Unidad Lógica-Aritmética de 4 bits: diseño

viernes 11 de septiembre · 16:0017:40 · en 20 días

Guía del maestro.docx

GUÍA 11-09-26 Laboratorio de Arquitecturas Computacionales

LA116 · viernes 11/09/2026 · 16:00-17:40 · Sesión 5

Práctica 2 · Unidad Lógica-Aritmética de 4 bits: diseño


OBJETIVO DE LA PRÁCTICA

Descripción en Verilog e implementación en FPGA de una Unidad Lógica-Aritmética de 4 bits básica.

OPERACIONES A IMPLEMENTAR

  • Suma y resta en complemento a dos.
  • AND, OR, XOR y NOT bit a bit.
  • Desplazamiento a la izquierda y a la derecha.
  • Comparación, que se implementa como resta y lectura de banderas.

ESTRUCTURA

La ALU se construye calculando todas las operaciones en paralelo y seleccionando la salida con un multiplexor gobernado por el código de operación. En hardware calcular de más es barato; decidir antes de calcular cuesta latencia.

EL SUMADOR-RESTADOR ÚNICO

A − B = A + ~B + 1. Se invierte B con XOR contra la señal de resta y se usa esa misma señal como acarreo de entrada. Un solo sumador hace ambas operaciones.

  • assign {cout, sum} = a + (b ^ {4{sub}}) + sub;

LAS BANDERAS

  • Z — resultado cero: assign z = (result == 0);
  • N — negativo: el bit más significativo del resultado.
  • C — acarreo de salida, válido para aritmética sin signo.
  • V — desbordamiento con signo: XOR entre el acarreo de entrada y el de salida del bit más significativo.

EL ERROR CLÁSICO DE LAS BANDERAS

Usar el acarreo para detectar desbordamiento con signo. No funciona: son condiciones distintas. Con 4 bits, 7 + 1 da −8, hay desbordamiento con signo y no hay acarreo. Conviene tabular los ocho casos y verificarlos.

VERIFICACIÓN

Con 4 bits hay 256 pares de operandos por operación: la prueba puede ser exhaustiva. Generar los valores esperados en Python y compararlos automáticamente en el testbench.

PARA LA PRÓXIMA SESIÓN

Implementación en FPGA y entrega.

Mis notas0 palabras
.docx
Tareas propias de esta sesión

Nada anotado en esta sesión todavía.