Práctica 1 · Bloques secuenciales y entrega
viernes 4 de septiembre · 16:00–17:40 · en 13 días
GUÍA 04-09-26 Laboratorio de Arquitecturas Computacionales
LA116 · viernes 04/09/2026 · 16:00-17:40 · Sesión 4
Práctica 1 · Bloques secuenciales y entrega
OBJETIVO
Completar la Práctica 1 con flip-flops, registros y contadores, e implementar en FPGA.
BLOQUES A CONSTRUIR
- Flip-flop D con reset síncrono y con reset asíncrono.
- Registro de N bits con habilitación de escritura.
- Registro de desplazamiento con carga paralela.
- Contador ascendente y descendente.
LOS PATRONES
- Reset síncrono: always @(posedge clk) begin if (rst) q <= 0; else q <= d; end
- Reset asíncrono: always @(posedge clk or posedge rst) begin if (rst) q <= 0; else q <= d; end
En el asíncrono el reset debe aparecer en la lista de sensibilidad; en el síncrono, no. Ponerlo donde no va cambia el circuito sintetizado.
REBOTE DE INTERRUPTORES
Un botón mecánico rebota durante milisegundos. Conectado directo a un contador, este cuenta varias veces por pulsación. Hay que filtrarlo con un contador de estabilidad o un registro de desplazamiento.
SINCRONIZADOR DE DOS ETAPAS
Toda señal externa asíncrona pasa por dos flip-flops antes de usarse. Reduce la probabilidad de metaestabilidad y es regla obligatoria en diseño con FPGA, sin excepciones.
EL BANCO DE REGISTROS
Vale la pena empezarlo hoy, porque se necesita en la Práctica 3: 32 registros de 32 bits, dos puertos de lectura combinacionales y uno de escritura síncrono. El registro x0 debe leer siempre cero, sin importar lo que se le escriba.
VERIFICACIÓN
- Simular el contador hasta el desbordamiento.
- Verificar el reset en cualquier instante.
- Comprobar que el filtro de rebotes elimine las transiciones espurias.
ENTREGA DE LA PRÁCTICA 1
Reporte completo según rúbrica y demostración funcionando. La entrega admite un retraso máximo de una semana, con penalización de un décimo de punto por día.
Nada anotado en esta sesión todavía.