An open API service indexing awesome lists of open source software.

https://github.com/suniliitm/semiconductor-algorithms-portfolio

A curated portfolio of Data Structures & Algorithms (DSA) re-engineered for the Semiconductor Industry. Solving real-world problems in Yield Analytics, Process Control, and Equipment Firmware using Python
https://github.com/suniliitm/semiconductor-algorithms-portfolio

data-structures-and-algorithms fab-automation metrology physics process-control python semiconductors yield-engineering

Last synced: 3 months ago
JSON representation

A curated portfolio of Data Structures & Algorithms (DSA) re-engineered for the Semiconductor Industry. Solving real-world problems in Yield Analytics, Process Control, and Equipment Firmware using Python

Awesome Lists containing this project

README

          

# Semiconductor-Algorithm-Portfolio

### Bridging Computer Science & Wafer Fab Physics

**Author:** Dr. Sunil Kumar Samji
**Domain:** Semiconductor Manufacturing | Yield Engineering | Computational Physics
**Tech Stack:** Python, NumPy, Pandas, Jupyter Notebooks

---

## πŸ“– Overview
This repository demonstrates the practical application of **Data Structures & Algorithms (DSA)** to solve real-world engineering challenges in the Semiconductor Industry.

While standard coding interviews focus on abstract problems (e.g., "Invert a Binary Tree"), this portfolio translates those abstract concepts into **physical domain solutions**β€”from optimizing Robotic Arm trajectories (Equipment Control) to detecting Yield Excursions in time-series logs (Fab Analytics).

Each notebook in this repository presents a standard algorithm in two distinct industrial contexts:
1. **Context A: Fab Analytics (Process/Yield)** - Focusing on wafer maps, metrology, and statistical process control (SPC).
Equipment Control (Firmware/Hardware)** - Focusing on sensors, actuators, and PLC logic.
2. **Context B: Equipment Control (Firmware/Hardware)** - Focusing on sensors, actuators, and PLC logic.

---

## πŸ“‚ Portfolio Structure

### 1. Telemetry & Log Analysis
*Algorithms for processing high-frequency sensor streams and time-series fab data.*

| Engineering Concept | Context A: Equipment (Hardware) | Context B: Fab (Process) | Algorithm (LeetCode) |
| :--- | :--- | :--- | :--- |
| **Circular Buffer Search** | **Robotic Arm Encoder:** Finding a target angle in a sensor log that wraps around 360Β°. | **Shift Log Analysis:** Locating a specific timestamp in a 24-hour circular buffer. | Binary Search (LC 33) |
| **Signal Excursion Analysis** | **Power Burst Detection:** Identifying the max thermal load interval for chiller sizing. | **Yield Excursion:** Finding the specific "bad batch" sequence that caused yield loss. | Kadane's Algorithm (LC 53) |
| **Stable Process Interval** | **Command Buffer Sizing:** optimizing look-ahead buffers for unique command sequences. | **Random Sampling Verification:** Validating process stability by measuring unique bin runs. | Sliding Window (LC 3) |

### 2. Wafer Map Pattern Recognition
*Graph theory applied to spatial defect analysis and process flow logic.*

| Engineering Concept | Context A: Equipment (Hardware) | Context B: Fab (Process) | Algorithm (LeetCode) |
| :--- | :--- | :--- | :--- |
| **Defect Cluster Analysis** | **Particle Segmentation:** Grouping adjacent "ON" pixels in inspection images. | **Wafer Map Scratches:** Grouping adjacent failed dies to identify systematic scratches. | DFS / Union Find (LC 200) |
| **Process Flow Validation** | **Assembly Sequence:** Verifying hardware assembly order (O-Ring before Clamp). | **Recipe Logic Check:** Detecting circular dependencies (deadlocks) in process recipes. | Topological Sort / DFS (LC 207) |

### 3. Hardware State Control
*Bitwise manipulation for low-level register control and data integrity.*

| Engineering Concept | Context A: Equipment (Hardware) | Context B: Fab (Process) | Algorithm (LeetCode) |
| :--- | :--- | :--- | :--- |
| **Data Stream Reorientation** | **Endianness Conversion:** Reversing bits for legacy PLC-to-Server communication. | **Image Reconstruction:** Aligning "Serpentine" scan paths from AFM/SEM tools. | Bit Manipulation (LC 190) |
| **State Density Calculation** | **Parity Check:** Counting active bits to verify command packet integrity (EMI noise). | **Defect Complexity:** Calculating "Kill Ratio" based on active failure bits. | Hamming Weight (LC 191) |
| **Signal Glitch Isolation** | **Stuck Sensor Detection:** Using XOR to isolate a sensor that failed to reset. | **D2D Inspection:** Using XOR to isolate unique defects between Target and Reference dies. | XOR Logic (LC 136) |

### 4. Recipe Hierarchy Management
*Tree traversal algorithms for traceability and root cause analysis.*

| Engineering Concept | Context A: Equipment (Hardware) | Context B: Fab (Process) | Algorithm (LeetCode) |
| :--- | :--- | :--- | :--- |
| **Recipe Serialization** | **Instruction Queue:** Flattening hierarchical command trees for linear PLCs. | **Step Injection:** Flattening process flows for dynamic APC step insertion. | Tree Flattening (LC 114) |
| **Fault Origin Isolation** | **Common Utility Failure:** Finding the nearest shared valve/breaker for two failing chambers. | **Split-Lot Traceability:** Finding the last common process step for two failing wafers. | LCA (LC 236) |

---

## πŸ›  Usage
Each problem is contained in a Jupyter Notebook (`.ipynb`) with the following structure:
1. **Abstract:** The engineering theory behind the algorithm.
2. **Context A (Fab):** Python code with process-specific nomenclature (`wafer_map`, `thermal_budget`).
3. **Context B (Equipment):** Python code with hardware-specific nomenclature (`sensor_stream`, `encoder_angle`).
4. **Reference:** The standard Computer Science problem statement.

To run the notebooks:
```bash
git clone [https://github.com/](https://github.com/)[YourUsername]/Semiconductor-Algorithms-Portfolio.git
cd Semiconductor-Algorithms-Portfolio
jupyter notebook