Part of Curriculum: Verilog Fundamentals (Module 2: Bitwise Inversion & NOT Logic)
View Full Roadmap →
Level 1 Easy ★ Flagship #2 10 pts ✓ Solved

NOT Gate — Bitwise Inversion

Digital Logic Fundamentals · combinational, logic-gates, easy, logic-gates-&-truth-tables

Implement a 1-bit inverter (NOT gate). When input is 0, output is 1; when input is 1, output is 0.

Write a synthesizable Verilog module named top_module matching the ports below exactly.
📐 Circuit Schematic Diagram
inoutNOT
⚡ Timing & Synthesizability Constraints

Timing Contract: Combinational propagation delay $t_{pd}$ across a single inverter stage.

RTL Constraints: Single-bit inputs and outputs. Synthesizable combinational RTL only.

Objective: Master bitwise negation operators (`~`) and fundamental CMOS inverting logic.

Prerequisites: Boolean logic inversion, truth tables, continuous assignments.
NameDirWidthDescription
ininput1Logic input
outoutput1Inverted logic output (~in)
Expected Waveform (Golden Timing Contract)
💡 Need Guidance? Progressive Hints (3 Levels)
Hint 1: Conceptual Direction & Hardware Primitives
Look for the bitwise NOT operator in Verilog.
Hint 2: Implementation Architecture & Approach
In Verilog, `~` is bitwise inversion, while `!` is logical negation. For single-bit signals both yield equivalent boolean results, but `~` is idiomatic for bit vectors.
Hint 3: Edge Cases, Timing & Verilog Syntax
Write `assign out = ~in;`.
🔒 Reveal Verified Reference RTL Solution (Click to expand)
⚠️ Self-Discovery Warning: Try solving and simulating first! Viewing the verified reference implementation will bypass the real debugging experience.
Verified Synthesizable RTL
module top_module(
  input   in,
  output  out
);
  assign out = ~in;
endmodule
Verilog-2001 / SV Saved
Font: |
// Click Run Tests (or press Ctrl+Enter) to compile your RTL and simulate against hidden testbenches.
Simulation Timing Diagram (VCD Waveform)
100%
No simulation waveform yet. Run tests to simulate and generate VCD traces.
No compilation run yet. Syntax warnings and elaboration messages will appear here.
No simulation output yet. Raw stdout from vvp will appear here.

RTL Problems / Level 1 · Digital Logic Fundamentals

What You Will Learn

By solving NOT Gate — Bitwise Inversion, you will acquire core industry skills:

  • Synthesizable hardware modeling in standard Verilog-2001 / SystemVerilog.
  • Correct handling of interface port contracts, edge-triggered clocks, and active-low/high resets.
  • Simulation waveform interpretation and debugging using timing diagrams (VCD traces).
  • Architectural avoidance of timing violations, glitching hazards, and synthesis warnings.

Problem Statement & Requirements

Implement a 1-bit inverter (NOT gate). When input is 0, output is 1; when input is 1, output is 0.

Hardware design teams at leading semiconductor firms evaluate these exact port contracts, race-condition assertions, and corner cases during technical design reviews and ASIC engineer interviews.

Objective: Master bitwise negation operators (`~`) and fundamental CMOS inverting logic.

Prerequisites: Boolean logic inversion, truth tables, continuous assignments.

Port List & Interface Timing

The hidden testbench instantiates top_module. Module port names and bit-widths must match the interface contract exactly:

NameDirWidthDescription
ininput1Logic input
outoutput1Inverted logic output (~in)

Timing Constraints & Synthesizable RTL Rules

⚡ Synthesizable Implementation Guidelines

Timing Contract: Combinational propagation delay $t_{pd}$ across a single inverter stage.

Synthesis Constraints: Single-bit inputs and outputs. Synthesizable combinational RTL only.

Architectural Deep Dive & Implementation Walkthrough

In CMOS technology, an inverter consists of a complementary PMOS pull-up and NMOS pull-down pair. When `in = 1`, NMOS conducts connecting output to GND; when `in = 0`, PMOS conducts pulling output to VDD.

Common RTL Designer Pitfalls

⚠️ Common Mistakes to Avoid

['Confusing bitwise inversion (`~`) with logical NOT (`!`) on multi-bit vectors (though on 1-bit they evaluate the same, `!` reduces vectors to 1-bit boolean).', 'Leaving `out` undriven or unassigned.']

Silicon & Hardware Engineering Notes

🛠️ ASIC vs FPGA Hardware Considerations

An inverter is the most fundamental cell in standard-cell libraries (INV_X1). It serves as the primary benchmark for process node gate delay ($FO4$ metric).

Starter RTL Code

module top_module(
  input   in,
  output  out
);

  // Invert input signal

endmodule

Verified Reference Solution

🔒 Reveal Verified Reference RTL Solution
module top_module(
  input   in,
  output  out
);
  assign out = ~in;
endmodule

Related RTL Problems in Level 1

Frequently Asked Questions

What does NOT Gate — Bitwise Inversion require?

Implement a 1-bit inverter (NOT gate). When input is 0, output is 1; when input is 1, output is 0. Implement it as Verilog module top_module matching the listed ports.

Is this design combinational or sequential?

Tags: combinational, logic-gates, easy, logic-gates-&-truth-tables. If a clock signal is present in the port table, implement it as sequential logic; otherwise, use continuous assignments or combinational blocks.

How is my solution graded?

A hidden SystemVerilog testbench simulates your module in the cloud judge. You pass when all directed corner cases match the golden model and the VCD timing waveform matches the contract.

How does this challenge help with semiconductor interviews?

Technical interviewers at NVIDIA, Qualcomm, Apple, and Intel routinely ask candidates to code, debug, and explain the timing waveforms of NOT Gate — Bitwise Inversion to assess real-world synthesizability and race-condition awareness.