How to Characterize a PCB Transmission Line by extracting the S-parameter Touchstone File

Rate this post

Determining the scattering parameters of a transmission line is a common procedure for designing electronic transmission lines, as well as physical circuits, packages, and connectors.

In real-world applications, this characterization is typically performed using a Vector Network Analyzer (VNA). However, it can also be derived directly from the physical layout (PCB) without the need for fabrication.

The S-parameters describe how power is reflected or transmitted through a network

Extracting the scattering parameters for a specific frequency range using the tool Cadence Sigrity PowerSI is not a straightforward process. In this step-by-step guide, we will walk through the necessary steps to generate a Touchstone S-parameter file from a PCB layout.

What is an S-Parameter File

The S-parameters (Scattering Parameters) describe how RF signals behave, representing the reflection and transmission characteristics of the network in the frequency domain.

When operating at high frequencies, it is challenging to measure voltages, currents or impedances directly and the signal integrity becomes a major problem.

An S-parameter file stores the S-parameter coefficients (S11, S21, etc.) in a structured format for different frequencies.

There are different file formats, but the most standard and popular is the Touchstone format.

  • .sNp (Touchstone Format) – Most common, where n indicates the number of ports (e.g., .s2p for 2-port networks).
  • .rfs file is a Cadence spectre s-parameter file extension, not widely used, but useful if you are using the Cadence environment.

Considering a simple 2 port system of the following figure, the 4 component matrix is formed by:

  • S11 is the input reflection coefficient when the output is matched.
  • S22 is the output reflection coefficient when the input is matched
  • S21 is the forward transfer coefficient (also known as transmission coefficient) with the output matched. It is the characteristic of a filter, the loss of a transmission line or the gain of an amplifier.
  • S12 is the reverse transfer coefficient. In interconnection, S12 = S21 (reciprocal connection). The S12 parameter is important to determine the stability of the system.

An S-parameter file look like:

Tool Sigrity PowerSI

Sigrity PowerSI (Signal Integrity) is a high-frequency electromagnetic (EM) simulation tool from Cadence used primarily for analyzing PCB and IC package behavior to ensure reliable signal integrity. It simulates S-parameters, insertion loss, return loss and crosstalk from a certain circuit design.

There are several software tools that can generate the S-parameter file from a PCB layout. For example, Ansys HFSS, Keysight ADS, Sonnet EM or Sigrity PowerSI among others. Almost all of them require paid licenses.

In this example, I am using Sigrity PowerSI because it is included in many Cadence License packages, so I had it available to use. Nevertheless, Ansys and Keysight are also powerful and good options.

PowerSI is a non-intuitive tool, but powerful once you dominate it. It reminds me to Virtuoso, made from the same vendor… The tool was originally developed by Sigrity, which was acquired by Cadence in 2012 for about 80M$.

Step by Step Guide

Let’s start the s-parameter extraction from a PCB layout.

1- Create the PCB

For simple PCBs, I like to use KiCad, because it is easy and complete enough to make basic designs. Any other program like Eagle, Altium, OrCAD, Allegro X, etc. can be also used. The choice of PCB design software depends on your preferences and the complexity of the design. KiCad is relatively complete and open source, but I would not recommend it for complex designs.

2- Export PCB

Once your PCB is ready, you can export with different file type. For example, ODB++ (it creates a zip file with all the subfiles) or DSN are commonly used.

In KiCad, you can easily export the PCB by going to File>> Fabrication Outputs>> ODB++ Output File… Other PCB design software like Altium or Allegro will have similar export options, but the procedure may vary slightly.

Take the export file and bring to your Sigrity PowerSI environment.

3- Import in Sigrity PowerSI

Launch PowerSI and then import the previously exported PCB file by clicking on “Load Layout File”

The next step is to configure the PCB stackup, including the layer thickness and materials used.

Then, select the materials and thickness of the PCB stackup by choosing the dielectric and the copper properties. For this simple 2 layer PCB, I selected the standard FR4 dielectric with a 1mm of thickness and standard 1oz copper conductor with 34um thickness.

Configure the ground nets. Open the Net Manager in the main toolbar or in Setup>> Net Manager. Identify in the net that corresponds to the ground plane.

Port Generation

Defining ports correctly is highly important for S-parameter extraction. Sigrity is extremely precise… so, it is essential to accurately indicate where the entry and exit points of signals in the PCB are located. Proper port definition ensures an accurate extraction of S-parameters and therefore, leads to reliable simulation results.

In Sigrity PowerSI, there are several methods for generating ports, but in my opinion, the most straightforward method is from the main tab menu. Before creating ports, make sure the Port Menu in the main toolbar is enabled (it is disabled by default). Right-click on the toolbar and select “Port”.

To define the ports, click on the “New Port” button (as shown in the picture below) and assign a port name along with the number of ports. In this example, we are working with a 2-port network, thus only 2 ports (IN and OUT) are needed.

Once the port is created, to modify its name, go to Setup>> Port… In the Port Manager window, double-click on each port to rename it accordingly. You can also create new ports from this window.

