Melhor maneira de acessar o uvm_config_db a partir do testbench?
Eu quero criar um relógio no meu testbench de nível superior, cujo período pode ser controlado a partir do teste. O que eu fiz foi definir o período no uvm_config_db e recuperá-lo no testbench. Eu tive que colocar um # 1 para se certificar de que a fase de construção foi concluída, caso contrário, o valor errado retornou:
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
Estou irritado com o # 1. Existe uma maneira melhor de verificar se a configuração foi configurada? Posso bloquear de alguma forma até start_of_simulation_phase?