Skip to content

Submission of SPARX: An Automated, Programmatically Generated Frequency-Scalable Six-Port Receiver in 130-nm CMOS#178

Open
simi1505 wants to merge 1 commit into
sscs-ose:mainfrom
simi1505:sparx-jku
Open

Submission of SPARX: An Automated, Programmatically Generated Frequency-Scalable Six-Port Receiver in 130-nm CMOS#178
simi1505 wants to merge 1 commit into
sscs-ose:mainfrom
simi1505:sparx-jku

Conversation

@simi1505
Copy link
Copy Markdown

SPARX: An Automated, Programmatically Generated Frequency-Scalable Six-Port Receiver in 130-nm CMOS

Authors: David Kellerer-Pirklbauer, Simon Dorrer, and Harald Pretl

Institute: Institute for Integrated Circuits and Quantum Computing (IICQC), Johannes Kepler University (JKU), Linz, Austria

Index Terms: Branch-line coupler, frequency-scalable layout, GDSFactory, Hairpin coupled-line bandpass filter, IHP-Open-PDK, mmWave, open-source EDA, power detector, programmatic layout, Schottky barrier diode, six-port receiver, Wilkinson power divider.

In this notebook, a tapeout-ready frequency-scalable mmWave six-port receiver is programmatically generated in Python using GDSFactory and the 130-nm IHP-Open-PDK with CMOS-only devices. SPARX stands for Six-Port Automated Receiver (RX).
The goal of this project was to integrate the IHP-Open-PDK and self-made RF devices into GDSFactory to test its limits with an actual tapeout. During development, we pushed the design toward full-frequency scalability, so changing the target frequency in the notebook automatically resizes the full RF layout.
The receiver consists of three branch-line couplers, a hairpin coupled-line bandpass filter, a Wilkinson power divider, and a power detector using Schottky barrier diodes (SBDs).

Note: This notebook only demonstrates the layout generation of the six-port receiver. For the full design flow, refer to the official SPARX GitHub repository, which includes S-parameter simulation of the passive RF structures with AWS Palace, a complete LVS, DRC, and RCX verification flow using KLayout, Magic, and Netgen, and SBD-based power detector design in Xschem with Ngspice and VACASK simulation. The entire flow is only controlled by a Makefile. Just install the IIC-OSIC-TOOLS container by JKU, clone the repository and run make all to build and verify the six-port receiver at any target frequency.

Copilot AI review requested due to automatic review settings April 14, 2026 20:14
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot wasn't able to review any files in this pull request.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@davkel99
Copy link
Copy Markdown

davkel99 commented Apr 26, 2026

We tracked down a dependency issue that was breaking the PCellWrapper implementation. That should be fixed now.

If your review happened in the last few days while this was still broken, could you please take another look?

Let us know if anything still seems off.

image

EDIT:
To clarify, the pull request needs no update. We fixed te problem in the dependency itself. So the notebook just needs to be started again.

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.

3 participants