Cos'è Verilog
Fa parte della sezione Fondamenti del percorso Verilog di Coddy. Lezione 1 di 90.
Verilog è un linguaggio di descrizione hardware (HDL) utilizzato per modellare, progettare e simulare circuiti elettronici digitali, dalle semplici porte logiche ai processori complessi.
A differenza dei linguaggi software che vengono eseguiti in sequenza su una CPU, Verilog descrive hardware che opera in parallelo. È lo standard del settore per la progettazione di FPGA e ASIC, utilizzato in strumenti come ModelSim, Vivado e Quartus.
In questo corso imparerai Verilog dalle basi, partendo dall'output di simulazione di base, per poi realizzare circuiti combinatori e sequenziali e infine progettare moduli reali come contatori, registri a scorrimento e interfacce UART.
Sfida
FacileBenvenuto nel tuo primo programma Verilog! Il codice è già scritto per te.
Cosa fare:
- Osserva il codice. Usa
$displayper stampare testo, comeprintfin C - Fai clic su Esegui codice per compilarlo e simularlo
- Dovresti vedere
Hello World!nell'output
Nota: Ogni programma Verilog viene eseguito all'interno di un module. Il blocco initial viene eseguito una volta all'inizio della simulazione e $finish la termina.
Provalo tu
module main;
initial begin
$display("Hello World!");
$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 ALU5Operatori 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