New CAD design questions.

I'm building a new Electrical/Electronic type Project CAD program that will combine Drawings of several types, Board lay outs with foot prints, cabinet lays and drilling templates etc.. a This will all be in a single IDE tool with tab pages and properties settings etc... What I would like to know its this.. The Library database storage methods..

Create Symbol/Foot prints database as:

(1). Binary formats // Faster and more compact.

(2). Binary formats with optional Script generation.

(3). Script format all the way. // much slower to process but can be manually edited if need be..

Would like to know what would be the best format ?

P.S. the IDE will also include all the tools to create the symbol library.

--
"I\'m never wrong, once i thought i was, but was mistaken"
Real Programmers Do things like this.
 Click to see the full signature
Reply to
Jamie
Loading thread data ...

Store it in whatever format works for you. However, being able to convert to and from ASCII format is really nice as it allows one to create their own library generator, perform scripted editing of the libraries (you gotta love SED!), and create many-pin symbols with a text editor. Xilinx is one company that supplies ASCII files of FPGA pinouts. Allows one to make a 700-pin FPGA schematic symbol in less than 20 minutes. GUI tools to generate symbols are fine for a few pins, but when the pin count gets into the tens or hundreds, ASCII is the way to go.

Look at the old DOS Orcad tools. Everything was editable in ASCII form. Even the intermediate netlist format was ASCII which allows one to create their own net list formatter. One guy just recently wrote a program that generates thousands of IPC footprints to the old DOS Orcad PCB program because Orcad PCB can import ASCII descriptions.

Your PCB and Schematic files should also be convertable to and from ASCII format. I often find myself making changes via a text editor to my schematics or creating multichannel schematics by editing ASCII representations. It really saves time.

Don't forget about macros and user definable hot keys.

If your project is open source, you may be interested in joining up with a new project that is looking into creating a schematic and PCB program suite. The primary focus is productivity, unlike most of the other programs out there. If you're interested, I can send you details on joining the group.

--
Mark
Reply to
qrk

For things like Xilinx, I suggest a 2 step approach.

One file describes the chip. Which pins are power? Which signal pins are input, output, tri-state...

A second file describes the design and the mapping of signal names to pin numbers. Maybe this file has hints about how to draw the pictures.

--
These are my opinions, not necessarily my employer\'s.  I hate spam.
Reply to
Hal Murray

Basically what I am doing is creating what I call an inherited database of symbols. these would be the most primitive types like circles, boxes etc. that are in a vector type so that size can be adjusted when applied to another symbol design etc.. the final end will be a vector type graphic to be used the final graphic will have magnetic connection points to make it easy for you to lay it out. each project will be storing the drawings in a vector type system that encompasses the symbol drawings and the node map to draw on the display.. I suppose I could dump this out in an ASCII format also. By including all of the required symbol data in a section of the files, one could open this schematic for example and be able to view even if they don't have the symbols on board but could grab a copy of the symbol and add it to their own lib.

It will make for a larger set of schematic files how ever, the danger lye's in one day you may want to open the file that may have used older foot prints that you no longer have maybe due to a crash or what ever. Also a simple viewer could be created just for viewing much like the PDF system..

--
"I\'m never wrong, once i thought i was, but was mistaken"
Real Programmers Do things like this.
 Click to see the full signature
Reply to
Jamie

I have written a PCB CAD program over the last 12 years and I opted for the binary approach. This allows the data to be more compact than scripting. It was originally written for DOS hence the compact data system.

Having said that there is no reason why a converter could not be written to edit the binary data.

As for editing I just wrote a good symbol editor that was very easy for the user. Instead of just allowing the user to plonk pads everywhere I asked for some parameters upfront and got the software to place everything. You still had the option to edit it afterwards if need be.

formatting link
formatting link

Reply to
Marra

Embedding the parts in the schematic file is a good thing as it makes the project portable and self-archivable.

For the PCB program, it's also a good idea to have a DXF import/export function. This allows you to draw up complex footprint or board outlines in a drawing CAD package then import to the PCB program.

Reply to
qrk
[snip]
[snip]

The old original MicroSim (PSpice) Schematics is all ASCII and has an archiving method that pulls only those symbols used in that particular schematic.

