Skip navigation
All Places > Keysight Blogs > EEsof EDA > Blog > 2017 > July

Welcome to Tim’s Blackboard! This is the place to find discussions on interesting topics related to signal integrity and power integrity.


This week we are taking a break from Signal Integrity. In this post, I will “demystify ultra-low impedance measurement.”



To measure ultra-low DC resistance, instead of using a traditional 2-terminal sensing, one uses 4-terminal Kelvin sensing to avoid contact resistance. Similarly, instead of using the 1-port method to measure low impedance of the Power Distribution Network (PDN), we use the 2-port shunt technique, shown in Fig. 1.


Fig. 1: 2-port technique for ultra-low impedance measurement.


In the following paragraphs, I will show you that not only does the 2-port technique give us more measurable signal levels, it also helps us reduce the effect of contact resistance. 


Why Use the 2-port Technique?

In the March 2010 issue of the PCB Design Magazine, Mr. Istvan Novak pointed out “S11 VNA Measurements Don’t Work for PDN Measurements.


It is true. If I assume the device under test, the PDN, has 10 mOhm impedance and port impedance is 50 Ohm, the S11 calculation,




gives me -0.003 dB, which is easily masked by noise or bad calibration.  


Even if I have an ideal VNA with no noise and with perfect calibration, the contact resistance from the test fixture to the device under test, typically in mOhm range, is large enough to influence the result of the measurement significantly.


Fig. 2: Illustration of contact resistance in series with impedance under test.


To tell how contact resistance impacts the impedance calculation, I need to derive the extracted impedance in terms of measured S11. Using the schematic shown in Fig. 2, I would write



According to the impedance extraction equation, the contact resistance is directly influencing the extracted impedance. Worse yet, since the impedance and the contact resistance are of the same order of magnitude, I know the impedance extraction result is highly sensitive to the contact resistance.     


2-port Ultra-low Impedance Measurement Technique  

Shown in Fig. 3, the 2-port ultra-low impedance technique connects the device under test in shunt with the ports and uses S21 to extract the impedance under test.

Fig. 3: Ultra-low impedance measurement uses S21 to measure and extract the impedance under test.


Note that because S21 is the response of port 2 by the excitation from port 1, it’s analogous to using port 1 as a current source and port 2 as a voltage probe in DC 4-terminal sensing.     


Applying S-parameter analysis to the circuit in Fig. 3, the S21 of the device under test is: 



Putting in the numbers (Zport = 50 Ohm, ZDUT = 10 mOhm),



Given a good VNA, I should be able to measure down to -68 dB.


As shown, the 2-port technique is more suitable for ultra-low impedance measurement. The measured S21 is in the -60 to -80 dB range, more approachable than the S11 in milli-dB range.


So far, I have shown S21 produces more measurable signal levels than the S11 measurement. Next, I will demonstrate another great feature of 2-port measurement: insensitivity to contact resistance.   


2-port Technique Reduces Impact of Contact Resistance

Using the previous result, I continue and solve for the ideal extracted impedance given measured S21,



As shown, if there were no contact resistance, above calculation with measured S21 gives exactly the impedance under test. Let’s see what happens when I put the contact resistance back in the setup.


Fig. 4: Illustration of 2-port low impedance measurement setup with contact resistance.


Found in Fig. 4 is the 2-port measurement setup with contact resistance included. With the contact resistance, the extracted impedance is no longer just the device under test. The result of the impedance extraction is





Now, knowing both the contact resistance and the impedance of the device under test are in the mOhm range, I know the resistance error constant, Kr, is dominated by the sum of the contact resistance:


In addition, if I am measuring a low impedance PDN, S21 is going to be a number much smaller than 1, that is,



Given the approximations, I can rewrite the 2-port extracted impedance,




Great news! Since both S21 and the contact resistance are small numbers, the product is going to be even smaller! Consequently, as long as I am measuring low impedance, where S21 is a small value, the 2-port measurement technique is NOT sensitive to the contact resistance.  


Ultra-low Impedance Measurement Demystified  

Having derived the impedance extraction equations for both 1-port and 2-port measurements, I have demonstrated that the 2-port technique is a wonderful method to measure ultra-low impedance.


The 2-port low-impedance technique can examine more than just PDN. Because of the ability to measure ultra-low impedance, the technique is also useful to investigate the skin-depth of copper traces and a capacitor’s equivalent series resistance and equivalent inductance.    


That's this week's Tim's Blackboard. See you in two weeks!


To download ADS to create a virtual ultra-low impedance 2-port measurement test bench:

Further Reading

Ultra-Low Impedance Measurements Using 2-Port Measurements

Welcome to Tim’s Blackboard! This is the place to find discussions on interesting topics related to signal integrity and power integrity.


This week on Tim’s Blackboard is “Your Channel, PRBS and the Eye.”



Previously on Tim’s Blackboard, we showed the convolution process and the helpful single pulse response. This week, we will extend the previously learned single pulse response (SPR) to explore Pseudo-Random Bit Sequence (PRBS) and the eye diagram, see Fig. 1.


Fig. 1: Left: A Pseudo-Random Bit Sequence. Right: An Eye Diagram.


What the Single Pulse Is Not Telling Us

Although the single pulse response gives us information on how a single pulse reacts to the channel under test, it does not tell us how previous pulses affect the shape of the current pulse.


In an ideal world, where the channel does not distort the signal with its frequency-dependent loss, the shape of each pulse is not dependent on other pulses. However, since we live in the real world, we often observe Inter-Symbol Interference (ISI) caused by rise time degradation, a consequence of frequency-dependent loss.  


Shown in Fig. 2 is the ADS simulation result of two different patterns followed by a single pulse pattern: 01000. After going through a channel with considerable frequency-dependent loss, the single pulse waveform comes after a string of one’s is not the same as the single pulse waveform comes after a string of zero’s. Because the previous symbols-string of one's-is interfering with the single pulse pattern, the voltage that is representing zero increased from 0 V to almost 0.3 V. If we are not careful, this increase would cause false triggering in the receiver. 


Fig. 2: Shown in ADS, the shape of the single pulse depends on the pattern before the pulse.


To add, although the single pulse response is helpful, it is rare for one to transmit or receive only a single pulse in practical high speed digital applications. Normally, the data pattern consists of different combinations of one’s and zero’s that we do not know a priori.


To mimic different data patterns and to characterize the level of ISI introduced by the channel, the Pseudo-Random Bit Sequence was born.


PRBS Pattern and the Channel

Shown in Fig. 3 is an example of PRBS. As the name suggests, the Pseudo-Random Bit Sequence is a sequence of one’s and zero’s that are independent of each other. The randomness provided by PRBS gives us some ideas on how the channel affects transmitted digital data.


Fig. 3: Example of a PRBS pattern at the transmitter side before going through the channel.


Much like the single pulse response, the response of the channel to PRBS is the convolution of the PRBS pattern and the impulse response of the channel.


From the single pulse response, we learned that after going through the channel, the sharp zero-to-one transition of a single pulse becomes a slower rising curve at the beginning. Also, the single pulse gains a longer tail (all thanks to frequency-dependent loss, which we will discuss in the future). In the same way, we should expect the received PRBS pattern to not have a sharp transition between the zero’s and one’s.


Fig. 4: After going through the channel, the sharp transition edges of the original PRBS pattern become slower rising and falling curves.


Fig. 4 shows the PRBS pattern after going through the channel. As expected, after going through the channel, the sharp transition between zero’s and one’s are reduced by the channel impulse response.


Eye Diagram: The Comprehensive Version of PRBS

Although PRBS gives us an idea on how the channel affects digital data pattern, the information is scattered throughout a large time scale. It is hard to come up with a figure of merit to describe the quality of the channel by looking at data that goes on and on in time. 


To create a better representation of the channel, we can manipulate the received PRBS waveform using our knowledge of the data coming in.


For example, if we are sending data at 10 Gbps, we know the unit interval (UI) of each bit is 0.1 nsec. Using our knowledge of the UI, we can “slice” the long received PRBS waveform and examine the waveform one UI at a time. Now, because we are also interested in the transition from one bit to another, we increase our observation window to 2 UI’s, corresponding to half of an UI before and half an UI after the current bit.


Fig. 5: Three example time slices of a received PRBS waveform. The data rate is 10 Gbps, corresponding to 0.1 nsec UI. To observe the bit transitions, the observation window is extended to 0.2 nsec. 


Shown in Fig. 5 are example “slices” of the received PRBS waveform. The eye diagram, which is the comprehensive version of the received PRBS waveform, is constructed by overlaying these observed partial waveforms on top of each other, as demonstrated in Fig. 6.


Fig. 6: Illustration of overlaying the three slices of PRBS waveform shown in Fig. 5 to create an eye diagram.


By combining many of these time slices, an eye diagram is formed. The resulting eye diagram for the example channel is shown in Fig. 7. According to the eye diagram, one would say the example channel is a good one because of the clear eye opening. With a clear eye opening, the receiver is able to distinguish the two different voltage levels at 100 psec.   


Fig. 7: The eye diagram result of the channel shows an open eye. The receiver can easily tell the high voltage level from low voltage level if a decision is made at 100 psec.


To further specify the quality of the channel, one can now quote the vertical amplitude measurements of an eye (eye height, eye level, etc.) and/or the horizontal timing measurement of an eye such as jitter or eye width.


How to Deal with a Closed Eye?

Although the example gives us a pretty clean and open eye, it is unlikely to always find such a pristine channel in practice. You are more likely to find a channel with an eye that looks like the one shown in Fig. 8.


Fig. 8: A channel that has an almost closed eye.


To deal with a closed eye, we will need to first find the root cause for the eye closure. We will do that in the next post!

That's this week's Tim's Blackboard. See you in two weeks!


To download a free trial of ADS to generate a PRBS pattern and an eye diagram:

Working with data tables is a basic skill every engineer learns early on in their career. When organized properly, tables can summarize a great deal of device data into a helpful information format, and that makes them extremely useful. A 1-page data table can pack as much punch as a thirty-page report that’s full of curves. The table significantly minimizes the time it takes engineers to find the information they're after, while also minimizing paper waste and saving trees!


But not every engineer wants their information displayed in the same tabular format. How the tables are created, organized and filled may differ from one engineer or application to another and that’s why the ability to customize tables is so critical. Doing so, allows engineers to derive the specific information that is so critical to optimizing their design. Unfortunately, generating tables and customizing them to meet specific needs is not always a straightforward task. And that can translate into wasted design time, added cost and slower time to market.


For those engineers wanting to quickly and easily customize tables, the answer comes in the form of Keysight Technologies’ Model Quality Assurance (MQA) solution. MQA is a well known, automated SPICE model validation software that allows engineers to check and analyze SPICE model libraries, compare different models, and generate quality assurance (QA) reports in a complete and efficient way. MQA 2017 extends these capabilities by introducing the Python Report Formatting System (PyRFS) module, which allows engineers to customize tables—either generate new tables or update existing tables—in .csv and .xlsx file formats.


PyRFS is simple enough to generate all sorts of tables quickly, with plenty of options to customize those tables in a flexible and scalable way. For engineers using MQA, that means the ability to sort, filter, formulate, format, and layout data in many different ways. It also enables them to query and have fine control over MQA project results.


And, because it’s Python based, engineers can even feel free to blend in their own favorite Python stuff. For you personally, having access to this functionality promises to cut your design time and speed time to market.


But, how do you leverage this module? To do that, I’ll walk you through a simple, yet complete flow for creating a .xlsx file using the table in Figure 1 as an example. The table filters and sorts W/L/T for certain device targets (Idsat).

excel example table for MQA module

Figure 1. Example table.

The example table comes from the QA result of one MQA rule “Model Scalability -> Check Idsat vs L,” where there are Idsat curves from 3 temperatures and different W and L. The demo project to reproduce this example can be found as $MQAHOME/kefrfs/python/demo/data/. The first few lines of the code for generating this table are shown in Figure 2.

python code for MQA module

Figure 2. Initial code for creating the table in Figure 1.


In Figure 2, line 1 and 2 import necessary Python modules; “os” is Python’s native module for the operation system, and “pyrfs” is the module that comes with MQA 2017. Line 4 gets the current python file’s directory, while line 5 locates the example MQA project folder’s path. Line 6 prepares the option called “config,” which specifies that the project’s path is to be fed into line 7. Line 7 then creates a data provider “dp”, and gives it access to all of the information of the specified project for you to query.


On line 9, the “dp.query()” function is called by specifying “rule_group,” “rule,” and “check” as arguments. The values of these arguments are the folder names, respectively. The “dp” object has been narrowed down to information only from this node. Lines 10 – 12 are designed to get W/L/T as conditions, while line 13 gets Idsat as a target.


