Fix for pr2837451.
pr2827132 changed the val_ field in vvp_fun_part_sa to only store
the bit values for the selected part, not the entire source vector,
but omitted to modify the recv_vec4_pv method to handle this change.
This patch rectifies that omission.
(cherry picked from commit 7c6176357f)
This commit is contained in:
parent
b7ff68c3f4
commit
f5f104f8a6
14
vvp/part.cc
14
vvp/part.cc
|
|
@ -86,11 +86,8 @@ void vvp_fun_part_sa::recv_vec4_pv(vvp_net_ptr_t port, const vvp_vector4_t&bit,
|
|||
{
|
||||
assert(bit.size() == wid);
|
||||
|
||||
vvp_vector4_t tmp = val_;
|
||||
if (tmp.size() == 0)
|
||||
tmp = vvp_vector4_t(vwid);
|
||||
|
||||
assert(tmp.size() == vwid);
|
||||
vvp_vector4_t tmp (vwid, BIT4_X);
|
||||
tmp.set_vec(base_, val_);
|
||||
tmp.set_vec(base, bit);
|
||||
recv_vec4(port, tmp, 0);
|
||||
}
|
||||
|
|
@ -179,11 +176,8 @@ void vvp_fun_part_aa::recv_vec4_pv(vvp_net_ptr_t port, const vvp_vector4_t&bit,
|
|||
vvp_vector4_t*val = static_cast<vvp_vector4_t*>
|
||||
(vvp_get_context_item(context, context_idx_));
|
||||
|
||||
vvp_vector4_t tmp = *val;
|
||||
if (tmp.size() == 0)
|
||||
tmp = vvp_vector4_t(vwid);
|
||||
|
||||
assert(tmp.size() == vwid);
|
||||
vvp_vector4_t tmp (vwid, BIT4_X);
|
||||
tmp.set_vec(base_, *val);
|
||||
tmp.set_vec(base, bit);
|
||||
recv_vec4(port, tmp, context);
|
||||
} else {
|
||||
|
|
|
|||
Loading…
Reference in New Issue