Add Briey area and timings into readme
This commit is contained in:
parent
02c9b0be75
commit
8643086fc0
14
README.md
14
README.md
|
@ -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):
|
||||
|
|
|
@ -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/")
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue