Cornell University FPGA Class Projects for 2008
Matt writes "The new crop of Cornell University ECE 5760 projects are now online. Some really cool projects, as well as the previous two years' worth of projects." Since it's mid-December, many other schools, too, have either just let out or are about to; can you point to any other online collections of cool technical projects?
"The new crop of Cornell University ECE 5760 projects are now online...
That's it? Those projects are weak, look at the tetris game. Even an Atari 2600 could do better than that.
I, on the other hand, have just coded a realistic graphical simulation of an ATM machine in Java. Beat that, suckers!
Tetris, Jezzball? Why don't they have their students doing something useful like creating open source FPGA or GPU tomographic reconstruction or crystallographic phasing?
Just callin' it like I see it.
I took the microcontroller equivalent of this class at Cornell when I was there. (I couldn't fit 576 into my schedule, unfortunately.) I have to say, that despite the weeks of all nighters we put into the projects, Bruce Land's class was the best I've ever had, and it did more to keep my interest in ECE and computers than all of the other CS and ECE classes I took. I literally got sick from working on the project too much, but it was so fun that it was worth it. If you ever want to try your hand at microcontrollers or FPGA's, and don't have much of a background in them, I recommend trying this out. The equipment you need is fairly cheap, the labs are fun, and the knowledge is priceless. There's a lot of toil in the workplace, but remembering this class (and working on similar things on the side) keeps my interest in electronics and programming ticking.
Universities like Stanford and Cornell are leading the way in providing students with real world experience and giving us useful products! Also, fail ad is fail. "SRC="http://ad.doubleclick.net/adj/N763.no_url_specifiedOX2531/B3272816.16;sz=336x280;ord=1640366?"> "
A lot of these projects use wikipedia references extensively. Also, most of the other references are websites. There are very few text references.
Does Cornell have an engineering library?
3 things about computers: they're alive, they're self-aware, and they hate your guts.
Comment removed based on user account deletion
Comment removed based on user account deletion
...provide hosting for Cornell University FPGA Class Project during Slashdotting.
The websites for Georgia Tech's senior design projects can be found here:
http://www.ece.gatech.edu/academic/courses/ece4007/web/index.html
i read about it in a blog once
Looks like they should had made a "web accelerator."
http://web.mit.edu/6.111 has FPGA projects with videos, documentation and code
Comment removed based on user account deletion
We've got something like that at MIT... They've done some pretty cool stuff as well, its not a senior thing though.. just a normal class. The voice controlled chess is pretty cool though. http://web.mit.edu/6.111/www/f2008/index.html
I used the same board during my senior project at the University of Utah. It is a great FPGA with tons of options. Our group was sponsored by Micron and built a testing platform for NAND Flash memory that got us a spot presenting at the 2008 FLASH Memory Summit.
For really cool FPGA stuff I'd say look at :)
http://fpgaarcade.com/
http://www.jrok.com/hardware/wsf/
But I'm a vidgamer so biased
I'm glad Cornell can afford to pay for this Slashvertisement, but I went to a non-ivy league college 5 years ago and in our FPGA class (using Xilinx boards and VHDL/Verilog) our projects seemed much better. We picked an 8-bit nintendo game and implemented it, including wiring up a controller and outputting to a VGA monitor. Some cool ones were clones of Blades of Steel and Tecmo Bowl.
I guess the moral of the story is, my entire 4 years of tuition was less than one semester at Cornell. Yeah, it's nice to graduate college with no loans, can afford to buy a house and new car and have an equivalent education, just not an Ivy League diploma.
I'm in the computer science program at RHIT and we're required to take two courses on computer architecture. In the first course, we implement a simple processor using an FPGA, then we design and build our own. Of course, this is before we learn about pipelining, but it's still a lot of fun. In the prereq course where we learn digital circuits, my section's final project was to build a judging system for a pinewood derby race using an FPGA, and other sections had to do such things as implement an alarm clock. I had a lot of fun doing both and they really made me appreciate digital hardware.
Also, as a fun side note, a roommate of mine last year designed on paper a Brainfuck interpreter that ran off raw Brainfuck ASCII source for the Xilinx FPGA competition, but never built it because he wasn't sure if he could present on Brainfuck without laughing. I wonder if that schematic is still lying around somewhere...
http://courses.ece.uiuc.edu/ece445/?g=Home&p=Projects&c=Featured%20Projects
Includes some crazy stuff like a photographing UAV, a PC-based oscilloscope, and a combination lock brute-forcer.
I'm in this class. I worked on the Speaker Recognition project. It was very hard. Some comments and responses to other posts:
If you have any questions about the class, I'd be happy to answer them.
Its cool to get to see what everyone's doing, I'm a senior electrical engineering student, and I'm working on a sonar project where we are using phased-array radar techniques on ultrasound to do sensing. We recently had to give 1/2 way presentations (full-year project), and its amazing what we're able to do when we get to finally unleash three long years worth of learning. Glad to see so many people are getting their hard work viewed by the public. Hope it helps land them a job, or some VC money to start a business.
News for nerds? Hardly. Circle-jerk publicity for Cornell, home of Andy Bernard? Probably. Total waste of space? Definitely.
There are thousands of cool class projects, so why pick the frankly sub-par efforts of Cornell here? Someone blow someone who wears the right color tie today?
My school (Texas) has a course where were build up this OS, step by step. Right from the bootloader to it's full multitasking glory. By far the most useful/fun course I have ever taken in my life. Link: http://ocw.mit.edu/OcwWeb/Electrical-Engineering-and-Computer-Science/6-828Fall-2006/Assignments/index.htm
has some pretty interesting projects of various kinds, both on the website and the more frequently updated blog section, he's more hardware than software though.
A bullet may have your name on it but splash damage is addressed "To whom it may concern."
https://courses.ece.uiuc.edu/ece395/cgi-bin/semesters.pl
Here is the site from Harvard university: http://www.hcs.harvard.edu/thesis/repo/view/concentration/
More can be found here: http://www.google.com/search?hl=en&q=college+thesis+project&btnG=Search
We have a course like this at our school, but it is for freshman only. The Altera DE2 boards are used as well, but we are not allowed to use NIOS. Instead we had to make our own architecture. I'm not too impressed with the projects on this site this semester.
I just noticed someone did a brute force attack on DES with an FPGA. How the hell is that a senior project? That's like a quick weekend project.
For a slightly more holistic project approach, take a look at a MIT 2.009 Product Engineering class (Mechanical Engineering dept), which now has videos from their projects for this semester: microwave fire extinguisher, self-adjusting electric cook-top array, basketball player tracking system, etc. There are also some neat projects for microcontroller beginners on the NerdKits videos page. DIY digital scale interface over USB, morse code decoder, iPhone R/C car control, and more. (Disclaimer: I did some of the electronics design for the 2.009 Purple Team, and am one of the NerdKits team.)
To answer the poster's question, the opencores.org site provides a wealth of free FPGA hardware designs.
You can find a full list of their projects here.
A disclaimer: i hold a phd degree in physics and am working in research. When i studied, libraries were still the most common way to acquire knowledge, so i am biased.
However, i observe the following thing: AFAIR Wikipedia itself says it is not meant to be a "first source". Wikipedia can give you hints where to search in detail, and for sure that *is* great. However, a citation in a paper or your report serves two purposes:
a) make your work understandable for the reader (being nice to the reader)
b) give credit to the original author (being nice to the original author)
c) make clear what you have done/not done (being nice to yourself by specifically avoiding to be accused of scientific misconduct)
The traditional approach is that general text books should seldom be cited, and if so, very specifically. To me, if a student cites a specific wikipedia page the latter condition is fulfilled. So if a reasearch group somewhere on the world used FPGAS in a certain way, it is fair to cite their works and not an wikipedia article which was written from an enthousiast about an article which cooked the results of that group down in an popular science journal. However i suggest, if the wikipedia version is well written, to insert a sentence in the introductory part of the report like "Technique x using y is now widely researched and review reports and intodudory materials are commonly available [a,c,b]", which [a,b,c] beeing wikipedia, a textbook or something (not that you may put several references in a single citation). If it helped you, it can be mentioned. Dont however mention textbook knowledge which is expected from you and your peers.
The following things should be kepti in mind:
a) anything referring to a standard should carry the standards official publisher in the reference
Bad example: cite http://en.wikipedia.org/wiki/IEEE_802.11 for the standard instead of the standard itself. *However* iff the article on wikipedia contains additional information like ABOUT the standard and you want to mention this informally in a meta-sentence (e.g. "IEEE 801.11 is seen by the broad public as the only WLAN standard [quote to wikipedia]"), then it is for sure allowed.
b) dont fall for the illusion that wikipedia is faster than the scientic journals. i assure you its not. In the subjet i work, wikipedia is at least 4 years behind the *published* knowledge and understanding.
c) Wikipedia tends to be good for general knowledge and bad for specific in depth-knowledge. The theory behind the subject i am researching in mentioned only on the surface, but even the context with some papers from the beginning of the *last* century is missing (i'll add it when i find time).
So all in all: Saying to a student: "start at wikipedia" might be ok. One should also say "but follow the threads".
The Tangible User Interfaces class (which I was in) at the School of Information at UC Berkeley just had its final presentations. You can see press coverage (including video and pictures) here:
http://www.sfgate.com/cgi-bin/article.cgi?f=/c/a/2008/12/10/BAF214L2I2.DTL
http://www.ktvu.com/video/18261853/index.html
Includes a projected digital shadow around your body, an elevator where you can play with a butterfly, blowing virtual bubbles and a coffee table that tracks the cups on its surface.
Interesting comment, but I find something odd: for someone who purports to be a PhD researcher, your style is decidedly crude. If you want to criticize the informality of a paper, using capitalization and punctuation correctly is always helpful.
a) English is not my native language, and English punctuation is hard.
b) this was not a critical of anything specific, just my view on the wikipedia discussion, which sadly boils down to ideological wars sometimes (and does so here in other threads).
c) for sure typing a 5 minutes comment in slashdot has lower standards on capitalization and punctuation than a submitted comment on a paper.
I just saw the poster presentations from CS 229, Machine Learning, at Stanford. The current batch of projects aren't on line yet, but the ones from previous years are.
The projects were very impressive. A vision-guided autonomous helicopter. A system for separating out instruments and vocals from existing audio. A CAPTCHA solver. De-blurring of out of of focus images. Flower recognition. Recognition of hostile network traffic. And those were just a few of the projects. Machine learning really works now.
Interesting comment, but I find something odd: for someone who purports to be a PhD researcher, your style is decidedly crude.
It's a PhD in physics, not English grammar. Also, punctuation has little to do with scholarship, which is what GP discusses. I hold a PhD and can write circles around 99% of my colleagues, but I focused on the content and not the style of the GP post, so I didn't notice the lowercase "i"s, etc. Time to graduate from your middle school mindset, kid.
Just callin' it like I see it.
We have ten years of final projects for the embedded systems track in the UW Electrical Engineering department documented here:
http://ee.washington.edu/class/478/peckol/final_projects/index.htm
I was disappointed by "All Digital, FPGA Based, Lock-in Amplifier". I was imagining the following scenario:
Grunt: Sir, we're rapidly loosing market share to Apple and Linux.
Ballmer: Engage the lock-in amplifier. Muhahahaha.
someone who purports to be a PhD researcher, [...] using capitalization and punctuation correctly
I think you're mixing up physics and linguistics ;)
A similar class has been offered by Columbia's CS/EE departments for many years as well. Here is a link to last spring's version of the class:
http://www1.cs.columbia.edu/~sedwards/classes/2008/4840/index.html
There's a time and place for each project. The Tetris game and most video games are not good FPGA projects. Tetris is something you could write just as well or better using a general purpose processor. No one would ever turn to an FPGA to write a video game nowadays. Implementing a CPU and searching DES space seem reasonable, though. When I took a similar course I remembering thinking, "What a waste," back then, too. We only had 10k gate-equivalents on our Xilinx FPGAs, though.
All I can do is sigh at yet another Altera bought and paid-for university that won't teach kids more than one FPGA toolchain.
Don't worry about it, the guy you're replying to is clearly just an asshole who feels vastly inferior to you and is trying to make up for it somehow.
If you mod me Overrated, you are admitting that you have no penis.
As a recent college graduate, I have one thing to say-
Any student that violates the above should be removed from College. NO REFUND
I had to work in a couple of groups where other students would not only use Wikipedia as their primary source of information (not beyond it), but they would also copy and paste right from the website and submit it for peer review as a "rough draft."
I assume these are C students.... but they should be failing.
+1 for correct usage of iff
I don't know if public schools rate high enough to be included in this discussion, but if so, the computer engineering senior projects for Univ. of California, Santa Barbara can be found at http://vader.ece.ucsb.edu/ece189/projstat.html. I'm involved in the ThermIN project. These projects span 2 quarters. In the first quarter the project is designed to the PCB. The next quarter is spent fabricating the boards so we have no input on the project at that point. In the Spring quarter we implement the design, write software, troubleshoot, etc. It's a hell of a lot of fun. =)
The Digital|Vita system was designed by a team of masters students in human-computer interaction at Carnegie Mellon University. It allows users to manage biographical information, output this information into several commonly used formats (e.g. NIH biosketches), and assemble research teams through expertise location and a social network. The system is currently in the prototype stage. See video of the prototype (8 min): http://www.dental.pitt.edu/informatics/orc/
Copying in science classes existed well before wikipedia. I nearly killed a co-student who "evaluated" the data from a lab course we did together. Sadly she (studying to be a teacher) was too stupid to even replace the numbers in the evaluation she copied from five years ago. Sadly the lab course involved an radioactive source which decayed, so the supervisor immediately knew something was wrong when he saw her "evaluation". It was also funny that on the day before she did not mention this to me. This thought me a lesson about checking the work of my coworkers not only for correctness but also for plagiarism (Which, if i would be still idealistic etc. would make me very sad).
The funny thing is that the people believe they are not get cought with it. My former girlfriend did a group work. She showed me a two page text from somebody else. After ten seconds i pointed to the paragraph which had a severe deviation in writing style from the rest (e.g. meaningful, well structured sentences), and on copy and paste into google later i found the original source.
Ans yes you are right, such people should fail.
I just finished taking 18-545 at CMU, which is similar to the course referenced. We worked with the Virtex II Educational Development Board and we were able to create a 90% working NES. Our main fault was not initially creating a cartridge interface as many of the NES games had custom hardware on the cartridge itself. It was all done in hardware, we wanted to stay away from using software as it would detract from our overall purpose of attempting to create a 1:1 clone of the NES. The lessons learned were many and of greate magnitude to say the least.
It seems the guys over at the University of Delaware's final project was to make a video game. One of the projects seems to be on display here: http://www.cvorg.ece.udel.edu/cpeg422f08/games.html