ȸ»ç¼Ò°³
Çù·Â»ç
Terasic-FGPA Series
All FPGA Main Board
- Stratix III, IV, V
- Arria II. V
- Cyclone II, III, IV, V
- Bundle Solution
- USB Blaster
- max10
Daughter Card
- Interface conversion
- Video & Image
- Networking
- AD/DA
- Capsense
- Multimedia
- RF
SOC Platform
Microtronix-FPGA Series
IP Core
HSMC Daughter Card
Configurable Processor
FPGA Board
- HD Dev Solution
University Training Classes
Universities Classes using the DE2 Series
Altera ¿Â¶óÀÎ µ¥¸ð
Design Software
Embedded Processors
Licensing
Bundled Solutions
ARM Development Kit
ARM Development Kit
Single board computers
Computer-on-Module
AS ¼ö¸®
dimocore.com/terasicrepair
ÀÚ·á½Ç
°í°´¼¾ÅÍ
°øÁö»çÇ×
¹®ÀÇ°Ô½ÃÆÇ
 
 
Training Classes FPGA > Universities Classes using the DE2
   
Columbia University 
 
°¡    °Ý : °ßÀû¹®ÀÇ
Áß    ·® : 1g

  CSEE 4840
Embedded System Design
Spring 2009

General Information

Class meets Mondays and Wednesdays, 4:10 - 5:25 PM in 633 Mudd.

Mudd 1235 is the lab, which is filled with Linux workstations and FPGA boards. Registered students will receive accounts on these machines and 24-hour badge access to this room.

Do the lab by yourself. Project groups should be three students or more.

Staff

Name Email Office hours Location
Prof. Stephen A. Edwards sedwards@cs.columbia.edu TBA 1235 Mudd
Sungjun Kim skim@cs.columbia.edu Tuesday 6-7, Friday 6-7 1235 Mudd
Nalini Vasudevan naliniv@cs.columbia.edu Tuesday 2-3, Thursday 2-3 1235 Mudd

Overview

Prerequisites: ELEN E3910 or COMS W3843 or the equivalent. Embedded system architecture and programming. I/O, analog and digital interfacing, and peripherals. Weekly laboratory sessions and term project on design of a microprocessor-based embedded system including at least one custom peripheral. Knowledge of C programming and digital logic required. Lab required.

The goal of this class is to introduce you to issues in hardware/software interfacing, practical microprocessor-based system design issues such as bus protocols and device drivers, and practical digital hardware design using modern logic synthesis tools. You will put all of this to use in the lab where you will be given the opportunity to implement, using a combination of C and the VHDL hardware description langauge, a small embedded system.

This is a lab course done in two parts. During the first part of the class, each student will implement the same ``canned'' designs designed by the instructor and be given substantial guidance. These are meant as an opportunity for you to learn the development tools and basic concepts. In the second part of the class, you will divide up into teams and each will design and implement a comparable project of their own with guidance from the instructor and TAs.

This course is designed to take over the role ELEN 3940 once played in the EE and Computer Engineering curriculum, i.e., as a capstone class in which students will integrate their knowledge of digital logic, programming, and system design to produce a real system. It is intended to complement ELEN 4340, Computer Hardware Design. 4840 will focus more on system-design issues and include a large section on hardware/software integration. Students in 4840 will use processors and peripherals as building blocks. By contrast, students in 4340 have logic gates as building blocks.

Possible projects include:

  • Digital tone control (analog audio in/out, digital DSP operations)
  • Digital sound effects processor (e.g., echo, tone shifting)
  • Real-time spectrum analyzer (audio in, FFT, VGA display)
  • Simple video effects processor (e.g., solarization, inversion)
  • Speech synthesizer (analog audio out, hard-wired vocal tract models)
  • Digital picture frame (CF to JPEG decoder, VGA out)
  • Internet radio (digital audio in via Ethernet, analog audio out)

Prerequisites

ELEN E3910 or COMS W3843 or the equivalent. You must understand digital logic design and C programming. Prior experience with hardware description languages, FPGAs, or embedded processors is not required.

You are strongly encouraged to take COMS W4823, Advanced Digital Logic Design. In it, you will learn logic design and VHDL coding, both of which are crucial to success in 4840.

Tutorials

Schedule

Date Lecture Notes Due
January 21 Embedded Systems
History of the Apple II
January 26 VHDL 1
January 28 VHDL 2
February 2 VHDL 3 Lab 1
February 4 Ethernet and the PS/2 keyboard
February 9 Low-Level C Programming
February 11 HW/SW Interfaces Lab 2
February 16 Video
February 18 The Avalon Bus
February 23 Processors, FPGAs, and ASICs
February 25 Memory Lab 3
March 2 Serial Communication Proposal
March 4 Sprites
March 9
March 11 (no lecture) Design
March 16-20 Spring Break
March 23 (no lecture)
March 25
March 30 Milestone 1
April 1
April 6
April 8
April 13 Milestone 2
April 15
April 20
April 22
April 27
April 29 Milestone 3
May 4
May 14 Final Presentations, reports due Project

