Skip to content

Commit

Permalink
Merge pull request #780 from google/donut
Browse files Browse the repository at this point in the history
Add some results to donut README.
  • Loading branch information
tcal-x authored Feb 24, 2023
2 parents 83df4c3 + 34a6aca commit 7e75e71
Showing 1 changed file with 38 additions and 2 deletions.
40 changes: 38 additions & 2 deletions proj/donut-accel/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,44 @@ If all goes well, you will be connected to the CFU Playgroud menu running
on the board. You will probably need to hit SPACE for the menu to appear.
Then just hid 'd' for the donut demo.


To compare against the unaccelerated version, cd over to the `proj_template_no_tflm`
To compare against the unaccelerated version, cd over to the `../proj_template_no_tflm`
directory and run the same `make` commands listed above.

## Using Verilator Simulation

You can compare with and without acceleration in simulation without having a
board. In this directory (`proj/donut-accel`) run:

```
make PLATFORM=sim EXTRA_LITEX_ARGS="--cpu-variant=breaker+cfu" load
```

For unaccelerated performance, `cd` to `../proj_template_no_tflm` and run the
same command.


## Measured results

We measured the following cycle counts per iteration on the iCEBreaker board
(there is slight variation iteration to iteration):

```
iCEBreaker results
________________________________________
| Original non-accelerated | 94.9M |
| Accelerated | 17.7M |
----------------------------------------
```

Verilog simulation does not match on-board performance exactly. The main reason
is that in simulation, memory accesses (including from flash ROM memory) are
idealized and return a result immediately.


```
Verilator simulation results
________________________________________
| Original non-accelerated | 31.2M |
| Accelerated | 16.7M |
----------------------------------------
```

0 comments on commit 7e75e71

Please sign in to comment.