Today, Nikhil and I received this very nice note from the Professor:
I wanted to write and thank you for your help withIf you're at a university, you can find out more about our university program here.
getting going with BSV. We are nearing the end of
the semester and the students are turning in their
cache projects today. The student were in agreement
today in our discussion that the BSV unit was a
strong success.
I thought I would drop you a note to describe what
we did and how it worked.
I spent about 5-6 lectures on BSV and they also
watched 4 of the demos on demand lectures. They
did 3 assignments. To get started with the tools
they did the Hello tutorial as well as a Pipelining
tutorial. Their second assignment was to work
through the 4 different multiplier tutorials. Their
third assignment was the cache project you helped
me pull together.
There were 7 parts to the cache project. The first
part was to create a null cache - I actually
removed the null cache code lines from what
Nikhil sent me. Rather, I made the students dig
the information on how to do the client/server
interconnections out of the Lecture 09 slides
from your website - that forced them to
understand a lot more about interfaces than
they otherwise would have.
Parts 2-7 of the assignment were things
like to create a direct mapped cache (one
word per cache line), enlarge the cache line
to be multiple words wide, do multi-way set
associativity, do write-back instead of
write-through, have the cache return the
requested word as soon as returned from
memory rather than waiting for the entire
line to arrive from memory, add concurrency
(allow multiple outstanding cache requests
be in flight at once).
The students all had to do the null and direct
mapped cache parts. They were allowed to
do more beyond that for extra credit, many of
them did many of the additional parts. They
had nothing but praise for the experience as
they turned in their final assignment. They felt
that they were 4-5x more productive in the
assignment than they would have been using
Verilog. I am hoping that one or more of them
will figure out how to work it into their
graduate research projects in the future.
So, thanks again for all your help. You were
very kind to take time with me on the phone
before Thanksgiving, and that made all the
difference in the BSV unit in our class.