Banner Electrical Verification The invisible bottleneck in IC design updated 1

The Good the Bad and Tesla and Uber

The Good the Bad and Tesla and Uber
by Roger C. Lanctot on 04-08-2018 at 7:00 am

In “Willy Wonka and the Chocolate Factory” circa 1971, Gene Wilder plays a vaguely misanthropic Willy Wonka who leads the young winners of his golden wrapper contest on a tour of the seven deadly sins within his candy factory and labs. (Who can forget Augustus Gloop?) At one point, Mike Teavee, a television-obsessed pre-teen, is so enamored of Wonka’s experimental Wonka-vision that he insists on being transmitted – despite a half-hearted warning (see above) from Wonka himself.


Mike is thrilled when the device “transmits” him into a faux TV set, but when he steps out of the set it is clear to all but him that he has suffered a likely irreversible shrinking process to the shock and horror of his mother. Mike’s glee is undimmed. Wonka gives a shrug.

Something similar appears to be playing out with Tesla Motors as the company has rolled out Autopilot 2.5 and Tesla owners are taking more liberties than ever with the system. As the first production vehicle with advanced automated driving level 2 capabilities such as lane changing and passing, people have been taking liberties with Autopilot-equipped Tesla’s since day one, with fatal results for at least one driver.

Tesla’s equivalent of Gene Wilder’s half-hearted warning is the admonition that the driver must keep his or her hands on the wheel at all times and pay attention to the road ahead. It’s no surprise that drivers continue to ignore these warnings (suggestions?).

The results can be interesting, like the drunk Tesla driver who claimed he wasn’t actually driving or the heart attack victim who claimed autopilot got him to the hospital. The latest episode of the Tesla follies is the Tesla driver who put his feet out the window during an “Inside Edition” interview and was subsequently pulled over by a police officer. The driver received a ticket for going too slow (25 miles per hour) in a 65 mile per hour zone – but the ticket was later dismissed. It seems the traffic code may need a rewrite to cope with semi-autonomy.

The real news, though, is the Autopilot 2.5 update. Tesla has been in the midst of a process of playing catch-up since the fatal crash in Florida two years ago, after which Mobileye (a supplier of the camera system in the original Autopilot) parted company with the automaker.

Forced to rely on its own in-house algorithms, Tesla quickly down-shifted with a software update (downgrade?) and instituted a new geo-fenced version of Autopilot that only worked in certain driving environments and at certain speeds. Over time, the geo-fence expanded and the speed restrictions were relaxed and, with the release of 2.5, Tesla may have finally achieved parity with or surpassed the Mobileye-enabled performance of the original Autopilot.

With Musk’s claimed plan to deliver full autonomy via Autopilot, this may be good news or bad. Is the Model S (or X or 3) really ready or capable of full autonomy? And what exactly is full autonomy? Can a Tesla perform like a Waymo? Probably not for a while.

The concern is that Tesla throws the driving candy out to the sinners and more or less looks the other way (Stop. Don’t. Come back.) as the misbehavior unfolds. Try to pull Tesla-like shenanigans in a Cadillac with Supercruise and the car shuts the feature down.

There’s got to be more to corporate responsibility – enforced in real-time in the vehicle a la Cadillac – than a CEO Pied Piper crooning Wonka-like “Come with me…”

The issue is highlighted in a review of vehicle videos released by the Tempe, Ariz., police in connection with the fatal crash of an Uber autonomous test vehicle with a pedestrian walking a bicycle. The driver was looking down, distracted, but the vehicle sensors ought to have detected the pedestrian in spite of the nighttime circumstances. (Guess who Uber is going to blame.)

This is yet another case where the safety driver can and likely will be blamed – but one would also be correct in holding Uber responsible for the failure of the system. The video evidence suggests a failure of the system hardware or software. Putting such a system on public roads for testing suggests a certain degree of Wonka-like indifference. Automated vehicle-friendly states like Arizona ought to think about implementing sanctions for such failures to encourage a more responsible approach from the testers. Without consequences there will be no progress.

https://tinyurl.com/yalzhgpc – What happened when driver put his Tela on Auto Pilot? – Inside Edition

https://tinyurl.com/ybzab85o – Uber driver looks down for seconds before fatal crash – Ars technica


EDA CEO Outlook 2018

EDA CEO Outlook 2018
by Daniel Nenni on 04-06-2018 at 12:00 pm

The EDA CEO outlook took an interesting turn last night but before I get into that I will offer a few comments about the start of the show. I attend this event every year for the content but also for the networking. It isn’t everyday you get to hang out with semiconductor industry elite and have candid conversations over food and drinks. I always come prepared with questions for this blog but also for my other work inside the fabless semiconductor ecosystem.

Join us on April 5, 2018 for the 2018 ESD Alliance CEO Outlook!At this important event, the CEOs of four leading ESD Alliance member companies will discuss their views of where our industry – the semiconductor design ecosystem – is heading.

The distinguished panel will discuss major new trends they see, with the potential opportunities they anticipate. Panelists for the evening are Dean Drako(IC Manage), Grant Pierce (Sonics), Wally Rhines (Mentor, A Siemens Company) and Simon Segars (Arm). Ed Sperling (Semiconductor Engineering) will moderate the panel. Each CEO will present a brief opening statement about the future of the industry, followed by an interactive, moderated audience discussion.

