Show description
EEE120: Digital Design Fundamentals
EEE120: Digital Design Fundamentals
EEE120 Course
Core Topics
Labs & Simulation
Outcomes
Master Digital Design Fundamentals
An interactive guide to the foundational building blocks of digital hardware, logic circuits, and modern computing. Welcome to EEE120.
Core Topics Covered
Logic Signals & Gates
The basic building blocks of all digital systems.
Digital systems operate on discrete signals. A logic signal represents one of two states: HIGH (1) or LOW (0). Logic gates are electronic circuits that perform a logical operation on one or more of these signals to produce a single output signal.
Common Logic Gates
AND Gate: Output is HIGH only if all inputs are HIGH.
OR Gate: Output is HIGH if any input is HIGH.
NOT Gate (Inverter): Output is the opposite of the input.
Glossary of Terms
Truth Table: A table listing all possible combinations of inputs and their corresponding output for a logic gate or circuit.
Boolean Expression: An algebraic expression representing the function of a logic circuit (e.g., F = A AND B).
Logic Level: The voltage level used to represent a binary 1 (HIGH) or 0 (LOW).
Number Systems & Arithmetic
How computers represent and manipulate numbers.
Computers use the binary (base-2) system. For human convenience, we often use octal (base-8) and hexadecimal (base-16) as a shorthand for long binary numbers.
Number System Conversion
Decimal
Binary
Hexadecimal
0
0000
0
1
0001
1
...
...
...
9
1001
9
10
1010
A
15
1111
F
Two's Complement: The standard method for representing negative integers in binary. To find the two's complement of a number, you invert all the bits and add 1.
Glossary of Terms
Bit: A single binary digit (0 or 1).
Byte: A group of 8 bits.
Radix: The base of a number system (e.g., 2 for binary, 10 for decimal).
Labs & Simulation
Theory meets practice. Our hands-on approach ensures you can build what you learn.…
EEE120: Digital Design Fundamentals
<!DOCTYPE html>
<html lang="en" class="scroll-smooth">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>EEE120: Digital Design Fundamentals</title>
<!-- Tailwind CSS -->
<script src="https://cdn.tailwindcss.com"></script>
<!-- Google Fonts: Inter -->
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap" rel="stylesheet">
<!-- Custom CSS for theme and layout -->
<style>
body {
font-family: 'Inter', sans-serif;
background-color: #0a192f; /* A deep navy blue */
color: #cbd5e1; /* slate-300 */
}
.glass-card {
background: rgba(17, 34, 64, 0.75); /* Semi-transparent darker blue */
backdrop-filter: blur(10px);
-webkit-backdrop-filter: blur(10px);
border: 1px solid rgba(45, 212, 191, 0.1);
}
.text-highlight {
color: #5eead4; /* teal-300 */
}
.section-heading {
color: #f8fafc; /* slate-50 */
}
.icon-glow {
filter: drop-shadow(0 0 5px rgba(94, 234, 212, 0.7));
}
/* Accordion styles */
.accordion-content {
max-height: 0;
overflow: hidden;
transition: max-height 0.5s ease-out;
}
.visualization-box {
background-color: #0f2342;
border: 1px solid #1e3a5f;
padding: 1.5rem;
border-radius: 0.75rem;
margin-top: 1rem;
margin-bottom: 1rem;
}
.truth-table {
width: auto;
margin: 1rem auto;
border-collapse: collapse;
text-align: center;
}
.truth-table th, .truth-table td {
border: 1px solid #334155;
padding: 0.5rem 1rem;
}
.truth-table th {
background-color: #1e293b;
color: #94a3b8;
}
</style>
</head>
<body class="antialiased">
<!-- Sticky Navigation -->
<nav class="sticky top-0 z-50 glass-card shadow-lg">
<div class="container mx-auto max-w-7xl px-4 sm:px-6 lg:px-8">
<div class="flex justify-between items-center h-16">
<div class="flex-shrink-0 text-white font-bold text-lg">EEE120 Course</div>
<div class="hidden md:block">
<div class="ml-10 flex items-baseline space-x-4">
<a href="#core-topics" class="text-slate-300 hover:bg-slate-700 hover:text-white px-3 py-2 rounded-md text-sm font-medium">Core Topics</a>
<a href="#labs" class="text-slate-300 hover:bg-slate-700 hover:text-white px-3 py-2 rounded-md text-sm font-medium">Labs & Simulation</a>
<a href="#outcomes" class="text-slate-300 hover:bg-slate-700 hover:text-white px-3 py-2 rounded-md text-sm font-medium">Outcomes</a>
</div>
</div>
</div>
</div>
</nav>
<!-- Header Section -->
<header class="container mx-auto max-w-7xl px-4 sm:px-6 lg:px-8 py-16 text-center">
<h1 class="text-4xl md:text-6xl font-extrabold tracking-tight section-heading">
Master <span class="text-highlight">Digital Design</span> Fundamentals
</h1>
<p class="mt-4 max-w-3xl mx-auto text-lg md:text-xl text-slate-400">
An interactive guide to the foundational building blocks of digital hardware, logic circuits, and modern computing. Welcome to EEE120.
</p>
</header>
<main class="container mx-auto max-w-7xl px-4 sm:px-6 lg:px-8">
<!-- Core Topics Section -->
<section id="core-topics" class="my-20">
<h2 class="text-3xl md:text-4xl font-bold tracking-tight text-center section-heading">Core Topics Covered</h2>
<div class="mt-12 space-y-4">
<!-- Accordion Item 1: Logic Gates -->
<div class="glass-card rounded-xl">
<button class="accordion-toggle flex justify-between items-center w-full p-6 text-left">
<div class="flex items-center">
<div class="flex items-center justify-center h-12 w-12 rounded-lg bg-slate-800 border border-slate-700 icon-glow mr-4">
<svg class="h-6 w-6 text-highlight" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M14 10l-2 1m0 0l-2-1m2 1v2.5M20 7l-2 1m2-1l-2-1m2 1v2.5M14 4l-2-1-2 1M4 7l2 1M4 7l2-1M4 7v2.5M12 21l-2-1m2 1l2-1m-2 1v-2.5M6 18l-2-1v-2.5M18 18l2-1v-2.5" /></svg>
</div>
<div>
<h3 class="text-xl font-semibold section-heading">Logic Signals & Gates</h3>
<p class="text-slate-400">The basic building blocks of all digital systems.</p>
</div>
</div>
<svg class="h-6 w-6 text-highlight transform transition-transform duration-300" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 9l-7 7-7-7" /></svg>
</button>
<div class="accordion-content px-6 pb-6">
<p class="text-slate-300">Digital systems operate on discrete signals. A <strong class="text-white">logic signal</strong> represents one of two states: HIGH (1) or LOW (0). <strong class="text-white">Logic gates</strong> are electronic circuits that perform a logical operation on one or more of these signals to produce a single output signal.</p>
<div class="visualization-box">
<h4 class="text-lg font-semibold text-white mb-4">Common Logic Gates</h4>
<div class="grid grid-cols-1 md:grid-cols-2 gap-6">
<div>
<p><strong class="text-highlight">AND Gate:</strong> Output is HIGH only if <span class="font-mono">all</span> inputs are HIGH.</p>
<svg viewBox="0 0 100 50" class="my-2 h-12 bg-slate-900 rounded"><path d="M10 10 H 40 C 60 10, 60 40, 40 40 H 10 Z" stroke="#5eead4" fill="none" stroke-width="2"/><line x1="0" y1="15" x2="10" y2="15" stroke="#cbd5e1" stroke-width="2"/><line x1="0" y1="35" x2="10" y2="35" stroke="#cbd5e1" stroke-width="2"/><line x1="55" y1="25" x2="70" y2="25" stroke="#cbd5e1" stroke-width="2"/></svg>
</div>
<div>
<p><strong class="text-highlight">OR Gate:</strong> Output is HIGH if <span class="font-mono">any</span> input is HIGH.</p>
<svg viewBox="0 0 100 50" class="my-2 h-12 bg-slate-900 rounded"><path d="M10 10 C 20 15, 20 35, 10 40 Q 40 25, 10 10" stroke="#5eead4" fill="none" stroke-width="2"/><line x1="0" y1="15" x2="10" y2="15" stroke="#cbd5e1" stroke-width="2"/><line x1="0" y1="35" x2="10" y2="35" stroke="#cbd5e1" stroke-width="2"/><line x1="35" y1="25" x2="50" y2="25" stroke="#cbd5e1" stroke-width="2"/></svg>
</div>
<div>
<p><strong class="text-highlight">NOT Gate (Inverter):</strong> Output is the <span class="font-mono">opposite</span> of the input.</p>
<svg viewBox="0 0 100 50" class="my-2 h-12 bg-slate-900 rounded"><path d="M10 10 L 40 25 L 10 40 Z" stroke="#5eead4" fill="none" stroke-width="2"/><circle cx="45" cy="25" r="5" stroke="#5eead4" fill="none" stroke-width="2"/><line x1="0" y1="25" x2="10" y2="25" stroke="#cbd5e1" stroke-width="2"/><line x1="50" y1="25" x2="65" y2="25" stroke="#cbd5e1" stroke-width="2"/></svg>
</div>
</div>
</div>
<h4 class="text-lg font-semibold text-white mt-4">Glossary of Terms</h4>
<ul class="list-disc list-inside mt-2 space-y-2 text-slate-300">
<li><strong class="text-white">Truth Table:</strong> A table listing all possible combinations of inputs and their corresponding output for a logic gate or circuit.</li>
<li><strong class="text-white">Boolean Expression:</strong> An algebraic expression representing the function of a logic circuit (e.g., F = A AND B).</li>
<li><strong class="text-white">Logic Level:</strong> The voltage level used to represent a binary 1 (HIGH) or 0 (LOW).</li>
</ul>
</div>
</div>
<!-- Accordion Item 2: Number Systems -->
<div class="glass-card rounded-xl">
<button class="accordion-toggle flex justify-between items-center w-full p-6 text-left">
<div class="flex items-center">
<div class="flex items-center justify-center h-12 w-12 rounded-lg bg-slate-800 border border-slate-700 icon-glow mr-4">
<svg class="h-6 w-6 text-highlight" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z" /></svg>
</div>
<div>
<h3 class="text-xl font-semibold section-heading">Number Systems & Arithmetic</h3>
<p class="text-slate-400">How computers represent and manipulate numbers.</p>
</div>
</div>
<svg class="h-6 w-6 text-highlight transform transition-transform duration-300" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 9l-7 7-7-7" /></svg>
</button>
<div class="accordion-content px-6 pb-6">
<p class="text-slate-300">Computers use the <strong class="text-white">binary</strong> (base-2) system. For human convenience, we often use <strong class="text-white">octal</strong> (base-8) and <strong class="text-white">hexadecimal</strong> (base-16) as a shorthand for long binary numbers.</p>
<div class="visualization-box">
<h4 class="text-lg font-semibold text-white mb-4">Number System Conversion</h4>
<table class="truth-table">
<thead><tr><th>Decimal</th><th>Binary</th><th>Hexadecimal</th></tr></thead>
<tbody>
<tr><td>0</td><td>0000</td><td>0</td></tr>
<tr><td>1</td><td>0001</td><td>1</td></tr>
<tr><td>...</td><td>...</td><td>...</td></tr>
<tr><td>9</td><td>1001</td><td>9</td></tr>
<tr><td>10</td><td>1010</td><td>A</td></tr>
<tr><td>15</td><td>1111</td><td>F</td></tr>
</tbody>
</table>
<p class="mt-4 text-slate-300"><strong class="text-white">Two's Complement:</strong> The standard method for representing negative integers in binary. To find the two's complement of a number, you invert all the bits and add 1.</p>
</div>
<h4 class="text-lg font-semibold text-white mt-4">Glossary of Terms</h4>
<ul class="list-disc list-inside mt-2 space-y-2 text-slate-300">
<li><strong class="text-white">Bit:</strong> A single binary digit (0 or 1).</li>
<li><strong class="text-white">Byte:</strong> A group of 8 bits.</li>
<li><strong class="text-white">Radix:</strong> The base of a number system (e.g., 2 for binary, 10 for decimal).</li>
</ul>
</div>
</div>
<!-- More accordion items would follow this pattern... -->
</div>
</section>
<!-- Labs & Simulation Section -->
<section id="labs" class="my-24">
<div class="grid grid-cols-1 lg:grid-cols-2 gap-12 items-center">
<div>
<h2 class="text-3xl md:text-4xl font-bold tracking-tight section-heading">Labs & Simulation</h2>
<p class="mt-4 text-lg text-slate-400">Theory meets practice. Our hands-on approach ensures you can build what you learn. You'll use industry-standard tools to bring your digital creations to life.</p>
<ul class="mt-8 space-y-4">
<li class="flex items-start">
<div class="flex-shrink-0">
<svg class="h-6 w-6 text-highlight" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7" /></svg>
</div>
<div class="ml-4">
<h4 class="font-semibold text-white">Digital Logic Simulation Software</h4>
<p class="text-slate-400">Use tools like Digital, iVerilog, or Logisim to construct and simulate designs before implementation.</p>
</div>
</li>
<li class="flex items-start">
<div class="flex-shrink-0">
<svg class="h-6 w-6 text-highlight" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7" /></svg>
</div>
<div class="ml-4">
<h4 class="font-semibold text-white">Progressive Hands-on Experiments</h4>
<p class="text-slate-400">Labs progress from basic adders to a simple, fully functional CPU, with optional FPGA implementation.</p>
</div>
</li>
<li class="flex items-start">
<div class="flex-shrink-0">
<svg class="h-6 w-6 text-highlight" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7" /></svg>
</div>
<div class="ml-4">
<h4 class="font-semibold text-white">Capstone Project</h4>
<p class="text-slate-400">Design, implement, and test a finite state machine or logic system, emphasizing documentation and problem-solving.</p>
</div>
</li>
</ul>
</div>
<div class="glass-card rounded-xl p-8 hidden lg:block">
<h4 class="text-lg font-semibold text-white mb-4 text-center">Visualization: Half-Adder Circuit</h4>
<!-- SVG Visualization of a Half-Adder -->
<svg viewBox="0 0 200 120" xmlns="http://www.w3.org/2000/svg" class="w-full">
<style>
.label { font-family: 'Inter', sans-serif; font-size: 10px; fill: #94a3b8; }
.line { stroke: #38bdf8; stroke-width: 1.5; }
.gate { stroke: #5eead4; stroke-width: 1.5; fill: none; }
</style>
<!-- Inputs -->
<text x="5" y="20" class="label">A</text>
<line x1="10" y1="25" x2="50" y2="25" class="line" />
<text x="5" y="60" class="label">B</text>
<line x1="10" y1="65" x2="50" y2="65" class="line" />
<!-- XOR Gate for SUM -->
<path d="M50 15 C 60 20, 60 40, 50 45 Q 80 30, 50 15" class="gate" />
<line x1="50" y1="25" x2="55" y2="25" class="line" />
<line x1="50" y1="65" x2="55" y2="65" class="line" />
<line x1="75" y1="30" x2="150" y2="30" class="line" />
<text x="155" y="34" class="label">SUM</text>
<!-- AND Gate for CARRY -->
<path d="M50 55 H 80 C 95 55, 95 85, 80 85 H 50 Z" class="gate" />
<!-- Connections to AND gate -->
<circle cx="50" cy="25" r="2" fill="#38bdf8"/>
<line x1="50" y1="25" x2="50" y2="60" class="line" />
<line x1="50" y1="60" x2="55" y2="60" class="line" />
<line x1="50" y1="65" x2="50" y2="80" class="line" />
<line x1="50" y1="80" x2="55" y2="80" class="line" />
<line x1="90" y1="70" x2="150" y2="70" class="line" />
<text x="155" y="74" class="label">CARRY</text>
</svg>
</div>
</div>
</section>
<!-- Skills & Outcomes Section -->
<section id="outcomes" class="my-24 text-center">
<h2 class="text-3xl md:text-4xl font-bold tracking-tight section-heading">Skills & Learning Outcomes</h2>
<p class="mt-4 max-w-3xl mx-auto text-lg text-slate-400">By the end of this course, you will have mastered the fundamentals and be prepared for advanced topics in computer architecture and hardware design.</p>
<div class="mt-10 max-w-5xl mx-auto grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-6 text-left">
<div class="bg-slate-800/50 p-4 rounded-lg border border-slate-700">Analyze, design, build, and debug digital circuits.</div>
<div class="bg-slate-800/50 p-4 rounded-lg border border-slate-700">Apply Boolean algebra to evaluate and optimize circuit design.</div>
<div class="bg-slate-800/50 p-4 rounded-lg border border-slate-700">Gain familiarity with CAD tools for logic design and simulation.</div>
<div class="bg-slate-800/50 p-4 rounded-lg border border-slate-700">Simulate the workings of a microprocessor.</div>
<div class="bg-slate-800/50 p-4 rounded-lg border border-slate-700">Program instruction sets at the hardware level.</div>
<div class="bg-slate-800/50 p-4 rounded-lg border border-slate-700">Build a strong foundation for advanced hardware topics.</div>
</div>
</section>
</main>
<!-- Footer -->
<footer class="mt-24 pb-8 text-center text-slate-500">
<p>© 2024 Digital Design Fundamentals. All rights reserved.</p>
<p class="text-sm">Inspired by ASU's EEE120 curriculum.</p>
</footer>
<script>
document.addEventListener('DOMContentLoaded', function () {
const accordions = document.querySelectorAll('.accordion-toggle');
accordions.forEach(button => {
button.addEventListener('click', () => {
const content = button.nextElementSibling;
const icon = button.querySelector('svg:last-child');
// Toggle active class for styling if needed
button.classList.toggle('active');
if (content.style.maxHeight) {
content.style.maxHeight = null;
icon.style.transform = 'rotate(0deg)';
} else {
// Close other open accordions
accordions.forEach(otherButton => {
if (otherButton !== button) {
otherButton.nextElementSibling.style.maxHeight = null;
otherButton.querySelector('svg:last-child').style.transform = 'rotate(0deg)';
}
});
content.style.maxHeight = content.scrollHeight + "px";
icon.style.transform = 'rotate(180deg)';
}
});
});
});
</script>
</body>
</html>