Issue #1412
Verilator generates calls to an undefined function named: VL_SHIFTL_QQW
% Done:
0%
Estimated time:
0.50 h
Description
Verilator is generating calls to a undefined function named VL_SHIFTL_QQW.
I've found that defining this function in include/verilated.h fixes this issue. To resolve, simply add the following definition to include/verilated.h after VL_SHIFTL_IIW:static inline QData VL_SHIFTL_QQW(int obits,int,int rbits,IData lhs, WDataInP rwp) VL_MT_SAFE {
for (int i=1; i < VL_WORDS_I(rbits); ++i) {
if (VL_UNLIKELY(rwp[i])) { // Huge shift 1>>32 or more
return 0;
}
}
return VL_CLEAN_QQ(obits,obits,lhs<<rwp[0]);
}
I've created a Git fork with the necessary changes that can be pulled into your Git repo.
- Larry Lee
History
#2 Updated by Wilson Snyder 9 months ago
- Status changed from New to Resolved
- Assignee set to Larry Lee
Thanks for the patch, very close, just had to make a minor change in that it needs to be passed QData input to avoid truncating upper 32 bits.
Fixed in git towards 4.014.
Also available in: Atom