Linux vcs は、コンパイルされた Verilog シミュレーターであり、波形のシミュレーションと表示に使用されるツールです。これは、Windows 上の modelsim や Questasim などのツールや、quartus および vivado シミュレーション操作に似ています。
#このチュートリアルの動作環境: linux5.9.8 システム、Dell G3 コンピューター。
Linux vcs とは何ですか?
VCS ツールの基本的な使用方法
VCS は次のとおりです。 Linux で波形をシミュレーションおよび表示するために使用されるツールは、Windows での modelsim や Questasim などのツールや、quartus および vivado シミュレーション操作と似ています。
1.vcs の基本手順
vcs の一般的な命令サフィックス
コマンド |
意味 |
-l readme.log |
は、生成された情報を編集するために使用されます。これをログ ファイルに配置します。 |
# v2k
| # は、VCS を 2001 年以前の Verilog と互換性を持たせるための標準です。 |
-debug_all #デバッグの生成に必要なファイル |
|
-f verilog_file.f
.f ファイルのすべてのソース コードをコンパイルできます。
|
| -R
コンパイル直後に実行します。つまり、コンパイル直後に実行します。が完了しました./simv
|
| -Mupdate
ソース ファイルが変更されると、変更された ** のみが表示されます。 v* ファイルが再コンパイルされます * ので、コンパイル時間が節約されます。
|
| -sverilog
Systemverilog のサポートを有効にし、 | Systemverilog ファイルのコンパイル時に使用します。 。
| -timescale=1ns/1ns
シミュレーション精度の設定
|
| -o simv_file
コンパイルによって生成される実行可能ファイルは、デフォルトでは simv ですが、 | -o を使用して実行可能ファイル名を変更できます。ここで変更すると、シミュレーション実行時に simv ではなく、対応する o 名が使用されます。
| #simv の一般的なコマンド
コマンド
意味
|
|
./simv -l run.log
実行ログ ファイルを保存します
|
./simv -gui |
グラフィカル インターフェイスで開く
|
2. vcs の使用例
full adder の公式チュートリアルを使用し、まずはスクリプトを使用しない実行手順を紹介します。
(1) まず vcs
を実行して、対応する full_adder
ファイルを追加します。
vcs -sverilog -debug_all -timescale=1ns/1ps full_adder.v full_adder_tb.v -l com.log
ログイン後にコピー
ここに full_adder.v を最初に書き込みます。 tb ファイルはそれを呼び出す必要があるため、最初に呼び出されるファイルを記述します。このステートメントにより simv ファイルが生成されます (-o simv_file が使用されている場合は、対応するファイル名が生成されます)。
(2)
./simv ファイルを使用して波形インターフェイスを実行することも、次のコマンドを使用してバックグラウンドでインターフェイスを開くこともできます。
dve &或者
./simv -l run.log -gui
ログイン後にコピー
(3) ./simv で実行すると、wave ファイルが直接表示されます。
dve & を使用する場合は、
simv ファイルを自分で作成します。波形を表示するには、
simulator->Setup を選択し、生成された simv ファイルを追加します。以下の
すべて実行。タイムスケールが指定されていない場合、ここでエラーが報告されます。エラーがない場合は、関数が完全に正しいことを意味します。右クリックして波形ファイルを追加し、f を押して波形を表示します。 (4) 次の 4 つのキーの機能
1 つ目: 信号を駆動する人を追跡する
ctrl d 2 つ目: 信号の値の変化を追跡する
ctrlShift d 3 つ目: 不明な状態の追跡
4 つ目: 運転に慣れている人の追跡
##3. の書き方makefile vcs のスクリプト記述メソッドは、Express のシミュレーションと波形ファイルの取得に役立ちます。
このうち、.PHONY は make オペレーションに対応するキーワードを指定できます。
.PHONY:vcs sim dve clean
OUTPUT = adder
VCS = vcs -sverilog +v2k -timescale=1ns/1ns \
-debug_all \
-o ${OUTPUT} \
-l compile.log \SIM = ./${OUTPUT} -l run.log
vcs: ${VCS} -f verilog_file.f
sim: ${SIM}dve:
dve -vpd vcdplus.vpd & clean: rm -rf *.log csrc simv* *.key *.vpd DVEfiles coverage *.vdb
ログイン後にコピー
このようにして、make vcs は vcs ステートメントを実行し、make sim は simv ステートメントを実行し、make dve は wave ファイルを開き、make clean はいくつかの冗長なファイルを削除します。 このうち、verilog_file.f はファイルのリストであり、次のステートメントを使用して生成でき、v で終わるすべてのファイル名がターゲット ファイルに書き込まれます。
find -name ".*v" > file.list
ログイン後にコピー
関連する推奨事項: 「
Linux ビデオ チュートリアル 」
以上がLinux vcsとは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。