Suvarna Garge (Editor)

ODB

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit

ODB++ is a proprietary CAD-to-CAM data exchange format used in the design and manufacture of electronic devices. Its purpose is to exchange printed circuit board design information between design and manufacturing and between design tools from different EDA/ECAD vendors. It was originally developed by Valor Computerized Systems, Ltd. (acquired in 2010 by Mentor Graphics) as the job description format for their CAM system.

Contents

ODB stands for open database, but its openness is disputed, as discussed below. The '++' suffix, evocative of C++, was added in 1997 with the addition of component descriptions. There are two versions of ODB++: the original (now controlled by Mentor) and an XML version called ODB++(X) that Valor developed and donated to the IPC organization in an attempt to merge GenCAM (IPC-2511) and ODB++ into Offspring (IPC-2581).

Introduction

Inside almost every electronic device is a PCB onto which the semiconductor and other components are mechanically and electrically connected by soldering. These PCBs are designed using a computer-aided design (CAD) system. To physically realize the design, the computerized design information must be transferred to a photolithographic computer-aided manufacturing (CAM) system. Since the CAD and CAM systems are generally produced by different companies, they have to agree on a CAD-to-CAM data exchange format to transfer the data. ODB++ is one such file format for performing this transfer. Other formats are compared and contrasted below. After the bare board is manufactured, the electronic components are placed and soldered, for example by SMT placement equipment and wave or reflow soldering.

File structure

When in use, ODB++ data is stored in a hierarchy of files and file folders. However, for transmission it is convenient to use common operating system commands that create a single, compressed file that preserves the hierarchy information. For example, on Unix tar and gzip commands can be used. In ODB++(X), the database is contained in a single XML file by default.

ODB++ covers the specification of not only conductor layer artwork and drill data, but also material stack up, netlist with test points, component bill of materials, component placement, fabrication data, and dimension data.

History

Valor was founded in 1992 and it released ODB in 1995. It added the ++ suffix when component names were added in 1997. The XML version was developed beginning 2000, and ended in 2008 with the donation to IPC. Valor was acquired by Mentor in 2010.

Adoption

In the late 1990s it became clear to industry participants that a second-generation data transfer format would be more efficient than the prevalent, first-generation Gerber format. However, it was very difficult to reach a consensus over which of two candidates should be selected:

  1. ODB++: proven but proprietary
  2. IPC-2511 GenCAM: not widely used but open

In 2002, a compromise format, ODB++(X), was recommended by National Electronics Manufacturing Initiative (NEMI; an industry body, subsequently renamed International Electronics Manufacturing Initiative, iNEMI) after a two-year mediation effort between the GenCAM and ODB++ camps. Companies that supported the recommendation at the time included Cadence, Hewlett-Packard, Lucent, Easylogix, Mentor (which acquired Valor some eight years later), Nokia and Xerox. But in fact adoption to date has been minimal. As a result, and as detailed below, the industry is still divided. Late 2014 Gerber X2 was introduced which added attributes ("intelligence") to the Gerber format in a compatible way, converting Gerber to a second generation format.

Advocacy

Lists of EDA tools that support import and/or export of ODB++ have been compiled by Artwork Conversion Software, Mentor itself, and on the Comparison of EDA packages table. Some companies that have adopted the ODB++ format are advocates for its use. Streamline Circuits reports that ODB++ provides much greater efficiency than the competing Gerber format, stating that "an 8-layer printed circuit board can take up to 5 hours to plan and tool using Gerber and only 1 hour when using ODB++." According to Streamline, manufacturers are adopting it to overcome the limitations of the simpler Gerber format. DownStream Technologies calls ODB++ "the defacto standard for intelligent data exchange in EDA" In 2002, Dana Korf of Sanmina/SCI called ODB++ "the prevalent non-Gerber format." Kent Balius of Viasystems, states of ODB++ "...really we don’t need anything else."

Lack of need

Ucamco, the developers of the Gerber format, argue that the prevalent Gerber-based flow (with some additions) can be as complete and efficient as ODB++. These additions were introduced in Gerber X2, which added attributes to classical Extended Gerber. Standard attributes allow to define the layer structure, pad functions and CAD netlist.

Concerns

ODB++ is a proprietary format controlled by Valor and now Mentor, and so, like all proprietary standards, it comes with the risk of vendor lock-in. CAD companies had some concerns about this when ODB++ was controlled by Valor, a CAM company, but these concerns were magnified when a rival CAD company, Mentor, acquired Valor. Although Mentor claims that it "...openly supports inclusion of ODB++ and updates for other EDA tool vendors," it used to restrict access to the specification and required a non-disclosure agreement. The application form used to include a requirement to: "...Demonstrate a customer need for this integration through references from mutual customers. Provide a recommendation from a Mentor Graphics product division or demonstrate the incremental value of this integration to both Mentor Graphics and the partner company." Some direct competitors inferred this meant restricted access. This was a source of frustration not only for competitors but also for the Mentor user community.

In 2012, Julian Coates, director of business development at Mentor's Valor division claimed that, so far, all ODB++ partners, including competitors to Mentor, who have applied for assistance to build and maintain ODB++ interfaces via the ODB++ Solutions Alliance have been accepted without reservation or cost. In addition, the format specification is now openly available via the ODB++ Solutions Alliance without the need for NDA. Membership of the ODB++ Solutions Alliance is free of charge and open to anybody who registers. A no-charge ODB++ Viewer and other software utilities are available to registrants.

Potential resolution

Critics of the proprietary nature of ODB++ point to several more open formats as models for a future consensus format:

  • Gerber Format: Although nominally proprietary to Ucamco, its specification has always been open and freely downloadable making it de facto an open standard. The introduction of attributes with Gerber X2 in late 2014 added "intelligence" to the format (layer structure, pad functions and CAD netlist).
  • IPC-2511 ("GenCAM") which resulted from a donation of certain technologies by Teradyne/GenRAD to IPC.
  • IPC-2581 ("Offspring") an attempt to merge GenCAM with ODB++(X). The specification can be downloaded freely. In 2011, an industry consortium was created to support it, motivated in part by frustration with the proprietary nature of ODB++. Cadence Design Systems, Zuken, Artwork Conversion Software and the owners of Gerber format, Ucamco, joined it, but, initially, not Mentor. However, in 2012, Mentor did join. This, combined with the 2012 announcement by Zuken that it would join the ODB++ Solutions Alliance, creates the possibility that PCB designers will have a choice of format no matter which EDA tool they choose.
  • OpenAccess, which resulted from a transfer of certain technologies by Cadence to the Si2 organization. Although it was originally designed for integrated circuits, it is now finding application for IC package and PCB design also.
  • JPCA-EB02 ("Fujiko") based on work by Prof. Tomokage of Fukuoka University.
  • EDIF - Electronic Design Interchange Format
  • References

    ODB++ Wikipedia