|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
June 5, 1997 Not just your basic ASIC librariesIC designers do not live by reusable cores alone. Libraries of basic logic functions, memories, datapaths, and I/O cells are the glue that holds a chip together. Core-based chip design, using predesigned and preverified logic blocks, is here. Using cores helps you shorten product-development time and manage the complexity of chips having a million or more logic gates. However, you can't just connect all the cores and get a working chip. You also have to use lower complexity logic blocks, often called "glue logic," to connect the larger and more complex chip blocks. You will most likely have some memory on-chip and possibly other blocks performing datapath or arithmetic functions. Finally, you need some way of bringing control and data signals on- and off-chip, usually with one or more standard I/O interfaces. An ASIC library provides the IC cells and blocks to help you with intercore and I/O functions. When choosing a library for your chip design, you have to consider the library attributes, such as available functions and performance, along with how well library implementation fits into your chip-design flow. Knowing what cells to look for in an ASIC library and where you can get those cells will help you successfully complete your core-based chip designs. Why you need ASIC libraries The ASIC chips you design now probably include one or more cores. These cores, developed and proven by either an ASIC vendor or a third-party core provider, represent large blocks of logic (often referred to as "intellectual-property blocks") that you can implement on different chips. The advantages of core-based design are faster time to market and reuse of often complex logic functions. Unfortunately, core-based chip design, particularly for complex chips, is a more difficult task than either core providers or EDA tool vendors might lead you to believe. A lack of standardization in both core- and intercore-bus specifications requires you to place custom-designed logic blocks--glue logic--between cores (Reference 1). Chip-to-chip communication is relatively well-defined, but you also need I/O logic to transfer control and data on- and off-chip. ASIC-library cells give you the basic functions you need to implement chip glue logic and I/O cells. Assuming that you do not want to develop your own ASIC libraries, you usually get them from an ASIC vendor or a third-party library provider. Some ASIC vendors develop their own libraries, and others get theirs from a third-party source, sometimes supplementing the library with their own cells. Regardless of where you get your ASIC libraries, there are many factors to consider when making the correct library choice for your design. What to look for in a library An ASIC library comprises basic logic functions (and combinations of these functions), I/O cells, memories, and structured blocks. Basic logic functions and combinations of these basic functions, often called "library primitives," or "foundation cells," include functions such as AND, OR, NAND, NOR, XOR, AND-OR-Invert, one-bit adders, buffers, latches, flip-flops, and multiplexers. I/O cells implement standardized interfaces--some interfaces based on electrical and some on bus standards. Examples include TTL, PECL, and PCI. The memory group usually includes SRAM and ROM. Some ASIC vendors also have DRAM. Structured blocks include regularized-cell logic functions. The structured group are cells such as datapaths and multipliers. (The number of interface standards available for your chips is increasing rapidly. Understanding the definition of each standard and where you use it is not a trivial matter. Table 2 lists some of the most commonly used chip-I/O interfaces, including both electrical and bus standards, and a brief description of each. You can find additional information in References 2 through 5.) Every ASIC library should include library primitives and I/O cells. In addition, each library should include some memory capability, either as fixed blocks or compilable cells. Other blocks, such as multipliers, FIFO memories, and barrel shifters, may also be part of an ASIC library. Some companies sell a complete, tightly integrated library. Cascade Design Automation has its Silicon-Intelligent Library cell-based product, consisting of standard cells for foundation-logic functions, I/O libraries, and compilers for memories and datapaths. Other vendors, such as Artisan Components with its Process-Perfect products, have libraries consisting of foundation and I/O cells along with memories. Lack of datapath and other structured blocks should not be a problem, because you can get these types of logic functions from some EDA and other non-ASIC-library vendors. When choosing an ASIC library, your primary concern is finding a library for your chip's target fabrication process that has the functions and performance you need. If you buy a library designed for your process, you'll have a high level of confidence that the vendor has optimized the library's performance for that process. If you already have an ASIC library designed for another process, you can buy layout-conversion software to convert the library primitive cells to the new technology. (See box, "Layout-conversion tools.") However, these tools do not give you process-optimized cells. Furthermore, you use these tools to translate basic logic functions from one technology to another. You would use no layout-conversion tools for memories, structured blocks, or I/O cells. A library vendor "tunes" these cells to a specific process to maximize density, optimize speed, or meet interface standards. You will probably not find
an ASIC library that has all the logic, I/O, and memory
functions you need. For example, graphics-workstation
manufacturer Silicon Graphics (Mountain View, CA) gets
libraries from many ASIC and library companies, with each
division using its own vendors. Greg Buchner, Silicon
Graphics' director of engineering for Onyx 2, a graphics
supercomputer, indicates that his group will add or
change approximately 20 cells in a library the company
buys, as well as add a few more I/O cells. Silicon
Graphics makes these changes either because of increased
density to reduce chip cost for low-end products or
because of increased performance for high-end chips. Both
Buchner and Alex Silvey, a design-automation manager in As important as library performance and flexibility are, just as important is how easily the library's implementation fits into your design flow. Peter Santos, marketing director of Ca-dence's (San Jose, CA) design services, notes that chip time to market is a Cadence customer's most important design consideration. Time to market depends on both library attributes and a library's integration with EDA tools and design methodology. Closely coupled to library integration are the library cell representations, or models, also called "views," that come with the library. Table 1 shows cell representations for some ASIC companies and library vendors for physical design, HDLs, timing analysis, and power analysis. All but one vendor in Table 1 provide both Verilog and VHDL cell
representations. Industry-standard GDSII (Graphic Design
System II) and LEF (Library Exchange Format) dominate the
available physical-cell representations, and cell views
for Quad Design's (Camarillo, CA) Motive are the most
popular for timing analysis. Another important feature of an ASIC library is how well you can place and route the cells. Many vendors have different library versions optimized for different place-and-route tools. This optimization gives you cells that are easier to place and route, are denser, and usually perform better than nonoptimized place-and-route cells. Cadence's Cell3 and Avanti's (Sunnyvale, CA) Aquarius are the tools of choice for library optimization, although Table 1 shows library optimization for other place-and-route tools and, for ASIC vendors, internally developed place-and-route tools. Caution: ASIC libraries ahead Before deciding which ASIC library to use, make sure that it has the features you need and that it fits into your design methodology. An important consideration is that the library cells follow the same design practices that you use in your chip design. For example, if your designs don't use pass-transistor logic, your ASIC-library cells shouldn't either. Other ASIC-library-cell features to watch for are unbuffered outputs, unbuffered clock inputs to latches and flip-flops, and the use of large transistor stacks in wide-input logic gates. Decide if you want to buy an ASIC library from an ASIC vendor or a library provider. An ASIC-vendor-supplied library is a lower risk choice, because the ASIC company presumably verifies the library cells and compilers with its process, which is your target process. Make sure the library has the functions you need, including I/O capability. If any functions are missing, either you or the ASIC vendor must design additional cells. Also, make certain that the library has the models you need to fit within your chip-design flow. If you want optimized performance, verify that the library vendor optimizes the cells for your place-and-route tools. Finally, don't assume that every cell will work as advertised in your design. Designers often find cells that don't meet specifications. Once embedded in a complex chip design, problem cells are difficult to debug. If you have time before starting an important design, check out all cells and blocks that you intend to use, preferably on a test chip fabricated in the target process.
Acknowledgments Thanks to Aspec Technology, Artisan Components, Motorola, and Toshiba America for providing additional I/O-interface information. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| EDN Access | Feedback | Table of Contents | |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Copyright © 1997 EDN Magazine, EDN Access. EDN is a registered trademark of Reed Properties Inc, used under license. EDN is published by Cahners Publishing Company, a unit of Reed Elsevier Inc. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Table 1A--Representative ASIC-library vendors--technology support and cell offerings | |||||||||||||
| Company | Technology range (µm) | No. of foundries supported | Total foundry and process combinations | No. cells | No. Drives | Place-and-route tool (optimization) | Cell representations | ||||||
| SC | GA | EA | SC | GA | EA | Physical | Timing | Power | |||||
| Artisan Components San Jose, CA 1-408-453-1000 fax 1-408-453-3500 www.artisan.com |
0.25 to 0.35 | Multiple | Multiple | 416 | Four to nine | Cell3, Aquarius XO | GDSII, LEF | Motive, TLF (Cadence internal format) DesignTime | DesignPower (under development) | ||||
| Aspec Technology Sunnyvale, CA 1-408-774-2199 fax 1-408-522-9450 www.aspec.com |
0.25 to 0.8 | 16 | 39 | 335 | 309 | 309 | Six | Four | Two | Silicon Ensemble, Gate Ensemble, Cell3, Aquarius BV/XO, GARDS/SC | GDSII, LEF, Frame | Motive, Pearl, PathMill, TimeMill, DesignTime, Veritime, TLF | DesignPower, PowerMill |
| Cascade Design Automation Bellevue, WA 1-206-643-0200 fax 1-206-649-7600 www.cdac.com |
0.25 to 1.0 | 30 | 100 | 845 | Six | Cell Ensemble, Cell3, Aquarius BV/XO, Epoch | GDSII, LEF, Composer, Place-and-route, technology files | TLF, DesignTime | DesignPower (under development) | ||||
| Compass Design Automation San Jose, CA 1-408-433-4880 fax 1-408-434-7820 www.compass-da.com |
0.25 to 0.8 | 11 | 21 | 330 | 324 | Six | Five | Pathfinder, Cell3, Aquarius BV/XO | GDSII, LEF, CIF | Motive, DesignTime QSIM | Spice (for PowerMill), PowerSim | ||
| GEC Plessey San Jose, CA 1-408-451-4700 fax 1-408-451-4710 www.gpsemi.com |
0.35 to 0.7 | Two | Six | 250 | 250 | 32 | Three | Three | Gate Ensemble | GDSII, LEF | DesignTime | PowerMill | |
| LSI Logic Milpitas, CA 1-408-433-8000 fax 1-408-433-8989 www.lsilogic.com |
0.18 to 0.8 | One | Six | 1000 | 1000 | 1000 | Seven | Seven | Seven | LSIPD (LSI Logic) | Motive | Quickpower, Watt Watcher, LSIpower | |
| Motorola Phoenix, AZ 1-602-814-4172 fax 1-602-814-4451 motserv.indirect.com |
0.35 to 0.65 | Three | Three | 450 | 220 | 220 | Four | Two | Two | Gate Ensemble, Cell3, Aquarius, Predix (Motorola) | None | Motive | DesignPower |
| NEC Santa Clara, CA 1-408-588-6636 fax 1-408-588-6752 www.nec.com |
0.25 to 1.2 | 479 | 2264 | 1010 | Six | Six | Five | GDSII, LEF | Motive | Power Compiler | |||
| Samsung Semiconductor San Jose, CA 1-408-954-7000 www.sec.samsung.com |
0.35 to 0.8 | One | Five | 1500 | 1500 | 1500 | Three | Three | Three | Gate Ensemble, Silicon Ensemble, Aquarius, GARDS | GDSII | Motive, DesignTime | PowerMill |
| Silicon Architects Mountain View, CA 1-415-943-5000 fax 1-415-943-5010 www.synopsys.com |
0.25 to 0.8 | 22 | 38 | 650 | 650 | Three | Three | Gate Ensemble, Aquarius XO | GDSII, LEF, DEF | Motive, DesignTime | Power Compiler | ||
| Toshiba America San Jose, CA 1-408-456-8900 fax 1-408-456-8910 www.toshiba.com/taec |
0.25 to 0.6 | 500 | 500 | 500 | Three | Three | Three | Cell3, Gate Ensemble, Chip In (Toshiba) | |||||
| UTMC Colorado Springs, CO 1-719-594-8035 fax 1-719-594-8468 www.utmc.com |
0.6 to 1.0 | Three | Three | 170 | Two | GARDS | None | SDF | None | ||||
| Virtual Silicon Technology Pleasanton, CA 1-510-426-1934 fax 1-510-426-1457 |
0.25 to 0.5 | Four | Four | 380 | Four | Cell3, Gate Ensemble, Aquarius | GDSII, LEF | PowerMill, Power Compiler | |||||
| VLSI Technology San Jose, CA 1-408-434-3100 fax 1-408-434-7584 www.vlsi.com |
0.25 to 0.6 | Two | 600 | 250 | 150 | Four | Two | One | Pathfinder | CIF, SCP, MCP, GDSII, LEF, DEF | Motive (SDF) | DesignPower | |
| Notes: GDSII=Graphic Design System II;
LEF=Library Exchange Format; DEF=Design Exchange Format;
TLF=Timing Library Format; CIF=Caltech Intermediate Format; MCP=Megacell Cell Phantom; SCP=Standard Cell Phantom; SDF=Standard Delay Format; SC=standard cell; GA=gate array; EA=embedded array. All companies support both Verilog and VHDL, except UTMC, which supports only VHDL. |
|||||||||||||
| Table 1B--Representative library vendors--Memory, I/O, and other included blocks | ||||||||||||
| Company | SRAM | ROM | 2kx16 SRAM at 0.35 µm | I/Os supported | Datapath support | Other blocks | ||||||
| Word width (bits) | Word depth | Types | How supplied | Word width (bits) | Word depth | How programmed | Access time (nominal/ worst case) (nsec) | Power dissipation (nominal/ worst case) (mW/MHz) | ||||
| Artisan Components | 2 to 128 | 16 to 8k | Asynchronous, synchronous, single port, dual port | Compiled, fixed block | 2 to 128 | 16 to 8k | Diffusion | 2.2/4.0 | 1.6/1.71 | TTL, AGP, PCI, LVTTL, LVCMOS, CMOS | ||
| Aspec Technology | 2 to 288 | 32 to 32k | Asynchronous, synchronous, single port, dual port | Compiled | 4 to 288 | 8 to 16k | Diffusion and metal | 7.0/9.8 | 0.72/0.86 | AGP, GTL, GTL+, HSTL, LVDS, LVTTL, PECL, PCI, CMOS | Works with PathBlazer and SmartPath | Multipliers, adder, FIFOs |
| Cascade Design Automation | 1 to 256 | As many as 16k | Asynchronous, single port, dual port, multiport | Compiled, fixed block | 2 to 64 | 64 to 32k | Diffusion and metal | 3.1/4.4 | 2.9/NA | PCI (3 and 5V), TTL, LVCMOS, SCSI, Ultra SCSI, IEEE-1394, CMOS | IntelliPath, Datapath, Compiler | FIFOs |
| Compass Design Automation | 2 to 36 | 16 to 2k | Asynchronous, synchronous, single port, dual port | Compiled | 4 to 64 | 64 to 4k | Diffusion and metal | 3.4/5.8 | 0.86/1.02 | PCI (3 and 5V), USB, AGP, CMOS | 4 to 128 bits, more than 100 functions | |
| GEC Plessey | 4 to 64 | 24 to 8k | Synchronous, single port, dual port | Compiled | 4 to 64 | 64 to 4k | Diffusion | 5.0/8.5 | 0.59/NA | TTL, PECL, LVDS, PCI, Cardbus, ATA-4, IEEE-1284, CMOS | ||
| LSI Logic | 80 | 8k | Asynchronous, synchronous, single port, dual port, multiport | Compiled, fixed block | 128 | 32k | Metal | 4.5/6.3 | NA | TTL, GTL, LVTTL, ECL, LVPECL, LVDS, Hyper LVDS, HSTL, SSTL, PCI, CMOS | Adders, multipliers | |
| Motorola | 2 | 256k | Synchronous, single port, dual port | Compiled | 4 | 512k | Diffusion | 4.4/7.0 | 1.9/NA | TTL, LVTTL, CMOS, LVCMOS, PECL, LVPECL, SCI/LVDS, GTL | ||
| NEC | 4 to 128 | 16 to 4k | Synchronous, asynchronous, single port, dual port | Compiled, fixed block | 4 to 64 | 128 to 8k | Diffusion | 4.05 worst case | 0.34 worst case | TTL, LVTTL, GTL, GTL+, PECL, PCI, HSTL, CMOS | DRAM | |
| Samsung Semiconductor | As many as 256 | As many as 16k | Synchronous, asynchronous, single port, dual port | Compiled | As many as 256 | As many as 64k | Diffusion | 6-Mar | 0.66/1.32 | TTL, GTL, AGP, PCI, ATA-3, LVDS, USB, SCSI-3, CMOS | Datapath compiler | DRAM |
| Silicon Architects | 4k | Asynchronous, synchronous, single port, dual port, multiport | Fixed block | 128 | Diffusion | 3.0/5.0 | 2/3.5 | TTL, LVTTL, PCI, USB, CMOS | DataPath Express | Multipliers, adders, FIR filters | ||
| Maximum of 256 kbits |
ROM maximum of 2 Mbits | |||||||||||
| Toshiba America | 8 | 2k | Asynchronous, synchronous, single port, dual port, multiport | Compiled, fixed block | 8 | 8k | Diffusion and metal | 3.5/5 | NA | TTL, GTL, GTL+, LVTTL, LVPECL, LVDS, ECL, SSTL, HSTL, PCI, USB, CMOS | Under development | Multipliers, FIFOs, DRAM |
| UTMC | 40 | 512 | Synchronous, single port | Compiled | 40 | 512 | Metal | 20-Oct (0.6 µm) | NA | TTL, CMOS | ||
| Virtual Silicon Technology | 4 to 36 | 32 to 8k | Asynchronous, synchronous, single port, multiport | Compiled | 4 to 32 | 256 to 8k | Diffusion | NA | NA | PCI, USB, CMOS | Special cells for datapaths | Special cells for multipliers |
| VLSI Technology | As many as 64 | As many as 64k | Asynchronous, synchronous, single port, dual port | As many as 32 | As many as 4k | Diffusion and metal | 3.5/5.0 | CMOS, TTL, GTL, GTL+, PECL, LVDS, PCI, SCSI, HSTL, SSTL, CMOS | Register files, FIFOs, adders, multipliers, barrel shifters, counters, LFSR, CRC | |||
| SRAM maximum of 512 kbits single port and 32 kbits dual port | ROM maximum of 64 kbits | |||||||||||
| Notes: For descriptions and definitions of I/Os, see Table 2. LFSR=linear-feedback shift register. CRC=cyclic redundancy check. | ||||||||||||