本项目记录从学习Scala开始,再学习Chisel,最后使用Chisel实现一个简单的ALU并且验证的过程
在学习Scala和Chisel语法的时候,使用的源文件是使用jupyter notebook,该notebook采用Scala作为kernel。使用jupyter notebook是为了在记录代码的同时,很好的添加文档说明。
在具体做Chisel项目的时候,使用sbt作为项目build和test的工具。
本文档分为以下几部分:
- Scala基础:在jupyter的notebook中,大致描述了Scala的基础语法知识
- Chisel基础:在jupyter的notebook中,大致描述了Chisel的基础语法知识
- ChiselBookDemo:Chisel Book是一本Chisel的入门书籍,从零开始介绍了如何使用Chisel构建硬件电路并且验证。此项目包含如下内容:
- 运行一个简单的chisel项目
- Chisel实现组合逻辑电路: decoder, encoder, arbiter, etc...
- Chisel实现时序逻辑电路:counter, shiftRegister, memory
- Chisel ALU项目:通过Chisel实现并验证一个简单的ALU,该ALU接受两个输入参数
SrcA,SrcB,一个控制信号ALUControl,得到一个输出ALUResult
推荐的阅读顺序
可以直接阅读Chisel ALU项目,阅读过程中如果有不同的地方可以在前三部分中查找相应的问题。
本项目的参考资料如下: