AI_RFIC_workflow is a research workflow for pixelized RFIC layout automation on top of Keysight ADS / RFPro.
It covers the full chain:
- generate or edit pixel-layout JSON templates
- create ADS workspaces, libraries, cells, layout views, and
rfpro_view - run EM simulations and export Touchstone / CSV / ADS datasets
- convert layout and EM results into HDF5 datasets
- train a PyTorch CNN surrogate model that predicts EM responses directly from layout tensors
The repository is publishable and the main technical flow has been runtime-validated, but it still reflects a research workflow rather than a polished end-user product.
This repository uses a mixed noncommercial license model:
- source code and scripts: PolyForm Noncommercial 1.0.0
- documentation and non-software materials: CC BY-NC 4.0
This means the repository is source-available for public research and other noncommercial use, but it is not an OSI-approved open source repository.
See:
If you are new to the repository, read these in order:
Full documentation map:
AI_RFIC_workflow/
|- Data_process/
| |- JSON_layout_create/ # layout JSON generation and editing
| `- HDF5_create/ # JSON + sNp -> HDF5
|- parallel_version/ # recommended public execution line
|- serial_version/ # legacy/reference implementation
|- Pytorch_Model/ # CNN training and verification
`- docs/ # public documentation
The recommended public execution line is:
Data_process/JSON_layout_create/parallel_version/Data_process/HDF5_create/Pytorch_Model/
serial_version/ should be treated as legacy/reference material only.
Data_process/JSON_layout_create/ is the upstream layout-template generation stage of the repository.
It is responsible for turning pixelized RFIC layouts into structured JSON inputs that are later consumed by:
parallel_version/for ADS / RFPro automationData_process/HDF5_create/for dataset construction
In practical terms, the layout generator and its GUI tools let a user:
- define multi-layer pixel matrices
- place ports on layout borders
- save or batch-export reusable layout JSON files
- create randomized layout variants for data generation
For first-time quickstart users, this stage is optional because the repository already includes sample JSON inputs under parallel_version/config_examples/json_layout/.
For real dataset production and long-term use, this stage is essential because it is the source of the layout templates that drive the rest of the workflow.
This repository uses two different Python contexts.
Use a normal Windows Python interpreter for the outer CLI/orchestration layer.
- This can be a standard
venv, Conda environment, or system Python. - It does not need
torchorscikit-rf. - It launches the ADS-installed Python for ADS-specific work.
Required environment variables:
$env:ADS_PYTHON = "C:\Path\To\ADS\tools\python\python.exe"
$env:ADS_INSTALL_DIR = "C:\Path\To\ADS"You can also start from:
Optional but commonly needed:
$env:PDK_DIR = "C:\Path\To\PDK"
$env:PDK_TECH_DIR = "C:\Path\To\PDK_Tech"
$env:SUBSTRATE = "your_substrate_name"Use a separate Python environment for HDF5 creation, training, and verification.
Install packages with:
pip install -r requirements.txtImportant:
- do not install repository ML dependencies into the ADS internal Python runtime
- ADS-internal Python is only for Keysight modules invoked by the automation layer
requirements.txtis for the HDF5 / ML environment
See ENVIRONMENTS.md.
Validated on March 10, 2026:
parallel_version/single-sample workflow: passedparallel_version/3-sample parallel batch workflow: passedData_process/HDF5_create/create_hdf5.py: passed on real generated.s2pfilesPytorch_Model/src/train.py: passed with smoke and retraining runsPytorch_Model/src/tools/verify_model.py: passed with a current 2-channel checkpoint
Validation evidence and compatibility notes:
- end-to-end execution requires Windows, Keysight ADS / RFPro, valid licenses, and an accessible PDK or reference technology library
- large HDF5 datasets and model checkpoints are intentionally not tracked by Git
- a historical 1-channel checkpoint exists only as a local legacy artifact and should not be treated as the canonical current model