Repaso: control de la temporización
Parte de la sección Fundamentos del Journey de Verilog de Coddy. Lección 72 de 90.
Desafío
Este desafío pone a prueba tu comprensión de los retardos, los retardos de compuerta, los retardos de asignación, la escala de tiempo y la generación de reloj.
Qué hacer:
- Añade una directiva
timescalecon1ns / 1ps - Genera un reloj que cambie de estado cada 5 unidades de tiempo
- Añade una compuerta AND con un retardo de compuerta de 3 unidades de tiempo
- Usa un retardo de asignación para asignar
aabdespués de 2 unidades de tiempo (leeainmediatamente)
Pruébalo tú mismo
// TODO: Añade la directiva timescale (1ns / 1ps)
module timing_challenge;
reg clk;
reg a, b;
wire out;
initial begin
clk = 0;
end
// TODO: Genera un reloj que conmute cada 5 unidades de tiempo
// TODO: Añade una puerta AND con retardo de 3 unidades de tiempo (entradas a, b, salida out)
initial begin
$monitor("Time %0t: clk=%b, a=%b, b=%b, out=%b", $time, clk, a, b, out);
a = 1;
// TODO: Usa retardo de asignación para asignar a a b después de 2 unidades de tiempo
// Lee a ahora, asigna a b después de 2 unidades de tiempo
#20;
$finish;
end
endmoduleTodas las lecciones de Fundamentos
1Introducción
Qué es VerilogHardware frente a softwareTu primer móduloComentariosNiveles de abstracción del diseño4Operadores, parte 1
Operadores aritméticosOperador móduloOperadores de comparaciónRepaso: matemáticas simplesOperadores bit a bit7Asignaciones y compuertas
Asignación continuaAsignación con operadoresPrimitivas de compuertas integradasCompuertas AND, OR y NOTCompuertas XOR y XNORRepaso: circuito de compuertas lógicas10Toma de decisiones
Sentencia IfIf - ElseRepaso - Comparador simpleSentencia CaseCasex y CasezRepaso - Diseño de ALU13Temporización y retrasos
Qué son los retrasosRetrasos de puertaRetrasos de asignaciónDirectiva de escala temporalGeneración de relojRepaso: control de la temporización5Operadores, parte 2
Operadores lógicosOperadores de reducciónOperadores de desplazamientoOperador de concatenaciónOperador condicionalRepaso: desafío de operadores11Bucles
Bucle ForBucle WhileBucle de repeticiónBucle infinitoInstrucción DisableRepaso: patrones de bucles3Sistema numérico
Representación binariaNúmeros con tamañoNúmeros sin tamañoNúmeros negativosValores especiales X y ZRepaso: formatos numéricos6Módulos
Estructura de módulosPuertos de entrada y salidaPuertos inoutInstanciación de módulosAsignación de puertos por nombreAsignación de puertos por ordenRepaso: construir un móduloPractica por tu cuenta: Compilador de Verilog online