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
- Host: GitHub
- URL: https://github.com/suniliitm/semiconductor-algorithms-portfolio
- Owner: suniliitm
- Created: 2025-12-22T11:00:58.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2025-12-22T13:42:37.000Z (3 months ago)
- Last Synced: 2025-12-23T22:28:00.816Z (3 months ago)
- Topics: data-structures-and-algorithms, fab-automation, metrology, physics, process-control, python, semiconductors, yield-engineering
- Language: Jupyter Notebook
- Homepage:
- Size: 58.6 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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