Riscv 我怎样才能找到一些关于火箭芯片的手册?
我正在学习火箭芯片的代码。但是由于复杂的关系,我发现很难阅读它的代码。所以我需要一些毛纳尔帮我。不幸的是,关于它的手册似乎很少。那么,有谁能给我提供一些有助于阅读火箭芯片代码的手册吗?我建议你看看凿子3。火箭芯片RISCV核心就是用这个写的。我在下面添加了几个链接,让您开始学习: 还有一个RISCV迷你版,这是一个三阶段的RISCV,用于学习目的。可在下面找到,但不确定这是如何更新的 当你对FPGA感到满意时,也值得一看它的一些示例项目,Microsemi,一家微芯片公司,有一系列RISC-V核和一个生态系统可供选择。我也将链接下面的MiV生态系统。,。 希望这有帮助,Riscv 我怎样才能找到一些关于火箭芯片的手册?,riscv,chisel,rocket-chip,Riscv,Chisel,Rocket Chip,我正在学习火箭芯片的代码。但是由于复杂的关系,我发现很难阅读它的代码。所以我需要一些毛纳尔帮我。不幸的是,关于它的手册似乎很少。那么,有谁能给我提供一些有助于阅读火箭芯片代码的手册吗?我建议你看看凿子3。火箭芯片RISCV核心就是用这个写的。我在下面添加了几个链接,让您开始学习: 还有一个RISCV迷你版,这是一个三阶段的RISCV,用于学习目的。可在下面找到,但不确定这是如何更新的 当你对FPGA感到满意时,也值得一看它的一些示例项目,Microsemi,一家微芯片公司,有一系列RISC-V
Ciaran使用火箭芯片需要您非常好地理解以下内容:
- 绘制对象层次结构的图片——对象层次结构可以有10到12层深,有上千个相关的类和对象需要了解(就在火箭芯片的src/main/scala文件夹中,
返回1126,grep-rn“class”| wc-l
返回533,而grep-rn“object”| wc-l
返回196)。几乎没有任何注释,所以您需要了解每个类、对象和特性是如何使用的。按住Ctrl键并单击以跟随超类(其中显示的是grep-rn“trait”| wc-l
),并绘制类层次结构。这将帮助你建立一个行为来源的大局观扩展RocketSubsystemModuleImp
- 使用IntelliJ的结构面板——这可以帮助您记住最相关的对象、类及其变量,至少对于您打开的给定文件是如此李>
- 查找用法——同样在IntelliJ中,按住Ctrl键并将鼠标悬停在类上,以查看显示“ShowUses for BlahBlahBlah”的悬停窗口。按住Ctrl键并单击该按钮,然后浏览到使用它的不同位置李>
- 使用grep并查找——如果您遇到一个不熟悉的模式或结构,请在整个代码库中搜索该模式,查看其使用方式李>
- 先断开它,然后修复它——如果您使用的是IntelliJ,请删除import语句后的.uu,并将其替换为正在导入的确切类。要找到这些类,可以注释掉整行内容,然后查看哪些内容被打断(比如在下面有一条红色的曲线)。然后替换该行,并按住Ctrl键的同时单击已断开的类或构造函数,以跟踪每个类或构造函数在代码中的实现位置。阅读源代码以确定参数及其工作方式李>
//导入freechips.rocketchip.tilelink.\u
//改为:
导入免费芯片。火箭芯片。tilelink。{TLToAXI4,TLToAHB}
- Debug——我会说Debug,这样你就可以看到对象在运行时是如何结合在一起的,但我还不知道如何获取这些信息,因为电路是通过makefile、脚本和sbt来实现的,而不仅仅是通过sbt
- 编写测试——使用scalatest框架或凿子测试规范来询问关于如何构建的离散问题。这将帮助您确定单个变量、对象或配置的属性,但您首先需要有大量的结构知识,然后需要了解测试所针对的每个值应该是什么。这首先需要做很多以上的工作李>
scave
和riscv mini
。但是读取火箭芯片的代码要困难得多。所以我要求一些建议。我要去读《米弗生态系统》
。谢谢