From e932c7a6376b8d1f4e82f676ab436266da6310e4 Mon Sep 17 00:00:00 2001 From: Stephen Williams Date: Tue, 4 Mar 2014 19:02:21 -0800 Subject: [PATCH] Support get of vpiIntVal from vec4 stack. --- vvp/vpi_vthr_vector.cc | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/vvp/vpi_vthr_vector.cc b/vvp/vpi_vthr_vector.cc index 21e1596f2..cfbd2daa5 100644 --- a/vvp/vpi_vthr_vector.cc +++ b/vvp/vpi_vthr_vector.cc @@ -292,6 +292,7 @@ class __vpiVThrVec4Stack : public __vpiHandle { void vpi_get_value_string_(p_vpi_value vp, const vvp_vector4_t&val); void vpi_get_value_binstr_(p_vpi_value vp, const vvp_vector4_t&val); void vpi_get_value_decstr_(p_vpi_value vp, const vvp_vector4_t&val); + void vpi_get_value_int_ (p_vpi_value vp, const vvp_vector4_t&val); void vpi_get_value_real_ (p_vpi_value vp, const vvp_vector4_t&val); void vpi_get_value_hexstr_(p_vpi_value vp, const vvp_vector4_t&val); void vpi_get_value_vector_(p_vpi_value vp, const vvp_vector4_t&val); @@ -361,6 +362,9 @@ void __vpiVThrVec4Stack::vpi_get_value(p_vpi_value vp) case vpiHexStrVal: vpi_get_value_hexstr_(vp, val); break; + case vpiIntVal: + vpi_get_value_int_(vp, val); + break; case vpiRealVal: vpi_get_value_real_(vp, val); break; @@ -441,6 +445,14 @@ void __vpiVThrVec4Stack::vpi_get_value_hexstr_(p_vpi_value vp, const vvp_vector4 vp->value.str = rbuf; } +void __vpiVThrVec4Stack::vpi_get_value_int_(p_vpi_value vp, const vvp_vector4_t&val) +{ + int32_t vali = 0; + int signed_flag = 0; + vector4_to_value(val, vali, signed_flag, false); + vp->value.integer = vali; +} + void __vpiVThrVec4Stack::vpi_get_value_real_(p_vpi_value vp, const vvp_vector4_t&val) { unsigned wid = val.size();