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

テストベンチの上の記述で作られるクロックの周期はいくらか(時間の単位は1 nsとする)。

initial clk = 0;
always #5 clk = ~clk;
  1. A5 ns
  2. B20 ns
  3. C10 ns
答えと解説を見る

正解:C. 10 ns

「always #5 clk = ~clk;」は、5単位の時間ごとにclkを反転させ続けます。0から1、1から0と2回反転して1周期になるので、周期は10 ns、周波数は100 MHzです。テストベンチではこのようにしてクロックを作ります。実際の回路のクロックは発振器やPLLで作られるので、この記述は回路にはなりません。

  • A. 5 nsは半周期です。
  • B. 反転の間隔を4回分数えています。
  • C. 正しい。5 nsごとに反転するので、1周期は10 nsです。
この分野を解く 分野ページへ

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

  1. テストベンチで、回路への入力をクロックの立ち上がりと同じ時刻にブロッキング代入で変えると、問題が起きることがある。主な理由と対策の組み合わせとして正しいものはどれか。
  2. 自己チェック型のテストベンチの特徴として正しいものはどれか。
  3. 検証で、C言語などで書いた参照モデル(ゴールデンモデル)を使う目的として正しいものはどれか。
  4. シミュレーションの結果をVCDなどの形式のファイルに書き出す主な目的はどれか。
  5. ランダムな入力を使うテストで、乱数のシード(種)を記録しておく理由として正しいものはどれか。