Figure 3 shows the next few lines of code. On line 15, a “table” is created by calling “rfs.ReportTable()” and giving “example_idsat_table” as its name. At the end, a file with this name is created.

 additional lines of code for MQA module

Figure 3. Additional lines of code need to generate the table in Figure 1.


Line 16 defines a RightLayout and associates it with the “table.” A Layout is how we fill up the table. RightLayout means PyRFS will automatically fill the table from left to right, starting from the top-left cell “A1” by default, and growing rows and columns as necessary so that you don’t need to worry about cell indices.


Line 17 adds W, L into the table with a few options to make them appear in one column with a certain format, ascending, and filtered by L=Lmin. Line 24 adds Idsat into the table, and repeats it in 3 columns because it is dependent on the 3 temperatures to be added in line 25. Once these constraints are well defined, lines 30 and 31 fill up and save the table, respectively.


From this simple example, it’s easy to see how useful the PyRFS module is and how helpful it can be in automating your table generation tasks. For more information on the PyRFS module functionality and step-by-step examples of how it can be used, refer to the “PyRFS Function List” at the end of the blog and check out the online PyRFS Tutorial at:


PyRFS Function List

The MQA 2017 PyRFS is a powerful Python module for easy, yet fully customizable table generation and reporting. Below is a summary of the functions that PyRFS provides:

  • Automatic extraction of constraints (data collections) from MQA result directories
  • Generation of tables and ability to save them as Microsoft Excel .xlsx files or .csv files on Linux and Windows platforms
  • Support for updating .xlsx files under Windows.
  • Support for sorting and filtering per user specification
  • Support for customized formatting of constraints in tables
  • Support for formulas calculated from other constraints in tables
  • Ability to divide data into different tables, sheets, or files per user specified conditions


apply for a free MQA trial

FREE Evaluation of MQA | Keysight EEsof EDA  

The fundamental goal in cellular and network wireless development is maximizing antenna performance while minimizing antenna size. In order to achieve this, antennas have increased in the number of array elements and in complexity of broadband networks, requiring highly accurate simulation programs for significant designs and tests. With ADS 3D EM simulation software, users can easily design and simulate many different types of antennas. EMPro can simulate the antenna in realistic surroundings, including the phone components, housing and even the human hand and head. Compliance testing can also be performed, such as specific absorption ratio (SAR) and hearing aid compatibility (HAC). Below are two examples of types of antennas you can design and simulate with ADS. Visit Keysight’s EM Applications Page for more examples!


  1. Multi-Band Planar Array Antenna

    Large-array antennas become more challenging when the antenna is used for multiple bands. The field solver required to handle the capacity and speed is a design challenge for many engineers. One approach to this challenge is to divide the EM problem into small “sub-cells” that are integrated individually without carrying out an EM simulation at the full structure level. However, the coupling between the sub-cells will not be taken into account.

    Using Momentum 3D Planar EM Simulator, you can design and simulate an entire multi-band planar array antenna for communication and radar applications with optimum accuracy. The complexity of this design requires a highly accurate simulation software, such as Momentum, to accurately characterize the antenna in terms of radiation and return loss.

    Figure 1: Using Momentum 3D Planar EM Simulator, you can design and simulate an entire multi-band planar array antenna for communication and radar applications.

  2. 8x16 Patch Array Antenna
    In order to create the desired directive radiation patterns, designers arrange multiple antennas so that their coexisting wave patterns add constructively or destructively in a specific formation. The main lobe antenna can be steered by changing the phase of excitations at each array element. Depending on the number of array elements and the complexity of the feeder network, the simulation of a patch array antenna can be quite challenging. Although simulation time and speed are mostly related to the problem size, another effect on simulation time is the frequency bandwidth.
    The EMPro FDTD simulation engine is preferred because it produces a wide band simulation result with a single simulation. No frequency sweeping is necessary. FDTD also uses less memory while speeding up the simulation utilizing GPU acceleration.

    patch array
    Figure 2: The EMPro FDTD simulation engine is preferred because it produces a wide band simulation result with a single simulation. No frequency sweeping is necessary.




These are two of many prevalent applications of ADS and EMPro that can be found on Keysight’s EM Applications Page. Apply for a free trial of EMPro today!