Comments (4)
Hi @moimfeld,
thanks for reporting. I believe the reasoning behind tolerating unrelated memory responses is that the XIF interface should be able to connect multiple coprocessor to a main core. Each coprocessor might then generate its own memory requests and should ignore any memory results that are destined for other coprocessors (by comparing the instruction ID of the memory result transaction with the ID used in its request).
As an initial step towards resolving this issue I have modified Vicuna's LSU such that it ignores memory result transactions unless it actually expects a result.
I also tried to ignore the result transaction if the ID does not match the expected value, but that currently leads to problems which I do no yet understand and will have to investigate further.
from vicuna.
Hi @michael-platzer,
Indeed, this rule makes sense in a multi-core environment.
Your fix resolved the problem of "infinite" stalls. Thanks a lot!
But as you mentioned, the coprocessor should probably also check if the id
corresponds to the one of its request, or else it might store/accept wrong results.
from vicuna.
Hi @moimfeld,
this issue should now be fixed in 60ec4a7. Memory result transactions for which the instruction ID does not match the ID specified during the associated request are now ignored. Please let me know if re-enabling random memory results in your UVM environment causes issues.
from vicuna.
Hi @michael-platzer,
The infinite stalls are gone 😄. Thanks a lot!
from vicuna.
Related Issues (20)
- Vicuna accepts instructions for which source registers are not valid.
- Wrong result generated by multiply unit (probably control logic related) HOT 1
- Wrong operand for `vwmacc(u|us|su).vx`
- narrowing instructions are never popped from the instruction queue HOT 1
- Vicuna + Ibex and WFI
- No way to clear a cache error?
- fail to set VREG_W=2048 HOT 2
- Floating point support.
- Combinatorial Loop Alert while Generating bitstream for vicuna using CV32E40X as a scalar core
- 'Illegal Instruction' when executing sign and zero extend functions when destination LMUL=8
- Error in Questasim Simulation
- Reserved word not implemented: 'config' HOT 1
- Machine mode CSRs not accessible with Ibex host core when using Vicuna's verilated model HOT 1
- Certain applications when executed with dual and triple pipeline configurations on verilated model of Vicuna hang indefinittely
- Applications hang indefinitely on Verilator when size of data cache is different than 0 HOT 1
- Suggestion for vectorizing MaxPool and Convolution Layer HOT 1
- Rounding issue for `vasub(u).(vv|vx)`
- Tail-undisturbed policy violation for comparison instructions.
- Masking not working
- `vslidedown.(vx|vi)` issue when VLMAX is exceeded
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from vicuna.