1.1 The GDP Standard: Formats, Directory & Integrity
Production failure begins with data ambiguity. If the input data is fluid, the manufacturing output will be random. The Golden Data Pack (GDP) is not a collection of email attachments or a shared folder link; it is a frozen configuration item. It represents a single, immutable snapshot of the product definition at a specific point in time. If the GDP does not compile to a deterministic state, the build must not start.
The Frozen Artifact Principle
Treat the GDP as a binary executable for the factory. It must be delivered as a single, version-controlled archive (ZIP or TAR) with a unique hash.
The Rule of Immutability:
Once a GDP revision (e.g., REV_A01) is released to the EMS, no file inside it may change.
- If a change is required (even a single resistor value) -> Then a new GDP Revision (REV_A02) must be generated.
- If files are replaced "on the fly" via email -> Then the configuration integrity is broken, and warranty liability shifts to the engineer.
Directory Structure Standard
A standardized directory structure eliminates "treasure hunting" by CAM engineers. The GDP root directory must strictly adhere to the following schema.
Required Directory Layout:
/PROJECT_NAME_REV_XX/
├── 00_MANIFEST/ (Traceability & Meta-data)
├── 01_BOM/ (Bill of Materials)
├── 02_FABRICATION/ (Gerbers, ODB++, Drill files, Stackup)
├── 03_ASSEMBLY/ (Pick & Place, Assembly Drawings, Stencil)
├── 04_SCHEMATICS/ (PDF reference only)
└── 05_TEST_FIRMWARE/ (Binaries, flashing instructions, test spec)
Pro-Tip: Do not bury files in sub-sub-folders like .../Outputs/Job1/Gerbers/Final/For_Production. Flatten the hierarchy to the primary folders listed above.
Allowed Formats & Rejection Criteria
The EMS intake process is a logic gate. Data must be machine-readable and unambiguous.
Fabrication Data (PCB)
- Preferred: ODB++ (.tgz) or IPC-2581 (.xml). These formats contain intelligent layer data, preventing stackup errors.
- Accepted: Gerber X2 / RS-274X. Must include NC Drill files (Excellon) and a Netlist (IPC-D-356) for electrical test validation.
- Rejected: Native CAD files only (e.g., .PcbDoc, .brd) without fabrication outputs. Native files introduce version dependency risks.
Assembly Data
- Required: Centroid/Pick-and-Place file (ASCII/CSV) containing: RefDes, X-Loc, Y-Loc, Rotation, Side (Top/Bottom).
- Required: BOM in structured CSV or Excel format.
- Rejected: PDF-only BOMs or scanned images.
Intake Logic: When to Reject
- If the archive contains "mystery zips" (e.g., Old_Files_Ignore.zip) -> Reject.
- If file names contain conflicting revision tags (e.g., folder says REV_B but Gerber says REV_A) -> Reject.
- If critical layers (Paste, Silk, Drill) are missing -> Reject.
The Manifest: Proof of Origin
Every GDP must contain a 00_MANIFEST/README.txt or manifest.json. This file acts as the birth certificate of the build configuration. Without it, production cannot prove what was built 12 months from now.
Manifest Data Fields:
- Package Revision: Matches the archive filename.
- Generation Date: ISO 8601 format (YYYY-MM-DD).
- Author/Owner: Engineering point of contact.
- EDA Tool Version: (e.g., Altium 23.1, KiCad 7.0). Critical for debugging translation errors.
- Master Checksum (SHA-256): (Optional but recommended) Validates file integrity during transfer.
Final Checklist
Check | Requirement | Pass Metric |
Archive Format | Single ZIP/TAR file. | No loose files or multiple attachments. |
Naming Convention | Project_Revision_Date.zip | Matches internal PLM record. |
Structure | Standard 00-05 folder layout. | Files are located in correct sub-directories. |
Fab Data | ODB++ OR Gerber + Drill + Netlist. | CAM software loads with zero errors. |
BOM Format | CSV/XLSX (Machine Readable). | No PDF BOMs. |
Revisions | All files sync to one Revision ID. | No "Frankenstein" packs (Rev A PCB + Rev B BOM). |
Manifest | README or Manifest present. | Contains Author, Date, Tool Version. |