PCB production requires a host of manufacturing files that communicate the intricacies of the design straightforwardly. Part of this process involves the CAM designer or department that adjusts the copper layer as necessary to avoid defects or poor manufacturability. ODB++ is one of the two primary artwork file types – along with Gerber – that supports robust editing and file dependencies for transitioning designs to manufacturing.
CAM Customization With ODB++
ECAD and CAM software are highly specialized as PCB development and manufacturing sub-divisions, necessitating a go-between for the different levels of DFM to ensure correctness. Compatibility formats arose to fill the space between these two disciplines, and ODB++, along with Gerber, is a premier software for CAD-CAM data exchange. ODB++ uses a rich data format containing all the necessary manufacturing and testing information within a single structure. There’s vast support for adjusting the format output before generation, keeping files small and narrow in scope (if preferable).
- Neutral net naming – Dissociates net names from the netlist in the project files; defaults to OFF.
- Export EDA data – OFF removes all EDA data for components, nets, footprints, and any associated attributes, exporting data for image, drilling, and routing only.
- Export component/net attributes, footprint names, netlist – These four selections are individual components of the export EDA data, each able to suppress the associated output for a given aspect.
ODB++ File Format and Structure
Unsurprisingly, ODB++ and Gerber files have much in common: both are proprietary formats utilizing open ASCII data to facilitate the transition of PCB development from design to manufacturing. As with most PCB-centric tools, there is a high level of focus on the customizability of the file output, allowing users to tweak the output to meet the needs of their organization. Consider the scope of ODB++ output:
- Image data – The collection of features that comprise the board file, including lines, pads, arcs, polygons, islands, and holes, all of which contain attributes and a unique identifier with the sub-net information of the EDA/data file.
- Component information – Contains the component definition and placement information (x,y-location and rotation), with each component instance linked to the definition in the EDA/data file. Instance information includes height, mounting style, and assembly surface (top or bottom).
- EDA/data – The net and footprint information are generated from the board file and linked to the component information. Primarily, this information includes physical (differential pair status, trace gaps) and hierarchical (net type, test-appropriate) trace attributes.
- CAD netlist – This file uses the ECAD netlist information to test all vias and pads for continuity according to the IPC-D-356B electrical bare board test, assuring a fabrication meeting the minimum electrical requirements defined by the netlist.
- Layer stackup – Includes each layer’s copper weight and dielectric thickness, available in various units (microns, oz/sqft, etc.)
- Drill information – Drill data can exist either for the full extent of the board (in the case of through-hole drilling) or in layer pairs for blind/buried vias. The drill layer that spans the board must differentiate between vias, plated (PTH), and non-plated through-holes (NTH).
- Routing information – This file describes the board cut-out, including any cut-outs within the board’s perimeter. Only a single routing layer exists for each board file, containing primitives for lines, arcs, and pads.
Setting the Stackup for Manufacturing
The stackup plays a vital role with any CAM file type (for things like inferring layer relationships), and ODB++ is no exception. Some layers require selection for appropriate designation, while others default to a suitable location; for the latter case, ensuring that layers are appropriately located and defined is a simple validation.
Layer Selection by User Input
Users can further customize the output by creating a template for file generation, but the simplest solution may be editing an existing template to fit manufacturing requirements. This setting will ensure an organization’s ODB++ CAMJOB output remains consistent across projects, minimizing the adjustments needed. Here’s a general stackup for output, but layer orders must follow board stackups first and foremost:
- Component top
- Solder paste top
- Silkscreen top
- Solder mask top
- All signal layers and the interstitial dielectric layers (core and prepreg)
- Solder mask bottom
- Silkscreen bottom
- Solder paste bottom
- Component bottom
- Drill layers
- Routing layer
Your Contract Manufacturer Has a Start-to-Finish DFM Approach
ODB++ provides crucial information to manufacturers from raw board files that accelerate the manufacturing process while reducing many common defect sources with a comprehensive validation check. As part of any DFM board, CAM interfacing is a necessity; designers can further streamline these efforts with layout best practices that combine performance and producibility Here at VSE, we’re a team of engineers committed to building electronics for our customers, and over the past four decades, we’ve been a leading PCBA manufacturer for life-saving and life-changing devices across several industries.