RISC-Vの各種ハードウェア（FPGA,ASIC) 一覧


この記事は2019年なので古いです。最新の情報は下記が詳しいです

- RISC-V Cores and SoC Overview (RISC-V International本家のリスト)
    - https://github.com/riscv/riscv-cores-list
    - https://riscv.org/exchange/cores-socs/
- Risc-v IP Listing
    - https://www.design-reuse.com/sip/?q=risc-v

---

RISC-Vを実際のハードウェア上で試すには、HiFiveのようなRISCVのプロセッサチップを搭載したボードが便利です。
また、コアをソースコードからビルドしてFPGAで動かすことで、プロセッサーの設計を手元で試すことも可能です。また回路を修正することで機能を足したり削ったりすることも自由にできます。

プログラムを書いてFPGA上で動かすだけならArduino IDEでプログラミング出来るFreedomやFPGArduinoがお手軽です。Arduino同様にSPIやI2Cインターフェースを用いて組み込みやIoTのアプリを動作させることが可能です。

FreedomはUC BerkeleyのRISCVのオリジナルのRocket Coreをベースにしているため、Chisel言語を使ったRISCVのHW開発を勉強するには良いと思います。PULPinoはSystemVerilogでRTLが記述されているので、RTLになれた人には扱いやすいと思います。

## SoCとしてすぐに利用できるもの


| Project  | Core      | Design   | Bus      | I/O                  | Target      | SW      |License | URL           |
|:---------|:----------|:---------|:---------|:---------------------|:------------|---------|--------|---------------|
| Freedom  | RV32IMC   |Chisel    | tilelink | UART, SPI, GPIO      | Arty A7-35T | Arduino, zephyr| |BSD     | https://github.com/sifive/freedom
| PULPino  | RV32IMC   |Verilog   | AXI/APB  | UART, SPI, I2C, GPIO | ZedBoard    |         |Solderpad | https://github.com/pulp-platform/pulpino
| PULPissimo | RV32?   |Verilog   | APB      |                      |             |         |Solderpad | https://github.com/pulp-platform/pulpissimo
| FPGAduino| RV32I     |          |          | ?                    | ZYBO, etc   | Arduino | ?      | http://www.nxlab.fer.hr/fpgarduino/
| Briey    | RV32IMC   |          | AXI/APB  | ?                    | DE1-SoC, DE0-Nano| ?  | MIT    | https://github.com/SpinalHDL/VexRiscv
| Riscy    | RV64I     |          |          | UART                 | iCE40      |         | MIT    | https://github.com/AleksandarKostovic/Riscy-SoC
| Raven    | PicoRV32  |          |          | UART,GPIO, ADC, DAC  |             |         | ISC    | https://github.com/riscv/riscv-wiki/wiki/RISC-V-Cores-and-SoCs
| PicoSoC  | PicoRV32  |          |          | UART,GPIO, QSPI      | iCE40-HX8K  |         | ISC    | https://github.com/cliffordwolf/picorv32/tree/master/picosoc
| Icicle   | RV32I     |          |          |                      |             |         | ISC    | https://github.com/grahamedgecombe/icicle
| mriscv   | RV32I     |          | AXI/APB  | SPI, GPIO, ADC       | NEXYS4      | riscv-tools | MIT, BSD | https://github.com/onchipuis/mriscv
| ORCA     | RV32IM    |          | AXI      | ?                    | DE2-115, iCE5LP4K,ZED | riscv-tools | BSD | https://github.com/vectorblox/orca
| RPU      | RV32I     | VHDL     |          |                      | Arty S7-50  |         | Apache2 | https://github.com/Domipheus/ArtyS7-RPU-SoC
| SHAKTI E-Class   |   | BSV      |          |                      |             |         | BSD     | https://gitlab.com/shaktiproject/cores/e-class
| SHAKTI C-Class   |   | BSV      |          |                      |             |         |         | https://bitbucket.org/casl/c-class/src/7d9366374541693bca9397cbab5d2b16a7caa1b3/
| SweRVolf | SweRV RV32IMC | SV   | AXI, WB  | SPI, GPIO, UART      | Nexys A7    | zephyr  | Apache2 | https://github.com/chipsalliance/Cores-SweRVolf
| FPGAAmp  | RV32IM    |Verilog   | AXI      | UART,GPIO,,,         | Arty A7     |         | BSD     | https://github.com/ultraembedded/FPGAmp
| IOb-SoC  | PicoRV32  |Verilog   | AXI      |                      | SP605,,,    |         | MIT     | https://github.com/IObundle/iob-soc
| CVA6     | Ariane    |Verilog   | AXI4, APB| UART,SPI,,,          | Genesys 2   | Linux   |Solderpad| https://github.com/openhwgroup/cva6
| VexRiscv | RV32IMCA  |SpinalHDL | AXI4, WB | UART, GPIO,,,        | ICE40, Arty A7 | Zephyr | MIT | https://github.com/SpinalHDL/VexRiscv
| OpenTitan |          |          |tilelink  |                      |                |        |     | https://github.com/lowRISC/opentitan
| SCR1-SDK  | RV32IMC  |SV        | AXI4     | UART,,,              | Arty A7        | Zephyr | Solderpad |https://github.com/syntacore/scr1-sdk
| NEORV32   | RV32     | VHDL     | AXI4. WB | UART, GPIO,,,        | DE0-nano, iCE40, ArtyA7 | Zephyr | BSD  | https://github.com/stnolting/neorv32

## RISCVのCoreのみ（周辺回路は別途必要）

| Project  | Core      | Bus      | License | URL           |
|:---------|:----------|:---------|---------|---------------|
| PicoRV32 | RV32IMC   | (AXI)    | ISC     | https://github.com/cliffordwolf/picorv32
| RV12     | RV32I     | AHB3Lite | RoaLogic Non-Commerical license | https://github.com/RoaLogic/RV12


## RISCV ASIC+PCB

- SiFive, HiFive1, FE310-G000 SoC
    - https://www.sifive.com/boards/hifive1
    - E31、RV32IMAC
    - https://www.crowdsupply.com/sifive/hifive1/
        - $59
    - https://www.marutsu.co.jp/pc/i/836016/
        - ￥9,980(税抜)
- HiFive Unleashed、Freedom U540
    - https://www.sifive.com/boards/hifive-unleashed
    - https://www.crowdsupply.com/sifive/hifive-unleashed
        - ＄９９９
    - + Microsemi, PolarFire SoC 
        - https://www.microsemi.com/product-directory/soc-fpgas/5498-polarfire-soc-fpga
- GreenWaves Technologies、 GAP8
    - https://greenwaves-technologies.com/en/gap8-the-internet-of-things-iot-application-processor/
    - RI5CY、RV32IMC
    - https://greenwaves-technologies.com/product/gapduino/
        - 100,00€ 
- Kendryte, KD233, K210
    - https://kendryte.com/
    - K210、RV64GC
    - TSMC 28nm
    - https://www.analoglamb.com/product/dual-core-risc-v-64bit-k210-ai-board-kendryte-kd233/
        - $49.99
- NXP, VEGAboard, RV32M1
    - https://open-isa.org/ 
    - RI5CY