To DMS or AMS, that is the Question

A little preface to the article. We have been writing all about the current pandemic for the past two months. We now have to think post-Covid and get back to what we engineers do best; innovate, create and change lives. The following article is regarding how we look at chip sets and how to make them better and more reliable. Here goes:

Most people who call themselves verification engineers are DV Engineers where “D” should be “Design” but typically means “Digital”. Lots of UVM and formerly OVM Constructs, lots of System Verilog to verify products all the ways from CPU’s, GPU’s, Memory Controllers to interface elements to drive data across busses inside a chip. However, many parts in our everyday devices are really mixed-signal in nature. A mixed-signal chip is one that has both logic (interrupts, binary digits) and electrical signals (voltage, currents) as inputs and outputs. This includes parts that control your phones’ power (Power Management IC’s), covert current consumed by your battery to estimate how long your battery will last (Analog-to-Digital and Digital-to-Analog Data Converters), devices that capture signals from the cell towers and make possible your phone call or text and many others are examples of mixed signal devices. This means that the natural phenomena of voltages (think of it raising a bucket of water to a height so that it can flow), currents (the flow of water itself in this example) and impedances (the resistance that water has to overcome to flow) are at play while digital signals are going back and forth with full speed. So why do we have so many DV engineers and so fewer Analog Mixed Signal (AMS) engineers? And then what really is this “beast” DMS (Digital Mixed Signal)?

Well ladies and gentlemen, the questions above are discussed in many companies working to sell “Chips” to customers. A lot of the leadership at various companies have figured it out, a lot have not. To some, Mark Twain’s famous quote applies “It ain’t what you don’t know that gets you into trouble. It’s what you know for sure that just ain’t so.” Companies like “the fruit company” have pushed their vendors to adopt DMS as their verification methodology for mixed signal chips. But does having DMS as the Verification Methodology make sense? Does it have to be the only verification methodology or does it complement other forms of verification? To answer these questions and ultimately the question “To DMS and AMS or ……” we will have to look at evolution of chip sets and how these verification methodologies evolved.

From the beginning of chip sets, that is from 1970’s to 1990’s, most (but certainly not all) chip development was done by analog designers. There are some false stereotypes that these were long white-haired hermit type guys who spent days, nights and weekends working with design tools that are now considered antiquated. The design engineers would come up with designs and hook them up together and create a chip. We use fruits of their designs every day without knowing about them. Several companies have been started by such guys. Over time, the chips became more and more complex and needed extensive digital control. Engineering Design Automation (EDA) companies began coming up with tools to run analog and digital parts of the chip simultaneously. Standards committees made important contributions in coming up with System Verilog standards to accommodate both design and verification. More and more chips needed to be run with both analog and digital parts together. So, what is the Big Fu…. Deal (Big Fundamental Deal) ?

The answer lies in how the analog and digital parts of the chip are run at a fundamental level. Think of them as a carriage drawn by two horses, one fast but shallow (let’s call it Carlo) and the other slow but deep and thoughtful (let’s call him Aldo). The analog “engine” is like the slow(er) moving government bureaucrat that has to look at everything before taking any action. Indeed, analog solver solves the whole analog design for each (time) step. A lot of the times the analog solver cannot solve for the next step in time and crashes out (called convergence failures for failure to solve a differential equation matrix) or sometimes take a step back and re-calculate. The digital solver a.k.a. event-based solvers keeps on moving forward much faster but does not deal with continuous time phenomena. The EDA simulation tools keep these two horses working together.

What does management want? They want things done right , cheap and fast with all of them having the highest first priority. It’s like having a car with the acceleration of a Ferrari with the fuel consumption of a Prius and costing as much as a Corolla. The secret (if any) of mixed signal simulations is to push as much of the computation as possible to Carlo(digital) and use Carlo (analog) only if and when necessary. Digital Mixed Signal (DMS) uses Carlo only, i.e. the whole simulation is done in the event-based solver while (AMS) used both analog and digital. The secret if any for AMS is to push as much of the processing as possible in the digital domain and leave only the necessary processing in analog. So why don’t we just use DMS and forget all about AMS? That is our Ferrari-Prius-Corolla isn’t it? Not so fast!

DMS entails writing good models (what entails a good model is a separate discussion for the next posting) representing the functionality of analog blocks. It needs to use a certain “netlister” (the netlister is the tool that translates the full chip into a file). “Digitizing” an analog signal entails translating the signal to a binary logic (high or low) signal or turning it into a real number (like 1.8, 5.0, 3.3 etc.). There is inherently a loss of information in this process. For an overwhelming number of times, this abstraction causing the loss of information is fine for most purposes. Until it is not. There are certain drawbacks with DMS not being able to handle some phenomenon well. Some examples are inter-block interactions, high impedance being not high enough, power consumption, leakage currents etc. However, it runs very fast and can provide important system level information before the chip design is ready. For certain class of chips (Audio and RF chips come to mind), DMS is one of the few methods available to run full-chip simulations in decent time. With accurate modeling, the analog behaviors can be closely approximated such that the results are within 3-5% of the analog solver results. My former colleagues at Dialog Semiconductors were one of the best exponents of DMS methodology. The licensing cost of DMS is also lower than that of AMS; AMS simulations can pull up to 6 licenses while DMS typically pulls 2 licenses. For those who may not be aware, EDA Companies charges a pretty penny for its licenses.

So why does AMS even exist? It is very expensive in licenses, takes a while to setup, has lots of convergence issues, runs slower than DMS and … BUT… if you have lots of inter-block interactions, want to keep an eye on power consumption, have analog designers to write models, don’t want to digitize everything and preserve the electrical nature of signals while achieving 10-100X speed increase over pure analog schematics then AMS is for you. You will be able to digitize fast moving clocks that are mostly responsible for slowing down simulations while preserving the true essence of the nature of the circuits. While AMS is expensive, it is worth it. One gets to develop models that preserve the electrical nature of blocks to the extent needed while turning simulation slowing clocks to digital domain. License cost is there but most companies negotiate licenses in bulk and have a dynamic assignment of licenses. Modeling can be done in a way that DMS models can be re-used with a wrapper to become AMS models. The costs of a re-spin of the chip are much, much more than the added cost of simulation licenses and the cost of generating models.

Summary:

·     DMS and AMS are separate tools that solve different problems. One does not replace the other.

·     Smartly (judicious use of time, staff and licenses) run both DMS and AMS. DMS is used to find system issues early and run fast. A (sometimes limited) AMS is used to know that the blocks are behaving correctly with each other as well as performance simulations.

To view or add a comment, sign in

More articles by Abdulahad Khan

Insights from the community

Others also viewed

Explore topics