We will post various announcements relating to lectures, assignments, and the projects on this website, so please check back regularly. We will also post all announcements to the student mailing list.
Lab 1 graded
Lab 1 has been graded. To see your grade and additional feedback, update your git repository from within your lab directory:
This will check out a file called feedback/lab1.txt containing feedback on the lab and your grade out of 10 points.
Let me know if you have any questions.
Making your FFT pipeline more robust
The lab 2 test driver pads the input stream with zeroes at the end. Because of this, you can assume there are always more input samples available to your FFT pipelines.
A more robust FFT pipeline will not assume there are always more input samples available, and will still work correctly. For lab 2, if you can, you should make your FFT pipelines robust like this. When grading, I will take a small number of points off for implementations which require the assumption that there are always more input samples available.
There are a number of ways to make your FFT pipelines robust like this. Depending on how you choose to organize your pipelines, the following Bluespec features may be useful to know about:
The 'Maybe' type presented in lecture is part of the Bluespec prelude, which means you do not need to define it, and do not need to import any new packages to use it.
The Bluespec library includes a package called FIFOF, which provides FIFOs with a slightly modified interface from FIFO, including methods to explicitly test whether the FIFO is full or empty. See the reference guide for more information about the FIFOF interface and the mkFIFOF modules.
It is possible to define multiple rules using a for loop in Bluespec. For example, the Bluespec code:
for (Integer i = 0; i < 3; i = i + 1) begin rule foo (True); $display ("I am rule: ", i); endrule end
Will be unrolled statically into 3 different rules:
rule foo (True); $display ("I am rule: ", 0); endrule rule foo_1 (True); $display ("I am rule: ", 1); endrule rule foo_2 (True); $display ("I am rule: ", 2); endrule
- There will be a lecture today, 2:30-4pm in 4-153.
- I will be holding office hours today from 4:30-5:30pm in 38-301.
- Example code from Asif's tutorial last Friday has been posted to the course website
This term we are experimenting with the use if Piazza for class discussion. The system is intended to help you get fast and efficient help from classmates and myself. I encourage you to take a look at it and give it a try. I'll be posting answers to common questions there.
You can access Piazza at: https://piazza.com/class#spring2013/6375.
Lab 2 Posted, etc. (02/15/13)
Lab 2 has been posted to the course website. It is due by the end of the day next Friday, February 22nd. Lab 2 is notably longer and more involved than lab 1, so I recommend you start as early as possible.
I will not be holding office hours on Monday, because I'm out of town for Presidents' Day weekend. To make up for this I'll hold office hours on Tuesday, February 19th, after lecture from 4:30-5:30pm in 38-301.
- There will be a tutorial today at 2:30pm in 4-153 run by Asif Khan.
- Lab 1 should be submitted via git by the end of today.
Notes for Cancelled Tutorial (02/08/13)
I posted to the handouts section of the course website notes from what I would have presented at the Tutorial session today had it not been cancelled. Hopefully these are useful for lab 1.
Reminder: lab 1 is due next Friday.
Friday's tutorial cancelled due to snow (02/07/13)
MIT classes have been cancelled Friday due to snow, so I will not be holding my planned tutorial session. I'll try to post notes with the information I would have presented some time tomorrow.
I encourage you to get started on lab 1 early and let me know if you have any questions.
Tutorial Friday, and Lab 1 Posted (02/07/13)
I will be holding a tutorial session Friday at our regularly scheduled time and room: 2:30-4pm in 4-153. The plan is to introduce the Bluespec language, show how to use the bluespec workstation to simulate Bluespec designs, and go over some things which will be useful for lab1.
Lab 1 has been posted to the course website in the handouts section: http://csg.csail.mit.edu/6.375/6_375_2013_www/handouts.html. The lab1.pdf handout describes how to check out your student git repository with the initial lab harness. (The harness is also posted online as lab1-harness.tar.gz).
Lab 1 is due by the end of the day Friday, February 15th, submitted via git as described in the lab 1 handout.
You should all have access now to the following servers, which you can use for the duration of the course for lab and project work:
Let me know if you run into any issues with access to the servers or lab 1.  - Richard