Co-simulation take IO-space values from the RTL model.
[yari.git] / doc / DONE
blobf6de2abfba62010054d423169ae66f7269a7091d
1 DONE
2 * Once a sufficient testing structure is in place, start replacing the
3   pipeline with a high performance one. [DONE]
4 * Fix the arrays that can't be inferred as RAM. Notably the register
5   file. [DONE]
6 * Restart the pipeline instead of stalling [DONE]
7 * Forward results instead of restarting [DONE]
8 * Move configuration parameters (such as cache size, etc) to a global
9   configuration file. [DONE]
10 * Wizzard generated RAM blocks (to know exactly what I get) [DONE]
11 * Extend the forwarding in DE and use dual-port memory w/o bypassing
12   [DONE]
13 * Handle uncached loads (uncached stores works as a side effect of the
14   write-through cache).
16   1. Move the x_res mux up to just after the data cache out and make
17      sure that x_res falls through the shifter network when not
18      loading [DONE]
20   2. Add another memory event (uncached_load), make sure it doesn't
21      accidentally writes to the data cache array or tags.
23   3. Make uncached loads kill the pipe and set up the uncached_load
24      event.
26   4. When the data for uncached_load comes in, thread it through the
27      shifter network and restart the next instruction.
29   5. Test by making all loads uncachable.
30 [DONE]
31 * Restart on load-use hazards. [DONE]
32 * Restart branches whose delay slots gets delayed (ie. due to cache
33   misses) [DONE]
35 * Fix the current strange behavior of tinymon. Fault points to a
36   serial port problem. Prefer a software workaround, as the
37   peripherals are going to get an overhaul later anyway. [DONE - it
38   was two actual bugs in the pipeline]
39 * Found a new home: git://repo.or.cz/yari.git
41 * Implement MULTU
42 * Implement MULT
44 * Matching IO behaviour like I do now is unsustainable. As a general
45   principle, while cosimulating, higher level models could take the IO
46   events from the lower levels (which can ultimately be the running
47   FPGA).