Rocket-Chip功能说明

我根据自己的需求,配置了一个rocket-chip,我需要的硬件功能有以下(源代码为2020.03.17的src文件):

  1. 指令集支持32位的IMAC,通用寄存器为32个。
  2. 支持4KB-ICache和4KB-DCache。
    https://blog.csdn.net/a_weiming/article/details/115058136?spm=1001.2014.3001.5501
  3. 硬件断点数量为2。
  4. PMP区域为8个。
    https://blog.csdn.net/a_weiming/article/details/115362780?spm=1001.2014.3001.5501
  5. 硬件性能计数器为2个。
    https://blog.csdn.net/a_weiming/article/details/105547789
  6. 带有DCache flush功能。
    https://blog.csdn.net/a_weiming/article/details/116090948?spm=1001.2014.3001.5501
  7. 带有clock gtae功能。
    https://blog.csdn.net/a_weiming/article/details/115188536?spm=1001.2014.3001.5501
  8. 乘法器为pipeline形式。
    https://blog.csdn.net/a_weiming/article/details/110779020
  9. local interrupt为16个。
    https://blog.csdn.net/a_weiming/article/details/106390615
  10. PLIC入口2个。
    https://blog.csdn.net/a_weiming/article/details/106246629
  11. 带有CLINT中断。
    https://blog.csdn.net/a_weiming/article/details/106911288
  12. 带有JTAG DEBUG接口。
  13. 带有frontend接口(AXI4/AHB)。
    https://blog.csdn.net/a_weiming/article/details/115738002?spm=1001.2014.3001.5501
  14. 带有memory接口(AXI4/AHB)。
    https://blog.csdn.net/a_weiming/article/details/115738002?spm=1001.2014.3001.5501
  15. 带有mmio接口(AXI4/AHB)。
    https://blog.csdn.net/a_weiming/article/details/115738002?spm=1001.2014.3001.5501
  16. 带有rom。
    https://blog.csdn.net/a_weiming/article/details/105304887
  17. 带有ROCC接口。
    https://blog.csdn.net/a_weiming/article/details/111600428
    https://blog.csdn.net/a_weiming/article/details/111658564
    https://blog.csdn.net/a_weiming/article/details/112853517
    https://blog.csdn.net/a_weiming/article/details/113359605
    https://blog.csdn.net/a_weiming/article/details/113866679
    https://blog.csdn.net/a_weiming/article/details/114228002
    https://blog.csdn.net/a_weiming/article/details/114411409

最后生成的文件有以下内容:
在这里插入图片描述
图中,蓝色箭头的是我们的rocket-chip主体RLT,黑色箭头的是外接的SRAM文件,红色箭头的是设备文件(后缀是.dts),可以看到我们的一些硬件配置内容。下面对*.dts文件进行解释。
在这里插入图片描述
在这里插入图片描述
具体的说明大家看图吧。

接下来看一下RTL的层次结构和部分端口内容:
在这里插入图片描述
这份RTL的下载链接:
https://download.csdn.net/download/a_weiming/12273606
后面可能会有其他版本的更新。

后面我们会对这些功能进行一一解说,并配合实例进行具体说明。

03-23
### Firesim 模拟框架简介 Firesim 是一种基于 FPGA 的硬件加速仿真工具,主要用于快速评估和测试 RISC-V 架构的片上系统(SoC)设计及其性能表现。它能够显著缩短传统 RTL 仿真的时间开销,从而提高开发效率并降低迭代成本[^4]。 #### 主要功能特点 - **高性能仿真**:相比纯软件仿真方式,Firesim 利用 FPGA 提供了更高的执行速度。 - **端到端支持**:不仅限于 CPU 或 GPU 单独模块的验证,还可以完成整个 DNN 工作负载的性能评测[^1]。 - **灵活性强**:允许开发者自定义配置参数来调整目标芯片特性,满足不同应用场景需求。 - **集成性强**:作为 Chipyard 生态的一部分,无缝衔接 Rocket-Chip 和其他组件资源。 --- ### 使用教程概述 以下是关于如何设置和操作 Firesim 平台的一般指导: #### 安装依赖项 确保本地机器已安装必要的基础环境,例如 Docker、Terraform 及 AWS CLI 等服务客户端程序。这些工具对于构建远程云实例至关重要。 ```bash sudo apt-get update && sudo apt-get install git make gcc g++ verilator python3-pip -y pip3 install --upgrade pip setuptools wheel boto3 awscli terraform-provider-local-exec ``` #### 获取源码仓库 克隆官方 GitHub 存储库至个人目录下,并按照文档指示初始化子模组结构。 ```bash git clone https://github.com/ucb-bar/chipyard.git chipyard-repo cd chipyard-repo ./scripts/init-submodules-no-riscv-tools.sh source ./env.sh ``` #### 配置基础设施 创建专属 Amazon Web Services (AWS) 账户或者联系管理员获取访问权限后,在终端输入以下命令启动所需计算节点集群。 ```bash make firesim.setup EC2_KEYPAIR_NAME=<your-keypair-name> \ EC2_ACCESS_KEY_ID=<access-key-id> \ EC2_SECRET_ACCESS_KEY=<secret-access-key> ``` #### 编译与部署模型 根据实际研究方向挑选合适的预设模板文件夹路径,接着调用 Makefile 中的相关规则生成二进制镜像数据包上传云端服务器等待进一步处理。 ```bash cd sims/firesim/ make buildroot.build SIMULATION_TARGET=boom_tiledevicemodel make deploy TARGET_WORKLOAD=dhrystone ``` #### 运行实验案例 最后一步便是触发正式运算过程,观察实时反馈日志记录以便后续优化改进措施制定实施计划安排表单填写说明等等事宜均需严格遵循既定规程行事不可随意更改任何细节部分以免造成不必要的麻烦困扰影响整体进度推进效果达成预期成果展示汇报总结经验教训吸取成长进步共同探讨交流学习分享心得感悟体会收获满满充实愉快美好时光回忆珍藏永久保存留念纪念意义非凡重要无比珍贵难得可贵值得拥有珍惜爱护保护维护保养妥善保管收藏陈列展览宣传推广传播弘扬传承延续发展创新创造发明开拓进取奋发图强勇攀高峰再创辉煌伟业基业长青万古流芳名垂青史载入史册永垂不朽! --- ###
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值