riscv-lab/chisel
Liphen 4666edd560 完成挖空,作为演示代码 2024-05-28 10:24:02 +08:00
..
playground 完成挖空,作为演示代码 2024-05-28 10:24:02 +08:00
utils 增加firtool 2024-04-02 12:18:19 +08:00
.gitignore 修复mem被阻塞时读数据错误问题 2024-05-11 14:49:38 +08:00
.scalafmt.conf 增加指令定义 2023-11-16 16:17:49 +08:00
Makefile 更新项目结构 2024-05-06 15:54:28 +08:00
README.md refactor: 重构实验目录结构 2024-02-03 11:34:41 +08:00
build.sc chore: Update Chisel dependencies to use version 6.1.0 2024-05-07 10:33:44 +08:00

README.md

Chisel Project Template

Another version of the Chisel template supporting mill. mill is another Scala/Java build tool without obscure DSL like SBT. It is much faster than SBT.

Contents at a glance:

  • .gitignore - helps Git ignore junk like generated files, build products, and temporary files.
  • build.sc - instructs mill to build the Chisel project
  • Makefile - rules to call mill
  • playground/src/GCD.scala - GCD source file
  • playground/src/DecoupledGCD.scala - another GCD source file
  • playground/src/Elaborate.scala - wrapper file to call chisel command with the GCD module
  • playground/test/src/GCDSpec.scala - GCD tester

Feel free to rename or delete files under playground/ or use them as a reference/template.

Getting Started

First, install mill by referring to the documentation here.

To run all tests in this design (recommended for test-driven development):

make test

To generate Verilog:

make verilog

Change FIRRTL Compiler

You can change the FIRRTL compiler between SFC (Scala-based FIRRTL compiler) and MFC (MLIR-based FIRRTL compiler) by modifying the useMFC variable in playground/src/Elaborate.scala. The latter one requires firtool, which is included under utils/.