I want to put on the table one problem which we face somehow regularly. Each time when we receive the leadframes for the packages which our custmers want to use they are in PDF format, but we need them in GDS in order to create the bonding diagram which is sent to the assembly house. So after that we are using multiple tools and stunts in order to do the convertion, but the approach is not professional at all.
My question is there way ( cadence tool or skill script ) to convert PDF to some cadence readable format, in order to be opend as a lyout view?
To my knowledge there is not something to convert directly from PDF to GDSII, however, you can search for a converter from PDF image to XPM. Andrew wrote an XPM importing script to create a layout. Once you have the layout you can create a GDS file. You might not find a way to go directly from PDF to XPM, you might need to go via another format (e.g. I saw a PDF to TIFF converter).
I hope this helps, and good luck!
In reply to skillUser:
My first thought was Artwork Conversion Software - but I don't believe they have anything that goes from PDF to Stream format (aka GDSII). That said, I did find a few companies that provide a PDF to DXF (an AutoCad format) converters - just do a google search for "Convert PDF to DXF". And Artwork provide a tool to convert DXF to GDSII (I think you can also do it with the Allegro PCB/Packaging tools too).
How successful this flow is remains to be seen. You are probably better off requesting the lead frame in a drawing format directly from the package provider, rather than trying to reverse engineer it from a PDF. Almost certainly they will have it in a form used in a CAD tool - either something like AutoCad, or even Allegro Package Designer.
In reply to Andrew Beckett:
Hello skillUser, Andrew,
Thanks for both responses. I almost succeeded to do the task.
In order to convert PDF to XPM I used following:
pdf2ps aa.pdf bb.ps
gs -q -sDEVICE=ppm -dNOPAUSE -sOutputFile="|ppmtoxpm>cc.xpm" bb.ps -c quit
But then the problems came. The script which you mentioned: abXpmToLayout.ils is too outdated and some of the buttons on the GUI created by it, do not work. I found on sourcelink newer version of same script called: CCSxpmToLayout.ils. The GUI which is created when main fucntion is called is OK, but when the actual importing of XPM file to layout starts, it never finishes. In the end I have to kill cadence itself, because it consumes almost all of the CPU power of the server.
In reply to tyanata:
How many pixels does the resulting xpm file have? Did you try taking a look at it in (say) gimp? The code I wrote for importing XPM files is really intended for small images (with small number of colours) not for high resolution images - because it has to draw a square for each pixel - and if you have an enormous number of pixels, that will be very slow and take a long time...
The XPM file size is 4958x7017 pixels.
Could be that it is too big.
That's way beyond what the code was intended for. That's about 35 million rectangles if you convert every pixel - then these rectangles will get merged - which is also a lot of work. The code could potentially be smarter about merging adjacent rectangles, but it doesn't do that.
The code was intended to import small logos - nothing more than that.
I did some thing different opened the PDF file in GIMP and then converted it to XPM which was much smaller as size.
Then this XPM was successfully imported in the layout using your script.
But anyway the final layout picture looked pretty ugly ( wires to bondpads looked like rows of squares for example ).
So I will try to find another decision, convert PDF to some vector ascii format and then to extract data.
In fact we did some thing similar. Converted PDF to PS and then opened PS file in text editor, and just manually taken the sizes of the lines. And using this number pairs to create lines in layout, we succeeded to do that in one old Layout tool called ( ICED ) but now I will try to automate that for Cadence.