← Back to team overview

kicad-developers team mailing list archive

Re: gencad export

 

Lorenzo,

I have been using kicad for the development of a high-speed
(2.5GHz) SONET/SDH card for a little less than a year now.
To acheive the necessary signal integrity and fabrication
outputs I began working on significant development of pcbnew
full-time for the past several months.  My changes are almost
complete.

To acheive full DFX and good-to-go one-up fabrication outputs
I added full export support for the following file formats
(with popup selection on fabrication outputs):

 - IPC netlist (IPC-356-D) w/ track widths
 - GenCAD 1.4
 - GenCAM (IPC-2511A)
 - GenX   (IPC-2511B)
 - 258X   (IPC-2581)

It appears that GenCAD evolved into GenCAM and then GenX became
an XML format of GenCAM and then Valor ODB++ was merged with
GenX to become 258X.  I call this the CAM family.  This provides
support for the full family with the exception of ODB++ (which
is a proprietary spec incompatible with open source).  ODB++ is
not a great loss as all current CAM systems that support ODB++
also support 258X.  Supporting the full set from IPC-356-D up
through 258X allows one to generate fabrication outputs in all
formats and let the fabricator choose the richest one that their
CAM systems support.

I am not surprised that your board tester choked on the previous
GenCAD export: the previous export failed by inspection so I
rewrote it.  The previous export did not generate LAYER,
LAYERSET or LAYERSWAP definitions that are mandatory per the
file format.

For board testing (flying probe, bed of nails), is seems that
the common denominator is IPC netlist (IPC-356-D).  Many CAM
systems do not really support GenCAD: they support IPC-356-D,
skip GenCAD and instead support GenCAM (XML or not), Valor ODB++
and 258X.

Anyhoo, as my changes will be available in the next several
weeks, you might want to hold of on GenCAD 1.4.

As a heads-up, some other things I've added are:

 - full plotter support for Barco DPF, which is like Gerber but
   better: it supports things like drill clearance on ground
   planes to avoid direct drill on ground plane without
   thermals.

 - support for removal of interior non-functional pads, larger
   via size on interior layers, aperature anular ring
   calculations, teardroping.

 - etch factor and dielectric thickness definitions,
   full 3D viewer support.  3D view is now as-fabricated.

 - impedance calculations, pS track and net measurements using
   approximate calculations (including microstrip, embedded
   microstrip and stripline, differential or single ended):
   saves going back and forth to a 2.5D field solver.

 - removed the restriction on layers by using a std::set mask
   instead of a bit-mask for layers.

 - added support for via construction processes including
   sub-laminate PTH buried vias, Depth-Control machine drilled 
   laminate and sub-laminate vias, backdrilling, multilayer
   laser drilling (embedded and external), VTP, SCV, ISV;
   encroachment of solder mask, secondary soldermask via plugging,
   via filling with appropriate Gerber and usable NC drill file
   outputs (all without changing the current Via UI or file
   format!)

 - dramatic performance improvements.  This is what started me
   off: I have several thousand ball BGAs and a board with some
   22,000 features.  There are likely 5000 ground pads
   considering bypass capacitors.  I took 15 seconds on a
   dual-core processor to rotate a simple JTAG header on the
   latest testing version of pcbnew.  So, I added proximity
   mapping of all board items and full directed graphs for
   connectivity of board connected items.

There is more, but this note is already too long...

--brian

On Thu, 01 Jul 2010, Lorenzo Marcantonio wrote:

> I finally acquired the gencad 1.4 file format specification.
> 
> I already heavily modified the export to produce an usable file (it was
> unreadable by our board tester). Now I can recheck everything to ensure
> the ouput is conforming.
> 
> I anyone else already working on this? (actually has *anyone* tried to
> use the generated file? *every* tool I found choked on it...)
> 
> -- 
> Lorenzo Marcantonio
> Logos Srl

-- 
Brian F. G. Bidulock    ¦ The reasonable man adapts himself to the ¦
bidulock@xxxxxxxxxxx    ¦ world; the unreasonable one persists in  ¦
http://www.openss7.org/ ¦ trying  to adapt the  world  to himself. ¦
                        ¦ Therefore  all  progress  depends on the ¦
                        ¦ unreasonable man. -- George Bernard Shaw ¦



Follow ups

References