Add Briey area and timings into readme

This commit is contained in:
Dolu1990 2017-07-19 18:34:16 +02:00
parent 02c9b0be75
commit 8643086fc0
2 changed files with 40 additions and 5 deletions

View File

@ -55,14 +55,14 @@ VexRiscv smallest (RV32I, 0.47 DMIPS/Mhz, no datapath bypass) ->
Cyclone II -> 144 Mhz 844 LUT 578 FF
VexRiscv small and productive (RV32I, 0.78 DMIPS/Mhz) ->
Artix 7 -> 330 Mhz 719 LUT 557 FF
Cyclone V -> 153 Mhz 539 ALMs
Artix 7 -> 330 Mhz 719 LUT 557 FF
Cyclone V -> 153 Mhz 539 ALMs
Cyclone IV -> 148 Mhz 1,127 LUT 552 FF
Cyclone II -> 114 Mhz 1,133 LUT 551 FF
VexRiscv full no cache (RV32IM, 1.14 DMIPS/Mhz, single cycle barrel shifter, debug module, catch exceptions, static branch) ->
Artix 7 -> 291 Mhz 1403 LUT 936 FF
Cyclone V -> 147 Mhz 928 ALMs
Artix 7 -> 291 Mhz 1403 LUT 936 FF
Cyclone V -> 147 Mhz 928 ALMs
Cyclone IV -> 137 Mhz 1,910 LUT 959 FF
Cyclone II -> 110 Mhz 1,940 LUT 958 FF
@ -197,6 +197,12 @@ You can find multiples software examples and demo there : https://github.com/Spi
You can find some FPGA project which instantiate the Briey SoC there (DE1-SoC, DE0-Nano): https://drive.google.com/drive/folders/0B-CqLXDTaMbKZGdJZlZ5THAxRTQ?usp=sharing
There is some measurements of Briey SoC timings and area :
Artix 7 -> 230 Mhz 3551 LUT 3612 FF
Cyclone V -> 126 Mhz 2,608 ALMs
Cyclone IV -> 117 Mhz 5,196 LUT 3,784 FF
Cyclone II -> 102 Mhz 5,321 LUT 3,787 FF
## Build the RISC-V GCC
To install in /opt/ the rv32i and rv32im gcc, do the following (will take hours):

View File

@ -6,7 +6,7 @@ import spinal.lib.eda.bench.{XilinxStdTargets, Bench, AlteraStdTargets, Rtl}
/**
* Created by PIC32F_USER on 16/07/2017.
*/
object SynthesisBench {
object VexRiscvSynthesisBench {
def main(args: Array[String]) {
val smallestNoCsr = new Rtl {
override def getName(): String = "VexRiscv smallest no CSR"
@ -59,3 +59,32 @@ object SynthesisBench {
Bench(rtls, targets, "E:/tmp/")
}
}
object BrieySynthesisBench {
def main(args: Array[String]) {
val briey = new Rtl {
override def getName(): String = "Briey"
override def getRtlPath(): String = "Briey.v"
SpinalVerilog({
val briey = new Briey(BrieyConfig.default).setDefinitionName(getRtlPath().split("\\.").head)
briey.io.axiClk.setName("clk")
briey
})
}
val rtls = List(briey)
val targets = XilinxStdTargets(
vivadoArtix7Path = "E:\\Xilinx\\Vivado\\2016.3\\bin"
) ++ AlteraStdTargets(
quartusCycloneIIPath = "D:/altera/13.0sp1/quartus/bin64",
quartusCycloneIVPath = "D:/altera_lite/15.1/quartus/bin64",
quartusCycloneVPath = "D:/altera_lite/15.1/quartus/bin64"
)
Bench(rtls, targets, "E:/tmp/")
}
}