functional testing
**Functional Testing** is a **validation methodology where the device is tested by running its intended operations** — verifying that the chip performs its designed function correctly (e.g., executing instructions, processing data) rather than just checking individual transistor parameters.
**What Is Functional Testing?**
- **Definition**: Apply real-world input patterns -> Check output matches expected results.
- **Level**: Higher-level than structural tests (scan, IDDQ). Tests the *behavior*, not the *structure*.
- **Vectors**: Test patterns often generated from RTL simulation or derived from application code.
- **Speed**: Slower than structural testing but catches bugs that structural tests miss.
**Why It Matters**
- **Silicon Validation**: Confirms that the chip does what the designer intended.
- **Customer Confidence**: The final check before shipping. "Does this CPU actually run code correctly?"
- **Bug Detection**: Catches design bugs (not just manufacturing defects) that escape structural testing.
**Functional Testing** is **the real-world exam** — the ultimate proof that a chip can do its job, not just that its transistors work individually.