This is about inexplicable problems which arise to bite you after having remained dormant for years (in my case, for a decade). It is only incidentally about a problem in AUTOTRAX DOS, although anyone who still uses that program may wish to take note. May contain useful lessons for students of reality. _____________________ I'm so pleased at having found the cause of a totally fatal problem in a PCB job I was doing that I'm bursting into print to regale you all with it. While the solution (and program) will not be of direct interest to most people, there are several valuable lessons herein. Quite what the lessons are will vary with the learner. I've been using the same PCB program for almost 10 years. I have a modern version of the same program but am not as yet up to speed on its use and am using the old version to make changes to an existing design. I've just spent hours and hours and hours trying to stop it doing something inexplicable. Suffice it to say, for the less technical, that it was a "feature" which had lurked for 10 years and only just bit me. Maybe it had before and I never worked out why. For those who still want to use AUTOTRAX DOS ... (which is now free to use and an excellent program in its class): When a net (descriptor of a connection path between components) is made it uses the names of two components on the net - maybe the two extreme ones. It's rules are not published. I had found before today that while component names had a certain maximum length the SIGNIFICANT competent names were shorter. Naughty but avoidable. (In retrospect this MAY have been caused by this problem that I have just found). I seldom look at net names, although sometimes this is needed. It turns out that the maximum net name length, which is not published, is 13 characters. The name MAY be a single word such as VCC GROUND etc or a dual part name made from two of the components that it joins. This name is assigned automatically by the system. The middle character is an underscore. The 1st 6 characters come from 1 component and the second 6 from the other. All components which form part of a dual part net name have multiple pins (1,2,3, ... or C,B,E etc) and the pin is shown in the net name as a .x suffix eg Q23.C, R23.1 etc. The "dot" and the pin name take 2 characters (.1, .C etc) leaving 4 characters for the component name. Presumably, if the pin number is > 9 it takes 3 characters for the suffix eg ".15" etc. Perhaps the program tries to find components on the net with minimum length suffixes, maybe not. Regardless, this has the effect of leaving only a MAXIMUM of 4 characters for the component name in the net name. IF the component name is not unique in the first 4 characters the net will not be assigned to a unique component and/or multiple nets may appear to be a single net. R23, TRAN1, CSP1 OK R2345, TRANS2, RSPD4 Risky It happens that all (or enough :-) ) of my naming conventions over the years must have assigned unique identifiers to components within the first 4 characters of the names ! Where I went wrong here was assigning names to some newly added components with the prefix RSPEED eg RSPEED1, RSPEED2, RSPEED3 etc These return net names like RSPE.1 for pin 1 of either component! The result was that some nets were not present while other nets joined various components together in unintended ways. I discovered the cause of the problem by changing components and connections and observing the conditions under which the problem appeared and disappeared. (In retrospect the common thread is quite obvious, but in forward-spect it was not ! :-) ). The problem can be avoided by manually assigning net names in which case single word names of up to 13 characters may be able to be used. Maybe. Final check with pin numbers > 9 shows that the net name gets longer! to accommodate the larger pin number. ie the short name is a designers choice! Very bad. Interesting. Russell McMahon -- http://www.piclist.com hint: The PICList is archived three different ways. See http://www.piclist.com/#archives for details.