Hello,
last time many news is appearing about
RISC-V ISA and example architecture of CPU. The
HiFive1 board from SiFive is to expensive for me so I decided to evaluate RISC-V ISA on a FPGA board. My trials were based on Github project called
VexRiscv, because trhere is a documentation for this project:
https://github.com/SpinalHDL/VexRiscvAfter installation all of needed packages and dependencies:
1) Java 8
2) Scala 2.11.x
3) Scala SBT
4) SpinalHDL
4) Verilator
See: #Dependencies in this link:
https://github.com/SpinalHDL/VexRiscv#area-usage-and-maximal-frequencyI was able to generate
VexRiscv in minimal and full configuration. I am attaching these generated CPUs (Verilog):
VexRiscv.v.zip and
VexRiscvFull.zipThese files are syntetising OK in Xilinx ISE 14.7 (Webpack). The only problem is that tis design has few 32-bits wide buses, on FPGA boards there aren't so much I/O buffers. So I decided to generate
"Briey SoC" which has a bridge to AXI bus. In this
"Briey SoC" there were two GPIO ports A and B (three 32-bit buses each), so I decided to remove all GPIO B port and shortened A GPIO to 4 bits.
Here is ISE 14.7 project with this altered
"Briey SoC" design. It synthetisies OK for Spartan6 FPGA (XC6SLX9). I am attaching ISE 14.7 project in file: BrieySoC01.zip
Sorry I just has realized that attachements size limits for this forum, not enabled to attache these files, so I am giving links to my dropbox:
https://www.dropbox.com/s/jgj6fq8axjdfcf5/VexRiscv.v.zip?dl=0https://www.dropbox.com/s/n68dvm3599zbadf/VexRiscvFull.zip?dl=0https://www.dropbox.com/s/irfg0vfe3d92haw/BrieySoC01.zip?dl=0I would like to run this
"Briey SoC" (RISC-V CPU) on this FPGA board with Spartan6:
https://numato.com/product/mimas-v2-spartan-6-fpga-development-board-with-ddr-sdramI installed "GCC Toolchain for RISC-V" and "Freedom Studio" and I compiled some example programs.
And there is a difficulty I encountered: "How to load binary (elf or hex) file with machine code for RISC-V (program) to FPGA configuration memory"
How can one realize this task? I don't know by generating SPI-Flash memory image (FPGA configuration memory), by JTAG or by other ways.
Thanks in advance for your expertise,
and Regards