$29
Project Proposal Form
You will need to submit your project proposal online at https://goo.gl/forms/VGOOwBGXLnyrIwsI3 by Friday 11:59pm EST.
Only one submission is needed for a single team. All students must have a partner for the project.
Anybody who submits a proposal without a partner will have one assigned to them.
Once you have clicked Submit, a con rmation page will appear. Print out this con rmation page (or save it), to prove you have submitted your proposal. Make sure that your submission goes through, because we (the instructors) will be providing feedback, via email, on your electronically-submitted proposal. The TAs will also be referring to these proposals, as well as the feedback we provided to you on things you needed to change, when marking your weekly project milestones.
Any proposal that is not submitted by the deadline will get zero marks on the project proposal mark! Also, make sure that you submit the correct email addresses and student numbers for both partners, as mistakes here can result in people not receiving noti cations and/or marks. As a reminder, your project proposal is worth 2%.
For your project, we will be marking you on whether you meet your personally de ned milestones, as well as course-level goals. The course-level goals for the project are:
For you to demonstrate your understanding of digital logic, hardware, and Verilog.
For you to implement a creative application of these topics.
Project milestones
You should deliver (i.e. present) your project in 3 milestones. This is done to ensure that you have a steady progress in project completion, and also help you to get maximum marks based on progress in case you face a problem that prevents you from nishing the project as you initially planned.
The milestones are de ned by you, and should present key parts of your project. A good strategy is to have roughly 1/3 of all project tasks be completed in each week and presented as milestones. The di culty level of each milestone should be comparable to a single lab’s worth of work (both pre-lab and in-lab). The third milestone is when you should demo your completed project (but you should still describe this milestone in terms of the tasks that you need to complete { don’t say "we will complete the project" as your milestone description).
After the last lab is done, there will be three weeks left in the course. The expectation is that you will present your nished rst milestone in the rst week, the second milestone in the second week, and the nal (i.e. completed) project will be demoed in the nal week as your third milestone. Each is worth 4% of your nal grade. You should demonstrate each milestone to your TAs during your lab hours.
Advice
Put some thought into your proposal. If we can’t understand your project or milestones from your proposal description, or if it looks like you’re proposing something too simple, we’ll ask you to resubmit it. This means that you’ll have less time than others to work on your project, just because you didn’t take the proposal seriously. It doesn’t happen often, but every year there are a few groups that do this. Just don’t be that group.
1
Note that we can only use the lab rooms (and the DE1 boards in them) during lab hours, and we do not have access to those labs otherwise. This means you have limited time to use the actual hardware to develop and test your project. Keep this in mind when you de ne your milestones.
Do not de ne your milestones only as designing part of your project. Try to complete part of project implementation in each milestone. For example, if you should design 5 modules, try to implement and test at least two modules in each of rst two milestones.
While you might want to structure your milestones around the other deadlines in your schedule, avoid making the third milestone bigger than the others. It is better to have a lighter third milestone in exchange of heavier rst and second milestones, because things will go wrong, and you should allow time to x and complete any part that you missed during rst two milestones.
Using hierarchical design for your code will be invaluable. Make sure you draw a high-level schematic which speci es the various components and how they are interconnected. It might help if you write down a paragraph about the expected functionality of each of these components (i.e., its speci cation). Repeat this process iteratively until you have a clear idea of what each module should implement.
Do thorough testing of each module before you integrate multiple modules in your nal design. Having separate simulations of each module using multiple ‘.do’ les will help you with testing. You should use the lab time to deploy, run and test your code on the DE1 board, because this is the part that you cannot do outside the labs.
Partner coordination: Split work. Communicate!
Do not spend time on components unrelated to CSC258 material as that work will not contribute to your nal project mark. For instance, projects whose main focus is developing for Arduino or Raspberry Pi units don’t demonstrate CSC258 knowledge, even though they are technically examples of computer hardware. Working with these units involves programming in C or other languages, and would only demonstrate your CSC209 knowledge. Your project should exhibit your knowledge of circuit design and Verilog, or some other material that you learned directly from this course.
If you anticipate a speci c component to be challenging, then have a back-up plan. For example, if you want to use the keyboard to provide inputs to your hardware design and this does not work, you can provide input via the switches instead. And it is better to put them as the rst milestone, so that you have enough time to execute your backup plan.
You can have optional features that you will implement if you have time. This helps you to de ne your nal product the way you like, while being realistic about what you expect to nish in 3 weeks, and what you think may not be ready by then.
Backup plans are also good for internal features or modules within your system!
Example CSC258 Projects (Winter 2015)
To give you more ideas of what you can do, you can see the nal demonstration of some previous CSC258 projects:
Title
Collaborators
Video Link
Cyclone Racer
Yaroslav Taben, Qiao Song
https://www.youtube.com/watch?v=5AfWiH- 4YLQ
Algorhythm: a personal massager
Rachel Franz,Philippe Bareau
https://www.youtube.com/watch?v=CBsb2A6ICt9
TicTacToe (with graphics)
Roman Polyanovsky, Umut Akkaya
https://www.youtube.com/watch?v=z5ulaAOu7QU
Catching Banana
Bryan (Man Yeung) Li, KwangJern Lee
https://www.youtube.com/watch?v=iP1Z- 7yjimM
Keypad Puzzle
Katie Datsenko, Chloe Duan
https://www.youtube.com/watch?v=C1hH2x2ouWI
The Dream Keyboard
Adam Kasztenny, Doga Ister
https://www.youtube.com/watch?v=h8ZHRP- FADo
Digimon Virtual Pet
Claudia Chen, Jerry Wang
https://www.youtube.com/watch?v=QzPu2EivWvg
Snake
Sina Gha ari, Albert Calzaretto
https://youtu.be/Whid2Q6af9Y
Rock Band
Mack Heller, Gavin Barill
https://www.youtube.com/watch?v=OoUmot7Mn3A
You are welcome to choose to do one of the projects listed here, or create an original idea of your own. Just make sure to pick a project topic that you feel is fun and doable, while still challenging enough to need three labs’ worth of time to accomplish it.