Attach the nodes to ports. Each port must have at least one positive and one negative node connected. Click on the “+” and “-” symbols in the Port main toolbar.

First, make sure that the “select node” button is activated.

Nodes

The nodes are represented as tiny dots in Sigrity PowerSI. Only nodes are possible to be attached to ports.

If more nodes are needed, click on the “Add Node” button in the toolbar and place it where you want.

To assign nodes to ports: Select first the positive node in the PCB. Then click on the + symbol to attach that node to the positive node of the selected port.

Remember to first select a node and then click on the red positive symbol. The same procedure applies to the negative node.

The created port looks like:

It is important that the circuit ports have the nodes well-defined. For example, in GSG coplanar waveguides make sure to use a ground node near the output pin.

Configure the port impedance in the port window. By default is 50Ω, but it can be adjusted differently for power nets or differential pairs.

Include the Vias

Vias play a crucial role in multi-layer PCB boards, as they provide electrical connections between different layers.

I experimented that the vias are not always automatically recognized by Sigrity PowerSI from the exported PCB. In my case, vias from KiCad were not interpreted as a connection between layers by Sigrity.

For that, vias need to be manually added . Click on the “Add Via” button. Then, click on the PCB layer position and select the starting and ending layer (usually the upper and lower layer). The window editing window will prompt.

Tip: the Via Editing mechanism and window is not really intuitive, so follow the “Hints” in the Via Editing window.

Set the simulation frequencies

Chose the range of frequency at which the PCB is going to be simulated.

The frequency range should be wide enough to capture the relevant signal behavior, including harmonics, while maintaining a reasonable simulation time.

Depending on the operating frequency range of your PCB, it is recommended to include higher frequencies to include sufficient harmonics for a precise representation of the system. A general rule of thumb is to set the maximum simulation frequency at least 3 times the maximum frequency (3rd harmonic).

Additionally, it is suggested also to include the first 3 harmonics of the rising or falling time frequency, if possible. This guarantees that the extracted S-parameters accurately capture high-frequency effects.

To configure the number of frequency points, click on “Setup Simulation Frequencies” to modify the frequency range and the frequency resolution. The following window will appear:

Multiple segments with different resolutions can be configured in order to save simulation time. Just click on the “Customize” button to edit. In this example, my frequency of interest is 5GHz, so I can extract more s-parameters point in this frequency range.

And last but not least, save the design as a Sigrity layout design (SPD file) in File>> Save, if not Sigrity will complain before running the simulation.

Run the S-parameter Simulation

Finally, after all the setup is done, it is time to click the “Start Simulation” button!!

4- Explore the resulting S-Parameters

Once the simulation is finished, you can analyze the extracted s-parameter to evaluate the performance of the transmission network. Right after the simulation is complete, a plot of the input port voltage reflection coefficient (s11, s22, etc) will be shown. Tis view is named in Sigrity as “Network Display”.

To switch views, click on “Check S-Parameter by BBS” to display the full S-parameter matrix.

Switch to Frequency Domain Results (FD Results) to display the frequency-dependent behavior of the S-parameters in both linear and logarithmic scales.

The zoom and navigation in the graph is not so intuitive and user-friendly. To zoom in and out, use the blue arrow icons and the mouse wheel. Hold the mouse wheel to move the graph.

The reverse voltage gain, S21 and the forward voltage gain, S22 can be isolated in a single plot:

Interpreting the S-Parameters:

  • S11 and S22: These parameters show the reflection coefficient at the input and output. Ideally, you want these values to be as low as possible (close to -∞ dB) for minimal signal reflection. Reflections indicate mismatches in impedance, which can cause signal integrity issues.
  • S21: The forward voltage gain (or loss) tells you how much of the signal is transmitted from the input port to the output port. A high S21 value indicates good transmission with minimal attenuation.
  • S12: The reverse voltage gain measures the signal that is transmitted in the reverse direction (input to output). In systems with good reciprocal symmetry, S12 should be equal to S21.

5- Export to an S-Parameter File

Once the resulting s-parameter are analyzed and you are satisfied with them, the next step is to export to the simulated data to a standard s-parameter file format, which can be used for simulating the transmission network by third party tools, such as Cadence Virtuoso.

To begin the export process, go to the Extraction Settings window to configure various setting about the export, such as the output file type, name, location and other parameters.

Click on Start Extraction to begin the process. Note that this can take some minutes to one hour.

The default file location is awkward. A new folder will be created for each performed simulation in the working directory. The folder name is BBSResult_DESIGNNAME_MMDDYYYY_HHMMSS_XXXXXX_BBS. Inside this folder you will find the exported s-parameter files and the error and warning report.

The exported S-parameter file can now be used in other simulation environments, such as Cadence Virtuoso or other tools that support the Touchstone format. This is useful if you need to incorporate the S-parameters into a larger system simulation or perform additional signal integrity analyses.

Leave a Comment

Your email address will not be published. Required fields are marked *