VLSI Design Laboratory - Project Specification & Project Resources Page
Dr. James P. Davis
This page has specifications for various VLSI design projects that may be offered in CSCE 611 (Digital Systems Design), CSCE 612 (HDL Language-based Design for Digital Systems) and CSCE 613 (CMOS VLSI Design) courses which I teach. These three courses form a "round trip" through the design cycle for VLSI Systems Design of digital systems. In addition, I have also posted the specifications for the CSCE 491 (Computer Engineering Design Project) course as well. Updated versions of these specifications will be posted periodically, along with notice of update.
Team formation: Also, please print this Team Assignment Form (MS-Word), get with your classmates, and form a team for the project work we will be doing throughout the semester. Teams will be limited in size to two team members, except in special cases.
Project report: Here's a template for Project Report documents that you will be asked to prepare as part of the project work in one or all of these classes: Design Project Template (MS-Word).
Test plans and Lab report cover: If you are going to be using Nimbus, VHDL or Verilog HDL for design work, you will also need to obtain two forms that need to be used on all project submissions: (1) Test Planning Worksheet (Word or PDF version), and (2) Project/Lab Cover Page (Word or PDF version). The first document is used to define your testing plan and individual test scenarios; you will complete one such sheet for each of four test cases (since this form has room for up to 4 cases). The second document is used to document the performance results of your architecture analysis, taking your design through circuit synthesis. You also must indicate the Effort Distribution for each of the defined activities in the design process (in hours spent on each, by each team member, for each possible iteration of the design process associated with exploring a different system architecture).
Update for VHDL or Verilog Design: You will need to use this version of the Project/Lab Cover Page (PDF) is you are doing design work in VHDL or Verilog HDL (as this version has different activities in its Effort Distribution list that are appropriate for language-based design, as opposed to model-based design using Nimbus).
VHDL Language Quick Reference: These are scanned versions of quick reference cards for VHDL language. The quality may not be very good, but it should be usable in a pinch: (1) Comit Systems Quick Reference (PDF), (2) SynthWorks Quick Reference (PDF).
VHDL Coding Style Guide: This document is primarily for CSCE 612, and is the mandated VHDL Style Guide (PDF) for VHDL language development, and represents the coding "idiom" we use as a standard for VHDL language-based development.
Logic Synthesis Guidelines: Updated by Sreesa Akella, this is a recommended Synthesis Style Guide (PDF) for using Synopsys Design Analyzer® logic synthesis. If you are using NimbusTM or flowHDL® for design capture, the VHDL and Verilog styles generated from these tools, given your ASM input models, should be directly synthesizable without modification.
Academic Integrity: Note, just as is the case in performing class work and homework, I expect project teams to adhere to the USC Statement on Academic Integrity. Any infractions will be dealt with by "failing" (F for course grade) the parties involved in the infraction. 'Nuff said.
802.11 WLAN MAC Receiver specifications:
Here are the Project Specification documents for the Receiver.
1. Specification #1 - Block functional spec (PDF).
2. Specification #1b - Block diagrams - full page (PDF).
3. Specification #2 - CRC Algorithm and Architecture (PDF). This is for implementation of the last block, the FCS Decoder block.
4. Specification #3 - Error Codes (PDF). You'll use these in the error checking inside the various blocks. You may find additional error conditions that you want to add codes for; if so, we'll extend the standard from 4 to 5 bit error codes.
5. PDF copies of IEEE 802.11 Standards documents (1999 versions): IEEE 802.11-1999 (PDF) long document, IEEE 802.11b-1999 MAC and PHY Layer specifications (PDF) shorter document, and 802.11 Primer (short tutorial document). More documentation can be obtained from the IEEE, at http://www.ieee.org site, search for standards.
802.11 WLAN MAC Transmitter specifications:
The specs for this project are provided here. 802.11 MAC Layer Transmitter Specification Part 1 (PDF), Part 2 (PDF), Part 3 (PDF).
802.3 Network Repeater
The 802.3 Repeater subsystem specification is provided here. 802.3 Repeater (PDF).
MPEG Audio Layer-1 specifications:
Here's the files for the MPEG-1 Audio Layer 1 Specification (main document PDF and Annex A&B PDF) from the ISO/IEC 11172-3 Specification, dated 1993. Also, here's the MPEG-1 Layer 1 Conformance Test data set, specification (PDF) and zipped TAR file (tar.gz) for your use.
AMD 2910 Memory Controller specification:
The project is the modeling and test harness creation for the AMD AM2910 device, a scaled-down spec of an actual library part. The project specification and the timeline are in this specification document AMD-2910 Specification (PDF).
Intel 8251 UART specification:
The project is the modeling and test bench creation for the 8251 UART device. This model is a bit more complex and involved than the previous controller part. The project specification and the timeline are in this specification document UART-8251 Specification (PDF). Here's an additional document that goes over some of the finer points of the specification (as a FAQ); get it here: UART-FAQ (PDF).
Computer Arithmetic specifications:
Primary references are as follows: (1) Adders: B. Parhami, Computer Arithmetic: Algorithms and Hardware Designs, (C) 2000, Oxford University Press, Chapters 5, 6, 7, & 8. (2) Multipliers: B. Parhami, Computer Arithmetic: Algorithms and Hardware Designs, (C) 2000, Oxford University Press, Chapters 9, 10, 11, & 12. (3) Residue Arithmetic: F. J. Taylor, "Residue Arithmetic: A Tutorial with Examples", IEEE Computer, May 1984, pp. 50-62. I have these to hand out to the project teams working on these.
Controller Design Application specifications:
These are smaller designs that will be used as smaller projects in classes.
(1) Tail Light Controller problem (PDF) - specification document.
(2) Vending Machine Controller problem (PDF) - specification document.
(3) Vending Machine solution-sequence diagram (PDF) - this is an analysis aid to help you to understand the interaction among the modules of the vending machine model.