Hardware vs Software
Part of the Fundamentals section of Coddy's Verilog journey — lesson 2 of 90.
We write code for both software and hardware, but they work completely differently! Understanding these differences is the key to thinking like a hardware designer.
Software runs step by step. Hardware runs everything at once.
Software (C, Python, Java):
- Does one thing, then the next
- Variables appear and disappear
- Time is approximate
Hardware (Verilog):
- Does many things at the same time
- Circuits exist forever
- Time is exact
Example: A website loads steps by steps. A light switch turns on instantly. That's the difference.
Why it matters: When you write Verilog, you are describing a circuit that runs in parallel, forever, with precise timing.
Cheat sheet
Software vs Hardware execution:
- Software (C, Python, Java): runs step by step, variables appear/disappear, time is approximate
- Hardware (Verilog): runs everything in parallel, circuits exist forever, time is exact
When writing Verilog, you are describing a circuit that runs in parallel, forever, with precise timing.
Try it yourself
This lesson doesn't include a code challenge.
This lesson includes a short quiz. Start the lesson to answer it and track your progress.
All lessons in Fundamentals
4Operators Part 1
Arithmetic OperatorsModulo OperatorComparison OperatorsRecap - Simple MathBitwise Operators7Assign And Gates
Continuous AssignmentAssign With OperatorsBuilt In Gate PrimitivesAND OR NOT GatesXOR XNOR GatesRecap - Logic Gate Circuit10Decision Making
If StatementIf - ElseRecap - Simple ComparatorCase StatementCasex And CasezRecap - ALU Design5Operators Part 2
Logical OperatorsReduction OperatorsShift OperatorsConcatenation OperatorConditional OperatorRecap - Operator Challenge3Number System
Binary RepresentationSized NumbersUnsized NumbersNegative NumbersSpecial Values X And ZRecap - Number Formats6Modules
Module StructureInput And Output PortsInout PortsModule InstantiationPort Mapping By NamePort Mapping By OrderRecap - Build A Module9Procedural Blocks
Always BlockInitial BlockSensitivity ListBlocking AssignmentNon Blocking AssignmentRecap - Always vs Initial15Traffic Light Controller
Defining The StatesState Machine Logic