Untethering the RISC-V Rocket Chip
Wei Song
Computer Laboratory, University of Cambridge 06/01/2015
- - A code release from the lowRISC project
Untethering the RISC-V Rocket Chip -- A code release from the - - PowerPoint PPT Presentation
Untethering the RISC-V Rocket Chip -- A code release from the lowRISC project Wei Song Computer Laboratory, University of Cambridge 06/01/2015 Background Rocket-chip An open-source SoC from UC Berkeley Rocket core RISC-V 64 ISA
2
Rocket Core L2 & Coherence Manager L2 & Coherence Manager I$ D$
Rocket Tile
L2 & Coherence Manager Rocket Core I$ D$
Rocket Tile
Rocket Core I$ D$
Rocket Tile
Arbiter
Memory Controller
Host Interface TileLink/AXI AXI/MemIO AXI Bus ARM
UART SD EtherNet
Cached TileLink Uncached TileLink AXI MemIO L2 Bus
Issues:
3
4 Rocket Core L2 & Coherence Manager L2 & Coherence Manager I$ D$
Rocket Tile
L2 & Coherence Manager Rocket Core I$ D$
Rocket Tile
Rocket Core I$ D$
Rocket Tile
Arbiter DDR3 DRAM TileLink/NASTI NASTI Cached TileLink Uncached TileLink NASTI L2 Cache Bus On-FPGA Boot Ram IO Bus NASTI-Lite UART SD TileLink/NASTI-Lite Chisel SystemVerilog Uncached TileLink for MMIO NASTI/NASTI-Lite NASTI-Lite
Features: MMIO UART, SD, DDR3, Boot RAM On-chip NASTI interconnect in SystemVerilog
5
6
data meta mshrs mshr data meta dtlb Arbiter Arbiter
mshrs.replay
Arbiter
s1_req
s1_req.addr
= = = =
s1_tag_eq_way s1_addr read read resp resp
s2_req
amoalu
write write
mshrs.request mshrs.meta_write
io.req io.grant cpu.req Stage 1 Stage 2 Stage 3 Stage 4
vpn ppn
rhs lhs
s1_data s2_data s2_hit
cpu.resp Arb
s1_addr
ioaddr
s2_req.addr addr io
iomshr
request iomshr.replay io_data s1_io_data s2_io_data
s2_io_replay
io_data replay
mem.req mem.grant
Features: Uncached (bypass L1 & L2) I/O map Program order
7
– A tutorial: http://www.lowrisc.org/docs/untether-v0.2/ – Code repo https://github.com/lowRISC/lowrisc-chip
– FPGA demo with RISC-V Linux
– Up-to-date Rocket code from Berkeley
– Nearly free development environment
8
http://www.lowrisc.org/docs/untether-v0.2/release/
9
10