Najlepszy sposób na dostęp do uvm_config_db z testbench?

Chcę utworzyć zegar w moim testbench najwyższego poziomu, którego okres można kontrolować za pomocą testu. To, co zrobiłem, to ustawienie okresu na uvm_config_db i odzyskanie go w testbench. Musiałem umieścić # 1, aby upewnić się, że faza kompilacji została zakończona, w przeciwnym razie get zwróci błędną wartość:

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

Jestem zirytowany # 1. Czy jest lepszy sposób na sprawdzenie, czy konfiguracja została ustawiona? Czy mogę jakoś zablokować do start_of_simulation_phase?

questionAnswers(2)

yourAnswerToTheQuestion