YatCPU (Yet another toy CPU,逸芯) 是一款开源、开发中的教学用 RISC-V 处理器,基于 Chisel 硬件设计语言实现,并用于中山大学 (Sun Yat-sen University) 计算机学院冯班组成原理实验课程的教学。但笔者在配置对应的开发环境时遇到很多阻碍,经过一段时间的摸索和自行尝试过后,笔者决定对原文档中的 Docker 环境配置部分做一些补充YatCPU原环境配置文档链接在此

YatCPU 的 Dev Container 环境配置

使用 Docker + Dev Container 配置开发环境比较简单,而且也经过了测试,所以,我们推荐在 Windows 上直接使用 Dev Container 来设置开发环境。

按照安装指南配置好 Dev Container 环境,环境中含有 Scala 开发环境以及 Verilator 仿真器,但不包含 Vivado。如果你不需要烧板,那么使用 Dev Container 环境就可以完成所有实验以及软件测试了。

配置开发容器

  1. 软件安装

    安装 VSCode,直接在官网下载

    安装 Docker,直接在官网下载,你可以参照这个视频教程配置

  2. 安装 Dev Containers 插件

    在 VSCode 的扩展处搜索 Dev Containers,下载安装

    image

  3. 编写配置文件

    在工程文件夹中修改 yatcpu/.devcontainer/devcontainer.json 的内容,如果没有此文件请创建此文件,并修改为以下内容

    1
    2
    3
    4
    5
    6
    {
    "name": "YatCPU",
    "build": {
    "dockerfile": "Dockerfile"
    }
    }

    在工程文件夹中修改 yatcpu/.devcontainer/Dockerfile 的内容,如果没有此文件请创建此文件,并修改为以下内容

    1
    FROM howardlau1999/yatcpu
  4. 使用 Dev Containers 打开项目

    我们可以按 VSCode 左下角的蓝色按钮来运行 Dev Containers:

    在上方的运行选项中选择在容器中重新打开,这个命令会让 Dev container 自动根据 devcontainer.json 里的配置信息来创建 Docker 环境

    image

    如果你是第一次在容器中打开,你可能需要十几分钟的时间等待容器配置完毕,如果在配置过程中发生异常,请检查你的网络情况后再次运行

  5. 运行测试

    上述步骤完成后,我们就可以像在 Dev container 为我们配置好的开发环境中运行、调试代码了。

    新建终端输入 sbt test,期望你有如下输出

    image

    1
    2
    [info] All tests passed.
    [success] Total time: 181 s (03:01), completed Nov 14, 2023, 3:24:02 PM

    后续当你需要再次启动开发环境时,按相同的步骤运行 Dev Containers 即可,此时 Dev Containers 会自动使用之前已经配置好的环境,不需要再次花费十几分钟等待环境配置