シミュレーション


Verilogシミュレータによりシミュレーションを行いますが、今回は直接 verilog コマンドを入力することで実行します。
verilog counter_topt.stim counter_topt.v
波形の表示方法は論理シミュレーションの場合と同様ですが、波形表示プログ ラム(cwaves)を直接起動します。
cwaves
cwaves を起動後は、以下のようにシミュレーション結果を保存しているファ イルを指定する必要があります。
すると以下のような画面が現れます。

cwaves.gif (10.3KB)

"File -> Load Data ..." をメニューから選択し "Load Data" ウィンドウを 表示します。これはそのまま "OK" を押します。これでウィンドウは以下のよ うに変化します。

cwave_start.gif (9KB)


これ以降は機能シミュレーションのときと同様にして、波形を表示させてみて ください。以下のように、見ためは同じ結果が得られるはずです。上が実配線 遅延シミュレーションの結果、下が配線遅延を含まない場合の結果です。

しかしながら、良く見てみましょう。上の波形において、カーソルのある位置 では"QO[3:0]"の出力が"3"になっています。この部分を拡大してみると、以下 のようになっています。

このように、324.9nsから325.2nsの時間にかけて"QO[3:0]"の値が"3"になって いることがわかります。また、クロックの立ち上がりが300.0nsであることか ら、クロックが立ち上がってから"QO[3:0]"の出力が確定するまでに25.2nsは かかることになります。

下の波形ではどうでしょうか?

このように、出力が一次的に"3"のようになることは内容です。しかも、クロッ クが立ち上がってから、出力が確定するまでの時間は4nsしかありません。こ の4nsというのは実はフリップフロップと出力バッファの遅延時間なのです。 使用している部品ライブラリには予め遅延が定義されているので、部品のみの ディレイを含んだシミュレーションは可能です。しかしながら、配置・配線を 行うと、実に21.2nsが配線による遅れとなるわけです。この遅れにより、カウ ンタの最大動作周波数が決定されてしまいます。


以上で、実配線遅延シミュレーションは終了です。最後に実際のFPGA上で 動作確認をしましょう。


| Back | CAD Home |

My mail address is kuga@cs.kumamoto-u.ac.jp .
Last modified on .