https://github.com/freechipsproject/chisel-bootcamp
1. very good tutorial to start (including a basic introduction to Scala)
2. Some highlights:
2.1 Printf in different phases (in section 2.1_first_module): Chisel generator prints during circuit generation; Circuit prints during circuit simulation; Tester prints during testing
2.2 Notice how all Chisel variables are declared as Scala vals. Never use a Scala var for a hardware construct, since the construct itself may never change once defined; only its value may change when running the hardware.
2.3 An example to show Chisel's parameterization capabilities: Exercise: Parameterized Adder (in section 2.2_comb_logic)
2.4 Finite State Machine Comb logic (in section 2.3_control_flow)
2.5 Appendix: Explicit clock and reset (in section 2.4_sequential_logic)
2.6 IOs with Optional Fields (in section 3.1_parameters)
2.7 Implicits (in section 3.1_parameters)
2.8 AsyncFIFO example (in section 3.5_object_oriented_programming)
3. Read more
3.1 DspBlock & concept of diplomacy (in section 2.5_exercise)
3.2 section 2.6_chiseltest
3.3 section 3.6_types