Recommended Texts

Mark Zwolinski.
Digital System Design with VHDL.
Pearson/Prentice-Hall, 2004. Second Edition.

There are a lot of books about VHDL out there; this is the most practical one I have seen. It focuses on the synthesizable subset of the language and also discusses test benches. Examples, etc., are available from the Author's web site for the book.

James K. Peckol.
Embedded Systems: A Contemporary Design Tool.
Wiley, 2008.

Many embedded system books are too idiosyncratic or incomplete for my taste, but this one does a nice job covering everything from digital circuit design to interprocess communication in real-time operating systems. Unfortunately, it only discusses the Verilog language and only in an appendix.

The Project

You'll perform a design-it-yourself project in the second half of the class. There are five deliverables for the project:

  1. A short project proposal describing in broad terms what you plan to build and how you plan to build it
  2. A detailed project design describing in detail the architecture of your project, both hardware and software. This should include block diagrams, memory maps, lists of registers: everything someone else would need to understand your design. You should have done some preliminary implementation work by this point to validate your design.
    Your design document should also a plan of what you intend to complete by each of the three milestones.
  3. Three milestones that you set for yourself: think of 25%, 50%, and 75% completion
  4. A presentation on your project to the class
  5. A final project report

Project groups should be three students or more.

The Project Report

This is a critical part of the project and will be a substantial fraction of the grade.

Include the following sections:

  1. An overview of your project: a revised version of your project proposal.
  2. The detailed project design documents: a revised version of the project design.
  3. A section listing who did what and what lessons you learned and advice for future projects
  4. Complete listings of every file you wrote for the project. Include C source, VHDL source, and things such as .mhs files. Don't include any file that was generated automatically.

Include all of this in a single .pdf file (don't print it out) and email it to me on the due date.

Also create a .tar.gz file (see the online documentation for the `tar' program to see how to create such a file. Briefly, create a file called `myfile' with the names of all the files you want to include in the archive and run tar zcf project.tar.gz `cat myfiles` to create the archive.) that just includes the files necessary to build your project, such as I did for the labs. Also email this to me by the due date.

Projects

POTS: Pivoting Object Tracking System (NV)
Proposal    Design    Final Report    Project Files    Presentation   
Damian Ancukiewicz    Arjun Roy    Baolin Shao    Jinglin Shen   
RJ: A Lightsaber Generator (SK)
Proposal    Design    Final Report    Project Files    Presentation   
Anusha Dachepally    Roopa Kakarlapudi    Devesh Dedhia    Raghu Binnamangalam   
HDVCSA: Hardware Decompression for Video Compressive Sensing Applications (NV)
Proposal    Design    Final Report    Project Files    Presentation   
Frank Zovko    Keith Dronson    Samuel Subbarao    Federico Garcia   
pLayer-i: An Internet-Based Muzik Player (SE)
Proposal    Design    Final Report    Project Files    Presentation   
Maninder Singh    Nishant Shah    Ramachandran Shankar   
RVD: Realtime Video Display (NV)
Proposal    Design    Final Report    Project Files    Presentation   
Manish Sinha    Srikanth Vemula   
RC: Robotic Car (SK)
Proposal    Design    Final Report    Project Files    Presentation   
Thomas Chau    Ben Sack    Peter Tsonev   
VOIP: Voice Over IP Phone (SE)
Proposal    Design    Final Report    Project Files    Presentation   
Sarfraz Nawaz    Mark Niebur    Gerald Schuff    Athar Siddiqui   
VP: Vocal Pongbat (SE)
Proposal    Design    Final Report    Project Files    Presentation   
Peter Capraro    Michael Hankin    Anand Rajeswaran   

Altera Documentation

Altera DE2 Tutorials

Datasheets for DE2 Peripherals

Other References

 


»óÈ£¸í
: (ÁÖ)¿ì¸²Æ¼¾Ø¾ÆÀÌ   ´ëÇ¥ÀÚ¸í : ±è¼®¹ü   »ç¾÷ÀÚµî·Ï¹øÈ£ : 211-87-88913  À̸ÞÀÏ : jun@woorimtni.co.kr
º»»ç : ¼­¿ï °­³²±¸ ºÀÀº»ç·Î 129 °ÅÆòŸ¿î 1204È£ ´ëÇ¥ÀüÈ­ : 82-2-512-7661  Æѽº : 82-2-512-7662
Copyright(C) 2011 Woorimtni Technologies All Rights Reserved.