Show description
From Transistors to Thinking: The Logic Design Universe
From Transistors to Thinking: The Logic Design Universe
The EEE120 Journey
From Transistors to Thinking
Logic design isn't just about wires. It's about teaching rocks to do math. Here is the comprehensive story of how we bridge the gap between physics and code.
Level 1: The Alphabet
Level 2: The Words
Level 3: The Sentences
Level 4: The Brain
01
The Alphabet: Binary & Gates
Before we can write poetry, we need letters. In digital logic, our "letters" are 0 and 1 (Voltage Low and High).
Abstraction
We ignore the complex physics of transistors and pretend they are simple switches. Is it on (1) or off (0)?
Boolean Logic
We use math to describe decisions. "I will go outside IF it is sunny AND I have time." This is an AND gate.
AND
1 & 1 = 1
Else = 0
OR
0 | 0 = 0
Else = 1
NOT
!1 = 0
!0 = 1
XOR
Different = 1
Same = 0
02
MUX
"The Traffic Cop"
The Words: Combinational Logic
We combine letters to make words. Combinational logic circuits have no memory. Their output depends only on the current input right now.
The Multiplexer (MUX)
The most important circuit in CPU design. It's a digital switch. "If Select is 0, let path A through. If Select is 1, let path B through." This allows data to flow to different places.
The Adder
By clever arrangement of XOR and AND gates, we teach the circuit how to add binary numbers (1+1=10). This is the heart of the ALU.
03
The Sentences: Sequential Logic
Words are useful, but sentences tell a story over time. Sequential logic introduces Time and Memory.
The Flip-Flop
A gate that can "remember" a 1 or a 0 even after the input changes. It only updates when the Clock ticks.
Registers: A row of flip-flops to store a whole number (like 4 bits).
Counters: Circuits that count up (0, 1, 2...) on every clock tick. Essential for the Program Counter.
The Heartbeat (Clock Signal)
04
The Brain: The Microprocessor
This is the summit.…
From Transistors to Thinking: The Logic Design Universe
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>From Transistors to Thinking: The Logic Design Universe</title>
<script src="https://cdn.tailwindcss.com"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css" rel="stylesheet">
<style>
@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;600;700&family=Fira+Code:wght@400;500&display=swap');
body {
font-family: 'Outfit', sans-serif;
background-color: #0f0f1a;
color: #e2e8f0;
overflow-x: hidden;
}
h1, h2, h3, h4 {
letter-spacing: -0.02em;
}
.hero-bg {
background: radial-gradient(circle at 50% 50%, #2d1b69 0%, #0f0f1a 70%);
}
.card {
background: rgba(255, 255, 255, 0.03);
backdrop-filter: blur(10px);
border: 1px solid rgba(255, 255, 255, 0.05);
transition: all 0.3s ease;
}
.card:hover {
border-color: rgba(139, 92, 246, 0.5);
background: rgba(255, 255, 255, 0.05);
transform: translateY(-2px);
}
.diagram-line {
position: absolute;
background-color: #4b5563;
z-index: -1;
}
.glow-text {
text-shadow: 0 0 20px rgba(167, 139, 250, 0.5);
}
</style>
</head>
<body class="antialiased">
<!-- Hero Section -->
<header class="hero-bg min-h-[60vh] flex flex-col justify-center items-center text-center px-6 relative overflow-hidden">
<div class="absolute inset-0 opacity-20" style="background-image: radial-gradient(#6366f1 1px, transparent 1px); background-size: 40px 40px;"></div>
<div class="z-10 max-w-4xl mx-auto">
<div class="inline-flex items-center gap-2 px-4 py-2 rounded-full bg-indigo-500/10 border border-indigo-500/20 text-indigo-300 text-sm font-medium mb-6">
<i class="fas fa-atom"></i> The EEE120 Journey
</div>
<h1 class="text-5xl md:text-7xl font-bold text-white mb-6 leading-tight">
From <span class="text-transparent bg-clip-text bg-gradient-to-r from-indigo-400 to-purple-400 glow-text">Transistors</span> <br>to <span class="text-transparent bg-clip-text bg-gradient-to-r from-purple-400 to-pink-400 glow-text">Thinking</span>
</h1>
<p class="text-xl text-slate-400 max-w-2xl mx-auto leading-relaxed">
Logic design isn't just about wires. It's about teaching rocks to do math. Here is the comprehensive story of how we bridge the gap between physics and code.
</p>
</div>
</header>
<!-- Navigation Map -->
<nav class="sticky top-0 z-50 bg-[#0f0f1a]/90 backdrop-blur-md border-b border-white/5">
<div class="max-w-6xl mx-auto px-6 overflow-x-auto">
<div class="flex justify-center gap-8 py-4 min-w-max">
<a href="#level1" class="text-sm font-medium text-slate-400 hover:text-indigo-400 transition-colors">Level 1: The Alphabet</a>
<a href="#level2" class="text-sm font-medium text-slate-400 hover:text-purple-400 transition-colors">Level 2: The Words</a>
<a href="#level3" class="text-sm font-medium text-slate-400 hover:text-pink-400 transition-colors">Level 3: The Sentences</a>
<a href="#level4" class="text-sm font-medium text-slate-400 hover:text-blue-400 transition-colors">Level 4: The Brain</a>
</div>
</div>
</nav>
<main class="max-w-6xl mx-auto px-6 py-20 space-y-32">
<!-- Level 1: The Alphabet (Binary & Gates) -->
<section id="level1" class="relative">
<div class="absolute -left-4 top-0 text-9xl font-bold text-white/5 pointer-events-none select-none">01</div>
<div class="grid md:grid-cols-2 gap-12 items-center">
<div>
<h2 class="text-3xl md:text-4xl font-bold text-white mb-6">The Alphabet: Binary & Gates</h2>
<p class="text-slate-300 mb-6 text-lg">
Before we can write poetry, we need letters. In digital logic, our "letters" are 0 and 1 (Voltage Low and High).
</p>
<ul class="space-y-4">
<li class="flex items-start gap-4">
<div class="w-10 h-10 rounded-lg bg-indigo-500/20 flex items-center justify-center text-indigo-400 shrink-0"><i class="fas fa-bolt"></i></div>
<div>
<h3 class="text-white font-bold">Abstraction</h3>
<p class="text-sm text-slate-400">We ignore the complex physics of transistors and pretend they are simple switches. Is it on (1) or off (0)?</p>
</div>
</li>
<li class="flex items-start gap-4">
<div class="w-10 h-10 rounded-lg bg-indigo-500/20 flex items-center justify-center text-indigo-400 shrink-0"><i class="fas fa-code-branch"></i></div>
<div>
<h3 class="text-white font-bold">Boolean Logic</h3>
<p class="text-sm text-slate-400">We use math to describe decisions. "I will go outside IF it is sunny AND I have time." This is an AND gate.</p>
</div>
</li>
</ul>
</div>
<div class="grid grid-cols-2 gap-4">
<div class="card p-6 rounded-xl text-center">
<div class="text-4xl mb-2 text-yellow-400">AND</div>
<div class="text-xs text-slate-500 font-mono">1 & 1 = 1</div>
<div class="text-xs text-slate-500 font-mono">Else = 0</div>
</div>
<div class="card p-6 rounded-xl text-center">
<div class="text-4xl mb-2 text-blue-400">OR</div>
<div class="text-xs text-slate-500 font-mono">0 | 0 = 0</div>
<div class="text-xs text-slate-500 font-mono">Else = 1</div>
</div>
<div class="card p-6 rounded-xl text-center">
<div class="text-4xl mb-2 text-red-400">NOT</div>
<div class="text-xs text-slate-500 font-mono">!1 = 0</div>
<div class="text-xs text-slate-500 font-mono">!0 = 1</div>
</div>
<div class="card p-6 rounded-xl text-center">
<div class="text-4xl mb-2 text-green-400">XOR</div>
<div class="text-xs text-slate-500 font-mono">Different = 1</div>
<div class="text-xs text-slate-500 font-mono">Same = 0</div>
</div>
</div>
</div>
</section>
<!-- Level 2: The Words (Combinational Logic) -->
<section id="level2" class="relative">
<div class="absolute -right-4 top-0 text-9xl font-bold text-white/5 pointer-events-none select-none">02</div>
<div class="grid md:grid-cols-2 gap-12 items-center">
<div class="order-2 md:order-1 relative">
<!-- Visualizing a MUX -->
<div class="card p-8 rounded-2xl border-l-4 border-purple-500">
<div class="flex justify-between items-center mb-8">
<div class="space-y-2">
<div class="h-2 w-12 bg-slate-600 rounded"></div>
<div class="h-2 w-12 bg-slate-600 rounded"></div>
<div class="h-2 w-12 bg-slate-600 rounded"></div>
<div class="h-2 w-12 bg-slate-600 rounded"></div>
</div>
<div class="h-24 w-16 bg-purple-500/20 rounded-lg flex items-center justify-center border border-purple-500">
<span class="text-xs font-bold text-purple-300">MUX</span>
</div>
<div class="h-2 w-12 bg-purple-500 rounded animate-pulse"></div>
</div>
<p class="text-center text-sm text-slate-400">"The Traffic Cop"</p>
</div>
</div>
<div class="order-1 md:order-2">
<h2 class="text-3xl md:text-4xl font-bold text-white mb-6">The Words: Combinational Logic</h2>
<p class="text-slate-300 mb-6 text-lg">
We combine letters to make words. Combinational logic circuits have <strong>no memory</strong>. Their output depends <em>only</em> on the current input right now.
</p>
<div class="space-y-6">
<div>
<h3 class="text-xl font-bold text-purple-400 mb-2">The Multiplexer (MUX)</h3>
<p class="text-sm text-slate-400">The most important circuit in CPU design. It's a digital switch. "If Select is 0, let path A through. If Select is 1, let path B through." This allows data to flow to different places.</p>
</div>
<div>
<h3 class="text-xl font-bold text-purple-400 mb-2">The Adder</h3>
<p class="text-sm text-slate-400">By clever arrangement of XOR and AND gates, we teach the circuit how to add binary numbers (1+1=10). This is the heart of the ALU.</p>
</div>
</div>
</div>
</div>
</section>
<!-- Level 3: The Sentences (Sequential Logic) -->
<section id="level3" class="relative">
<div class="absolute -left-4 top-0 text-9xl font-bold text-white/5 pointer-events-none select-none">03</div>
<div class="grid md:grid-cols-2 gap-12 items-center">
<div>
<h2 class="text-3xl md:text-4xl font-bold text-white mb-6">The Sentences: Sequential Logic</h2>
<p class="text-slate-300 mb-6 text-lg">
Words are useful, but sentences tell a story over time. Sequential logic introduces <strong>Time</strong> and <strong>Memory</strong>.
</p>
<div class="card p-6 rounded-xl border-l-4 border-pink-500 mb-6">
<h3 class="text-lg font-bold text-white mb-2">The Flip-Flop</h3>
<p class="text-sm text-slate-400">
A gate that can "remember" a 1 or a 0 even after the input changes. It only updates when the <strong>Clock</strong> ticks.
</p>
</div>
<ul class="space-y-3 text-sm text-slate-400">
<li class="flex items-center gap-3"><i class="fas fa-check text-pink-500"></i> <strong>Registers:</strong> A row of flip-flops to store a whole number (like 4 bits).</li>
<li class="flex items-center gap-3"><i class="fas fa-check text-pink-500"></i> <strong>Counters:</strong> Circuits that count up (0, 1, 2...) on every clock tick. Essential for the Program Counter.</li>
</ul>
</div>
<div class="relative">
<!-- Clock Visual -->
<div class="flex items-end justify-between h-32 gap-2">
<div class="w-full bg-slate-800 h-[2px] relative">
<!-- Square Wave -->
<svg class="absolute bottom-0 w-full h-24 text-pink-500" viewBox="0 0 100 50" preserveAspectRatio="none">
<polyline points="0,50 20,50 20,10 40,10 40,50 60,50 60,10 80,10 80,50 100,50" fill="none" stroke="currentColor" stroke-width="2"/>
</svg>
</div>
</div>
<p class="text-center text-xs font-mono text-pink-400 mt-4">The Heartbeat (Clock Signal)</p>
</div>
</div>
</section>
<!-- Level 4: The Brain (The Microprocessor) -->
<section id="level4" class="relative">
<div class="absolute -right-4 top-0 text-9xl font-bold text-white/5 pointer-events-none select-none">04</div>
<div class="text-center max-w-3xl mx-auto mb-12">
<h2 class="text-3xl md:text-4xl font-bold text-white mb-6">The Brain: The Microprocessor</h2>
<p class="text-slate-300 text-lg">
This is the summit. We combine everything—Logic, Memory, MUXes, and Time—to create a machine that can follow instructions.
</p>
</div>
<div class="grid md:grid-cols-3 gap-6">
<!-- Card 1 -->
<div class="card p-8 rounded-2xl flex flex-col items-center text-center">
<div class="w-16 h-16 rounded-full bg-blue-500/20 flex items-center justify-center text-blue-400 text-2xl mb-6">
<i class="fas fa-search"></i>
</div>
<h3 class="text-xl font-bold text-white mb-3">Fetch</h3>
<p class="text-sm text-slate-400">
The "Address Generator" (Counter) points to a specific shelf in memory. The system grabs the number sitting there.
</p>
</div>
<!-- Card 2 -->
<div class="card p-8 rounded-2xl flex flex-col items-center text-center border-blue-500/50">
<div class="w-16 h-16 rounded-full bg-purple-500/20 flex items-center justify-center text-purple-400 text-2xl mb-6">
<i class="fas fa-language"></i>
</div>
<h3 class="text-xl font-bold text-white mb-3">Decode</h3>
<p class="text-sm text-slate-400">
The "Controller" looks at that number. It uses its internal ROM (Microcode) to translate "Number 1" into "Turn on the Adder circuits."
</p>
</div>
<!-- Card 3 -->
<div class="card p-8 rounded-2xl flex flex-col items-center text-center">
<div class="w-16 h-16 rounded-full bg-green-500/20 flex items-center justify-center text-green-400 text-2xl mb-6">
<i class="fas fa-play"></i>
</div>
<h3 class="text-xl font-bold text-white mb-3">Execute</h3>
<p class="text-sm text-slate-400">
The "Datapath" (ALU + Registers) obeys. Data flows through the MUXes, gets added/subtracted, and settles into the Accumulator.
</p>
</div>
</div>
</section>
<!-- Final Thought -->
<section class="text-center py-20">
<h3 class="text-2xl font-bold text-white mb-4">Why Does This Matter?</h3>
<p class="text-slate-400 max-w-2xl mx-auto leading-relaxed">
Every smartphone, laptop, and server on Earth works exactly like this 4-bit machine, just with billions more switches and faster clocks. You have just built the fundamental atom of the modern world.
</p>
</section>
</main>
<footer class="border-t border-white/5 bg-[#0f0f1a] py-12 text-center">
<p class="text-slate-500 text-sm">Generated for the aspiring Computer Architect</p>
</footer>
</body>
</html>