|
| United States Worldwide |
|
Typically AtypicalRubin's Radical New Approach is 24 Years Old By Al Riske 13.Mar.07-In retrospect, Steve Rubin's entree into the world of computers and programming seems almost typical. It was 1968, his second year of high school, and computers were these massive things, 10 times the size of the office he sits in today. In true hacker style, he figured out how to use a teletypewriter donated to his school in New Jersey to shut down the mainframe in New York. "Of course it left a trail," Rubin recalls. "There were four of us who had been using this thing. They called us up to New York, yelled at us, and offered us summer jobs." His career since then has been anything but typical. For one thing he's been working on the same program for 24 years now, which is almost unheard of in computing. "To have this one program still be in use 24 years later is the thing that amazes me, as well as everyone else," says the Distinguished Engineer. The program is called Electric, and it's a complete circuit-design package with schematic-capture and layout features, design-rule checking, simulation, routing, and a whole lot more. All the VLSI folks in Sun Labs, including Robert Drost and Jo Ebergen, use the program.
Dissatisfied with the other computer-aided design tools, Rubin came up with a way of designing integrated circuits, back in 1982, that he considers a no-brainer: Imagine the components all being connected to each other, and make the connections explicit.
The idea still meets with resistance today. "People don't want to have to think about connecting things," Rubin says. He describes a typical design as a sea of colorful geometry with rectangles touching each other. "And people say, 'Fine, that's connected,' because they can see it's connected on the screen. The paint touches. There's no gap. It's connected." Yes, but ... "By knowing very explicitly what's connected to what, Electric can help you keep your circuit connected when you pull things apart and rearrange them," Rubin explains. "It understands the circuitry far better." While other systems offer something called node extraction -- a step that looks at the paint and figures out what's connected -- it's done after the fact by an automated system that is both slow and error-prone, Rubin says. Unlike other systems, Electric also offers 3-D visualization. "You can take the chip and look at it off angle, considering the various layers and the thickness they have in the real world. Usually designers only see the top view, the plan view, and they don't really have the sense of what's on top of what else," he adds. "What I've found is, if you take a designer who has never used Electric before, it takes them awhile to get their old style of design out of their head and there's often resistance. If you take a kid fresh out of school, someone who's never done circuit design before, and give them Electric, they go, 'But of course!' Then you give them a paint system and they think, 'This is about as primitive as it gets.'"
One place where Electric did not meet with resistance is Sun Labs, where Rubin was a guest speaker in 2001. His presentation struck a chord with Ivan Sutherland, a Sun Fellow known for his pioneering work in computer graphics and constraint-based systems. "One of the things Electric has in it is a constraint system. You can say, for a given wire holding two components together, 'I want this wire to stay at the same angle.' Therefore if one side moves, the other side must move to keep the same angle. Or you can say, 'I want this wire to be rigid in length.' In other words, you can program your circuit to hold together the way you envision it by setting up constraints. So I think Ivan saw in Electric a brilliant idea he had thought of," Rubin says. "We spoke the same language."
After that, Rubin was brought in as a consultant and later became a Sun employee. "The great thing about Steve and Electric is that we have both in our group. We have been using the tool Electric for all our chip designs for many years. Over the years, Electric has improved tremendously. Whenever something needs to be fixed, Steve and his team will do it almost instantly," says Distinguished Engineer Jo Ebergen. "Or if we'd like an additional feature in Electric, we can design it ourselves. Electric is a great design tool and a great research vehicle for tool development." Rubin is proud to say that all of the proximity communications chips we've heard so much about were designed using Electric. "Robert Drost is right next door and he uses Electric -- and that's quite a statement because Robert is also the author of a CAD system. He knows CAD tools and rather than using even his own, he switched to using mine. I consider that a real feather in my cap," Rubin says.
The path Electric took as been, well ... circuitous. "I developed this when I was working at the Fairchild Laboratory for Artificial Intelligence Research -- FLAIR -- here in Silicon Valley. When I left there, I kissed Electric good-bye because, let's face it, the work you do is owned by the company and not you," Rubin recalls. "So that was the end of that." Or so he thought. "I went to work for Apple, and a few months later this guy, Brian Gardiner, calls me up on the phone and says, 'You don't know me, but I just bought the rights to Electric because I think it's really cool and I'm hoping you'll be a principal in my startup company.' So for the next 10 year, as this company struggled along, I sort of helped them on the side," Rubin says. "In the meantime I did other things. I worked at Apple, Interval, and a number of other places. Finally, he folded shop and I convinced him to put the code into open-source distribution. I also purchased the rights to Electric from him. Now I finally had a piece of software no company could kill." Indeed, the program has continued to grow and evolve at Sun. "One of the things we've done is to translate it from C into Java. Actually this was painful to me because I was giving up 20 years of software development. I felt like I was abandoning something that was stable and mature and more or less complete. I was just working on little bits here and there. Then suddenly I was being asked to rewrite the entire thing," he says. "Other people worked on it with me, notably Ivan Sutherland. Ivan hammered on me for quite a long time to think about translating it into Java, and I finally did, much to his delight, I have to say. But what convinced me was that the whole team wanted to do it. You know how you just wake up one day and suddenly you've made your mind up: Okay. We'll do it." In fact, the team -- primarily Rubin, Jon Gainsley, Gilda Garreton, Russell Kao, and Dima Nadezhin -- has demonstrated the power of Java to deal with programs of incredible complexity. "Electric is not only a big program, but a big program with a large amount of code. Now there are plenty of large Java programs in the world -- compilers and integrated development environments. These are complex programs; I don't deny that. But Electric is way up there in the list of programs that have a pile of code. I mean, this has 23 years of code development behind it, so we are pushing all kinds of bounds in Java and getting some very pleasing results," Rubin says. "Most people are afraid to move CAD systems into something like Java because they realize CAD systems are the most resource-intensive programs around. Chips have grown bigger and bigger, with millions and millions of transistors. Take a look at some of the chips Sun is developing right now with multiple cores. The CAD software that analyzes these programs will use up all the resources on the computer and run for days sometimes. Well, if I come along and say, 'Let's program it in Java. It may not be as efficient, but that's okay -- which was the attitude people had toward Java -- they'd say, 'No, that's not okay.'" But, in Java, Electric is actually more efficient. "That's partly through recoding -- and Java has offered us the ease of recoding, which other languages did not -- and partly just new ways of thinking about the software that Java has afforded us," he says. "Often times, even without rethinking, just translating it straight and doing the smallest amount of optimization just to consider, you know, where we now are, we have no loss of performance. So we're very pleased. Java gave us performance gains we never expected." So how does Sun gain from having an open-source CAD tool that runs on any platform? "There are really two versions of Electric. There's the version that is free and open source and everyone in the world can get it, but there's also the version that we are developing here, which has a few extra bits," Rubin says. "We know where to put our firewalls so we are getting the competitive advantage off a system that we believe is a good system, and now we're enhancing it for our own use in a number of ways. When our designers say, 'I wish my CAD tool could do this,' we do it for them." |
|
|||||||||||||