RISC-V Ibex core with Wishbone B4 interface.
The instruction and data memory interfaces are converted to Wishbone. These examples use shared bus interconnection between masters (instruction bus, data bus) and slaves (e.g. memory, LED driver). For better throughput or latency a crossbar interconnect can be considered.
Simulated with Synopsys VCS.
Program | Cycles | Instructions | CPI |
---|---|---|---|
crc_32 | 43277 | 24714 | 1.75 |
fib | 172 | 107 | 1.61 |
led | 509993 | 382481 | 1.33 |
nettle-aes | 118693 | 63235 | 1.88 |
mean | 1.64 |
Program | Cycles | Instructions | CPI |
---|---|---|---|
crc_32 | 37105 | 23687 | 1.57 |
fib | 165 | 107 | 1.54 |
led | 509993 | 382492 | 1.33 |
nettle-aes | 113482 | 63235 | 1.79 |
mean | 1.56 |
For Quartus 19.1 use branch fpga_quartus
in submodules common_cells
, ibex
andriscv-dbg
.
For Vivado 2019.2 use branch master
in all submodules.
- Wishbone at opencores.org
- ZipCPU for a deeper understanding of the pipelined mode.