Why we failed
When it came time for demo3, our project did not yet meet our original design goals. Specifically, our board could not decode an MP3 from beginning to end on the board. There are several major reasons for this failure.
At the beginning of the semester, as we were spending all of our time scribbling on whiteboards and discussing the advantages and disadvantages of various architectures for the project, we failed to do enough research into the code, and thus missed a point that turned out to make our chosen architecture infeasible. In retrospect, however, it would have been difficult to have known that frames were not independent without spending the time to go through the entire code, which would have taken far more time than we had available. During our original whiteboard sessions, we were somewhat overconfident and overambitious about our design. One of our intentions was to choose an architecture that was interesting to us. We wanted an architecture that would be interesting enough to keep our interest, and therefore, our focus, on the project for the entire semester.
There were several things that we did not research as well as we should have and therefore did not understand some of the repercussions of our original choices. For example, we did not realize that our code would not fit in the allotted space until there were only a couple of weeks to go in the semester. We should have started off by doing some modifications to the mp3 decoding code from the very beginning to make it fit in the 64K of allotted space on SRAMS.