System A: An Analog Hardware Description Language

In an earlier blog, I took it upon myself to declare field programmable analog arrays (FPAAs) a technology that is dead on arrival. In Field Programmable Analog & Gallium Arsenide, I drew a distinction between reconfigurable analog such as the ispPAC parts from Cypress Semiconductor and a true FPAA where the programmability is fine grained, similar to a field programmable gate array (FPGA).

While reconfigurable analog has enjoyed some success, no one can yet claim that software configurability is the way of the future. Or is it? Maybe what is standing in the way is the lack of a common, manufacturer-independent, analog development flow similar to what is available for digital design.

In the digital circuit world, designers have standardized tools where the learning curve is a penalty paid once, and the knowledge is then applied ubiquitously regardless of the hardware platform or manufacturer. For example, a very basic hardware description language (HDL) for digital design is Verilog. More recently there has been a wider adoption of the next higher-level HDL called System Verilog. And the future of digital design appears to be headed toward an even higher HDL known as System C.

From this analog designer's perspective, System C is a confluence of computer programmers working with C++ language (who know very little about electronics), with the digital circuit designers whose job requires less and less knowledge of electronics with every process node step put out by Intel or TSMC. After all, what is the functional difference between telling an Intel digital-gate microprocessor what to do via a compiled C program versus telling an FPGA how to operate via a synthesized Verilog HDL?

Many analog designers are already familiar with an HDL called Verilog-A, but that is used primarily for analog behavioral modeling. What I am calling for is a design language counterpart to System C. Let's call it System A. The language would have syntax specifically related to analog. For example, an analog-to-digital converter (ADC) block could be instantiated in the schematic where the design parameters would be something akin to resolution, input range, linearity, signal-to-noise ratio, and sample rate. Then the design could be compiled, and a list of compatible parts would pop up on the screen. The available parts would be installed as libraries from manufacturers with all the supporting models and collateral data. The user would simply enable the preferred parts.

The concept could even be expanded to hardware configurable standard parts. In this case, the manufacturers would have canned designs for the high-level blocks that would be synthesized, along with PC board artwork, a bill of materials, and a high-level simulation model. In this particular example I'm thinking about switching power regulators.

In some respects this already exists with Linear Technology's LTSPICE and Texas Instrument's WEBENCH. But aside from these being proprietary design tools, which is the antithesis of a common design language, the design entry methodology of drawing detailed schematics is also at too low of a level to facilitate rapid system engineering and comparative part evaluation. Do we really need to draw in decoupling capacitors for a high-level design, or the resistor that sets a programmed current, at such an early stage of the design?

If the analog design world is relegated for the foreseeable future to continue building systems with lots of parts on a board, there at least needs to be a much quicker and more efficient method for studying and optimizing a design before committing to the board. In fact, I suspect that may be the biggest impediment to wider adoption of reconfigurable analog parts.

Here's why: There is a huge learning curve with every vendor's parts and proprietary tools. In most cases the analog designers know precisely what they need, but they don't want to wade through multiple datasheets, spend time learning a vendor-specific design tool, and then build expensive PCBs only to discover the reconfigurable IC is not adequate for the problem.

A great byproduct of a common language would be empowerment of those less skilled in analog and more skilled in designing with software tools. Second in line would be the filtering out of all marketing fluff found on datasheets where, for example, things labeled as 16-bit ADCs operate equivalent to that of a 14-bit part.

Do you think an analog HDL would be adopted by users and supported by manufacturers?

Related posts:

6 comments on “System A: An Analog Hardware Description Language

  1. Davidled
    August 28, 2013

    In my view for analog engineer, all tools such as System C, FPGA, and C++ are available in the market.  Question back to analogy engineer is how to use it in the appropriate way for their product.  For example, FPGA chip might be used for multiple digital Logic circuits. Labview is one of good tool to simulate circuit. There is no avoid for learning curve to get the tool.

  2. samicksha
    August 29, 2013

    Not sure but would love to learn more, but as my understading, neither HDL is suitable for analog simulation. Neither possesses language constructs to describe recursively-generated logic structures.

  3. SunitaT
    August 31, 2013

    there at least needs to be a much quicker and more efficient method for studying and optimizing a design before committing to the board.

    @Scott, thanks for the post. I totally agree with your opinion that we need design language counterpart to System C. I am curious to know why this aspect is not looked into carefully ? What hurdles are companies facing to build a ssytem which will help us build quicker and more optimized designs.

  4. barnasc
    September 1, 2013

    What I am calling for is a design language counterpart to System C.


    That counterpart already exists and is called SystemC-AMS. SystemC-AMS offers additional models of computation which are dedicated to the modeling of analog and continuous-time systems. It offers solvers for data-flow, signal-flow and electrical linear networks. And as it is using SystemC as foundation, you can easily combine this with models of the digital HW/SW domain to model the entire embedded system including analog IO.

    Compared to the traditional HDL languages which capture analog behaviour, SystemC-AMS is much-much faster. Therefore it is a very good candidate for system architecture and board design.

    The main hurdle I see for adoption in analog teams, is that working with a texual language is something totally different than schematic-entry. Luckly there are solutions in the market available, which allow you to draw schematics, which use primitives and libraries in SystemC-AMS.

  5. Scott Elder
    September 9, 2013


    You got that right.  Analog is big time GUI.  So we would need a GUI “wrapper” on top.  Something like Simulink integrated with Matlab.

  6. Scott Elder
    September 9, 2013

    << There is no avoid for learning curve to get the tool.>>

    Agreed.  But learning one common tool would be much more productive don't you think?

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.