From 04490703f7f8c565fdf0ece9c57e7852224e2b92 Mon Sep 17 00:00:00 2001 From: Stephen Williams Date: Tue, 25 Aug 2009 20:07:17 -0700 Subject: [PATCH] Fix IX_GETVS and LOAD_X1P operations to use filters instead of functors. --- vvp/vthread.cc | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/vvp/vthread.cc b/vvp/vthread.cc index da5fb5eeb..fb62f9555 100644 --- a/vvp/vthread.cc +++ b/vvp/vthread.cc @@ -2640,10 +2640,12 @@ bool of_IX_GETVS(vthread_t thr, vvp_code_t cp) unsigned index = cp->bit_idx[0]; vvp_net_t*net = cp->net; - vvp_fun_signal_vec*sig = dynamic_cast(net->fun); + vvp_signal_value*sig = dynamic_cast(net->fil); if (sig == 0) { cerr << "%%ix/getv/s error: Net arg not a vector signal? " - << typeid(*net->fun).name() << endl; + << "fun=" << typeid(*net->fil).name() + << ", fil=" << (net->fil? typeid(*net->fil).name() : "<>") + << endl; } assert(sig); @@ -3055,7 +3057,7 @@ bool of_LOAD_X1P(vthread_t thr, vvp_code_t cp) // For the %load to work, the functor must actually be a // signal functor. Only signals save their vector value. - vvp_signal_value*sig = dynamic_cast (net->fun); + vvp_signal_value*sig = dynamic_cast (net->fil); assert(sig); for (long idx = 0 ; idx < wid ; idx += 1) {