Skip to content

Latest commit

 

History

History
36 lines (31 loc) · 1.67 KB

README.md

File metadata and controls

36 lines (31 loc) · 1.67 KB

iFu

你说得对,但是《 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

环境配置

  1. 参考https://www.chisel-lang.org/docs/installation安装Javac以及SBT

编译运行

  1. 修改iFu/Makfile中的gen_dirsystem verilog代码生成目录
  2. 运行make命令,即可在gen_dir目录下生成iFuCore.sv文件
  3. repo/iFu/src/main/verilog/mycpu_top.v复制到gen_dir目录下
  4. 此时,整个项目对外暴露出一个core_top模块,其接口使用AXI3协议,另外还需传入intrpt信号,用于中断处理

仿真环境

  1. 本项目仿真依赖于chiplab
  2. gen_dir设置为chiplab/IP/myCPU
  3. repo/iFu/src/main/verilog/mycpu_top.v复制到chiplab/IP/myCPU目录下
  4. 完成上述步骤后,即可使用chiplab提供的仿真环境进行仿真