Virginia Tech® home

ECE 2544 - Fundamentals of Digital Systems (3C)

Course Description

Design and analysis of digital systems. Information representations and computer arithmetic. Switch and gate design within digital logic. Combinational logic analysis and synthesis, Hardware Description Languages (HDL), and hierarchical design. Finite-state machines, synchronous sequential logic analysis and design. Hardware specification and documentation. Register transfer level architectures, computer organization, memories, and digital interfacing. Instruction set architecture and assembly language programming. Emphasis on the relationship between software and hardware

Why take this course?

This course is necessary to ECE curriculum as each student must comprehend the fundamental concepts of digital systems design. The course expands on topics briefly introduced in ECE 1004-binary, primitive logic gates, and the difference between combinational and sequential logic-and introduces the hierarchical relationship between transistors, digital logic, and microprocessors, spanning topics from logic gate formulation to computer organization and assembly language programming. The concepts of hierarchical design, project planning, and documentation are interwoven with these technical skills. Students will apply theory-to-practice in hands-on activities, designing and integrating digital components into increasingly complex systems. Topics in this course are closely linked to ECE 2024 (Circuits and Devices) and ECE 2514 (Computational Engineering), and will prepare students for the more advanced courses ECE 2214 (Physical Electronics), ECE 2564 (Embedded Systems), and ECE 3544 (Digital Design).

Learning Objectives

  • 1. Represent and manipulate information in digital systems, and apply these concepts to performing computer arithmetic.
  • 2. Design, implement, and debug basic combinational and sequential logic circuits.
  • 3. Develop structural and dataflow models of logic circuits in a Hardware Description Language (HDL).
  • 4. Explain the hierarchical relationship between transistors, digital logic, and microprocessors.
  • 5. Plan, implement, and document the design of digital systems.
  • 6. Design elementary register transfer systems.
  • 7. Analyze and demonstrate the organization and operation of, and digital interfacing within, a basic digital computer.
  • 8. Implement and analyze the execution of assembly and machine language computer programs by a basic digital computer