Komentarze
Część sekcji Podstawy ścieżki Verilog w Coddy. Lekcja 4 z 90.
Komentarze to notatki w kodzie, które komputer ignoruje. Pomagają wyjaśnić, co robi Twój kod.
Dwa rodzaje komentarzy:
1. Komentarz jednowierszowy
// To jest komentarz jednowierszowy
assign c = a & b; // Komentarze mogą też występować po kodzieKomputer ignoruje wszystko, co znajduje się po //.
2. Komentarz wielowierszowy
/* To jest komentarz wielowierszowy
Może obejmować kilka wierszy
Przydatny do dłuższych wyjaśnień */
assign c = a & b;Wszystko pomiędzy /* a */ jest ignorowane.
Dlaczego warto używać komentarzy?
- Wyjaśnij, co robi twój moduł
- Opisz, do czego służy każde wejście i wyjście
- Ułatw zrozumienie kodu
- Zostaw notatki dla siebie lub innych
Wyzwanie
W tym wyzwaniu musisz dodać komentarze do istniejącego modułu.
Co zrobić:
Dodaj komentarz jednoliniowy na początku, wyjaśniający, co robi moduł
// This is a module called 'test'Dodaj komentarz wieloliniowy na końcu kodu, wyjaśniający, co robi licznik
/** It has a clock input, a reset input,* and a 4-bit output called count.* The initial block prints a message* to show that comments are ignored.*/
Spróbuj swoich sił
module test(
input clk,
input reset,
output reg [3:0] count
);
initial $display("Comments are ignored by the computer");
endmoduleTa lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Podstawy
1Wprowadzenie
Czym jest VerilogSprzęt a oprogramowanieTwój pierwszy modułKomentarzePoziomy abstrakcji projektu4Operatory, część 1
Operatory arytmetyczneOperator moduloOperatory porównaniaPowtórka — prosta matematykaOperatory bitowe7Przypisania i bramki
Przypisanie ciągłePrzypisanie z operatoramiWbudowane prymitywy bramekBramki AND, OR i NOTBramki XOR i XNORPodsumowanie — układ z bramek logicznych10Podejmowanie decyzji
Instrukcja ifIf-elsePowtórka – prosty komparatorInstrukcja caseCaseX i CaseZPowtórka – projektowanie ALU13Odmierzanie czasu i opóźnienia
Czym są opóźnieniaOpóźnienia bramekOpóźnienia przypisańDyrektywa timescaleGenerowanie zegaraPodsumowanie — kontrola czasu2Typy danych
Typ WireTyp RegLiczby całkowite i rzeczywisteWektoryTabliceParametryPowtórka — deklarowanie sygnałów5Operatory — część 2
Operatory logiczneOperatory redukcjiOperatory przesunięciaOperator konkatenacjiOperator warunkowyPowtórzenie — wyzwanie z operatorami11Pętle
Pętla forPętla whilePętla repeatPętla nieskończonaInstrukcja wyłączaniaPowtórka — wzorce pętli3System liczbowy
Reprezentacja binarnaLiczby o określonej szerokościLiczby o nieokreślonej szerokościLiczby ujemneWartości specjalne X i ZPodsumowanie — formaty liczb6Moduły
Struktura modułuPorty wejściowe i wyjściowePorty dwukierunkoweInstancjonowanie modułuMapowanie portów według nazwMapowanie portów według kolejnościPodsumowanie — zbuduj moduł9Bloki proceduralne
Blok alwaysBlok initialLista czułościPrzypisanie blokującePrzypisanie nieblokującePodsumowanie — always a initial12Projekt multipleksera
Projekt multipleksera 2 do 1Projekt multipleksera 4 do 115Sterownik sygnalizacji świetlnej
Definiowanie stanówLogika maszyny stanówPoćwicz samodzielnie: Kompilator Verilog online