Práctica 3 · ALU para procesador RISC-V de 32 bits

viernes 25 de septiembre · 16:0017:40 · en 34 días

Guía del maestro.docx

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

LA116 · viernes 25/09/2026 · 16:00-17:40 · Sesión 7

Práctica 3 · ALU para procesador RISC-V de 32 bits


OBJETIVO DE LA PRÁCTICA

Descripción en Verilog y simulación de una Unidad Lógica-Aritmética para un procesador RISC-V de 32 bits.

EL REPERTORIO BASE RV32I

  • 32 registros de 32 bits, con x0 cableado a cero.
  • Instrucciones de 32 bits de longitud fija.
  • Arquitectura de carga y almacenamiento.
  • Formatos R, I, S, B, U y J.

OPERACIONES QUE DEBE SOPORTAR LA ALU

  • ADD y SUB.
  • AND, OR, XOR.
  • SLL, SRL y SRA — desplazamientos lógico izquierdo, lógico derecho y aritmético derecho.
  • SLT y SLTU — comparación con signo y sin signo.

LA DIFERENCIA ENTRE SRL Y SRA

SRL rellena con ceros; SRA replica el bit de signo. En Verilog el operador >> es lógico y >>> es aritmético, pero >>> solo funciona si el operando está declarado signed. Es una trampa habitual: si el dato es un reg sin signo, >>> se comporta como >>.

SLT Y SLTU

SLT compara con signo y SLTU sin signo. Con los mismos bits el resultado difiere: 0xFFFFFFFF es −1 con signo y 4 294 967 295 sin signo. Hay que declarar explícitamente $signed() donde corresponda.

EL DESPLAZADOR DE BARRIL

Desplazar hasta 31 posiciones en un ciclo requiere cinco capas de multiplexores, una por bit del conteo. En Verilog basta escribir el operador y la herramienta lo infiere, pero conviene entender qué hardware se está pidiendo: no es gratis.

CODIFICACIÓN DEL CONTROL DE LA ALU

Definir un código de operación de cuatro bits y documentar la tabla. Ese código lo generará la unidad de control en la Práctica 5, así que conviene fijarlo ahora y no cambiarlo después.

PARA LA PRÓXIMA SESIÓN

Simulación exhaustiva y entrega.

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

Nada anotado en esta sesión todavía.