IT系メモ

興味のあったことや、勉強したことなどをメモしていきます。

Verilog覚書

Verilogの取る論理値

大学などの論理回路ではデジタル信号は0/1の2値で表現されるのですが、Verilogでは4種類あります。

  1. 0 … 論理ゼロ
  2. 1 … 論理イチ
  3. Z … ハイインピーダンス
  4. X … 不定値

まずここでハイインピーダンスと不定値とは何かがわかりません。
C言語などのプログラミング言語をやっている人にとってもわからないところだと思います。
これは実際の回路のデバッグをしやすさを考慮したためと言われています。

ハイインピーダンスの説明はくみこみックスが参考になるかと思います。VddともGNDとも切り離された状態です。

不定値は0/1どちらの値か決まっていない状態のことです。何が入っているかわからない状態は危険だということを知っていれば良いと思います。

数値表現

2進数、8進数、10進数、16進数の4種類あります。何ビットの信号かも表します。
「'b」が2進数、「'sb」が2進数で符号付き、「'h」が16進数、「'sh」が符号付き16進数。8進数は「'o」、10進数は「'd」となります。

  1. 1'b1  … 2進数で1ビット
  2. 4'b1111 … 2進数で4ビット
  3. 123 … 10進数