ファイルの準備
Verdiを使用する最も簡単な方法を示すために、例として2周波数モジュールを取り上げます。
ClockDiv.v
`timescale 1ns / 1ps
//
// Company:
// Engineer:
//
// Create Date: 10/13/2020
// Design Name: Sniper
// Module Name: ClockDiv
// Project Name:
// Target Devices:
// Tool Versions:
// Description:
//
// Dependencies:
//
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
//
//
module ClockDiv(
input clk,
input rst_n,
output reg clk_div
);
always@(posedge clk or negedge rst_n)
begin
if(!rst_n)
clk_div <= 1'b0;
else
clk_div <= ~clk_div;
end
endmodule
tb_ClockDiv.v(.fsdbファイルが生成される部分に注意してください)
`timescale 1ns / 1ps
//
// Company:
// Engineer:
//
// Create Date: 10/13/2020
// Author Name: Sniper
// Module Name: tb_ClockDiv
// Project Name:
// Target Devices:
// Tool Versions:
// Description:
//
// Dependencies:
//
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
//
//
module tb_ClockDiv;
//input
reg clk;
reg rst_n;
//output
wire clk_div;
initial
begin
clk = 0;
rst_n = 0;
#100;
rst_n = 1;
end
//clock
always #5 clk = ~clk;
//DUT
ClockDiv DUT
(
.clk(clk),
.rst_n(rst_n),
.clk_div(clk_div)
);
initial
begin
$fsdbDumpfile("curve.fsdb");
$fsdbDumpvars;
$fsdbDumpon;
end
initial #1000 $finish;
endmodule
注文の実行
ターミナルで次のコマンドを入力してファイルをコンパイルします
(コマンドをシェルスクリプトで記述し、compile.shファイルとして保存してから、ソースcompile.shを使用して実行することをお勧めします)。
vcs -R ClockDiv.v tb_ClockDiv.v -P ${NOVAS_HOME}/share/PLI/VCS/linux64/novas.tab ${NOVAS_HOME}/share/PLI/VCS/linux64/pli.a -full64 -debug_all
次のエラーが表示された場合:
環境変数が設定されていないことを意味します。
ターミナルにgvim〜 / .bashrcと入力してbashrcファイルを開き、以下を追加します
export NOVAS_HOME=$Synopsys_Dir/Verdi2015
export PATH=$NOVAS_HOME/bin:$PATH
保存して終了し、ターミナル入力ソース〜/ .bashrcを使用して変更を適用し、compile.shを再ソースします
正常な動作は次のとおりです。
波形を見る
ターミナルにverdiと入力して、ソフトウェアを開きます
verdi #只打开verdi
verdi -f file_list.f -ssf curve.fsdb #这条命令可以在打开verdi软件的过程中直接打开项目文件和波形文件
#打开file后,在文件的代码中鼠标选中要观察的信号名字,再按Ctrl+w,可以直接观察选中信号的波形
まず、ウェルカムインターフェイスを最小化します。
クリックして波形を開きます。
マウスの左ボタン+ドラッグで波形を選択すると、ドラッグ範囲内で波形を観察できます。
その後、デバッグを開始できます~~
コードが後で更新された場合は、メニュービューの下の[新しい波形]をもう一度クリックして、fsdbファイルを再インポートし、表示するように通知できます。