Menu
Coddy logo textTech

2進数表現

CoddyのVerilogジャーニー「基礎」セクションの一部。レッスン 13/90。

Verilogでは、0と1だけを理解するデジタル回路を扱います。これらはbinaryで表されます。

Binary は 2 つの数字だけを使用します:0 と 1。Binary の各桁は bit と呼ばれます。

10進数Binaryビット
001 bit
111 bit
2102 bits
3112 bits
41003 bits
51013 bits

VerilogでBinaryを書く

Verilogでbinary数を書くには、接頭辞 'b を使用します:

4'b1010    // 4-bit binary 1010 (decimal 10)
8'b11110000 // 8ビットバイナリ 11110000 (10進数 240)
2'b01      // 2-bit binary 01 (decimal 1)

'b の前の数値は、その値が何ビットかを Verilog に伝えます。

10進数を2進数に変換する方法

10進数を2で繰り返し割り、余りを下から上へ読み取ります。

例:9をbinaryに変換

手順割り算商余り
19 ÷ 241
24 ÷ 220
32 ÷ 210
41 ÷ 201

余りを最後から最初へ読み取ります: 1001

9 = 4'b1001

コードでの例

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

出力:

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

チャレンジ

不足している binary 値を書いてコードを完成させてください。

行うこと:

  1. decimal 5(4 bits)の binary を Write
  2. decimal 14(4 bits)の binary を Write

自分で試してみよう

module binary_challenge;
  reg [3:0] a, b;
  
  initial begin
    // 10進数の5の2進数を書く(4ビット)
    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 icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

基礎のすべてのレッスン

自分で練習してみよう: Verilogオンラインコンパイラ