COM, or “Channel Operating Margin,” has become a leading metric in the development of serial links. Why is that? …and where did it come from? More importantly, how do I use COM effectively in my designs? This post is the first of a 3-part series that explores how COM relates to serial links, SiSoft tools, and your design process.
In Search of a Line
If you play tennis you know that “lines” are helpful. Is that serve or smash “in” or “out”? A tennis court’s lines are well-defined, bound and simplify the game, and allow you to focus on what you came to do: play. Whether you’re playing a sport or driving a car, lines are useful.
Those of us designing serial links searched for a line for many years. Prior to serial links we had a clear line called “timing” – primarily setup and hold time requirements. While these specs guided SI decisions when the clock ran around the data (Common Clock) and next to the data (Source Synchronous), how do we apply them when the clock is embedded into the data? And so we used “eye openings” as one way to grapple with signal timing margins. This was a bit awkward during the first decade of serial links (2000 to 2010), while models and simulators simultaneously struggled with the “newness” of serial links.
Indeed, eye openings are a great way to measure Active signal performance. During that first decade model formats and simulators arrived empowering us to simulate meaningful eyes. Oddly enough, while our eye simulations achieved correlated accuracy, it was difficult to get a “line” to judge them against. Hard questions emerged such as:
- Which eye to we use? …at the package, die, or Rx Latch? All three?
- What EQ assumptions should we use? …at the Tx and the Rx?
- What probability should I measure at? Previously a signal either worked or caused system failure.
Given the lack of clear answers or a standard way to characterize components it was – and still often is - difficult to get a “line” regarding acceptable eye openings from either IC vendor, Serial Standard, or both. This left our simulated eyes “all dressed up with nowhere to go”, meaning we believed them yet were unsure how to quantify their efficacy. And so we used engineering judgment to invent lines, allowing us to use simulation results to improve system designs.
In parallel with emerging eye simulation techniques an alternative and simpler characterization method arrived: Passive analysis. This idea dispenses with the complexities of active Tx/Rx components and instead measures the behaviors of the passive interconnect between them. Metrics and masks for Insertion Loss, Return Loss, Mode Conversion, Insertion Loss Deviation, Crosstalk, and more combine to provide “lines” to quantify and judge channel performance. Nice. Now the simulation and/or lab characterization could focus on items under system designer’s control. But are these “lines” meaningful? Is it possible to ensure system-level performance without factoring in behaviors of the active components? PCI Express said no.
From its beginning, PCI Express – arguably the first ubiquitous serial standard – stated it’s impossible to ensure system performance using only a passive metric. As the PCIe 1.0a Specification states: “Although loss vs. frequency is useful in understanding how to design effective interconnect, the timing and voltage margin measured in the TX and RX eye diagrams end up being the ultimate constraints of insertion loss.” In other words, while passive metrics help guide interconnect design decisions, active characteristics must be factored in to determine system performance. That being true, we’re ready to consider COM.
COM straddles the fence between passive and active compliance, absorbing passive channel models while adding in an array of active component characteristics. Based on a complex set of mathematics, COM answers the "will it work?" question with a single number: 3 dB. If that sounds too good to be true, understand that part of COM's acceptance lies in the fact that it dared to offer a credible figure of merit when very few would. COM is essentially a signal to noise ratio, pitching Active signal transmission levels against perturbations caused by Passive characteristics. And there you have it, Active and Passive intelligently combined. Today it has become an accepted compliance metric, or “line” if you will.
Interestingly, COM was originally developed as a negotiation tool between IC and System designers. Is your channel good enough for my IC? Let’s check COM. Is your IC good enough for my channel? Ditto. When I see the complexity in COM, I picture the debates, negotiations, and compromises that led to its abundance of parameters. Because it was integrated into MATLAB, COM became an adaptable, executable, and transportable compliance checker that had already proven its usefulness before it entered the public domain through the IEEE 802.3bj Committee. And still today, as technology’s negotiations continue to advance COM, it’s possible to download and utilize the latest MATLAB implementation of COM.
Generating COM from SiSoft QCD
SiSoft tools are well-integrated with MathWorks®/MATLAB products, resulting in 3 ways SiSoft QCD users can generate COM:
- Generate COM from the QCD GUI, accessing MATLAB in the background (Tools -> Run COM Interface)
- Generate COM from the MATLAB GUI, accessing QCD-generated channel models
- Implement QCD’s native COM-like “Rule” (MATLAB not required)
The option you use will depend on your tool preference and availability. I will explain these options and how to use them effectively in parts 2 and 3 of this series. In the meantime, watch this video for an overview of running COM in QCD:
COM (Channel Operating Margin) Video Series
- Learn about COM, the Channel Operating Margin metric and industry standard MATLAB® COM script
- Perform design space exploration using QCD and COM
- Perform COM analysis with QCD and IBIS-AMI models
Please enter your contact information below to continue to view this video.
Work or university email: