diff --git a/test_regress/t/t_uvm_dpi.v b/test_regress/t/t_uvm_dpi.v index 6d9de4de7..3065995d1 100644 --- a/test_regress/t/t_uvm_dpi.v +++ b/test_regress/t/t_uvm_dpi.v @@ -163,23 +163,19 @@ module t; i = uvm_hdl_read("t.exposed", lval); `checkh(i, 1); `checkh(lval[31:0], exposed); -`ifdef VERILATOR // UNSUPPORTED: force/release via VPI // If support, validate or throw unsupported on force/release part-selects $display("= uvm_hdl_force"); - $display("===\nUVM Report expected on next line:"); i = uvm_hdl_force("t.exposed", 62); - `checkh(i, 0); + `checkh(i, 1); $display("= uvm_hdl_release"); - $display("===\nUVM Report expected on next line:"); i = uvm_hdl_release("t.exposed"); - `checkh(i, 0); + `checkh(i, 1); $display("= uvm_hdl_release_and_read"); - $display("===\nUVM Report expected on next line:"); i = uvm_hdl_release_and_read("t.exposed", lval); - `checkh(i, 0); + `checkh(i, 1); $display("= uvm_hdl_force to not exposed (bad)"); $display("===\nUVM Report expected on next line:"); @@ -190,7 +186,6 @@ module t; $display("===\nUVM Report expected on next line:"); i = uvm_hdl_force("t.exposed_not_forceable", 12); `checkh(i, 0); -`endif $write("*-* All Finished *-*\n"); $finish; diff --git a/test_regress/t/t_uvm_dpi_v2017_1_0.out b/test_regress/t/t_uvm_dpi_v2017_1_0.out index d25cb639e..210427579 100644 --- a/test_regress/t/t_uvm_dpi_v2017_1_0.out +++ b/test_regress/t/t_uvm_dpi_v2017_1_0.out @@ -28,23 +28,16 @@ UVM Report expected on next line: UVM Report ../../t/uvm/v2017_1_0/dpi/uvm_hdl_verilator.c:54: UVM/DPI/HDL_SET set: unable to locate hdl path (t.not_exposed) Either the name is incorrect, or you may not have PLI/ACC visibility to that name = uvm_hdl_force -=== -UVM Report expected on next line: -UVM Report ../../t/uvm/v2017_1_0/dpi/uvm_hdl_verilator.c:54: UVM/DPI/VLOG_GET Unsupported: uvh_hdl_force/uvm_hdl_release on hdl path 't.exposed' = uvm_hdl_release -=== -UVM Report expected on next line: -UVM Report ../../t/uvm/v2017_1_0/dpi/uvm_hdl_verilator.c:54: UVM/DPI/VLOG_GET Unsupported: uvh_hdl_force/uvm_hdl_release on hdl path 't.exposed' = uvm_hdl_release_and_read -=== -UVM Report expected on next line: -UVM Report ../../t/uvm/v2017_1_0/dpi/uvm_hdl_verilator.c:54: UVM/DPI/VLOG_GET Unsupported: uvh_hdl_force/uvm_hdl_release on hdl path 't.exposed' = uvm_hdl_force to not exposed (bad) === UVM Report expected on next line: -UVM Report ../../t/uvm/v2017_1_0/dpi/uvm_hdl_verilator.c:54: UVM/DPI/VLOG_GET Unsupported: uvh_hdl_force/uvm_hdl_release on hdl path 't.not_exposed' +UVM Report ../../t/uvm/v2017_1_0/dpi/uvm_hdl_verilator.c:54: UVM/DPI/HDL_SET set: unable to locate hdl path (t.not_exposed) + Either the name is incorrect, or you may not have PLI/ACC visibility to that name = uvm_hdl_force to not forcable (bad) === UVM Report expected on next line: -UVM Report ../../t/uvm/v2017_1_0/dpi/uvm_hdl_verilator.c:54: UVM/DPI/VLOG_GET Unsupported: uvh_hdl_force/uvm_hdl_release on hdl path 't.exposed_not_forceable' +UVM Report ../../t/uvm/v2017_1_0/dpi/uvm_hdl_verilator.c:54: UVM/DPI/HDL_SET set: unable to locate hdl path (t.exposed_not_forceable) + Either the name is incorrect, or you may not have PLI/ACC visibility to that name *-* All Finished *-* diff --git a/test_regress/t/t_uvm_dpi_v2020_3_1.out b/test_regress/t/t_uvm_dpi_v2020_3_1.out index e81c061b7..db12dec17 100644 --- a/test_regress/t/t_uvm_dpi_v2020_3_1.out +++ b/test_regress/t/t_uvm_dpi_v2020_3_1.out @@ -28,23 +28,16 @@ UVM Report expected on next line: UVM Report ../../t/uvm/v2020_3_1/dpi/uvm_hdl_verilator.c:54: UVM/DPI/HDL_SET set: unable to locate hdl path (t.not_exposed) Either the name is incorrect, or you may not have PLI/ACC visibility to that name = uvm_hdl_force -=== -UVM Report expected on next line: -UVM Report ../../t/uvm/v2020_3_1/dpi/uvm_hdl_verilator.c:54: UVM/DPI/VLOG_GET Unsupported: uvh_hdl_force/uvm_hdl_release on hdl path 't.exposed' = uvm_hdl_release -=== -UVM Report expected on next line: -UVM Report ../../t/uvm/v2020_3_1/dpi/uvm_hdl_verilator.c:54: UVM/DPI/VLOG_GET Unsupported: uvh_hdl_force/uvm_hdl_release on hdl path 't.exposed' = uvm_hdl_release_and_read -=== -UVM Report expected on next line: -UVM Report ../../t/uvm/v2020_3_1/dpi/uvm_hdl_verilator.c:54: UVM/DPI/VLOG_GET Unsupported: uvh_hdl_force/uvm_hdl_release on hdl path 't.exposed' = uvm_hdl_force to not exposed (bad) === UVM Report expected on next line: -UVM Report ../../t/uvm/v2020_3_1/dpi/uvm_hdl_verilator.c:54: UVM/DPI/VLOG_GET Unsupported: uvh_hdl_force/uvm_hdl_release on hdl path 't.not_exposed' +UVM Report ../../t/uvm/v2020_3_1/dpi/uvm_hdl_verilator.c:54: UVM/DPI/HDL_SET set: unable to locate hdl path (t.not_exposed) + Either the name is incorrect, or you may not have PLI/ACC visibility to that name = uvm_hdl_force to not forcable (bad) === UVM Report expected on next line: -UVM Report ../../t/uvm/v2020_3_1/dpi/uvm_hdl_verilator.c:54: UVM/DPI/VLOG_GET Unsupported: uvh_hdl_force/uvm_hdl_release on hdl path 't.exposed_not_forceable' +UVM Report ../../t/uvm/v2020_3_1/dpi/uvm_hdl_verilator.c:54: UVM/DPI/HDL_SET set: unable to locate hdl path (t.exposed_not_forceable) + Either the name is incorrect, or you may not have PLI/ACC visibility to that name *-* All Finished *-* diff --git a/test_regress/t/uvm/v2017_1_0/dpi/uvm_hdl_verilator.c b/test_regress/t/uvm/v2017_1_0/dpi/uvm_hdl_verilator.c index 2d2c741c9..a032e92f3 100644 --- a/test_regress/t/uvm/v2017_1_0/dpi/uvm_hdl_verilator.c +++ b/test_regress/t/uvm/v2017_1_0/dpi/uvm_hdl_verilator.c @@ -184,13 +184,6 @@ static int uvm_hdl_set_vlog(char *path, p_vpi_vecval value, PLI_INT32 flag) { int size; static int s_maxsize = -1; - if (flag == vpiForceFlag || flag == vpiReleaseFlag) { - // It appears other simulator interfaces likewise don't support this - m_uvm_error("UVM/DPI/VLOG_GET", "Unsupported: uvh_hdl_force/uvm_hdl_release on hdl path '%s'", - path); - return 0; - } - r = uvm_hdl_handle_by_name_partsel(path, &is_partsel, &hi, &lo); if (r == 0) { m_uvm_error("UVM/DPI/HDL_SET", diff --git a/test_regress/t/uvm/v2020_3_1/dpi/uvm_hdl_verilator.c b/test_regress/t/uvm/v2020_3_1/dpi/uvm_hdl_verilator.c index 2d2c741c9..a032e92f3 100644 --- a/test_regress/t/uvm/v2020_3_1/dpi/uvm_hdl_verilator.c +++ b/test_regress/t/uvm/v2020_3_1/dpi/uvm_hdl_verilator.c @@ -184,13 +184,6 @@ static int uvm_hdl_set_vlog(char *path, p_vpi_vecval value, PLI_INT32 flag) { int size; static int s_maxsize = -1; - if (flag == vpiForceFlag || flag == vpiReleaseFlag) { - // It appears other simulator interfaces likewise don't support this - m_uvm_error("UVM/DPI/VLOG_GET", "Unsupported: uvh_hdl_force/uvm_hdl_release on hdl path '%s'", - path); - return 0; - } - r = uvm_hdl_handle_by_name_partsel(path, &is_partsel, &hi, &lo); if (r == 0) { m_uvm_error("UVM/DPI/HDL_SET",