[Libre-soc-bugs] [Bug 485] Create I-Cache from microwatt icache.vhdl

bugzilla-daemon at libre-soc.org bugzilla-daemon at libre-soc.org
Tue Oct 20 20:19:13 BST 2020


https://bugs.libre-soc.org/show_bug.cgi?id=485

--- Comment #79 from Cole Poirier <colepoirier at gmail.com> ---
(In reply to Luke Kenneth Casson Leighton from comment #78)
> (In reply to Cole Poirier from comment #77)
> > Done.
> > 
> > Have the two different failure modes repro'd, obviously need to have two
> > different random seeds, as in one case it will fail on first by failing an
> > assertion, and on the other it will fail on first by looping infinitely.
> > 
> > These are the two failure modes, documented in icache.py. You'll have to
> > uncomment test_icache() at the bottom of the file and comment/uncomment the
> > different seeds depending on which repro case you want.
> 
> ok the next thing to do will be:
> 
> * to reduce the loop size down to the absolute minimum value that causes
> "fail"
> * to print out those values, and manually copy them into an array (new test,
>   new memory dictionary)
> * to start cutting out values and repeating the test, *only* leaving in those
>   values that continue to cause the failure
> 
> basically if there are 100-1000 values that cause "failure", staring at the
> gtkwave file will take a huge amount of time (1,000-10,000 cycles).
> 
> if however it's 4, 8, 10 or so values, *now* it's only a few cycles in
> gtkwave and the problem is easier to diagnose.

I have the loop set to 3, but actually there need not be a loop at all because
it will always fail on the first use/request. So, I'm pretty confident I've
already done what you're requesting above. Is that correct?

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the libre-soc-bugs mailing list