Riepilogo - Controllo dei tempi
Fa parte della sezione Fondamenti del percorso Verilog di Coddy. Lezione 72 di 90.
Sfida
Questa sfida verifica la tua comprensione dei ritardi, dei ritardi dei gate, dei ritardi di assegnazione, della timescale e della generazione del clock.
Cosa fare:
- Aggiungi una direttiva
timescalecon1ns / 1ps - Genera un clock che cambia stato ogni 5 unità di tempo
- Aggiungi una porta AND con un ritardo di propagazione di 3 unità di tempo
- Usa un ritardo di assegnazione per assegnare
aabdopo 2 unità di tempo (leggi immediatamentea)
Provalo tu
// TODO: Aggiungi la direttiva timescale (1ns / 1ps)
module timing_challenge;
reg clk;
reg a, b;
wire out;
initial begin
clk = 0;
end
// TODO: Genera un clock che cambi stato ogni 5 unità di tempo
// TODO: Aggiungi una porta AND con un ritardo di 3 unità di tempo (ingressi a, b, uscita out)
initial begin
$monitor("Time %0t: clk=%b, a=%b, b=%b, out=%b", $time, clk, a, b, out);
a = 1;
// TODO: Usa un ritardo nell'assegnazione per assegnare a a b dopo 2 unità di tempo
// Leggi a ora e assegnalo a b dopo 2 unità di tempo
#20;
$finish;
end
endmoduleTutte le lezioni di Fondamenti
1Introduzione
Cos'è VerilogHardware e software a confrontoIl tuo primo moduloCommentiLivelli di astrazione della progettazione4Operatori - Parte 1
Operatori aritmeticiOperatore moduloOperatori di confrontoRiepilogo - Matematica sempliceOperatori bitwise7Assegnazioni e porte
Assegnazione continuaAssegnazioni con operatoriPrimitive di porte integratePorte AND, OR e NOTPorte XOR e XNORRiepilogo: circuito con porte logiche10Decisioni
Istruzione ifIf-ElseRiepilogo - Comparatore sempliceIstruzione caseCasex e casezRiepilogo - Progettazione di una ALU13Tempi e ritardi
Cosa sono i ritardiRitardi nei gateRitardi nelle assegnazioniDirettiva timescaleGenerazione del clockRiepilogo - Controllo dei tempi5Operatori Parte 2
Operatori logiciOperatori di riduzioneOperatori di scorrimentoOperatore di concatenazioneOperatore condizionaleRiepilogo - Sfida sugli operatori3Sistema numerico
Rappresentazione binariaNumeri con dimensione specificataNumeri senza dimensione specificataNumeri negativiValori speciali X e ZRiepilogo - Formati numerici6Moduli
Struttura di un moduloPorte di input e outputPorte InoutIstanziazione di un moduloMappatura delle porte per nomeMappatura delle porte per ordineRiepilogo - Costruire un modulo9Blocchi procedurali
Blocco alwaysBlocco initialLista di sensibilitàAssegnazione bloccanteAssegnazione non bloccanteRiepilogo: always vs initial12Progetto Multiplexer
Progettazione di un mux da 2 a 1Progettazione di un mux da 4 a 1Esercitati da solo: Compilatore Verilog online