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

  1. 指令集支持32位的IMAC,通用寄存器为32个。
  2. 支持4KB-ICache和4KB-DCache。
  3. 硬件断点数量为2。
  4. PMP区域为8个。
  5. 硬件性能计数器为2个。
  6. 带有DCache flush功能。
  7. 带有clock gtae功能。
  8. 乘法器为pipeline形式。
  9. local interrupt为16个。
  10. PLIC入口2个。
  11. 带有CLINT中断。
  12. 带有JTAG DEBUG接口。
  13. 带有frontend接口(AXI4/AHB)。
  14. 带有memory接口(AXI4/AHB)。
  15. 带有mmio接口(AXI4/AHB)。
  16. 带有rom。
  17. 带有ROCC接口。

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

接下来看一下RTL的层次结构和部分端口内容:
Rocket-chip功能说明
这份RTL的下载链接:
https://download.csdn.net/download/a_weiming/12273606

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

相关文章: