task uvm_reg::mirror(output uvm_status_estatus, input uvm_check_e check=UVM_NO_CHECK, input uvm_path_e path=UVM_DEFAULT_PATH, ...); 这个函数有多个参数,常用的只有前三个。其中,第二个参数是一个枚举类型,如果发现DUT中寄存器的值与寄存器模型中的镜像值不一致,那么在更新寄存器模型之前是否给出错...
uvm_reg_field的mirror函数会调用它所在uvm_reg中mirror函数,如下图所示 具体的方法实现细节我们就不赘述了,简而言之mirror()任务相关知识点总结如下: 1、mirror()任务主要功能是通过所在uvm_reg发起的read()行为获取dut中寄存器对应reg_field的值(UVM_FRONTDOOR是消耗时间的,因而这里用的task,而不同于上面提到的都...
UVM提供mirror操作,用于读取DUT中寄存器的值并将它们更新到寄存器模型中。它的函数原型为: task uvm_reg::mirror(output uvm_status_e status, input uvm_check_e check = UVM_NO_CHECK, input uvm_path_e path = UVM_DEFAULT_PATH, …); 1. 2. 3. 4. 它有多个参数,但是常用的只有前三个。其中第二...
1taskuvm_reg::mirror(outputuvm_status_e status,2inputuvm_check_e check =UVM_NO_CHECK,3inputuvm_path_e path =UVM_DEFAULT_PATH,4inputuvm_reg_map map =null,5inputuvm_sequence_base parent =null,6inputintprior = -1,7inputuvm_object extension =null,8inputstringfname ="",9inputintlineno ...
1.函数 1.1 set 1 virtual function void set ( uvm_reg_data_t value, string fname = "",int lineno = 0 ) 设置模型中寄存器的期望值,不会改变DUT中这个寄存器的值。 1.2 get 1 virtual function uvm_reg_data_t get( string fname = "", int lineno = 0 ) ...
UVM提供mirror操作用于读取DUT中寄存器的值并将它们更新到寄存器模型中。 taskuvm_reg::mirror(outputuvm_status_estatus,inputuvm_check_echeck=UVM_NO_CHECK,inputumv_path_epath=UVM_DEFAULT_PATH,...); mirror的常用参数是如上三个。其中第二个参数指示DUT寄存器值与寄存器模型寄存器的镜像值是否相同,通常mirror...
2.2 mirror virtual task mirror( output uvm_status_e status, input uvm_check_e check = UVM_NO_CHECK, input uvm_path_e path = UVM_DEFAULT_PATH, input uvm_reg_map map = null, input uvm_sequence_base parent = null, input int prior = -1, ...
A. update: 这个方法会将寄存器的当前值写入到其镜像值中,从而更新镜像值,以便后续比较。 B. mirror: 这个方法通常用于比较寄存器的当前值与镜像值之间的差异,而不是直接更新镜像值。它会将当前值复制到一个临时变量,然后进行比较。 C. randomize: 这个方法通常用于生成随机的寄存器值,以进行测试。它可能会修改...
自动预测的例码在上一节中已经给出,如果用户想使用自动预测的方式,还需要调用函数uvm_reg_map::set_auto_predict()。这两种预测方式的显著差别在于预测的寄存器数值上,显式预测更为准确,具体原因我们可以通过下面对两种模式的分析来得出。 自动预测(auto prediction)...
UVM 提供了两种用来跟踪寄存器值的方式, 我们将其分为自动预测 (auto prediction)和显式预测 (explicit)。 如果读者想使用自动预测的方式,还需要调用函数 uvm_reg_map: :set_auto_predict () 。两种预测方式的显著差别在于, 显式预测对寄存器数值预测更为准确, ...