It was mostly attended by people who I know but I did make some new friends. People who read SemiWiki introduced themselves and one person even said they had SemiWiki bookmarked in their browser which to me is a very high compliment.

Missing was Synopsys CEO Aart de Geus and Cadence CEO Lip-Bu Tan. In the past the CEO panel was CEO’s of publicly traded companies who either were in their quiet period so they could not comment on forecast questions or they would simpley take the fifth. This time there were CEOs of a very small EDA and IP company and two CEOs of companies that were acquired by much larger companies so they were technically no longer CEOs of publicly traded companies.

Prior to the event there was a lot of discussion about the pending trade war with China. I participated in an article last week for the Chicago Tribune (Trump may win the trade battle with China but lose the war – Chicago Tribune), my quote is at the bottom of the article:

“I don’t think tariffs will be a long-term thing, but they will accelerate (China’s) campaign to become independent,” said Daniel Nenni, CEO, and founder of Silicon Valley-based SemiWiki.com, an open forum for semiconductor professionals. “You have to control silicon to control your destiny.”

The point being that a country has to have their own fabs and design their own chips to ensure supply and security. The same goes for systems companies in a sense which is why Apple is now the most powerful fabless systems company. And based on the SemiWiki analytics, literally thousands of systems companies will follow Apple into the fabless systems business model. If you are interested in how Apple became a semiconductor force of nature read chapter seven of our book Mobile Unleashed.

The pre programmed questions were kind of tame but I understand how hard it is to moderate a panel like this because I did it many years ago. The first question was positive and negatives in regards to outlook. Simon was quite positive of course noting that we are now transitioning from mobile as a driver to a much more diverse ecosystem with Cryptocurrency, IoT, AI, Automotive, etc… and he did not see any barriers to future growth citing that mobile had everyone pulling their hair out (big laugh here since Wally and Simon are both hairline challenged) but we persevered.

Wally said that VC money is back for semiconductor start-ups and the semiconductor industry will continue to grow.

More than $900M was invested in 2017 with AI playing a role in the majority if not all of them. Deja veu of the dot com bubble maybe. Successful or not, they all have to buy EDA tools so Wally is more than happy to help.

Last year we saw 20% growth with about half being memory. Wally expects non memory to grow another 10% in 2018. Automotive was discussed and Wally compared today’s automotive burst to the one in the early 1900s where there were 285 car companies that narrowed down to 3 and now we are back up to more than 300 car companies suggesting history will repeat itself sooner than later.

When talking about the possible outlook downside the best line was from Wally when people casted doubt ”There are always things to worry about if you want to worry” but clearly Wally is not worried.

I will blog about the “interesting turn” of the event next…


The 4th Way Beyond Simulation, FPGA Synthesis, and Emulation

The 4th Way Beyond Simulation, FPGA Synthesis, and Emulation
by Camille Kokozaki on 04-06-2018 at 7:00 am

As verification continues to be a key ingredient in successful design implementation, new approaches have been tried to balance cost, time to results and comprehensive analysis in designs that require large patterns in some application like Image Processing. Simulation environments are well proven, and designers tend to use approaches they are familiar with, but these tend to take a lot of time for large verification suites. FPGA prototyping provides improved runtimes but setting up the targeting flow takes time. Emulation provides significant acceleration, but this comes at a hefty cost.

Vaxel Inc, a Silicon Valley startup, provides a verification approach that blends nicely the Simulation, FPGA synthesis and Emulation methodologies and it calls it Verification Acceleration (thus the name Vaxel). It is a low-cost software solution that is FPGA target agnostic and it automates the steps in FPGA targeting, allowing the designer to choose their preferred FPGA vendor and then allowing a 10X-30X improvement in runtime at a much cheaper cost than emulation. (Disclosure: I am helping Vaxel in Design Enablement and I am part of the organization).

Note that VAXEL is NOT an FPGA based prototyping tool but is a block level verification acceleration tool.

Yasu Sakakibara, Vaxel Inc CTO has published a paper entitled ‘Image Processing Verification beyond Simulation, Emulation, FPGA synthesis’.

In this paper, he examines the benefits and limitations of each verification approach (summarized by drawing excerpts here from the paper):

Simulator
A Simulator is without a doubt the verification tool that is most widely used in chip development projects. On one hand, it provides a large degree of latitude and helps you construct a verification environment where you can check operations closely by viewing waveforms and performing highly flexible input/output simulations. On the other hand, its operation speed is devastatingly slow. Therefore, you need creative approaches to the verification environment to compensate for the slowness. The following are examples:

  • Bypassing some of the time-consuming and repetitive processes, such as initial settings.
  • Adding some debug functions to the HDL design where verification can be performed with downsized input data.
  • Preparing a set of specific verification data that is likely to extend to “boundary conditions” with a reduced amount of data.
  • Executing “backdoor” memory initialization and dump.

These approaches will speed up a Simulator, but the downside is that they all lead to more complicated configuration procedures and more cumbersome code maintenance.

Emulator
While a conventional Emulator can perform high-speed verification because it is constructed with dedicated hardware to perform an HDL operation, the first and foremost issue with the Emulator is its cost. It is a very powerful tool and the capabilities are vast. But, the license for both initial deployment and the subsequent renewals is extraordinarily expensive. Because of this, Emulators are usually shared among multiple projects, even within the largest OEMs in the industry. Not only from the economical viewpoint, but also from the verification procedure viewpoint, an Emulator requires you to prepare behavior models to substitute peripheral functions. This is also time-consuming work.

Design verification on an Emulator can often result in a poor perspective in terms of error correction due to the discovery of block-level bugs that were not caught in the previous process using the Simulator because of those cutting-corners approaches you took to compensate for the slowness.

FPGA Prototyping
FPGA Prototyping is an effective low-cost verification method compared to an Emulator. However, to effectively prepare the dedicated hardware requires extensive knowledge of FPGA. In many cases, an FPGA specialist is assigned to the project in addition to the design engineer and the verification engineer. As a result, the benefit of FPGA Prototyping diminishes rather quickly.
The following illustrates other problems that need to be addressed with FPGA prototyping:

  • The speed difference between onboard DRAM on FPGA and DUT.
  • The necessity of RTL modification specifically for FPGA to run DUT at high speed.
  • The observability of internal states.
  • Defining the transfer method of input and output data.
  • Determination of a control method for the FPGA board.
  • That preparation of the FPGA board can be a time-consuming and costly project itself.

The Verification Acceleration Value Proposition
The ideal verification acceleration tool should come with a ready-to-use set of standard hardware function IP blocks, such as bridges and interfaces so that the setup would be easy and fast. The tool should be affordable, and that it should require little expertise in FPGA.

To accomplish the above, the following should be the elements and requirements of a 4[SUP]th[/SUP] way solution:

  • A software package available on the Internet that users can easily download, install and use.
  • Support standard off-the-shelf FPGA evaluation boards for low-cost deployment.
  • Utilize an embedded processor inside the FPGA for controls to provide “visibility”.
  • Use HDL native features for waveform generation and assertion settings
  • Deploy an operation scheme and structure similar to those of the Simulator
  • An interface to allow the Simulator to execute simulation on the tool.
  • Migration assisting tool from the verification environment set up on the Simulator
  • Automated FPGA synthesis script generator so that little expertise in FPGA is needed.
  • Includes CPU libraries to manage the verification environment.
  • Support USB for host-board communication.
  • Verification processes are run by firmware on the embedded processor inside FPGA by a command from the host.
  • Support commonly used programming language libraries such as C and Python as well as CLI, so that test data generation can be done by non-HDL design engineers.

The paper details the approach taken to verify an Image Processing design with large test patterns in three steps:

1. Run a smoke test on the simulator
2. Confirm connection to the simulator

3. Conduct verification on the FPGA
Controlling the FPGA board, loading firmware to the CPU on FPGA, and transmitting and extracting the input/output data are all done by the host PC.

The 4th way seems to find a way optimizing cost, time and block functionality checking with automation and acceleration.


Stress and Aging

Stress and Aging
by Bernard Murphy on 04-05-2018 at 12:00 pm

These failings aren’t just a cross we humans bear; they’re also a concern for chips, particularly in electrical over-stress (EOS) and aging of the circuitry. Such concerns are not new, but they are taking on new urgency given the high reliability and long lifetime expectations we have for safety-critical components in cars and maintenance-free needs in many industrial applications.

EOS is generally grouped with two other failure-modes: electromigration (EM) and electrostatic discharge (ESD). EM is primarily about current; inrush when switching on a power domain or localized high activity can knock metal atoms in interconnect aside; over time this accelerates through increased resistive heating. ESD and EOS are two ends of a spectrum related to high electric fields (modest voltage differences over tiny distances), causing dielectric breakdown – in gate-oxide for example. ESD is normally associated with external static shocks propagating into a device – big spikes but short duration.

EOS is generally associated with misbehavior in the “normally” operating circuit, often a result of incorrect handling through voltage- or power-domain crossings where isolation or level-shifting was poorly implemented. These events can obviously persist for much longer than for ESD. João Geada, Chief Technologist at ANSYS, told me getting to a bad state doesn’t take much; for ultra-low-power HVT transistors, 0.1V (or less) outside the operating range starts to cause damage. The acuteness of all three failure modes is amplified in advanced technologies where metal widths and dielectric thicknesses have become so tiny.

You really want to check for problems like this at the implementation/transistor level and obviously you have to consider that EOS problems will be activity-dependent. One approach is to analyze statically (a bit like STA), but João says that tends to be very noisy (unsurprising). Dynamic analysis will obviously avoid the noise problem; that’s where ANSYS’ FX (super-fast Spice-accurate simulation) comes in. They have introduced an application, EOS FX, specifically to deal with this need. EOS FX is a full block/IP solution which will automate input vectors to cover all scenarios for possible EOS failures.

Aging is a different problem. We’ve all experienced this – you buy an electronic device, it works perfectly for a couple of years, then it jams for no obvious reason. You power-cycle it and it works fine again; but over time you find it jams more frequently and you have to power-cycle more and more often. A major root-cause is something call negative-bias temperature instability (NBTI) which occurs when (stable) electric fields are applied for a long time across a dielectric. (Another contributor is hot carrier injection which I will skip here.)

NBTI causes voltage thresholds to increase over time, which in turn causes propagation delays to increase over time. The effect is limited if those fields cycle frequently, as for a free-running clock for example, but has bigger impact in circuitry which rests in a stable state for extended periods. Curiously, clock gating exacerbates this problem. When the clock is gated off, state and therefore electric fields throughout downstream logic are fixed, giving free rein to NBTI to age that logic. This problem could be fixed by power gating the logic (turning off the power makes electric field go to zero) but that has downsides too (power-on latency, inrush, …). Oh well.

The impact of this aging is both circuit- and activity-dependent and will vary across the device; different parts of a design will age at different rates. Since aging increases delays, you should expect that paths which passed as non-critical for the new device will over time drift closer to critical or will become critical (hello device hangs). How likely this is to happen depends on how much margin you built into path slacks. You could also use adaptive voltage scaling (AVS) to compensate for delay degradation. Either way, you can’t afford to build enough slack into every path or put AVS islands everywhere, so you have to be selective, which again requires detailed transistor/implementation analysis with activity.

ANSYS now offers FX Agingfor this analysis. I believe this is the only detailed dynamic aging analysis on the market. The application builds a database of signal transition probabilities (from use-cases I believe) and propagates these through the circuit, looking for long term aging-stress candidates. It also looks at potentially infrequent events (possibly not covered in the use-cases), such as clock gating turn-on and isolation, which are particularly at-risk candidates. Stress conditions are propagated down to the transistor-level to ensure an accurate view of differential aging across the design.


How big a deal is this? Various presentations (eg this) show voltage thresholds increasing from 130mV to 210mV over a period of 5 years. When the operating voltage is 1V (or lower), that can have a huge impact on propagation delays. What makes both EOS FX and FX Aging possible is FX’s ability (on which I have written before) to do Spice-accurate path delay analyses orders of magnitude faster than Spice. That speed and accuracy allows for confident EOS and aging-based signoff in practical run-times. You can learn more about these ANSYS products HERE.


Mentor Leads Emulation Innovation

Mentor Leads Emulation Innovation
by Daniel Nenni on 04-05-2018 at 8:00 am

Publishing eBooks on FPGA Prototyping and Emulation really was an eye opener for me as a long time EDA and IP professional. Both markets are considered EDA in the traditional sense but they are very much in the systems business with a lot of IP. Both markets are also growing very rapidly and operate side-by-side with complimentary overlap. Emulation of course is a billion dollar prize in the making with AI rapidly consuming silicon and increasing die sizes in all market segments, absolutely.
Continue reading “Mentor Leads Emulation Innovation”


A New Problem for High-Performance Mobile

A New Problem for High-Performance Mobile
by Bernard Murphy on 04-04-2018 at 7:00 am

About 6 months ago, ANSYS was approached by a couple of leading mobile platform vendors/suppliers with a challenging problem. These companies were hitting target 2.5GHz performance goals on their (N10 or N7) application processors, but getting about 10% lower yield than expected, which they attributed to performance failures. Speed grades aren’t an option in this market (when were you last offered the “low-speed version” of a phone?), so the yield problem had to be fixed but they didn’t know where to start. Remember these are very experienced SoC design teams who nevertheless were unable to find in their STA analyses any obvious root cause for these failures.


REGISTER HERE for an ANSYS webinar on variability-aware timing closure, April 18[SUP]th[/SUP] at 8am PDT

According to Ankur Gupta (director of field apps), ANSYS were asked to run blind tests to figure out potential root causes, which those customers would then correlate back to observed failures. This is a timing problem, so think first about the vanilla approach to timing – run STA across however many hundreds of corners, using separately extracted margins for static and dynamic voltage drops (DvD) in the power grid, designed for a static timing target. It’s unlikely that there would be anything wrong with the STA and corners part of the problem given the relationship and influence these design houses have with the foundries and tool vendors. So DvDs have to be a prime suspect.

Now I’m going to switch to a presentation João Geada (chief technologist at ANSYS) gave at the Tau 2018 conference, then come back to the results from the analysis above. João opened with a seemingly obvious but under-appreciated point for advanced designs and technologies – the power supply is neither static nor uniform (within reasonable bounds) across the design, particularly in FinFET designs with large capacitive coupling between power and signals (as a result he describes power integrity now as much more like a signal integrity problem). Between ground-bounce and IR-drop, effective voltage across gates can be squeezed by 100s of mV against a 0.7-0.8V operating voltage, and this can have a huge impact on timing.

Where and when this happens is clearly both instance- and use-case-dependent; attempting to capture this effect in global margins is going to be both very expensive in area (João noted that 30%+ of metal is devoted to power in small geometry designs) and potentially risky in missing critical cases (since detailed DvD analysis is practically limited to a small set of vectors). The first step in addressing these problems is through RedHawk-SC elastic-compute, on which I have written multiple times. Through big data methods, analysis of very large vector sets can be farmed out across a wide range of compute-servers, from big to small, to look for potentially interesting corner cases. This analysis runs fast enough that power distribution design can run iteratively in the implementation/timing flow. By finding the corners to analyze in detail, localizing where they have impact, and refining power distribution surgically and iteratively, you get a higher confidence signoff with lower area (~9% reduction in one case).

But wait, there’s more. Remember the voltage squeeze and how close you are already operating to threshold voltages? Timing this confidently for paths close to critical requires Spice-level accuracy; real delays at this level can no longer be captured simply through delay addition and lookups across corners (varying VSS-VDD ranges as you move along a path make this even uglier). ANSYS FX path analysis can run first in a fast mode, as fast as STA, to identify suspect paths requiring closer analysis and then can run at accuracy within a few percent of Spice (but much faster) to do detailed path delay analysis based on both the circuitry and the PG dynamic behavior. ANSYS find this is quite likely to reorder STA path criticality, suggesting further surgical refinements to the power distribution plan, upsizing where this more accurate analysis suggests paths are more critical than you thought, downsizing where you have more slack.

Back to the big mobile vendors. ANSYS followed this strategy in those blind tests against 100-200K of the (supposedly) positive slack paths, mining DVD drops and ground bounces along paths and timing with these compressed voltages. You won’t be surprised to hear that their reordering of path criticality corresponded nicely with what customers had observed in lab testing, or that those customers are now very interested in this methodology. Ankur closed by noting ANSYS have subsequently been approached by all the rest of the contenders in the mobile benchmark race, which must say something about the credibility of their solution.


So if you thought all this elastic-compute and Spice-level path timing stuff from ANSYS was just marketing hype, think again. If all the significant mobile platform vendors in the world are forming a line at their door, this integrated DvD/STA approach looks like it might be the future of high-performance timing and power signoff.

Remember to REGISTER HERE for an ANSYS webinar on variability-aware timing closure, April 18[SUP]th[/SUP] at 8am PDT


Safety Critical Applications Require Onboard Aging Monitoring

Safety Critical Applications Require Onboard Aging Monitoring
by Tom Simon on 04-04-2018 at 6:00 am

When it comes to safety, ISO 26262 is the spec that comes to mind for many people. However, there are layers of specifications that enable the level of safety required for automotive and other systems that need high reliability. For any application requiring safety, test is a critical element. A key spec for SOC test is IEEE 1500, which defines a hierarchical test structure for SOC’s that enables testing of individual blocks and circuit elements independently. With a hierarchical testing approach chip testing becomes much more efficient, and new types of test functionality can be implemented.

Coming back to ISO 26262, one of the critical aspects is testing over the life of a chip to ensure it is performing properly as it ages. ISO 26262 includes provisions for real-time testing on a continuous basis to ensure proper performance over time. And, if we are talking about things that are required for proper performance, few matter more than clock performance, process variation and memory performance. These aspects of an SOC define the foundation that all other aspects of system reliability depend on.

In the white paper below Synopsys references their Measurement Unit (MU) which is part of its STAR Hierarchical System for SOC test implementation. The STAR Hierarchical System offers a means of implementing comprehensive test on SOC’s. It has been certified for ISO 26262 ASIL D level applications. To refresh, ASIL D is applied to systems whose failures can lead to death or serious injury.

There is a need for a compact and efficient method to test for clock frequency and duty cycle over the life of an SOC in ASIL D systems. The MU cleverly performs these function with minimal external support. The MU is configurable to perform several different functions, with clock frequency as the only one requiring an external reference clock. Even so, the reference clock can be a low speed clock. The MU counts the internal and external clock pulses and returns the internal clock period.

The MU also has a mode which tests duty cycle for internal clocks, this time with no external reference clocks required. Synopsys has also added modes to the STAR Hierarchical System’s MU to report process variation by using it in conjunction with a ring oscillator. Once the system clock is calibrated, the MU can evaluate process variation by comparing ring oscillator frequencies. This is useful when performed in a single location to monitor the effects of aging, or across multiple locations to look at on chip variation that could jeopardize chip performance. This same mode can be used to evaluate IR drop related performance issues. The test can be performed at chip idle mode and during high activity to determine the effects of IR drop.

The MU also has an operational mode for testing memory performance. The details of this mode are explained in the white paper mentioned above. The white paper is titled On-Chip Clock and Process Monitoring Using STAR Hierarchical System’s Measurement Unit and can be found on the Synopsys website. The white paper is authored by Karen Darbinyan, ASIC Digital Design Manager at Synopsys.


Combining IP and Product Lifecycle Tools

Combining IP and Product Lifecycle Tools
by Daniel Payne on 04-03-2018 at 12:00 pm

No single EDA company provides all of the tools needed to define requirements, design exploration, track IP, simulate, manage and verify a complex SoC system, so it makes sense that EDA vendors and point tool companies have tools that work together to achieve all of these difficult tasks. Systems design has been around for decades and has been enabled by the widespread use of Product Lifecycle Management (PLM) tools that help manage the process of starting with an idea then tracking details through the end of life. Our modern lifestyle is only made possible through huge industries that already use PLM systems: automotive, aerospace, IoT and consumer.

Some of the common features of a PLM system include:

  • All product data and metadata are easily accessed
  • Collaboration happens when people and processes all access the same data
  • Instant access to data speeds decision making

Our own semiconductor industry caught hold of the PLM concepts first from the mechanical CAD companies looking for new markets, so they really focused on “part” management and some design process data. As you can imagine these first PLM systems were not widely adopted at semiconductor companies, but the good news is that PLM systems have grown over time to include product Bill Of Materials (BOM) plus the data needed for design and verification processes.

Chip design firms are big re-users of semiconductor IP which have created a fast growing market opportunity for IP vendors to serve along with verification IP, so that both design and verification schedules are sped up. These IP building blocks can be well documented, quick to deploy, and are designed to meet industry standard specifications, aspects which quicken time to market. With this new IP reality we need PLM systems that can track semiconductor IP across global borders and dispersed design teams.

Going back to an idea in the opening paragraph, there are incentives to integrate a PLM tool at the system level along with a semiconductor IP lifecycle management tool, creating a coherent process across the entire product lifecycle. Such an integration enables a team to start with an idea, define requirements and trace that all the way through detailed SoC implementation. Even the team members in manufacturing, sales and support are included in this PLM environment. For IP Lifecycle Management we create a new acronym – IPLM.

Let’s stop and think for a moment about how some organizations have been separated into distinct departments, with narrowly defined tasks, then each department chooses to use tools that make sense for their separate area which then causes data silos to emerge where valuable data isn’t visible or being shared between departments. See if this disconnected, two-silo approach looks familiar to an organization you may have worked in before:

In this product flow we have have two distinct groups that are not connected because their tools are in silos:

  • Product Engineers, Architects, Designers, Integration Engineers
  • Compliance, Sourcing/Procurement, Operations, Legal/Contracts

Now let’s turn to an enterprise that uses integration between IPLM and PLM technologies to see how an idea gets started and followed throughout a complete product lifecycle, something that spans multiple departments and many stakeholders:

With this integrated approach each group receives their unique BOM: engineering, manufacturing, service. Continuing to drop down into the development box, this is where traditional EDA tools and IP blocks form an SoC design flow, resulting in silicon wafers and packaged parts:

All of the design details used to create the SoC can be labeled a Bill Of Information (BOI), which includes each semiconductor IP block along with all of the metadata. The ideal IPLM system should work with common environments:

  • Source Code Management – SCM integration (Perforce)
  • Linux command line
  • Analog IC tools (Cadence Virtuoso)

An EDA company named Methodicsdoes offer such an IPLM tool, dubbed Percipient that allows teams to perform IP lifecycle management, enables IP reuse, and provides an updated IP catalog throughout the IC design process. Each member of the chip design team can decide which version of a particular IP block they want to incorporate into the portion of their design hierarchy.

The Percipient tool has the concept of ‘workspaces’ where creators work in, created by the SCM tool, then managed by Percipient. Users of each IP block would have ‘read-only’ workspaces created from the SCM tool, and then decide which version of the IP to use. Here’s a diagram of how Percipient works with an SCM and other tools:

IC designers could just try and package an IP block with maybe hundreds of files and folders into a simple tarball, but that approach is quite inefficient as IP blocks start to reach GB file sizes, IP tracking isn’t part of a tarball, making fixes to an IP block would mean re-tarring and distributing to all users, and knowing what changed between versions is difficult with a binary tarfile. So in each of these cases the optimized approach in Percipient is much preferred.

Engineers love efficiency, so Percipient includes a command line client in Linux that is quick to learn: catalog listing, workspace operations, releases, tracking, etc. Commands can take a JSON argument so that you can view output results in JSON. Here’s an command line example to look at an IP tree hierarchy:

Team members can even code in their favorite language (.NET, Python, Perl, C++, etc.) or framework that supports GET and PUT requests to URL endpoints, controlling Percipient with an API.

Percipient manages IP hierarchy for blocks that use digital, analog and mixed-signal designs, along with version control. Each IP block can include rich data like graphs, charts, even HTML data sheets. Chip designs can query the IP catalog to find each IP block best suited for their project.

Engineers at Methodics have figured out how to integrate their IPLM tool with any PLM system using a set of four integration touch points as show in the following diagram:

So the good news for SoC design teams is that they can continue to use their favorite PLM system along with the IPLM from Methodics in an integrated fashion, creating a seamless flow, which in turn has improved communication within the team, shortening product development cycles in your enterprise.

Summary
Semiconductor design companies can now create new systems more efficiently and with fewer errors and iterations by taking an integrated approach with their PLM and IPLM tools. Methodics has led the way in enabling such an integration with their IPLM tool and they have the experience integrating with other PLM vendors. To learn more about this topic consider reading the 20 page White Paper from Methodics – Putting the “I” in PLM.

Related Articles


Functional Safety Methodologies for Automotive Applications

Functional Safety Methodologies for Automotive Applications
by Alex Tan on 04-03-2018 at 12:00 pm

During Q&A session at San Jose GTC 2018, nVidia CEO Jen-Hsun Huang reiterated that critical functional safety, such as in autonomous vehicle, requires both the redundancy and the diversity aspects. For example, CUDA with Tensor core and GPU with DLA were both utilized. Safety is paramount to automotive applications. Any failure related to the system performance could translate to dire consequences as the application owning exposure around human activities.

In ADAS application, aggressive small form-factor, low power consumption and increased compute requirements for inferencing have driven demand towards advanced process node migration. This in turn has caused more challenge for reliability such as in addressing process variation, electrostatic discharge and electromigration.

Safety can be defined by referring to two existing safety standards:
IEC 61508 (International Electrotechnical Commission (IEC), a functional safety standard for the general electronics market developed by the IEC. ISO 26262 (IEC), a functional safety standard for automobiles from ISO. It has rapidly gaining acceptance as the guideline for the automotive engineer since its release. While compliance to these standards is initially addressed by car manufacturers and system suppliers, recent increasing complexity has also motivated all participants of the supply chain to participate. Since its first roll-out in 2011, more efforts being spent to formalize its adoption into the development stage of the electrical/electronic systems. As a solution provider, Cadence has made headways within this space as will be covered later in this article.

Functional Safety and Failure Classifications
As derivative to IEC-61508, the ISO 26262: Road Vehicles—Functional Safety was designated for passenger vehicles with a max gross vehicle mass up to 3,500 kg and that are equipped with one or more electrical/electronic (E/E) subsystems. Functional safety is defined as the “absence of unreasonable risk due to hazards caused by malfunctioning behavior of electrical/electronic systems”. The definition can be illustrated by chain of implication as shown in reversed waterfall diagram in figure 1.

On the other side of the equation, per ISO.26262 malfunction in E/E systems can be classified into either systematic or random failure. In each of this domain, it could be expanded into more approaches and necessary metrics to fully address the issue. For example systematic failures induced during development, manufacturing or maintenance could be due to process origin and can be resolved by change in the procedures and its related documentation (captured on left hand side in figure 3).

Unlike the systematic failures, random failures which might appear during the lifetime of a component could be due to random defects as part to innate usage or process conditions. A number of safety mechanisms and detection metrics are available as captured in the diagram. For more details on random failures metrics discussion, please refer tothis document.

Given the failure classification and applying the chain of implications, any potential malfunction of a defined automotive system function can be assessed within the context of ASIL term, Automotive Safety Integrity Level (ASIL) is the level of risk reduction needed to achieve a tolerable risk. For example, a malfunction in the Anti-lock Braking System (ABS) may involve addressing prompts at each sequence of ASIL. The severity level of each event, labelled as A (low) to D (high), can be measured in terms of FIT (Failures in Time), SPFM and LFM levels.


Functional Safety Analysis and Design Flow
To evaluate the safety level of design components such as an IP or SOC, one could use functional safety analysis. The dichotomy of this analysis can be illustrated in figure 4. It comprises quantitative evaluations (e.g. Failure Mode Effect and Diagnostic Analysis or FMEDA), timing analysis, and qualitative assessments (e.g. Dependent Failure Analysis or DFA. FMEDA is a structured approach to define failure modes, failure rate, and diagnostic capabilities of a hardware component and DFA is used to assess dependent failures between given elements (is important especially if the system has shared resources).

Built-In Self-Test (BIST) is the most notable example of safety mechanism already automated in the design flow. It is used for automotive in-system/field testing for lifetime reliability to achieve the desired ASIL. For testing random logic, there are online and offline BISTs, each is applied based on the stringent timing requirements. Types of challenges to be addressed during BIST integration are speed testing capabilities, power consumption, area, routing minimization, compression techniques and ASIL targets. Since the test coverage estimated during BIST insertion is not exactly the DC required by the ISO 26262 metrics; functional safety verification might be needed to accurately measure the DC. Other safety mechanisms are also available (such as Triple Modular Redundancy, Dual-Core Lockstep, etc.). For more details on these techniques, please refer to Cadence’s paper.

In the traditional RTL-to-GDS flow, FMEDA is utilized to drive design exploration to meet the functional safety targets. It shows where to focus the design effort for meeting the constraints and provides direction for improving diagnostic coverage. Implementing a design with functional safety produces more robust physical outcome.

Figure 5 shows a design implemented with and without functional safety routing constraints using Cadence Innovus Implementation System. The bottom-left region is the main copy of a block, while the top-right region is the replica inserted for redundancy. By guaranteeing that wires belonging to the main block can never venture into the top-right region, the redundant blocks are physically independent by construction and meet the requirements of the DFA.

Software Tool Confidence Level
Similar to the safety principles applied on the hardware components, the tool confidence level (TCL) quantifies the assurance that failures in the software tools can be detected. The tool confidence level spans from TCL1 to TCL3, with TCL1 being the highest, Tools classified as such do not require additional qualification and can be used in the development of applications with any ASIL. Cadence announced last year its industry’s first comprehensive TCL1 certification from TÜV SÜD, to meet stringent ISO 26262 automotive safety requirements. The functional safety documentation kits cover analog and mixed-signal, digital front-end and verification, digital implementation and signoff, and PCB flows comprised of nearly 40 tools, offering the broadest EDA-certified tool and flow documentation to support the automotive industry. For read more details on functional safety methodologies, please check HERE.


Tutorial on Advanced Formal: NVIDIA and Qualcomm

Tutorial on Advanced Formal: NVIDIA and Qualcomm
by Bernard Murphy on 04-03-2018 at 7:00 am

I recently posted a blog on the first half of a tutorial Synopsys hosted at DVCon (2018). This blog covers the second half of that 3½ hour event (so you can see why I didn’t jam it all into one blog :D. The general theme was on advanced use models, the first half covering use of invariants and induction and views from a Samsung expert on efficient modeling for formal. In the second half we had customer presentations on two perennially popular topics: architectural formal verification for cache-coherence and formal signoff.

Syed Suhaib is a formal verification expert at NVIDIA and shared his view on verifying a coherency manager using architectural formal verification. I’ve written about this before, so you get my standard quick problem recap – you have a verification problem at the system-level (not contained inside a component), there are no obvious long-pole candidates to abstract so instead you abstract everything, replacing components with smaller FSM models to enable verifying control interactions.

Cache-coherence management is a popular target for this style of verification. You have multiple processors each with its own cache but still working with a shared logical memory model. Which means that changes to these caches must be kept coherent across the system. So this is a system-level verification problem, too big to fit in conventional formal proving. The usual abstraction tricks won’t work because everything is too big – CPUs, caches and interconnect. Abstracting one or two of these doesn’t reduce the size enough; you have to abstract everything.

There are multiple ways to implement coherency management; commonly you’ll have a central coherency manager which monitors reads and writes across all caches, looking for potential problems and stalling/updating as needed. The coherency management system is essentially a big FSM with many possible states and transitions covering all the potential sequences of updates, requests and so on. Syed said that a table representation of the protocol can runs to hundreds or thousands of lines.

Simulation is a non-starter for proving correctness because there are just too many possibilities to cover with confidence. In fact one of the early successes for formal was in validating these systems. The state diagram is wide but not especially deep, as long as you look at the problem in the right way, looking just at what is relevant to the proof – the control part of coherency management between CPUs and caches.

I’ve talked before about cross-validation between architectural models and the source RTL so I won’t bore you with it again (see e.g. my blog “System Level Formal”). Syed gave a quite detailed overview on their architectural models for tracker functions (e.g. for snoop and read on their cluster 1 interface), also on the coherency engine read-request FIFO. As a result of this analysis they found a couple of bugs, one an instance where read requests were re-ordered, also a potential deadlock.

An interesting question from the audience was whether they had considered yet more advanced approaches like TLA+ or Murphi. Syed said that the approach they used took 6-9 person-months so was not trivial, presumably implying that those other techniques would have taken even more effort. He did acknowledge that, thanks to abstraction, what they got were not full proofs, but they did get bounded proofs on the model and they did do coverage analysis. Note to the skeptics – what you would get with simulation would be markedly worse. Finally, he said they went with this approach rather than the more exotic approaches because it was familiar. They could build abstracted arch models in Verilog, prove on these and cross-verify with the source Verilog. Who could argue with that?

Mandar Munishwar (formal verification lead at Qualcomm) closed with a discussion on formal verification signoff, particularly complete formal signoff on a block – what does this mean and how to you get there? For Mandar this means answering:

  • Have I written all the checks I need?
  • What is the quality (and coverage) of those checks?
  • Were any of those checks over-constrained?

Unsurprisingly a credible signoff starts with disciplined planning, executing and measuring, especially on the first question, which must be based as much on a system view of needs as any coverage metrics. Since he’s talking about end-to-end (E2E) verification, Mandar likes to capture block behavior in a spreadsheet. For each signal he records: signal type (pulse, level, active type) and relationship with other signals in the same interface, what causes the signal to be asserted / de-asserted, latency between cause and effect, expectation for integrity of the data in transport and finally assertion name(s) corresponding to the natural language (NL) description implied in those entries. This makes a lot of sense to me; it’s a lot easier to review and debate NL expectations in a group than SVA assertions and constraints. Get the NL right first then translation to SVA and checking SVA against the NL definitions is easier and more certain.

Mandar also adds the common component checkers at this point – for FIFOs, counters, arbiters and so on; then execution starts. This is iterative of course – running, checking/fixing counter-examples, work on converging proofs, handling bounded proofs, all the usual steps. In the measurement phase (which overlaps with execution), he checks for over-constrained proofs, relaxing constraints where needed. He also checks coverage, starting from baseline COI coverage – a minimum necessary but far from sufficient requirement. For him, an important part of coverage is the subjective quality check at the planning phase, in review with the team: is the set of checkers sufficiently diverse for each of the block signals across signal type, relationship, causality, etc that they captured in the spreadsheet?

Back on measurement, Mandar is a believer in formal cores being a much tighter test than COI coverage as a measure of real coverage. I wonder if this realization is more important to the folks aiming for full formal signoffs. I think even those who aren’t so ambitious should still be looking at formal cores to understand how little of the logic they are really testing in some cases.

Finally he went back to his original question – can I trust formal signoff? This is a great question. If you have done all that up-front planning to ensure good coverage of checkers, you have made sure no proofs were over-constrained and you have further ensured that you have good formal core coverage, it feels like you should be pretty close, doesn’t it? Mandar suggested one final step. If you introduce a bug into the logic, bullet-proof verification should catch it. (VC Formal supports mutation for this purpose).

Mandar suggested a number of classes of mutation he thought were important to consider: top-output connectivity, reset bugs, lower-level connectivity errors and others (I would add clock-gating errors to this list based on an earlier talk in this session). If the mutation engine introduces bugs of these type and they are detected in proving, then you have yet higher confidence for formal signoff. Is this good enough? Eventually signoff is subjective, whether for simulation or formal, though you want it grounded in tight methodology, review and metrics. It seems like what Mandar proposes is a reasonable definition for formal signoff.

You can learn more about the Synopsys VC Formal solution HERE.