Package

Etch layers (top→bottom)
Nets β€” filter & isolate
Show
Example
Load your own

Load an IPC-2581 .xml (what a coworker exports from a .mcm) or the package-JSON. Binary .mcm can't be parsed in-browser (see below). Path is saved into the share URL.

Figure 1 Β· 2-D layer view (top-down)

DRAG PAN Β· WHEEL ZOOM

Figure 2 Β· 3-D exploded stack

DRAG ORBIT Β· MID/RIGHT-DRAG PAN Β· WHEEL ZOOM

Z is schematic (layers evenly spaced) β€” real dielectric/metal thicknesses aren't to scale.

βœ‰ Ask a coworker to export IPC-2581

copied βœ“

Reading a .mcm needs a licensed Allegro / APD seat. Send this to someone who has one β€” they email you back a .xml you load above (πŸ“‚).

Subject: Export this .mcm to IPC-2581 for me

Hi β€” you have the licensed Allegro / Advanced Package Designer (APD) seat and I don't.
Could you open the attached .mcm and export it to IPC-2581 (an open format I can read)?

  1. Allegro X APD (or Allegro PCB Editor) β†’ File β†’ Open β†’ the .mcm.
  2. File β†’ Export β†’ IPC2581…
  3. Units = the design's units (usually MM); IPC-2581 Revision = C (or B).
     Leave BOM / netlist / component data included (defaults are fine).
  4. Set an output name/location β†’ Export. It writes a .xml (or .cvg).
  5. Send me that .xml/.cvg (zipped is fine).

Thanks!
Package-JSON schema & how to get it from a real .mcm

A .mcm is Cadence Allegro APD/SiP's binary DB β€” not openable here. Export it to this neutral JSON (units mm, origin at package center). One row per etch layer, plus die / bumps / balls / vias.

{
  "name": "MY_FCBGA 19x19",
  "body": 19,                       // package body (mm, square)
  "NET": { "GND":"#2f9e44", "VDD":"#e03131", "VDDIO":"#f08c00", "SIG":"#1c7ed6" },
  "stack": [                        // TOP β†’ BOTTOM
    {"id":"SMT","name":"Soldermask top","type":"mask","color":"#12694a"},
    {"id":"M1","name":"M1 die side","type":"signal","color":"#e8a13a"},
    {"id":"M2","name":"M2 GND","type":"plane","net":"GND","color":"#c46a24"},
    {"id":"CORE","name":"Core","type":"core","color":"#0c3b2c"},
    {"id":"M3","name":"M3 PWR","type":"plane","net":"VDD","color":"#c46a24"},
    {"id":"M4","name":"M4 ball side","type":"signal","color":"#e8a13a"},
    {"id":"SMB","name":"Soldermask bot","type":"mask","color":"#12694a"}
  ],
  "die":  {"w":7,"h":7},
  "bumps":[{"x":-2.6,"y":-2.6,"net":"GND"}, ...],       // C4, attach to M1
  "balls":[{"x":-7,"y":-7,"net":"SIG"}, ...],           // BGA, on M4
  "vias": [{"x":0,"y":0,"from":"M2","to":"M3","net":"GND","type":"pth"}, ...],
  "layers": {                       // per etch-layer geometry
    "M2": {"planes":[{"poly":[[-9,-9],[9,-9],[9,9],[-9,9]],"net":"GND"}],"traces":[],"pads":[]},
    "M1": {"planes":[],"traces":[{"pts":[[0,0],[0.2,0.2]],"w":0.04,"net":"SIG"}],"pads":[{"x":0,"y":0,"r":0.12,"net":"SIG"}]}
  }
}

Getting there from Allegro: extracta (ASCII pad/net/geometry dump) β†’ map to this JSON; or export IPC-2581 (XML) / ODB++ and convert; or a SKILL/AXL script that writes this JSON directly. Balls/bumps/vias also drop straight out of the component & padstack reports. Step-by-step routes: EXPORT.md. The binary .mcm can't be parsed directly (proprietary) and there's no legit online converter β€” it must go through Allegro.

πŸ”— Share / restore this exact view

Encodes the loaded design, layer visibility, solo layer, highlighted net, component toggles, the .mcm path, and both the 2-D and 3-D zoom & angle into the URL. Paste it into a new browser and everything is restored. Note: a custom JSON is embedded in the link; the sample regenerates itself.

copied βœ“