setimmediatevalue doesnt work for signals wider than 32 bit
See original GitHub issueSee attached testcase for details.
It looks like setimmediatevalue does not take effect if the signal width is greater than 32.
I tried the following variation and all of them fail
dut.inp_short63.setimmediatevalue(0)
dut.inp_short64.setimmediatevalue(BinaryValue(value=0,bits=65).value)
dut.inp.setimmediatevalue(BinaryValue(value='0x0', bits=1024))
The normal assignment statement works
dut.inp_short70 <= BinaryValue(value=0xffffffffffffffff,bits=71).value
Issue Analytics
- State:
- Created 5 years ago
- Comments:6 (5 by maintainers)
Top Results From Across the Web
setimmediatevalue doesnt work for signals wider than 32 bit
This is the first time that I am using setimmediatevalue with multibit control signals. So I would classify it as a bug.
Read more >setImmediate?
I'd like to get a concise explanation (and consensus) for why we should or should not implement setImmediate[1]. I'm personally not wild about...
Read more >Bit masking 32bit integer resulting negative value in nodejs
Basically, bitwise operators except shifting don't work the way you expect if the highest bit is on because JS turns them into a...
Read more >cocotb/Lobby - Gitter
It barfs on trying to do arithmetic with the return value: ... I know that the current implementation of cocotb doesn't allow that,...
Read more >Node.js v19.3.0 Documentation
When decoding a Buffer into a string, using this encoding will additionally unset the highest bit of each byte before decoding as 'latin1'...
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
Here’s the bug:
set_signal_value(std::string &value)
does not usevpiInertialDelay
, unlike the others which do.Ah, this is probably #637 in a new and exciting form.
It only fails if the write happens before any events have been yielded.
This fails, but passes if
do_wait
is changed toTrue