|
Design Tools
Managing the complexities of designing and manufacturing computer networking systems is no easy task. At Newbridge Networks, one pivotal area--the design and verification of ASICs--has been receiving increased scrutiny. Newbridge has been delivering fully managed networks for transmitting voice, data, image, and video traffic for over 11 years. As a supplier of end-to-end networking solutions, our constant challenge is to keep pace with the market's demands by providing major technical advances and superior functional integration within narrowing time-to-market windows. In the process, we've accumulated substantial experience in the design of hardware and software for standards-compliant asynchronous transfer mode (ATM), time division multiplexing (TDM), frame relay, and X.25 networking systems. Here, as with most electronic system manufacturers, the pressure of meeting critical delivery dates within shrinking market windows has intensified as the size and complexity of ASICs have grown. The most significant changes to our ASIC development strategy have come about because of the verification problems posed by system-level designs. In terms of time and resources, design verification can easily consume 60 to 80 percent of our design budget, and such a percentage is by no means unique to Newbridge.
Difficulties with
verification
The verification slowdown ultimately led us to adopt a top-down, "spec-level" verification strategy company-wide, with Specman from Verisity Design at its center. We hoped that Specman would overcome, or at least minimize, the verification bottleneck arising in nearly all of our ASIC development programs (see "Specman Allows Top-Down Verification"). Under severe market pressure to verify two ASICs, we used the top-down verification strategy for the first time. That strategy enabled us to get the two ASICs working in the system in significantly less time than would have been possible using our previous methodology. Improved verification efficiency is important, not only from a resource management perspective, but from a personnel perspective as well. Skilled verification engineers are extremely hard to find and, to some degree, their scarcity can be linked to the inefficiency of the tools at their disposal. At an efficiency rate of 40,000 gates per design, today's verification engineer is placed in a high-pressure, no-win situation when confronted with ASICs approaching half a million gates or more. Specman dramatically increases the verification engineer's efficiency, turning that no-win situation into a value-added contribution to the company's competitive edge. Another benefit to performing "spec-based verification" with Specman is that it formalizes the process of communicating spec-level design and verification issues as information is passed from one engineer to another, which virtually eliminates the potential for the mismatched assumptions between engineers that can create architectural bugs in the design. By maintaining information at a higher level of abstraction, it's easier to capture, and because the information is readable by engineers, it's much easier to relate to the original specification. Specman complements our use of hardware emulation by helping to find the great majority of bugs--both functional and architectural--early in the design cycle, allowing us to use the hardware emulator in its more effective role as a hardware/software cosimulation environment. Moreover, Specman enables us to create a spec-level environment first, before the design is even ready, and to run traffic on it to make sure it's running correctly at the highest level. Then, when the HDL design is ready, we can find bugs immediately, instead of waiting until after we've completed the design to create our test benches. In that way, we discover a majority of the bugs prior to hardware emulation, reducing the chance of getting bogged down by having to trace a long series of individual bugs, one at a time in the emulator. It takes much more time to get a design running in an emulator than in a simulator and even more time to debug it.
Previous methodology
Because of the limitations of HDL-based tests previously mentioned, we were only able to find 80 percent of the total number of bugs with our ASIC test benches (see Figure 1a). Even as we continued to write tests, we didn't find any new bugs. We hit a plateau because we didn't understand fully what was tested and what wasn't. In addition, it was hard to correlate our bug rate with the new tests we wrote. Consequently, we were forced to find approximately 20 percent of our design bugs through hardware emulation or, worse, through lab bring-up. As a result, we had to go through several design respins. In addition, without good verification metrics, department schedules controlled release dates. Having reached our code coverage goals, the engineers performed hardware emulation on a prototype system. Although hardware emulation is extremely useful to identify the last few percent of the bugs in a design, if used too early it simply bogs down the verification effort. It's simply too cumbersome to step in and out of the hardware emulator to fix a long succession of bugs one at a time. The verification "dead time" created by that approach was far too great.
Coverage
To ensure satisfactory functional coverage, thereby reducing the potential for multiple respins, we needed the ability to identify holes in the functional coverage early in the verification process and to eradicate as many functional and system-level bugs as possible before going to silicon. Functional bugs, the more straightforward of the two, occur when something in the design has been implemented incorrectly. System-level, or architectural, bugs are more complex and more ambiguous in nature. They can occur as a result of a misunderstanding of the specification, an inaccurate functional definition, or mismatched assumptions between engineers working on separate but interconnected modules of a design. Deterministic tests--even at the system level--are poor at finding such system-level bugs because they require you to "predict" the communications breakdowns.
Specman delivers
With our new verification methods, the efficiency of Specman made the rate of test generation much higher (see Figure 1b). Also, the superdirected and on-the-fly test generation made it easier to flush out our design bugs. Furthermore, using a combination of line and expression coverage, as well as functional coverage, we were more capable of writing new, meaningful tests. We could now uncover more than 90 percent of our bugs in ASIC stand-alone testing (through either module or full-chip testing). We now had the bandwidth with our existing staff to write system-level tests in which we could further verify the ASIC in a system-level environment. That practice flushed out new types of design bugs, such as handshaking, interface, and initial specification errors. In the testing, we uncovered a significant number of the remaining bugs--about 9 percent. When we started hardware emulation after using Specman, we thus had a much more mature design and found very few bugs. Those that we did find were generally in the corner cases, requiring millions of simulation cycles to uncover. As is most often the case, the major problems encountered in the ASICs stemmed from the inadequate functional coverage of our old methodology. The design engineers had successfully met their code coverage goals, highlighting major holes and performing most of their checks manually. The checks were not self-testing, because that would have required more time and resources than we could apply. Ultimately, the ASICs didn't work in the areas we didn't test.
Testing again
Using our design specification and functional test plan, we were able to define numerous functional test points with the goal set at 100 percent coverage. Using Specman to define functional coverage enabled us to do a feature-by-feature validation of the specification and to test the interaction between modules. As we ran the tests and found bugs or functional coverage holes, Specman allowed us to quickly create new tests to cover the holes, and we quickly closed in on working designs. In all, the entire process took approximately 18 weeks, including three days of training at Verisity, three weeks of working with our applications engineers to accurately define the bus protocol, and three weeks of getting the verification engineers familiar with the architecture of the ASICs.
Performance analysis
A side benefit to adopting a top-down verification strategy is that it brings the architectural assumptions and the actual chip design closer together, making high-level performance analysis easier to accomplish. Typically, our performance analysis team uses an ASIC's architectural specification to establish network performance goals utilizing a performance analysis tool, like Opnet from Mil 3, to model the overall system environment. Unfortunately, though the design intent is maintained, the actual chip design often strays far from the original architectural specification, leaving the performance analysis group effectively disconnected from reality. That's a fairly consistent problem throughout the industry. Using Specman as the heart of a top-down design and verification strategy, we can model the chip architecture at the spec-level and create an effective bridge that reaches all the way to the gate-level design, enabling our performance analysis team to set more realistic performance goals for system-level throughput and latency. In that way, Specman helps establish greater continuity across the entire design and verification process and solves the disconnect problem for the performance analysis group.
Results
We've already begun establishing dedicated verification teams throughout the company with the mandate to create a reusable verification infrastructure that uses Specman to implement a top-down verification strategy. Currently, eight different ASICs are being verified using Specman. Synergy between the design and verification groups is growing steadily, and the potential for verification reuse gains ground with each new ASIC. We are also evaluating other verification technologies that may hold promise for future designs. They include cycle-based simulation and formal verification. In all, the momentum created by our new top-down strategy has taken us a long way toward overcoming the verification bottleneck. Dan Schumacher was manager of design automation and services at Newbridge Networks, Inc. in Andover, Mass. (formerly UB Networks), when he wrote this article. He's currently the manager of switch and Gigabit ASICs at Sun Microsystems, Inc. in Chelmsford, Mass. He has over 16 years' experience in the ASIC industry and has worked in process development; test; process characterization; analog, digital, and mixed-signal design; full-custom, standard-cell, and gate array design; microprocessor and network architecture; and CAD tool development, support, and design methodology. To voice an opinion on this or any Integrated System Design article, please email your message to miker@isdmag.com. integrated system design June 1998[ Articles from Integrated System Design Magazine ] [ ICs and uPs ] [ Custom ICs and Programmable Logic ] [ Vendor Guide ] [ Design and Development Tools ] [ Home ] For more information about isdmag.com email webmaster@isdmag.com For advertising information email amstjohn@mfi.com Comments on our editorial are welcome. Copyright © 2000 Integrated System Design |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Home | About | Editorial Calendar | Feedback | Subscriptions | Newsletter | Media Kit | Contact | Reprints| RSS|
Digital| Mobile |
| Network Websites |
|
International |
|
Network Features |
|
|
|
All materials on this site Copyright © 2009 TechInsights, a Division of United Business Media LLC All rights reserved. Privacy Statement | Terms of Service | About |