Skip to content

slan/hartysoc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

hartysoc

A RISC-V SOC implemented in nmigen targeting the Arty FPGA board.

Disclaimer: in it's current state, this repo is merely a playground for my learning journey. I am not an expert (read: PR/issues are welcome).

Setup instructions are here

Check SRCS_FIRMWARE in the Makefile, default should run an SDRAM test. Use sim or arty/prog targets.

Features

  • single-cycle, runs at 33MHz
  • verified with riscv-formal
  • serial console (output-only)
  • runs from distributed RAM, block RAM, SDRAM

WIP

  • cache
  • GPU: basic VGA is in with a "racing the beam" 1920x1080@60Hz demo screen if you have a Pmod VGA.

Notes

  • exploring interconnect and limitations about memory ports vs latency: toysoc

Benchmark

Dhrystone -O3:

From distributed RAM:

Number_Of_Runs: 100
User_Time: 39131 cycles, 39129 insn
Cycles_Per_Instruction: 1.000
Dhrystones_Per_Second_Per_MHz: 2555
DMIPS_Per_MHz: 1.454

From block RAM:

Number_Of_Runs: 100
User_Time: 85866 cycles, 36129 insn
Cycles_Per_Instruction: 2.376
Dhrystones_Per_Second_Per_MHz: 1164
DMIPS_Per_MHz: 0.662

From SDRAM (hart clocked @6.25MHz):

Number_Of_Runs: 100
User_Time: 238795 cycles, 39129 insn
Cycles_Per_Instruction: 6.102
Dhrystones_Per_Second_Per_MHz: 418
DMIPS_Per_MHz: 0.237

From SDRAM (hart clocked @33.33MHz):

Number_Of_Runs: 100
User_Time: 613987 cycles, 39129 insn
Cycles_Per_Instruction: 15.691
Dhrystones_Per_Second_Per_MHz: 162
DMIPS_Per_MHz: 0.092

References

Core

Simulation/Validation

Arty

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published