GithubHelp home page GithubHelp logo

fried-man-education / ece_2031 Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 44.69 MB

Georgia Tech's ECE 2031 - Digital Design Laboratory (Summer 2023)

VHDL 92.19% Stata 0.12% Verilog 0.79% Fortran 0.01% Tcl 3.40% Shell 2.73% Assembly 0.76%

ece_2031's Introduction

Georgia Tech's ECE 2031 - Digital Design Laboratory (Summer 2023)

The goal in ECE 2031 is to experience the conception, design, fabrication, and testing of digital hardware in a hands-on setting. Laboratory projects will use a PC-based CAD tool environment that supports schematic capture, logic simulation, and VHDL-based logic synthesis on FPGAs (Field Programmable Gate Arrays). Discrete logic devices will be used for two designs, but VHDL-based logic synthesis on FPGA- based design boards will be used for more advanced design implementations. The semester will culminate with a design project specified and undertaken by teams of four to five students. Technical communication skills are developed through laboratory reports, project documentation, and an oral presentation.

Course Objectives

As described here, the objectives for students are to

  1. Apply their knowledge from ECE 2020 (or CS 2110) to practical laboratory experience in digital computing systems.
  2. Apply the concepts of basic combinational logic circuits, sequential circuit elements, and programmable logic in the laboratory setting.
  3. Develop familiarity and confidence with designing, building and testing digital circuits, including the use of CAD tools.
  4. Develop team-building skills and enhance technical knowledge through both written assignments and design projects.

Course Outcomes

Also from the ECE web site, upon successful completion of this course, students should be able to be able to do the following:

  • 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.

Topics

The primary topics of the course include

  • CAD Tools
  • Combinational logic design using multiple methods: discrete logic devices, schematic capture for FPGAs, and VHDL
  • Examination of real timing issues on hardware using software simulation and hardware test equipment (oscilloscope)
  • State machine specification, design, simulation, and implementation with multiple methods
  • VHDL models of basic gates and logic operations
  • Logic synthesis and simulation using VHDL
  • Design verification with a logic analyzer
  • VHDL models of data storage elements
  • ROM and RAM implementations on an FPGA board
  • Hardware design of a simple computer with ALU, registers, control unit, memory, instructions, and I/O
  • VHDL-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

Table of Contents

Project

The end of course group project can be found here.

Labs

ece_2031's People

Contributors

fried-man avatar danny-george avatar yuanningliu avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.