Forums

ODB++ PDB CAD Data

Started by Unknown November 11, 2018
I am having an old board made and am being asked for ODB++ format CAD data files.  It seems this is to facilitate the creation of the various machine control files.  I'm told it can also support locating traces to assist in debugging.  My CAD package doesn't support this.  Would it be a hard thing for the developers to add? 

https://www.odb-sa.com/wp-content/uploads/odb_spec_user-2.pdf


Doing a little digging I see it is a proprietary format promoted as open and seems to be most commonly used while there are alternative formats which do the same job.  Seems Gerber has been updated to X2 by adding attributes which can identify the file purpose, pad functions, etc.  Add netlist information using IPC-D-356A and the data set is complete. 

https://www.ucamco.com/en/file-formats/gerber/downloads

https://web.pa.msu.edu/hep/atlas/l1calo/hub/hardware/components/circuit_board/ipc_356a_net_list.pdf


Then there is IPC-2581.  Decades ago IPC created an end to end format to convey all board design info.  I don't recall the nomenclature, but they never got support (I think mostly because the industry is very parochial and doesn't look very far ahead) resulting in the standard(s) being dropped.  I don't know if IPC-2581 is a consolidation of that effort or a new effort, but it is gaining ground. 

I don't know which format is better or if more than one should be supported.  I've been asked by two companies for ODB++ format.  One asked for it to debug boards after fabrication and the other wants it to support setting up their assembly machines.  I didn't know about the other formats at the time so I didn't ask. 

Rick C.

https://ts.la/richard11209 - Tesla referral code
gnuarm.deletethisbit@gmail.com wrote:
> I am having an old board made and am being asked for ODB++ format CAD data > files. It seems this is to facilitate the creation of the various machine > control files. I'm told it can also support locating traces to assist in > debugging. My CAD package doesn't support this. Would it be a hard thing > for the developers to add?
https://www.ucamco.com/files/downloads/file/109/the_great_gerber_vs_odb_debate.pdf How hard it would be to add depends on how accessible the information is in the CAD package's internal database. I suspect it would be nontrivial - there's probably going to be a few areas where more work needs to be done to extract it. It's instructive that the lower end tools all support Gerber (to some degree), but rarely ODB++. The other de facto standard seems to be Cadence Allegro .brd files, which are used by a lot of motherboard manufacturers and accessible with tools like: https://openboardview.org/ Theo
On Sunday, November 11, 2018 at 8:33:36 AM UTC-6, Theo wrote:
> gnuarm.deletethisbit@gmail.com wrote: > > I am having an old board made and am being asked for ODB++ format CAD data > > files. It seems this is to facilitate the creation of the various machine > > control files. I'm told it can also support locating traces to assist in > > debugging. My CAD package doesn't support this. Would it be a hard thing > > for the developers to add? > > https://www.ucamco.com/files/downloads/file/109/the_great_gerber_vs_odb_debate.pdf > > How hard it would be to add depends on how accessible the information is in > the CAD package's internal database. I suspect it would be nontrivial - > there's probably going to be a few areas where more work needs to be done to > extract it. > > It's instructive that the lower end tools all support Gerber (to some > degree), but rarely ODB++. > > The other de facto standard seems to be Cadence Allegro .brd files, which > are used by a lot of motherboard manufacturers and accessible with tools > like: > https://openboardview.org/
I believe the internal database is very simple. It likely mirrors the contents of the layout file. I suppose I should dig into the source to see which parts will be harder to port. Rick C.