CSEE 4840 Embedded System Design Spring 2004 |
Home |
Highlights | ||||||||||||||||||
Don't miss this year's highlights | ||||||||||||||||||
General Information | ||||||||||||||||||
Class meets Tuesdays and Thursdays, 11:00AM-12:15PM, 627 Mudd (this has changed) | ||||||||||||||||||
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 labs in groups of three. Project groups should be three students or more. | ||||||||||||||||||
Why we needed a bigger classroom | ||||||||||||||||||
Staff | ||||||||||||||||||
| ||||||||||||||||||
Please begin email subject lines with CSEE 4840 | ||||||||||||||||||
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. | ||||||||||||||||||
This is a modernization of ELEN E3940y, Microprocessor Laboratory.
Its goal 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.
The focus of the course will be a lab, which will be in two parts. During the first half of the class, teams will each implement the same "canned" project designed by the instructor and be given substantial guidance. This project is meant as an opportunity for you to learn the development tools and basic concepts. During the second half, each team 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 second projects include:
|
||||||||||||||||||
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. | ||||||||||||||||||
Schedule | ||||||||||||||||||
Required Text | ||||||||||||||||||
Frank Vahid and Tony Givargis. Embedded System Design: A Unified Hardware/Software Introduction. Wiley, 2002. Deliberately blurs the line between hardware and software implementation of embedded system components. Near Columbia, this is available at Papyrus Booksellers at the corner of 114th and Broadway. Textbooks are downstairs. |
||||||||||||||||||
The Project | ||||||||||||||||||
You'll perform a design-it-yourself project in the second half of
the class. There are five deliverables for the project:
|
||||||||||||||||||
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:
|
||||||||||||||||||
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 | ||||||||||||||||||
| ||||||||||||||||||
Xilinx Documentation | ||||||||||||||||||
XST User Guide: Describes the XST synthesis system and how to write HDL code | ||||||||||||||||||
Development System Reference Guide: Describes the various tools that come after synthesis, e.g., place-and-route, technology mapping, and BitGen | ||||||||||||||||||
Libraries Guide: Describes built-in library components such as I/O pads and other primitives. | ||||||||||||||||||
Constraints Guide: Describes, among many other things, the .ucf file for specifying pin locations. | ||||||||||||||||||
Embedded System Tools Guide: describes platgen; libgen; and .mhs, .mpd, and .mss files | ||||||||||||||||||
OPB tutorial: How to interface to the Microblaze bus | ||||||||||||||||||
User Core Templates Reference Guide: How to write a new peripheral | ||||||||||||||||||
OPB UART Lite: The serial interface used with the Microblaze | ||||||||||||||||||
Processor IP User Guide: Describes the On-Chip Peripheral Bus (OPB) and peripherals, both hardware and software | ||||||||||||||||||
Xilinx Device Drivers Documentation: Describes, among others, the UART Lite | ||||||||||||||||||
MicroBlaze Processor Reference Guide: Describes the 32-bit softcore processor, its bus, instructions, and ABI | ||||||||||||||||||
XSB manual and peripheral datasheets | ||||||||||||||||||
XESS XSB-300E User's manual: schematics and pinouts of the board | ||||||||||||||||||
Xilinx Spartan-IIE 1.8V FPGA family datasheet | ||||||||||||||||||
Xilinx Spartan-IIE architecture datasheet | ||||||||||||||||||
Xilinx XC9500XL high-performance CPLD family datasheet | ||||||||||||||||||
Cypress CY22393 Three-PLL Serial-Programmable Flash-Programmable Clock Generator | ||||||||||||||||||
Atmel AT49LV040 512K X 8 flash memory | ||||||||||||||||||
Toshiba TC55V16256J 256K X 16 SRAM | ||||||||||||||||||
Samsung K4S281632 8M X 16 SDRAM | ||||||||||||||||||
Micron synchronous DRAM. These chips are not on the board, but the documentation is much more detailed than that for the Samsung part | ||||||||||||||||||
TI THS1230 12-bit, 30 MSPS Low-Power Analog-to-digital Converter | ||||||||||||||||||
TI THS8133 Triple 10-bit, 80 MSPS Video D/A Converter | ||||||||||||||||||
AKM AK4565 Low Power 20 bit audio CODEC | ||||||||||||||||||
ASIX AX88796L Ethernet controller | ||||||||||||||||||
Philips SAA7114H NTSC/PAL/SECAM video decoder | ||||||||||||||||||
Cypress CY7C68001 USB 2.0 controller | ||||||||||||||||||
Software | ||||||||||||||||||
RPM for the xstools, ported to Unix, supports the XSB-300E board (binary i386) | ||||||||||||||||||
source RPM for the xstools, ported to Unix, supports the XSB-300E board | ||||||||||||||||||
Resources | ||||||||||||||||||
Web resources for Vahid and Givargis | ||||||||||||||||||
VHDL examples | ||||||||||||||||||
Other VHDL resources | ||||||||||||||||||
Ken Shepards 4340 class (2003) | ||||||||||||||||||
Ken Shepards 4340 class (1999) | ||||||||||||||||||
Class Policies | ||||||||||||||||||
Grading |
30 % Labs 50 % Project 20 % Midterm |
|||||||||||||||||
Late Policy | Zero credit for anything handed in after it is due without explicit approval of the instructor. |
Copyright © 2003 Stephen A. Edwards | Updated Sat Jul 16 09:34:58 EDT 2005 | All Rights reserved |