Skip to content

Latest commit

 

History

History

README.md

ScalaAndChisel 项目介绍

本项目记录从学习Scala开始,再学习Chisel,最后使用Chisel实现一个简单的ALU并且验证的过程

在学习Scala和Chisel语法的时候,使用的源文件是使用jupyter notebook,该notebook采用Scala作为kernel。使用jupyter notebook是为了在记录代码的同时,很好的添加文档说明。

在具体做Chisel项目的时候,使用sbt作为项目build和test的工具。

本文档分为以下几部分:

  1. Scala基础:在jupyter的notebook中,大致描述了Scala的基础语法知识
  2. Chisel基础:在jupyter的notebook中,大致描述了Chisel的基础语法知识
  3. ChiselBookDemo:Chisel Book是一本Chisel的入门书籍,从零开始介绍了如何使用Chisel构建硬件电路并且验证。此项目包含如下内容:
    • 运行一个简单的chisel项目
    • Chisel实现组合逻辑电路: decoder, encoder, arbiter, etc...
    • Chisel实现时序逻辑电路:counter, shiftRegister, memory
  4. Chisel ALU项目:通过Chisel实现并验证一个简单的ALU,该ALU接受两个输入参数SrcA, SrcB,一个控制信号ALUControl,得到一个输出ALUResult

推荐的阅读顺序

可以直接阅读Chisel ALU项目,阅读过程中如果有不同的地方可以在前三部分中查找相应的问题。

申明

本项目的参考资料如下:

  1. 西安交大一位研究生写的较为完整 Chisel 教程,从 Scala 到 Chisel,以及一些高级功能的介绍
  2. Scala常用的集合
  3. Chilse-Book: 一本从零开始讲解Chisel的PDF书
  4. schoeberl/chisel-examples
  5. Scala Cheetsheet
  6. scalaTest的初步使用
  7. chiseltest的介绍和实例 by 赵兄-RISCV in CSDN