テストから周期を制御できる最上位テストベンチでクロックを作成したいと考えています。私がしたことは、期間を uvm_config_db に設定し、テストベンチに戻すことでした。ビルド フェーズが完了したことを確認するために #1 を入力する必要がありました。そうしないと、get が間違った値を返しました。
module testbench_top;
int clk_period;
bit clk = 0;
initial begin
#1;
void'(uvm_config_db #(int) ::get(null, "uvm_test_top.env", "clk_period", clk_period));
// Create clk
forever begin
#(clk_period/2) clk = !clk;
end
end
#1 に悩まされています。構成が設定されていることを確認するより良い方法はありますか? start_of_simulation_phase まで何らかの方法でブロックできますか?