特定のシミュレーション期間中にシミュレーションデータを取得しない方法

概要

ユーザが指定した時間までシミュレーションデータを取得しないでシミュレーションを実行する方法はありますか?

対応1

スクリプトファイルで、次のような変更が可能です。

Example:
asim +access+r top
log UUT/*
run 100 ns
asdbdump -off
run 10 us
asdbdump -on
run 200 ns

上記例では asim コマンドでシミュレーションをイニシャライズし、log コマンドで UUT階層の全信号のログを取ります。ログの取得は runコマンドにより 100ns 続き、asdbdump -off コマンドにより 10us間無効になります。それから asdbdump -on コマンドにより再度 200ns間有効になります。

高速表示波形には、ログが無効になっている信号が表示されています。波形に表示されている値は、ログが無効になった時の値です。

対応 2

スクリプトで次のように実行します。

Example:
run 5 ms
log UUT/*
run 5 ms

上記例では、シミュレーションを 5 ms 実行し、log コマンドで UUT階層の全信号のログを取ります。シミュレーションを 5 ms 再実行します。5ms後にはログの取得が無効になった信号が高速表示波形上に表示されています。波形に表示されている値は、ログが無効になった時点で保存された値です。

log コマンドには次にような使い方もあります。

例 1
log -ports UUT/*

UUT デザイン階層で宣言されている全ポートをトレースします。

例 2
log -mem -rec UUT/*

UUTデザイン階層下で宣言されている、Verilog メモリを含む全信号をトレースします。

例 3
log CLK RST

現在選択している階層の CLK と RST 信号をトレースします。



Printed version of site: support.aldec.com/jp/support/resources/documentation/faq/1126