RISC-V核及工具链整理

RISC-V开源核分为开源核(无外设)、SOC、FPGA、多核等多种框架。

开源核

SOC框架

平头哥无剑100

包括EDA仿真框架及FPGA框架
https://github.com/T-head-Semi/wujian100_open

pulpino

PULPino是一款开源单核微控制器系统,基于苏黎世联邦理工学院开发的32位RISC-V内核PULP开发的。Pulpino具有功耗低面积小的特点,可配置为使用RISCY或zero-riscy核心。苏黎世联邦理工学院有多个系列的设计框架,官网 https://pulp-platform.org/
pulpino链接:https://github.com/pulp-platform/pulpino

darkriscv

一个精简的riscv核,部分指令未实现,代码可读性较高。

https://github.com/darklife/darkriscv

picorv32环境

环境要求python3及iverilog,修改Makefile,

TOOLCHAIN_PREFIX=/usr/gccrv32/bin/riscv-nuclei-elf-

运行编译、仿真。

make test

如果需要关注执行过程可以:

make VERBOSE=1 test 

生成log:

make VERBOSE=1 test | tee run.log

代码分析
picorv32.v 包含多个module

module picorv32 #(
module picorv32_regs (
module picorv32_pcpi_mul #(
module picorv32_pcpi_fast_mul #(
module picorv32_pcpi_div (
module picorv32_axi #(
module picorv32_axi_adapter (
module picorv32_wb #(

testbench.v有多个module

module testbench #(
module picorv32_wrapper #(
module axi4_memory #(

tb层次关系:
tb
   picorv32_wrapper
     axi4_memory
     picorv32_axi

posted @ 2020-07-24 07:13  醉后不知道天在水  阅读(1029)  评论(0)    收藏  举报