查看: 1580|回复: 0
收起左侧

RISC-V有哪些开源项目?

[复制链接]

  离线 

  • TA的每日心情
    奋斗
    2021-3-3 12:32
  • 签到天数: 10 天

    [LV.3]

    发表于 2020-9-8 10:08:21 | 显示全部楼层 |阅读模式

    有人预言,RISC-V或将是继Intel和Arm之后的第三大主流处理器体系。欢迎访问全球首家只专注于RISC-V单片机行业应用的中文网站

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x
    本帖最后由 皋陶 于 2020-9-8 10:12 编辑

    最新的列表请访问 RISC-V资源列表 - CNRV​

    RISC-V相关的有如下一些开源项目:

    工具链
    • riscv-tools - 基本上所有RISC-V相关工具链、仿真器、测试的宏项目,包含以下的项目
    • 基于RISC-V的SoC框架
    • 改日再说
    • 操作系统移植
    • 改日再说
    • 其他
    • 改日再说准库实现
      • riscv-isa-sim - Spike周期精确指令集模拟器
      • riscv-llvm -LLVM编译器框架
      • riscv-opcodes - RISC-V操作码信息和转换脚本
      • riscv-tests - RISC-V指令集测试用例
      • riscv-fesvr - 用于实现在上位机和CPU之间通信机制的库
      • riscv-pk - 提供一个运行RISC-V可执行文件运行的最简的程序运行环境,同时提供一个最简单的bootloader
    • riscv-qemu - 一个支持RISC-V的CPU和系统模拟器
    • 应该还没完

    CPU核开源实现

    先讲一下UC Berkeley的发起RISC-V项目的团队所设计的兼容RISC-V指令集的CPU核,对于这个团队我简称ucb-bar。

    必须要提的是,为了设计一个新的指令集,需要不断的尝试各种可能的处理器设计组合。

    Chisel是UC Berkeley开发的一门“硬件构建语言”。

    从功能上讲,chisel可以将你描述的硬件(写的代码)转化为等价的可综合的Verilog HDL代码或时等价的C++仿真模型。

    用Verilog你走设计流程变为ASIC或烧录到FPGA上,也可以Simulation。

    C++主要用于周期精确的功能级仿真,可以也可以输出波形图,主要优点是在用做仿真的时候比Verilog仿真快10倍,

    又能够很方便的和其他语言的库集成。

    其他的优点包括chisel支持面向对象,通过OO,可以极大的复用和扩充先有的代码,本质上是提高了可复用性。

    还有一点,Chisel其实是基于Scala的一种扩展或者DSL,所以从Scala带来的一个优点就是代码巨简洁无比,连线巨简单。

    最后,如果你还是不明白,那你就这么理解,你再用chisel描述硬件的时候,你是在写生成代码的代码(注:“代码”这个词在这里是不妥的用法)。

    所以,ucb-bar团队的所有处理器全部是用chisel写的,rocket-chip是RISC-V开发的核心团队开发的基于chisel等一系列工具的Generator,

    在这个框架下,你可以方便的开发你想要的RISC-V处理器,同时还提供调试工具、工具链、DRAM仿真模型等等一系列的基础设施。

    所以先介绍基于rocket-chip(或者说chisel)的CPU核实现(我都觉得我自己好繁琐。。。)

    • ucb-bar/rocket - ucb-bar最主要的实现可以被配置成各种你像要的样子
    • ucb-bar/zscale - 简单的3级流水线RV32I CPU,目前已经基本停止开发(笔者打算花些时间基于这个做些开发和维护)
      • ucb-bar/vscale - 就是吧zscale编程verilog让你用,因为你懒得学chisel
    • ucb-bar/riscv-boom - 乱序执行CPU,RV64G CPU
    • ucb-bar/riscv-sodor - 教育用途的各种流水线级数实现,实用意义不大

    注意:以上这些库都需要在rocket-chip这个框架下才能被正确构建和使用。

    下面介绍非chisel的RISC-V CPU实现(排名不分先后):

    • pulp-platform/pulpino - Silde - ETHZ 和 University of Bologna合作开发的面向微控制器领域的RISC-V CPU
      • 包含自定义的一些指令集(硬件循环、DSP等)
      • 比较早的支持RVC也就是压缩指令集
      • 对标ARM Cortex-M系列





    上一篇:RISC-V 浅谈几句
    下一篇:RISC-V,开始
    RISCV作者优文
    全球首家只专注于RISC-V单片机行业应用的中文网站
    回复

    使用道具 举报

    高级模式
    B Color Image Link Quote Code Smilies

    本版积分规则

    关闭

    RISC-V单片机中文网上一条 /2 下一条



    版权及免责声明|RISC-V单片机中文网 |网站地图

    GMT+8, 2024-3-29 18:42 , Processed in 0.428707 second(s), 45 queries .

    快速回复 返回顶部 返回列表