Introduction
When designing printed circuit boards (PCBs), you will often need to include components in the schematics that aren't physically installed on the board. These are commonly referred to as DNI (do not install) or DNP (do not populate) components. Indicating DNI/DNP status directly in your schematics is critical for ensuring the bill of materials (BOM) accurately reflects the as-built PCB configuration.
In this article, we examine best practices for utilizing DNI and DNP in schematics to drive proper BOM generation. We’ll cover:
- DNI vs DNP definitions
- Why DNI/DNP usage is essential
- How to assign DNI/DNP in schematics
- Setting up schematics to drive the PCB BOM
- Handling DNI/DNP designators in PCB layout
- Strategies for reducing DNI/DNP mismatches
- Real-world examples and recommendations
With robust management of DNI/DNP entries in your designs, you can eliminate wasted time and money procuring and assembling unneeded components.
DNI vs DNP - What's the Difference?
First, let’s clearly define the differences between DNI and DNP designations:
DNI - Do Not Install. Denotes a component that is on the schematic but should not be physically placed on the board. DNI components will only be used for functional simulation but will not be populated in the physical design.
DNP - Do Not Populate. Specifies a component that is present in the schematic and PCB layout but should not be assembled on the final board. DNP components are part of the physical design but eliminated from final BOM ordering.
In summary:
- DNI - Schematic only
- DNP - Schematic and layout, no build
With both DNI and DNP, the component appears on the schematic but is not intended for production. The key difference is DNP exists in the PCB layout, while DNI does not.
Why DNI/DNP Usage is Essential
There are several reasons you may need DNI or DNP designations in your designs:
Simulation - Some components are only needed for simulation of the schematics and do not appear on any physical PCB. Assigning these as DNI ensures they get excluded from BOM generation.
Configuration Control - Manufacturing the same PCB in multiple configurations may require some components to be installed on certain variants but not others. DNP provides configuration control.
Functional Options - Alternative components that provide functionally equivalent options may be shown as DNP if they are not the preferred choice.
Lifecycle Optimization - Component obsolescence may dictate use of a newer replacement part while showing the original as DNP.
Cost Reduction - Lower cost components may be substituted and original options marked DNP to reduce BOM cost.
Error Correction - Correcting errors by removing incorrect components requires DNP to prevent procurement/assembly.
Whatever the rationale, judicious use of DNI/DNP is vital for synchronizing schematics to PCBs and generating accurate BOMs.
Assigning DNI/DNP in Schematics
Altium Designer provides dedicated fields in schematic component properties for assigning DNI and DNP status. These flags drive BOM generation, alerting the BOM compiler which components to exclude.
To assign DNI or DNP to a component:
- Select the component on the schematic sheet.
- In the Properties panel, go to the Parameters tab.
- Enter "DNP" or "DNI" in the Comment field.
For example:
The Comments field allows entry of any notes but is most commonly used for DNI/DNP status. This provides clear visibility without adding properties.
Make sure to apply DNI/DNP accurately:
- DNI for simulation-only components not on any PCB
- DNP for components designed into the PCB but not installed
With the flags set, the BOM compiler will read the Comments field when generating outputs. Any component marked DNI or DNP will automatically exclude from the BOM parts list.
Driving PCB BOM from Schematics
For smooth BOM generation, the schematic must be structured to facilitate parsing of DNI/DNP designations. Components marked DNI/DNP should be grouped together via hierarchical sheets.
A typical approach is:
Main Schematic
- Block symbols for each sheet
- All sheets generate BOM data
DNI Sheet
- Contains DNI components
- Does not generate BOM data
DNP Sheet
- Contains DNP components
- Generates BOM data
When the BOM compiler runs, it extracts data from the main schematic and DNP sheet. DNI components never make it to the BOM since that sheet doesn’t generate a BOM. This automatically excludes simulation-only devices.
The key advantages of this hierarchical approach:
- Clear separation of normal, DNI, and DNP components
- Avoids cluttering the main schematic
- DNI devices stayisolated from BOM
- DNP devices flagged in Comments field
- BOM generator can easily parse DNP flags
- Changes easily managed by sheet
Grouping components by DNI/DNP status makes BOM generation seamless while reducing clutter on the main schematic.
Handling DNPs in PCB Layout
Since DNP components appear in both schematic and PCB layout, they will get assigned a reference designator in the layout tools. However, it is undesirable to assemble or procure a component designated DNP.
Best practice is to provide visual indicators on the PCB to identify DNP components. Some options:
Silkscreen - Add "DNP" text next to all DNP footprints.
PCB Outline - Draw a rectangle around DNP footprints.
Color - Change color of DNP footprints layers.
Hidden Layers - Move DNP footprints to hidden mechanical layers.
Assembly Drawings - Call out DNP parts in assembly documentation.
Any method that clearly visually distinguishes DNP components can work. This reduces likelihood of assembling parts designated as DNP.
Reducing DNI/DNP Mismatches
Common issues occur when DNI/DNP designations become out of sync between schematics and PCB layouts. As changes occur, DNI/DNP status may get erroneously dropped or components incorrectly assigned.
Strategies to avoid mismatches include:
- Regularly cross-probe schematics to layouts to audit DNI/DNP accuracy.
- Run design rule checks (DRCs) on both schematics and PCBs to validate.
- Perform intra-tool and inter-tool annotations anytime changes occur.
- Review auto-generated BOMs to catch any components wrongfully included.
- Use revision control fields to indicate latest DNI/DNP verification date.
- Implement formal change control processes for managing revisions.
Frequent audits, change control processes, and leveraging EDA tool features will minimize incorrect DNI/DNP assignments. This ensures BOM integrity.
Real-World Examples
Let's examine some real-world examples to illustrate effective usage of schematic DNI/DNP entries for various scenarios:
Simulating Faults - A protection diode added to the schematic for surge simulation but never installed on any PCB is assigned DNI. It allows simulation of fault conditions without impacting PCB design or BOM.
Configuration Control - A voltage regulator with options for 5V or 3.3V configured by parallel resistors is shown with the unused resistor marked DNP. The BOM matches the chosen configuration.
Correcting Errors - A wrong value capacitor initially included in schematic and layout is marked DNP after correcting to proper capacitance value. DNP prevents ordering the incorrect capacitor.
Lifecycle Control - An obsolete processor is designated DNP and replaced by an equivalent pinch-hit component. BOM reflects the pinch-hit while schematic archives original design.
These examples demonstrate the importance of proactively utilizing DNI/DNP to eliminate incorrect or unnecessary components from production.
Summary of Best Practices
To effectively leverage schematic DNI/DNP entries for production BOM accuracy:
- Use DNI for simulation-only components not on PCB layouts
- Use DNP for components designed into PCB but not assembled
- Enter DNI/DNP into the Comments field of schematic components
- Structure schematics hierarchically to facilitate BOM parsing
- Provide visual indicators of DNP status on PCB layouts
- Perform regular audits and utilize annotations to prevent mismatches
- Manage changes through formal revision control procedures
Following these guidelines will ensure your BOM always reflects the exact as-built configuration for your PCB designs. Smooth management of DNI/DNP is critical for avoiding wasted time and money.
Frequently Asked Questions
What happens if I forget to mark a component as DNI/DNP in the schematic?
Any component not marked DNI or DNP will be included in the generated BOM. This could result in procuring unneeded parts or assembling components that shouldn't be installed. Always be diligent in designating DNI/DNP accurately.
Can DNP components be excluded from PCB layout?
DNP components should generally be included in layout even if they will not be assembled. This preserves the design intent while allowing configuration control via BOM. Excluding DNP parts from layout can create confusion.
How can I reduce churn in DNI/DNP entries as designs evolve?
Use hierarchical sheets to isolate DNI and DNP components from the main design. Manage changes by sheet to reduce churn. Implement formal change control and ECO processes to limit unintended modifications to DNI/DNP statuses.
Should every schematic component have a DNP/DNI status?
Not necessarily - DNI/DNP flags are really only needed to override the default behavior of including the component. If a part should be both on the schematic and PCB design for production, no DNI/DNP flag is needed.
Can DNI/DNP information be imported or exported?
Yes, many EDA tools allow export of DNI/DNP statuses for documentation and editing in spreadsheet formats. Libraries can predefine DNI/DNP values for common simulation components. Importing back into schematics streamlines usage.
No comments:
Post a Comment