Which is a good deal... I literally have THOUSANDS of home-brew symbols.

...Jim Thompson

--
|  James E.Thompson, P.E.                           |    mens     |
|  Analog Innovations, Inc.                         |     et      |
 Click to see the full signature
Reply to
Jim Thompson

Do it this way using, say, XML. Sure, it's slower than binary, but on a modern PC in all likelihood you'll still be waiting on the hard drive for the actual data, so there probably won't be any difference in *actual* execution time based on the binary/ASCII choice.

Reply to
Joel Kolstad

12 years ago, this made plenty of sense. Today, with 500GB hard drives selling for $100 and file systems that support on-the-fly compression, I think the ASCII/XML approach makes much more sense.

The usual problem here is that if you have a corrupted library file, most converters use the exact same code to read the library as the regular program does, and therefore will die a horrible death as well, preventing a (manual) fix.

Reply to
Joel Kolstad

The downside is that it's harder to fix a bug in a library part and or share library info with other designs.

The original question was ascii or binary. You tossed in another interesting consideration: archiving.

My preference is lots of small tools rather than one big GUI mess. A major advantage is that I can often do something that the one-big-package doesn't do.

What I really want is something like make and the tools to generate a makefile so I can easily be sure that I have done all the steps I need to do when making gerbers and archiving everything.

Lots of small tools generally work better with ascii than binary.

If the performance hit is serious, I'm happy using binary files as long as there is a simple way to translate beetween them. I'd be surprised if that happens at the board layout level - maybe for large boards.

--
These are my opinions, not necessarily my employer\'s.  I hate spam.
Reply to
Hal Murray

Another good thing is that a schematic file can be used as library. Removing wires, Sorting the parts, write their names alongside and print it for easy lookup. Same for board-lay out.

For me, even with available libs containing thousands of parts I need to edit a part right in the first project.

Andre

Reply to
Bob Woodward

This is one of the reasons I still use the old DOS Orcad schematic tool, SDT. Over the years, people have written apps and drivers to modernize aspects of SDT. I cringe when I see customers fighting with Capture.

With Layout/GerbTool, I have written a macro for GerbTool that moves the fab files to other directories. Sure reduces the headache of moving those files by hand.

--
Mark
Reply to
qrk

Why would the file ever get corrupted? I have yet since I wrote the first version in 1990 to get a corrupt library file ! It shouldnt happen unless there are bugs in the software or someone is extremely stupid like switching the PC off by mains instead of logging off.

The binary method means the data can be held in simple arrays in memory instead of on the hard disc, making reading and writing very very fast. Even with modest amounts of memory massive pin loadings can be used with binary. I also fit strings exactly into memory without allocating something silly like 64K to a string each time. It makes for very careful programming but I find if I do make a mistake it goes horribly wrong which is better than missing something.

PC's do have massive storage and power now but I still find .NET V3 graphics slow even on a dual core PC. Having moved on to ORCAS it is even worse still. It doesnt matter how much power PC's have it is never enough to keep up with the demands of the latest OS.

I also embed the library parts used into the schematic.

Reply to
Marra

Most likely reason: Bugs in the software. I've used various EDA tools over the years, and I can specifically recall all of ORCAD, PCAD, Protel, and Pulsonix corrupting files at some point. (ORCAD Capture is bad enough that I can *almost* get it to do so consistently... not that I think being able to demonstrate such a problem would actually cause Cadence to *fix* it, of course.)

Yes, but your software is nowhere near as sophisticated as most contemporary EDA tools. More sophistication unfortunately often correlates with more bugs...

Most string libraries today use aliasing/copy on write to reduce memory requirements along with some heuristical approach to memory allocation (e.g., start all strings at, say, 16 bytes, grow the memory allocated to them by a factor of 2 whenever they hit the current size limit) to keep performance up. I'd be surprised if any commercial products were so bad as to allocate 64K to each and every string.

Very true.

That's my preference as well, although I don't have anything against EDA tools that merely reference library parts in their design files so long as there's a function to create a standalone library file that contains all the reference parts (PCAD did it this way).

---Joel

Reply to
Joel Kolstad

Indeed. Red Devil, I suppose.

I guess that's why you can't easily buy it anymore

formatting link

Reply to
xray

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.