Лучший способ получить доступ к uvm_config_db из тестового стенда?

Я хочу создать часы в своем тестовом стенде высшего уровня, период которого можно контролировать из теста. Я установил период в 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?

Ответы на вопрос(2)

Ваш ответ на вопрос