Skip to content

cottman99/AI_RFIC_workflow

Repository files navigation

AI_RFIC_workflow

AI_RFIC_workflow is a research workflow for pixelized RFIC layout automation on top of Keysight ADS / RFPro.

It covers the full chain:

  1. generate or edit pixel-layout JSON templates
  2. create ADS workspaces, libraries, cells, layout views, and rfpro_view
  3. run EM simulations and export Touchstone / CSV / ADS datasets
  4. convert layout and EM results into HDF5 datasets
  5. 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.

License Model

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:

Start Here

If you are new to the repository, read these in order:

  1. SETUP.md
  2. QUICKSTART.md
  3. CONFIG_REFERENCE.md
  4. WORKFLOW.md
  5. ARCHITECTURE.md
  6. ADS_MULTI_PYTHON.md

Full documentation map:

Repository Structure

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

Recommended Mainline

The recommended public execution line is:

  1. Data_process/JSON_layout_create/
  2. parallel_version/
  3. Data_process/HDF5_create/
  4. Pytorch_Model/

serial_version/ should be treated as legacy/reference material only.

Role Of Layout JSON Generation

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 automation
  • Data_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.

Runtime Model

This repository uses two different Python contexts.

1. ADS Automation Host

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 torch or scikit-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"

2. HDF5 / PyTorch Host

Use a separate Python environment for HDF5 creation, training, and verification.

Install packages with:

pip install -r requirements.txt

Important:

  • 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.txt is for the HDF5 / ML environment

See ENVIRONMENTS.md.

What Has Been Validated

Validated on March 10, 2026:

  • parallel_version/ single-sample workflow: passed
  • parallel_version/ 3-sample parallel batch workflow: passed
  • Data_process/HDF5_create/create_hdf5.py: passed on real generated .s2p files
  • Pytorch_Model/src/train.py: passed with smoke and retraining runs
  • Pytorch_Model/src/tools/verify_model.py: passed with a current 2-channel checkpoint

Validation evidence and compatibility notes:

Key Constraints

  • 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

Additional Documentation

About

A Keysight ADS/RFPro-based workflow for RFIC pixel-layout generation, EM simulation automation, HDF5 dataset creation, and CNN-based surrogate modeling.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages