你说得对,但是《 iFu 》是由 ??? 自主编写的一款全新超标量乱序CPU。CPU运行在一个被称作「 FPGA 」的物理世界,在这里被 SBT 选中的 Chisel Codes 将被授予「 编译运行 」,引导 仿真与综合 之力。你将扮演一位名为「 /*TODO*/ 」的神秘角色,在自由的 LoongArch32 中邂逅性格各异、能力独特的 Instructions ,和它们一起击败 Func/Perf/Sys Test ,找回 性能 的同时,逐步发掘「 B+ = 3.3 」的真相 。
./
├── iFu
│ ├── build.sbt
│ ├── doc
│ ├── Makefile
│ ├── mem.conf
│ ├── README.md
│ └── src
│ ├── main
│ │ ├── scala
│ │ └── verilog
│ └── test
│ └── scala
└── README.md
- 参考
https://www.chisel-lang.org/docs/installation
安装Javac
以及SBT
。
- 修改
iFu/Makfile
中的gen_dir
为system verilog
代码生成目录 - 运行
make
命令,即可在gen_dir
目录下生成iFuCore.sv
文件 - 将
repo/iFu/src/main/verilog/mycpu_top.v
复制到gen_dir
目录下 - 此时,整个项目对外暴露出一个
core_top
模块,其接口使用AXI3
协议,另外还需传入intrpt
信号,用于中断处理
- 本项目仿真依赖于chiplab
- 将
gen_dir
设置为chiplab/IP/myCPU
- 将
repo/iFu/src/main/verilog/mycpu_top.v
复制到chiplab/IP/myCPU
目录下 - 完成上述步骤后,即可使用
chiplab
提供的仿真环境进行仿真