Menu
Coddy logo textTech

Reprezentacja binarna

Część sekcji Podstawy ścieżki Verilog w Coddy. Lekcja 13 z 90.

W Verilogu pracujemy z układami cyfrowymi, które rozumieją tylko 0 i 1. Są one zapisywane w systemie binarnym.

System binarny używa tylko dwóch cyfr: 0 i 1. Każda cyfra binarna nazywa się bitem.

DziesiętnyBinarnyBity
001 bit
111 bit
2102 bity
3112 bity
41003 bity
51013 bity

Zapisywanie liczb binarnych w Verilogu

Aby zapisywać liczby binarne w Verilogu, użyj prefiksu 'b:

4'b1010    // 4-bit binary 1010 (decimal 10)
8'b11110000 // 8-bitowa liczba binarna 11110000 (dziesiętnie 240)
2'b01      // 2-bit binary 01 (decimal 1)

Liczba przed 'b informuje Verilog, ile bitów ma wartość.

Jak zamienić liczbę dziesiętną na binarną

Wielokrotnie dziel liczbę dziesiętną przez 2 i odczytuj reszty od dołu do góry.

Przykład: Zamiana 9 na system binarny

KrokDzielenieIlorazReszta
19 ÷ 241
24 ÷ 220
32 ÷ 210
41 ÷ 201

Odczytuj reszty od ostatniej do pierwszej: 1001

9 = 4'b1001

Przykład w kodzie

module binary_example;
  reg [3:0] a;
  
  initial begin
    a = 4'b1010;     // Binary 1010 = decimal 10
    $display("a = %b (binary)", a);
    $display("a = %d (decimal)", a);
    $display("a = %h (hex)", a);
    $finish;
  end
endmodule

Wynik:

a = 1010 (binary)
a = 10 (decimal)
a = a (hex)
challenge icon

Wyzwanie

Uzupełnij kod, wpisując brakujące wartości binarne.

Co należy zrobić:

  1. Zapisz liczbę dziesiętną 5 w systemie binarnym (4 bity)
  2. Zapisz liczbę dziesiętną 14 w systemie binarnym (4 bity)

Spróbuj swoich sił

module binary_challenge;
  reg [3:0] a, b;
  
  initial begin
    // Zapisz liczbę dziesiętną 5 w postaci binarnej (4 bity)
    a = 4'b______;
    
    // Write binary for decimal 14 (4 bits)
    b = 4'b______;
    
    $display("5 = %b", a);
    $display("14 = %b", b);
    $finish;
  end
endmodule
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Podstawy

Poćwicz samodzielnie: Kompilator Verilog online