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

HDLでZ(ハイインピーダンス)を出力するトライステートの記述について、一般的に正しいものはどれか。

  1. Aチップの内部の信号は、すべてトライステートで作るのが普通である
  2. Bチップの外とつながる双方向の端子などに使い、チップの内部の信号ではマルチプレクサを使うのが普通である
  3. CZは0と同じ意味なので、どこで使っても同じである
答えと解説を見る

正解:B. チップの外とつながる双方向の端子などに使い、チップの内部の信号ではマルチプレクサを使うのが普通である

トライステートは、出力を切り離して複数の回路で1本の線を共有するための仕組みで、外部のバスやメモリのデータ線のような双方向の端子で使われます。チップの内部で使うと、同時に2つが駆動して衝突する危険や、誰も駆動せずに浮いてしまう危険があり、タイミングの解析も難しくなります。そのため内部では、マルチプレクサで信号を選ぶ記述にするのが一般的です。

  • A. 内部ではマルチプレクサで選ぶのが一般的です。
  • B. 正しい。内部のトライステートはタイミングや検証を難しくします。
  • C. Zはどこからも駆動されていない状態で、0とは違います。
この分野を解く 分野ページへ

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

  1. HDLの検証で使うテストベンチの説明として正しいものはどれか。
  2. テストベンチの上の記述で作られるクロックの周期はいくらか(時間の単位は1 nsとする)。
  3. テストベンチで、回路への入力をクロックの立ち上がりと同じ時刻にブロッキング代入で変えると、問題が起きることがある。主な理由と対策の組み合わせとして正しいものはどれか。
  4. 自己チェック型のテストベンチの特徴として正しいものはどれか。
  5. 検証で、C言語などで書いた参照モデル(ゴールデンモデル)を使う目的として正しいものはどれか。