Digital Design Laboratory
CMPE Degree: This course is Required for the CMPE degree.
EE Degree: This course is Required for the EE degree.
Lab Hours: 3 supervised lab hours and 0 unsupervised lab hours.
Technical Interest Group(s) / Course Type(s): BSCmpE core (2012-13 curriculum), BSEE core (2012-13 curriculum), Courses for non-ECE majors, VLSI Systems and Digital Design
Course Coordinator: Thomas R Collins
Prerequisites: (ECE2020/2030 and (ECE 2035* or ECE 2036*)) or CS 2110 [all courses min C]
Catalog DescriptionDesign and implementation of digital systems, including a team design project. CAD tools, project design methodologies, logic synthesis, and assembly language programming.
Textbook(s)ECE 2031 Lab Manual, Rapid Prototyping of Digital Systems, SOPC Edition, The Mayfield Handbook of Technical Scientific Writing, Wire Jumper Kit "NO RETURNS"
- implement combinational logic circuits both with TTL devices on a protoboard and within a complex PLD.
- analyze the timing of digital circuits with oscilloscopes and logic analyzers.
- design and implement state machines to meet design specifications.
- design circuits with a graphical schematic CAD editor.
- simulate circuits within a CAD tool and compare to design specifications.
- design, implement, and simulate circuits using VHDL.
- implement a simple computer within a PLD.
- write machine language programs and assembly language programs for the simple computer.
- use a complex sequential logic circuit as part of a solution to an open-ended design problem.
- write laboratory reports and documentation conforming to technical writing standards.
- work effectively as team members to develop and write a group report.
- work effectively as team members to design an approved project.
Student OutcomesIn the parentheses for each Student Outcome:
"P" for primary indicates the outcome is a major focus of the entire course.
“M” for moderate indicates the outcome is the focus of at least one component of the course, but not majority of course material.
“LN” for “little to none” indicates that the course does not contribute significantly to this outcome.
1. ( P ) An ability to identify, formulate, and solve complex engineering problems by applying principles of engineering, science, and mathematics
2. ( M ) An ability to apply engineering design to produce solutions that meet specified needs with consideration of public health, safety, and welfare, as well as global, cultural, social, environmental, and economic factors
3. ( P ) An ability to communicate effectively with a range of audiences
4. ( LN ) An ability to recognize ethical and professional responsibilities in engineering situations and make informed judgments, which must consider the impact of engineering solutions in global, economic, environmental, and societal contexts
5. ( M ) An ability to function effectively on a team whose members together provide leadership, create a collaborative and inclusive environment, establish goals, plan tasks, and meet objectives
6. ( P ) An ability to develop and conduct appropriate experimentation, analyze and interpret data, and use engineering judgment to draw conclusions
7. ( M ) An ability to acquire and apply new knowledge as needed, using appropriate learning strategies.
Strategic Performance Indicators (SPIs)
- apply their knowledge from ECE 2030 to practical laboratory experience in digital computing systems. [6, 8]
- apply the concepts of basic combinational logic circuits, sequential circuit elements, and programmable logic in the laboratory setting. 
- develop familiarity and confidence with designing, building and testing digital circuits, including the use of CAD tools. [1, 7, 11]
- develop team-building skills and enhance technical knowledge through both written assignments and design projects. [2, 13]
Laboratory projects will use a PC-based CAD environment that supports schematic capture, logic simulation, and HDL-based logic sysnthesis on FPGAs (field-programmable gate arrays). Small-scale integrated circuits will be used for early labs, then HDL-based logic synthesis on FPGA-based design boards will be used for more advanced design implementations, including exposure to mixed design-entry methods. The semester will culminate with design projects specified and undertaken by teams of three to five students. Technical writing skills are developed through laboratory reports, project documentation, and an oral presentation.
- CAD Tools
- Logic Synthesis using an HDL
- HDL models of basic gates and logic operations
- Combinational design using multiple methods: primitive gates, schematic capture for FPGAs, and VHDL
- HDL based simulation and synthesis with FPGAs
- Examination of real timing issues on hardware using timing simulation, oscilloscope, and logic analyzer
- State machine specification, design, and simulation
- State machine implementation with multiple methods
- Design verification with logic analyzer
- HDL models of data storage elements
- ROM and RAM implementations on FPGA boards
- Hardware design of a simple computer with ALU, registers, control unit, memory, instructions, and I/O
- HDL-based simple computer simulation and implementation on FPGA board
- Machine language and assembly language programming for the simple computer
- Simulation and implementation of programs on the FPGA board
- Final design project problem specification (examples: video game, control application, robot, or contest)
- Hardware and tools available to solve the final design project problem
- Project engineering issues: top-down vs. bottom-up design, hierarchical decomposition, and modularity