Experts At The Table: The Past, Present And Future Of Synthesis
Friday, January 15th, 2010By Ed Sperling
System-Level Design sat down to discuss the future of synthesis with Shawn McCloud, product line director for Catapult C Synthesis as Mentor Graphics; Chris Eddington, director of marketing for system-level products at Synopsys; Bret Cline, vice president of marketing and sales at Forte Design Systems; Sanjiv Kaul, executive chairman at Oasys; and Andy Biddle, director of business development at Magma. What follows are excerpts of that conversation.
SLD: Who’s going to be using these tools? Is it the hardware or software engineers?
Eddington: There are limitations to a C-based description. But if you take the guru for an OFDM timing circuit—very often those guys think in system-level designs. They read math books and they do blocks. They draw systems out and map out what it has to do at a very high level, and then they throw it over the wall to a hardware engineer who is going to describe it in a more hardware-oriented C-based or an RTL-based language. This might be an algorithm engineer, a system engineer or a product architect, depending on the organization of the company, but these guys are sitting together with the hardware team. Those front-end guys are already using some of these languages to think through their ideas. MatLab is a good example. It’s an array language with numerical functions you don’t have to write yourself.
McCloud: Most companies have algorithm engineers. But we see the best success when these two work together. The algorithm is being written to be more friendly for hardware engineers. If not, these algorithms can be used as a seed for the hardware designer to produce the design. I believe that ultimately the hardware designer will be the user of high-level synthesis. I think that’s going to take some time. Not all will convert, but some will convert.
Cline: I’m on a mission to squash the term, ‘RTL designer.’ They’re a hardware designer. You’re forced to use RTL because of the tools of the day. As we pull the whole flow together, if RTL is an intermediate format to any of the logic synthesis tools, no one really cares what that looks like. I also think that 80% of the RTL hardware designers will move up. You’ll get some smart verification, software, algorithm and systems, but I still think it’s a hardware design task. I do think there is a differentiation on the Matlab side. We don’t deal with that. But we certainly see it.
Kaul: The transition from gates to RTL happened when the chips got bigger than 50,000 gates. It happened pretty quickly, too. But high-level synthesis has been around awhile. Is there a triggering event that will make people move?
Cline: I think re-use has kept RTL around longer than it needed to be. One of the interesting things about the recession is that it has forced everyone to come to high-level synthesis. Who wakes up in the morning and says, ‘My chip has double the number of gates and I have half the staff I did last year. But I’m going to do exactly what I did last year.” Japanese companies have been building a flow with high-level synthesis since 2001.
SLD: What causes the shift?
Eddington: It’s complexity in both verification and design. The road maps I’ve seen from some of our largest customers show zero hardware designers, all systems engineers describing their designs at a high level.
Cline: That would be impressive.
Eddington: That’s their goal. I don’t know if they’re going to get there, but that depends on us, too.
SLD: As we get into more complex designs with multiple cores and multiple power islands, does synthesis work for that or is it still block by block?
Cline: It’s not block by block, but it’s not everything you’ve mentioned. There are really good tools that can handle implementation of RTL into designs and that can do smart things with power islands, how you’re going to implement clock gating and all the other things you’re going to use. Our strategy is to give hints about what we think should happen, but they still let the tool get everything right at the RTL level.
Kaul: There are very few tools that can look at the entire chip. There are floor planning and timing, and that’s it for a large chip. Even the physical implementation is broken up into partitions. But you have to look at the whole chip to do tradeoffs. Synthesis has to look at the entire chip, too.
Eddington: The high-level synthesis tools in the market today have affected the trend. There are fewer algorithms being implemented in DSP firmware and instead being implemented as hardware accelerators. That’s been an effect of the high-level synthesis tools, which makes it easier to develop those hardware accelerators. If you look at the partitioning between hardware and software and synthesizing from the spec, ‘Here’s the part that I want in hardware and here’s the part that I want in software,’ no one has done that yet.
McCloud: That’s the Holy Grail.
Eddington: Yes, and it’s a very challenging problem. High-level synthesis is a foundation to that.
Cline: When we talk about high-level synthesis, we just take for granted that we’re going to produce RTL and get a chip out. That’s a very hard problem. We actually think of RTL synthesis as the back end now.
Biddle: About 40% of our customers are spending most of their time on timing closure and routing today. They don’t really care which synthesis tool they’re using as long as it comes out about right. They know they’re going to have a problem down the line when it comes to polygons.
SLD: What happens when the industry moves to vertical stacking?
Eddington: If you’re using your downstream tools effectively, it’s just another technology that your flow plugs into.
Cline: This is the caution of not just stopping at RTL. You need to give the high-level synthesis tool the data that it needs to make good decisions. Ideally one of the big vendors would have an API that we could tap into and get everything we need to know before we synthesize. That doesn’t exist. You can get some feedback from the logic synthesis tools, but it certainly isn’t the be all and end all. As you go down to the smaller nodes you need more and more information. The question is how much you’re going to get.
Eddington: Did you say you’re feeding back IP-level estimation data up to high-level synthesis?
Cline: In our case we’re feeding back gate-level implementation decisions.
Eddington: We feed back IP-level information, as well.
Cline: What does IP-level mean?
Eddington: You’re estimating an operator like an FFR filter or an FFT, and that makes the whole flow more efficient. A gate-level implementation of an FFT would take forever, but you can do that quickly if you know the pieces and the general architectural decisions you want to make. You make the right calls to the logic synthesis tool and you can estimate that.
Cline: And you can even go more fundamental than that. How much will it cost to implement this multiplier and this technology library at this speed?
McCloud: It’s also about the quality of the library. High-level synthesis has a library just like RTL synthesis does. As you get into lower geometries and 3D, the library you’re creating has to be of higher quality. The more information you put into that library the faster your tool is going to execute and the more accurate it’s going to be. You also need a feedback path from the physical side. We’ve taken a path of partnering with the silicon vendors.
SLD: How does software fit into all of this?
Eddington: It’s a huge part of the verification problem. Everything you do in hardware ultimately is going to interoperate with some software. Once you plug those things together, does it work? The sooner you can do that verification in the design flow the better. High-level synthesis plays the role of getting the hardware done earlier so the software guys can start using it.
McCloud: This is where TLM virtual platforms play a big role. One of the biggest challenges our customers face is the unpredictability of their system. It’s not until they get everything done—their RTL, the software and the chip—and they’re ready for tapeout that they have a predictable system where they can see if it works. TLM allows you to verify the software with the hardware with which it’s going to be implemented.
Cline: But that’s independent of synthesis. Most people that use virtual platforms are doing that in a way where they’re not synthesizing afterward. We think they should be. But a lot of them are just rewriting that into RTL and then going into a traditional flow. Interestingly, they’re coming up with larger chips because they can do more in a high-level model than they used to.
McCloud: The problem is when they go to rewrite the models, that introduces a huge verification challenge. What they try to verify at the beginning of this virtual platform now has been rewritten. So how do you know if what you’ve rewritten is correct?
SLD: How many people are actually using TLM 2.0 for modeling?
McCloud: TLM 2.0 is a fairly new event. It’s a big step forward for the market. It’s an attempt to separate functionality from the interfaces and power and performance. Part of the challenge with building virtual prototypes is the modeling challenge. TLM has tried to make that easier. But everyone is doing some level of virtual prototyping, even if it’s just a spreadsheet.
Cline: I agree. I think people do TLM. They just don’t call it that. The synthesis side of TLM is not defined yet, but it will get there.
Eddington: It’s attempting to standardize all the different methodologies you need to be able to deal with writing C code that models systems. There are different levels of abstractions. TLM 2.0 delineates untimed vs. approximately timed, abstractions in communication and computation.

