Pre-Requisite: Basic concepts in digital circuit design. Familiarity with a programming language like C and C++.