ハードウェア記述言語と検証

3つの状態を持つ状態機械で、状態を覚えるのに必要なフリップフロップの数の組み合わせとして正しいものはどれか(バイナリ符号化/ワンホット符号化)。

  1. A3個/2個
  2. B2個/3個
  3. C1個/3個
答えと解説を見る

正解:B. 2個/3個

バイナリ符号化では、状態を2進数の番号で表すので、3つの状態には00、01、10の2ビット(フリップフロップ2個)で足ります。ワンホット符号化では、状態ごとに1つのフリップフロップを使うので3個です。バイナリでは使わない11の符号が残るので、雑音などでそこに入ったときに正しい状態に戻れるよう、defaultで行き先を決めておくと安全です。

  • A. 逆です。
  • B. 正しい。2ビットで4通りまで表せます。
  • C. 1ビットでは2つの状態しか表せません。
この分野を解く 分野ページへ

ハードウェア記述言語と検証のほかの問題

  1. 上の4ビットのカウンタで、countが15のときにクロックが立ち上がると、countはいくつになるか。
  2. Verilogで8ビットの信号aとbを足し、その結果を8ビットの信号sに代入した(assign s = a + b;)。注意すべき点として正しいものはどれか。
  3. aを符号付きの-1のつもりで上のように書いたところ、gtが1になった。理由として正しいものはどれか。
  4. Verilogのシミュレーションで使われる4値論理の値の組み合わせとして正しいものはどれか。
  5. シミュレーションで、リセットのないレジスタの値が最初Xになっていた。実際のチップではどうなると考えられるか。