Skip to content

Conversation

@ErinXU2004
Copy link
Contributor

This PR brings the comprehensive dataset generation infrastructure from OpenFASOC/AL-255, which enables automated generation of large-scale circuit datasets with proper parameter space exploration using LHS and Orthogonal Array sampling.

Phase 1: File Porting
- Ported 35+ files from OpenFASOC/glayout/flow/blocks/elementary/LHS
- Core engines: run_dataset_multiprocess.py, elhs.py, run_lhs_files.py
- Cell implementations: transmission_gate.py, fvf.py, lvcm.py, current_mirror.py, diff_pair.py, opamp.py
- Evaluation framework: evaluator_wrapper.py, verification.py, physical_features.py
- Analysis tools: analyze_dataset.py, assemble_dataset.py, dataset_curator.py
- Documentation: HowToRun.md, multiple README files
- Test files and utilities

Phase 2: Path Adjustments
- Fixed 97 import statements across 15 Python files
- Changed glayout.flow.* → glayout.* (blocks, pdk, primitives, routing, spice)
- Changed glayout.pdk.util.* → glayout.util.*
- Modified robust_verification.py to auto-detect PDK paths
- Removed hardcoded path, added OpenFASOC fallback location

Testing:
- Successfully loaded 3464 parameter combinations
- Script initializes and starts dataset generation
- DRC, LVS, PEX framework validated

Infrastructure:
- Added Genv/ to .gitignore (virtual environment)

Next: Phase 3 - Multi-cell support implementation
Apply same PDK auto-detection fix to ATLAS version:
- Remove hardcoded path /home/adityakak/.conda/envs/GLDev
- Add fallback to OpenFASOC PDK location
- Try multiple common PDK installation paths
- Improve error message with list of attempted paths

This ensures consistent PDK detection across all modules.
@ErinXU2004 ErinXU2004 marked this pull request as ready for review December 28, 2025 00:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant