Subscribe to EDN

The End of ASICs as We Know Them

August 6, 2008

A lot of wildly divergent things have been percolating in my mind with respect to ASIC and system design, and I’m ready to take a stab at pouring out the first cup to see how this brew looks. Here are some of the disparate elements that went into this blog entry:

 

 

I put all of these disparate elements together and here’s what I get: The end is here for ASIC design as we know it. It really, truly is. ASIC-design teams simply cannot pretend that we’re designing the same sorts of chips that we designed in the early 1990s. You know, the ones with 200,000 gates. System-engineering economics have changed a lot since then and it’s time to unflinchingly recognize that fact and reshuffle priorities so we can get on with the job.

Let’s start with Maheshwary’s excellent article. Here’s a critical graphic from that article:

 


 

This graphic shows the pain points in ASIC design. The data is from a Synopsys research study “based on a number of conversations with engineering VPs.” The greatest pain, by far, comes from the inability to complete design verification in a timely manner. (Note that this conclusion echoes the sentiments of Mentor’s Wally Rhines, who has been saying that verification is the biggest problem in EDA today. Wally’s been banging this drum for a couple of years and he’s unquestionably right.)

Now why should that be true? Why is verification killing us? Well, ASIC designs get bigger with each new process technology node. Even though 50% or more of each ASIC is now devoted to on-chip memory, there’s still a lot of logic to verify on today’s 65nm and 45nm designs—literally tens of millions of gates. If that logic consists of all-new logic blocks, there is indeed a lot of verification to do and the situation only gets worse with each new IC fabrication node.

So what’s to be done? Here are Maheshwary’s recommendations from his EDN article:

 

Focusing on five key solution elements can help design teams move toward achieving 2x productivity. These elements are:

 

  • Integrated design and verification platforms
  • EDA tool runtime and capacity
  • Access to quality internal and commercial IP
  • Hardware platforms for pre-silicon software development
  • Proven design and verification methodologies

 

Data from real customer projects demonstrate that each of these elements can mitigate project risk and accelerate time to results.

 

The first two points talk about EDA tools. I’m not going to discuss those because I don’t think those are the root of the problem, although they’re clearly important. I really want to talk about the third and last points because I feel strongly that the biggest problems are rooted here.

What is quality IP?

Maheshwary’s third point is that ASIC design teams need access to quality IP, whether it’s developed internally or purchased from a commercial IP vendor. Now here’s where a little tidbit from Jack Ganssle’s firmware-development presentation comes in. Jack says that no software function can be considered generic enough to be easily reusable until it has been reused three times.
 


Three. That’s a real, quantified number. Nothing wishy washy there. The number is three. When you first write a software function, even if you’re really trying to make it generic and reusable, you just don’t have the time to think about all the use cases. After three attempts to reuse the function, it’s finally been used and revised enough to justify calling it a reusable IP component.

I’ll bet the same number applies to hardware IP. After all, how much difference do you think there is between a function written in C and a hardware IP block written in Verilog? From reusability and quality perspectives, probably not nearly as much as you might think until you mull it over a bit.

And that’s the real difference between good commercial IP and internally developed IP. Good commercial IP has already been used to create real, working silicon—several times. You reduce your risk because someone else has already faced that risk for you. In addition, the commercial IP vendor must support that IP if they plan to stay in business. For internally developed IP blocks, the one person who wrote the code for that block leaves the building every night and the probability that he or she will return the next day is always less than one. (That’s another thing I got from Ganssle’s DVD.)

With that said, I do not think it will surprise you that ASIC design teams continue to be reluctant to use purchased IP, for a variety of reasons. By far, the number one reason in my mind is NIH—not invented here. Every hotshot designer worth the title knows they can design a better logic block than anyone else for any given function. It doesn’t matter if you’re talking about processors or video codecs.

Even though this NIH attitude is often wildly unrealistic, let’s grant this wishful thinking for a moment. Then, let’s go talk to the ASIC design team that has to use this block a year or two later. What you’ll find, most of the time, is that the internally developed IP block may very well perform exactly as it should in the application it was built for. However, you’ll also find that the block isn’t documented well enough or it’s not flexible enough to use in a new design.

You are also likely to discover that any required development tools (like the vital software-development tools for processors) are either hopelessly outdated or they’re not sufficiently documented to be useful to people who didn’t make the tools in the first place. This sad state of affairs directly connects to Jack Ganssle’s empirical number: 3.

That’s why most companies purchase processor IP from the major vendors. The processor cores have been proven, they’re well documented, and the tools are kept up to date. If any of those elements isn’t there, the IP vendor will not be around very long.

To the Wayback machine, Mr. Peabody

This now takes me back to the way things were back in the pre-ASIC days of the 1970s and 1980s. System designers back then designed logic blocks and entire systems using 7400 series TTL integrated circuits. Look at boards from the early 1970s and you’ll see fields of 14-, 16-, and 20-pin DIPs (dual-inline packages for you youngsters). No big chips on those early boards. Couldn’t get them. However, as system complexity increased, we started buying those 40-pin LSI packages because they represented big, proven (well, mostly proven) blocks of logic that saved us a lot of time and board space. Purchased 8-bit microprocessors (also packaged in 40-pin DIPs, then 16- and 32-bitters in 64 pins, then a whole lotta’ pins) came with assemblers, debuggers and—eventually—compilers.

NIH was certainly around back then. There were engineers who just couldn’t live with those commercial, general-purpose processors in 40-pin packages. Those people learned microprogramming and developed their own processor architectures using TTL and bit-slice chips. But most of us found ways to live with one or more general-purpose microprocessors and microcontrollers. EDN built its reputation on helping system designers pick from the various general-purpose processors and DSPs available.

Those of us who became system designers at the beginning of the 1970s after these bigger LSI (eventually VLSI) chips were starting to appear didn’t feel threatened by using those chips. We didn’t care if those chips used more gates to implement a function than we might have used for our specific application. Mostly, we didn’t even know how many gates there were in the package. For example, I didn’t care how many gates there were in the Intel 8251 USART, I just designed it into my system. The fact that I didn’t need to know how to design a USART to be able to put one into my system and that I didn’t need to verify Intel’s design was the reason I was buying their chip—to get their design expertise.

Driving verification time through the roof

To me, the one thing that must change before we can really start designing 21st-century ASICs is the attitude that the ASIC design team must code every piece of logic on the chip by hand and then verify all that design. That attitude is the one that’s driving verification time through the roof. That attitude’s gotta go. Fast.

For that attitude to wither and die, we need to drop another very outdated attitude: every transistor is precious. It isn’t. Yet all too often we act like it is true. That attitude arose back in the 1-micron days of ASIC design when every transistor was precious, sort of. Well, not really. But if your design didn’t fit in one member of the gate-array family, you had to move up to the bigger one, if there was one, and that would cost you a lot more money just to get one more transistor.

In reality, if every transistor was precious, you’d size each individual transistor in the ASIC so that it was precisely as big as needed and no larger. We left custom transistor sizing (and disco) behind in the 1980s, but the attitude that every transistor is precious has stayed with us far too long.

What about cost? Wasting transistors drives up silicon costs. Yes, it does. But transistor costs aren’t the only costs in the engineering equation. There are also design and verification costs. There’s the cost of missing your market window. There’s the cost of letting your competitors get the jump on you even if you don’t miss your window. There’s the cost of designing something that cannot be used or adapted for the next-generation design. No design engineer can ignore these other costs. They must all be considered and balanced. To do otherwise is to ignore engineering fundamentals.

Help, I’m drowning

The real truth is: we’re drowning in transistors. The following graph is a conceptual diagram that plots the number of transistors on a chip versus the maximum system operating frequency for the IC process nodes currently in use and the one that’s in the near future. Note that you can get high system operating frequency or you can max out the number of transistors, but you can’t do both. As you put more transistors on a chip, the chip gets bigger. On-chip wire lengths get longer and chip capacitance goes up. Both of these factors drive operating frequencies down.

 


 

 

In reality, we never max out the number of transistors on a die for a high-volume commercial chip. Not at any process node. If we do, we drive manufacturing yield to zero because the chip is so big. We always compromise. We always design chips well inside the curves—never right on the curves. So the discussion isn’t whether or not to compromise, not really. It is how much compromise we will make. Accept this. Get real.

Here’s the next data point in this discussion. Everyone knows that ASIC design starts have been plummeting. This is a years-long trend. There are many reasons for this decline. First, when everything fits on one ASIC (making an SOC), you need fewer ASICs per system—namely one. EDN Executive Editor Ron Wilson’s excellent blog entry recently made this point. Next, it’s getting really expensive to design state-of-the-art ASICs. Count on many tens of millions of dollars for a 65nm ASIC. More for 45nm. That includes a million dollars or two for a full mask set. Economically, ASIC design is less and less attractive except for the most successful, high-volume systems. Ron Wilson also made that point in his blog.

Ah, but now let’s look at eASIC’s Nextreme2 announcement. The company says it has around 100 design wins for the 90nm 1st-generation Nextreme structured ASIC and is now rolling out the 45nm generation. By zeroing out NRE and cutting turnaround time to a few weeks, products like eASIC’s Nextreme2 structured ASIC could restore the lost luster to custom silicon.

But look what compromises the Nextreme users are willing to make. To a first-order approximation, ASIC designers using the eASIC’s Nextreme as a platform are giving up a factor of two in both system speed and transistor count compared to full-on, HDL-coded, standard-cell ASICs. So what? They’re killing the NRE with its million-dollar mask costs and getting to market faster. There’s a real place for this sort of design compromise. The existence proof is right there.

What do you do with 20 million gates?

So eASIC’s Nextreme structured ASICs bring the ASIC fabrication-cost barriers down and makes ASICs attractive to more system designers. The question then becomes, “What to do with those 20 million ASIC gates?” If the design team plans to code every logic block by hand on a Nextreme2 ASIC, then the team should expect verification to be the number one problem, just like Maheshwary warns. Logic is logic. From a design perspective there’s precious little difference between logic implemented in standard-cell technology and logic implemented with Nextreme2 gates. The logic verification is the same.

If the design team wants to avoid verification hell, it had better find a better way to implement systems than creating 20 million gates of hand-coded logic.

That’s where IP comes back into this discussion. I maintain that 21st-century SOC (systems on ASICs) design must take the same attitude that board-level system designers had in the 1970s and 1980s. The complexity levels demand this change. Proven, reusable IP blocks will consume the bulk of the logic on future ASICs, which will move verification from block-level verification to system-level verification. That move will be good for two reasons. First, we can perform system-level verification a lot faster than gate-level verification, especially using C-level models for various blocks. So, good purchased-IP blocks must include C-level models. Note: They already do.

Second, the design team can start system-level verification at the very beginning of the project, way earlier than for gate-level verification. After all, you need a gate-level design for gate-level verification. For system-level verification, you can literally start verifying design assumptions when you’ve got a system block diagram and good-but-rough descriptions for the behaviors of each block. Expect to see verification times plummet like a rock when the industry starts embracing this approach to system design.

I expect to see a flowering of systems design and the rise of true system architects. I expect to see system architecture flourish.

Finally, let me return to Maheshwary’s final point: ASIC designers need to use proven design and verification methodologies. I agree with the bit about “proven design methodologies.” The system-level design methodologies I’ve been discussing here were proven for logic design 20-30 years ago. They were temporarily abandoned when gate arrays burst on the scene and buried with the rise of Verilog.

It’s time to dig them up again. We’re gonna’ need them.

Posted by Steve Leibson on August 6, 2008 | Comments (10)

August 11, 2008
In response to: The End of ASICs as We Know Them
M. Simon commented:

Steve, The 8251 was just fine if you never had to do a software reset. I liked the Zilog Dual Serial chip better. I believe Intel finally wound up making a version while dropping the 8251. BTW I never ever used an 8251 in a design after that. It was either an unadorned TI chip for low cost or the Zilog chip for maximum performance. And note: Intel eventually dropped it from their catalog. At the same time the Zilog chip was still going strong. As to a the SEAForth: It is a processor designed for control. Having a processor for every couple of pins makes a lot of sense for that. It doesn''t make a lot of sense for a word processor. Also the SEAForth is light on internal memory and the internal ROM should be FLASH. However, it is designed for high volume applications. And the Processors take the place of fixed hardware. Even without FLASH modifying the hardware can be done in seconds. That is pretty quick turnaround vs 6 weeks. Also the SEAForth is a data flow architecture. No data and the individual processor goes to a total power down configuration. No clock trees and complicated power and unpower sequences involved. The software designer doesn''t have to worry about any of that. It is automatic. I have always been a big fan of simplicity. But it goes against the current grain. As I said. A step in the right direction.


August 10, 2008
In response to: The End of ASICs as We Know Them
Steve Leibson commented:

M Simon: The 8251 served me just fine. As for not being as hot as I think I am, you've possibly read something between the lines of my blog that I didn't mean to put there. And as for processor arrays like Chuck Moore's 24-processor Forth mill, I'm not a big fan of homogeneous processor arrays. If one general-purpose processor doesn't fit a task well, I don't see how 24 such processors will fit the tasks better. I'm a proponent of fitting the processor to the task for reasons of efficiency.


August 10, 2008
In response to: The End of ASICs as We Know Them
M. Simon commented:

BTW look at the SEAForth chip. They have a 24 processor version( about 1 for every two pins) and the processors shut down automatically until they have something to do. It is not general purpose enough for general use but they are going in the right direction. The Chief Architect? Chuck Moore.


August 10, 2008
In response to: The End of ASICs as We Know Them
M. Simon commented:

You used the 8251 and didn't mention the software reset bug? You are not as good as you think you are. That chip was a turkey because you could not tell what state it was in. I helped the guys (Ward and Randy) who developed the worlds first BBS get around that bug. (Hardware reset only).


August 8, 2008
In response to: The End of ASICs as We Know Them
Dave J commented:

Nice tour-de-force, Steve. I personally believe what's lacking are System Architects. Real professionals, skilled in managing all the requirements of a system (performance, reliability, testing, power, but also realistic design schedule, use of resource both silicon and human). I've met so many chip architects who were nothing more than 1) people who think everything is "just a big state machine/processor" or (slightly better) 2) glorified FUB designers who were promoted to full-chip responsibilities. SoC design is a distinct skillset from what most of us were doing in recent years. The people who can do it well today either are gifted or got lucky and/or unlucky on a few recent large designs. This is not a way to grow a professional job category.


August 8, 2008
In response to: The End of ASICs as We Know Them
Bill commented:

Steve, many perfect points...NIH is a big factor that did not exist in the old 74xx days. Engineers did not have the access or desire to build these primitive components and relied on using them. Verilog/VHDL languages, ASIC methods and widely available, cheap masks/silicon (1980-90s) allowed NIH to become SOP. One additional factor (that can be added to your chart) that minimizes the frequency or transistor count is the power dissipated. Voltage, frequency, transitor count, package thermal characteristics as well as PCB/system air flows are some other factors that impact power.


August 7, 2008
In response to: The End of ASICs as We Know Them
Steve Leibson commented:

Jack, thanks for the great comments!


August 7, 2008
In response to: The End of ASICs as We Know Them
Jack Ganssle commented:

Steve, great article. As you point out, in the olden days we designed logic with small, well-qualified components. Even when the components got bigger (big processors, complex I/O devices), they were sold to a huge market; hundreds or thousands of customers used them. Bugs were identified and fixed. But now FPGAs and ASICs have brought all of the evils of software into the hardware domain. And the hardware community hasn?t yet learned the lessons the software people so painfully picked up (though far too many software folks still ignore those lessons.) Things like configuration management, test and all the rest. Reuse has largely failed in both domains for a variety of similar reasons. NIH is but one. Another is that as a system or component gets more complex it is more specialized. The potential market for complex IP shrinks so the components are not so well tested. That fuels NIH ? why should one trust a vendor?s IP when one has been burned before? (And there?s a cynical corollary: my code or design sucks, so probably all code or designs suck.)Finally, reuse is very, very hard. It requires both tremendous discipline and management support. Reuse costs money NOW and promises a benefit TOMORROW ? how many teams are willing to slip the schedule and increase costs in the hope that a future project will go better?


August 6, 2008
In response to: The End of ASICs as We Know Them
Steve Leibson commented:

Herman, thanks for disclosing your bias. It's helpful. My bias: I work for a processor IP company. Even so, based on my system-design background before I ever got into the processor business, I firmly believe that you maximize silicon flexibility and applicability by building as much in firmware as you can, running on those big, preverified hardware blocks we call processors. We've been using processors in embedded systems since 1971. I've been doing this since 1975. Since then, ASICs have gone literally from zero to tens of millions of gates. A basic 32-bit processor costs about 25,000 gates, give or take. Take 25,000 gates from a 20-million-gate ASIC and how many are left? 20 million gates. Firmware reprogramability means that you can make that on-chip processor do many different things over the life of the hardware design. Put many processors down and have them do lots of things. Put a spare or two down while you're at it. Cheap insurance. Really cheap. Using bigger blocks of preverified logic should reduce verification time and cost, not increase it. Using processor blocks means that you don't need to think of and verify every possible future use.


August 6, 2008
In response to: The End of ASICs as We Know Them
Herman Schmit commented:

One of the interesting vicious cycles here is that because chips are so expensive to build (even without verification costs), many companies consolidate functionality and try to build one SUPER-ASIC that has all of the functionality for all of the product variations they ever anticipate. In some ways, this trend is similar to re-use, in that designers are trying to amortize the costs over more volume. However, this consolidation makes the cost of verification go up significantly, because you can't just worry about one system model anymore. You have to worry about how all the configurations of block A works with all of the configuration of block B and so on. And since both have twice as many features as before, that verification task is 4x bigger (simplistically). Does cheaper, more expendable silicon change this landscape? (Full disclosure: I work for eASIC.)

POST A COMMENT
Display Name
captcha

Before submitting this form, please type the characters displayed above. Note the letters are case sensitive:

Advertisement
Advertisement
Advertisement
About EDN   |   Site Map   |   Contact Us   |   Subscription   |   RSS
© 2012 UBM Electronics. All rights reserved.
Use of this Web site is subject to its Terms of Use | Privacy Policy

Please visit these other UBM Canon sites

UBM Canon | Design News | Test & Measurement World | Packaging Digest | EDN | Qmed | Pharmalive | Appliance Magazine | Plastics Today | Powder Bulk Solids | Canon Trade Shows