Oto przykładowa implementacja układu porównującego zawartość dwóch rejestrów w języku Verilog:
module comparator(reg1, reg2, equal);
input [7:0] reg1, reg2; // dwa wejścia 8-bitowe
output equal; // wyjście reprezentujące wynik porównania
// porównaj wartości rejestrów
assign equal = (reg1 == reg2) ? 1 : 0;
endmodule
W tym przykładzie układ porównuje zawartość dwóch 8-bitowych rejestrów reg1 i reg2 i zwraca wartość 1 na wyjściu equal, jeśli ich zawartość jest taka sama. W przeciwnym razie wyjście equal przyjmuje wartość 0. Zastosowanie ternarnego operatora warunkowego (?:) pozwala na krótsze zapisanie operacji porównania i ustawienia wyjścia.
Oczywiście ta implementacja jest bardzo ogólna i wymagałaby uzupełnienia o dodatkowe funkcje i sygnały, aby zapewnić poprawną obsługę sytuacji wyjątkowych, takich jak błędy w rejestrach lub ich nieprawidłowe wartości.
Oto przykładowa implementacja układu porównującego zawartość dwóch rejestrów w języku Verilog:
module comparator(reg1, reg2, equal);
input [7:0] reg1, reg2; // dwa wejścia 8-bitowe
output equal; // wyjście reprezentujące wynik porównania
// porównaj wartości rejestrów
assign equal = (reg1 == reg2) ? 1 : 0;
endmodule
W tym przykładzie układ porównuje zawartość dwóch 8-bitowych rejestrów reg1 i reg2 i zwraca wartość 1 na wyjściu equal, jeśli ich zawartość jest taka sama. W przeciwnym razie wyjście equal przyjmuje wartość 0. Zastosowanie ternarnego operatora warunkowego (?:) pozwala na krótsze zapisanie operacji porównania i ustawienia wyjścia.
Oczywiście ta implementacja jest bardzo ogólna i wymagałaby uzupełnienia o dodatkowe funkcje i sygnały, aby zapewnić poprawną obsługę sytuacji wyjątkowych, takich jak błędy w rejestrach lub ich nieprawidłowe wartości.