Ping John Larkin: Question on MAX

Say John,

If you don't mind my asking...

With your homegrown inventory/parts management/MRP program MAX, have you effectively integrated it with PADS Logic (which I'm assuming you enter your schematics with, given that you use PADS PCB for layout) by, e.g., having an attribute for each symbol that keys to one of your internal part numbers?

In other words... how easy is it for you to get from schematic to BOM whereby the BOM consists of all your internal part numbers? Completely automated, or someone manually going thorugh a generic BOM report and manually linking them up with your internal part numbers?

Assuming it's automated, how long did it take to have someone go through your PADS parts library and enter the (5,000 or so?) internal part numbers initially?

Thanks,

---Joel

Reply to
Joel Koltner
Loading thread data ...

OK, I just finished (or at least got working) BLUE.EXE. It compares the parts in a PADS-Logic netlist to our MAX parts/inventory database.

It checks that each PADS part on the board has the required attribute fields. A part entry in the PADS-Logic netlist file looks like

PART C50 { "ORIG" JL 7-24-96 "DESC" 0603 SURFACE MOUNT CAPACITOR "HTI" 103-2720 "VALUE" 0.33uF }

Where HTI is our in-house MAX stock number. Pretty ugly, no? PITA to parse.

The program verifies that the DESC, HTI, and VALUE fields are present and look about right, then verifies that the corresponding MAX part actually exists, then verifies the value and package types against what MAX expects. I only process R/L/C parts, since they are the ones that cause the most trouble.

It's done in PowerBasic in the clumsiest way possible... tons of string operations, linear search of all MAX parts for every PADS part, gross stuff like that. Analysis of a 1200 part VME board runs in 0.156 seconds.

Parsing and comparing the values was a little tricky. 0.33uF was not exactly the same as 330nF in floating point, and some people decided that m was milli but M was mega. Sometimes.

And things like "1206" can appear in various places in the DESC field for some PADS parts, like resistor networks. And so on.

560 line source file, 38 kbytes compiled.

PINK.EXE was the one that compares two PADS-Logic or PADS-PCB netlists.

John

Reply to
John Larkin

Having the attribute names in quotes but the attribute values not in quotes sure is a pain...

I was wondering if you were going to deal with this...

I've often felt a tool that goes around and "standardizes" all the decoupling caps to 100nF or 0.1uF or whatever one prefers would be useful. Not because I'm a nazi when it comes to suggesting that there should be hard rules for when fractional values are OK or not (although some people around here are...), but rather because I think there's value in having consistentcy in your schematic: 100nF vs. 0.1uF vs. 0u1 (ouch!) tends to just say something about how old you are (when you went to school) or if you're in the U.S. or Europe, but different styles throughout the schematic makes you look schizophrenic, which is rather more worrisome.

I once had a "helpful" tech decide that my 22milliohm current-sensing shunt resistor (labeled "22m" on the schematic) was really 22megaohms. The circuit didn't really work after he made that substitution... :-)

I take it your program elicits some warnings if it's trying to be "smart" and discoveres that m/M confusion likely exists?

Sounds pretty useful; very neat!

For some real fun you should write up a description of the program and see how much a professional software developer would want to code it up. :-)

---Joel

Reply to
Joel Koltner

Often schematics are assembled by cut-and-paste from other schematics. Then the bypasses do look schitzoid. I use 0.33uF 0603 as my standard bypass, but the kids have decreed that it should be "330nF"

We do try to minimize the different parts on a board to simplify pulling kits and assembling boards. 100R, 1K, 10K, like that.

It wouldn't be hard to pile up a *lot* of microfarads of bypass caps on one plane, scattered over many sheets of schematic. Enough to freak out some LDOs that, on the power supply page, have an aluminum or tantalum bypass.

No, I'm figuring it will eventually throw a mismatch as a warning. The m/M case is rare anyhow.

John

Reply to
John Larkin

Have one of the kids write up a PowerBASIC program (or whatever their programming language of choice is) to find all the capacitors connected to a given net and add up their values? :-) That'd be a kinda cool macro, actually...

Reply to
Joel Koltner

We just skip nF completely. The only question is whether it's .001 (uF assumed), or 1000pF. I guess even that ends up dependent on where it's used. Decoupling it's .001 and in a filter it's 1000pF. Yes, a mess.

Reply to
krw

This is an area where I think those newly minted graduates do bring something of value to older engineers -- they don't shun nF. :-)

We don't have any particularly hard and fast rules, but in general all capacitors and inductors get their full units spelled out (22nH, 100pF, etc.), whereas resistors don't have "ohms" added *unless they're 1-999 ohms* and hence would otherwise have no suffix at all. This is a sort of compromise between "ohms" spelled out looking a little dorky since ORCAD won't let you use a proper Omega symbol but still wanting at least something to suggest you didn't just forget a "k" or "M".

I am guilty of doing dumb things like having just labeled a bunch of inductor in nH and then proceeding to label a bypass cap as 100nH rather than 100nF. Oops...

When we first started implementing our new MRP system some years ago now I made the suggestion that, when searching for parts, It Would Be Nice to have the system be smart enough to understand the standard metric suffixes so that when someone creates a part that's 100nF it can still be found whether someone searches for 0.1uF, 100nF, 100000pF, 1e-9F, or any other silly combination you might think up.

I'm not expecting anything that useful will actually end up being available (I'm not at all impressed with the flexibility of these big MRP systems -- seems like many of them aren't much better today that what existed 30 years ago), but I'm crossing my fingers that someday I'll be pleasantly surprised.

---Joel

Reply to
Joel Koltner

I didn't either. In fact the hybrid I first worked on was all in nF because all the caps were in that range. They don't so I stopped. I don't really care, nF is easily enough covered by uF and pF.

We could, but there are more significant digits in resistor values and the vast majority of resistors are in the 1K to 1M range. I significant percentage are 10K. ;-)

I could argue that you should be using mF, too, to be consistent. ;-)

See, you wouldn't make that mistake if you labeled them ".1". ;-)

Amen! As it is, I do this in a Excel spreadsheet but it's a PITA. The parts system should take care of that administrivia. That's what computers (are supposed to) do. As I'm told, our system was quite expensive, yet one couldn't design a much worse UI on purpose.

Why would you even hope for sanity? It's just something to live with.

Reply to
krw

We have standardized on pF, nF, uF, and, sadly, mF. Numbers are never below 1, except 0.5 pF maybe, and never start with a decimal point.

Resistors are 12R, 3.01K, 22M, 3G, 1T. I suppose I'd parse 14mR or just 14m as 14 milliohms. "12" will parse as 12 ohms. We will NEVER use the juvenile 4k7 thing. I'll enforce that in my will.

Hmmm, maybe I should parse 2.2F properly, in case we buy some supercaps some day; I'm not doing that now. One more line of code.

We are all shocked, shocked.

It is fun when you ECO replace a resistor, like R99, on a board with a capacitor, which has to still be R99. I wonder what my crosschecker would do in that case.

All our resistors and caps are... believe it or not... IN ORDER BY VALUE. That makes shopping for parts really nice. I also have a program that finds resistors in stock that approximate desired ratios.

John

Reply to
John Larkin

Yeah, mF does seem a little odd to me, but I can't think of any good reason why it should be, so at least when I'm thinking about it that's what I use.

Although there aren't that many caess where I have a capacitor that's 1mF or more anyway -- these days switchers are so fast you don't normally need them. I suppose there's still SuperCaps...

I'm happy to label things fF -- probably just due to the IC design class I took in school (effectively "op amp design exactly as been's taught for the past 50+ years, we've just made now the transistors really, really small"), where almost everything was inbetween 1 and 999fF, so it became very commonplace.

On occasion I'll get to label something as pH as well (almost always just within a simulator, though -- e.g., shorted or open microstrip stubs; on the schematic these get turned into dimensions).

Really old schematics that label things mmF are kinda cute.

That sounds like an entirely agreeable system. "R" perhaps is a bit better than "ohm" (...but if the CAD tools would let you use an Omega, that'd be better still...).

:-) I don't blame you -- 4k7 is meant to solve a problem that largely doesn't really exist anymore (lost decimal places on tiny/xeroxed printouts).

Is that because you wrote a smart sorting routine that understands metric suffixes? Or because internally you store the raw value so sorting is trivial (e.g., 100nF is stored internally as 100e-9).

---Joel

Reply to
Joel Koltner

I don't see why mF should be any stranger than mH, mm, mOhm or anything.

Although, when I wrote the value of Boltzmann's constant as 13.8 yW/HzK somewhere, the editor found it necessary to change that into

1.38 * 10^-23 J/K.

Not everyone is comfortable with the full range of prefixes, I guess.

Jeroen Belleman

Reply to
Jeroen Belleman

Since .1uF is the most common cap, I like to just have '.1' in the value field, rather than '100nF'. Other than that, I'd probably agree. Exceptions are dirty, so we stick to 'F' (we do use a supercap), '', and 'pF'.

I agree. Too Europeon. ;-)

If you need them, be careful. Some aren't very reliable. I'm trying to get rid of the one we're using.

Took me a minute to figure out what you were getting at... Yes, we've run into that too, though it's the first thing to go away at the next board spin. Another thing we've had to resort to a few times is stacked components. A cap on top of a feedback resistor becomes R99T, in the BOM. I don't think any of those have escaped into the wild, though.

Ours aren't, unfortunately (they were, until some inventory droid decided that that didn't make any sense). It only takes a look-up through a table to do the conversion, though.

Reply to
krw

You don't remember mF and mmF, I suppose.

I don't like mF, either, because it isn't normally used.

Reply to
krw

Yes, I'm old enough to know that the 'm' once stood for 10^-6.

The point of it all, of course, is to apply these prefixes to

*all* units, using the same rules for all. It's simply not consistent to write 1000?F, but 1mH.

But old habits die hard, sure enough.

Jeroen Belleman

Reply to
Jeroen Belleman

Yet 'M' was used for 1000 on early potentiometers. Old volume controls were marked 500M or 1000M.

--
Anyone wanting to run for any political office in the US should have to
have a DD214, and a honorable discharge.
Reply to
Michael A. Terrell

That's rather annoying. I have a 100M pot (and it's *actually* 100M).

Tim

--
Deep Friar: a very philosophical monk.
Website: http://webpages.charter.net/dawill/tmoranwms
Reply to
Tim Williams

Other industries used M for 1000 at that time, so it was an accepted practice. Since everyone knew what it meant, it was no big deal. They also used nF for capacitors at that time.

--
Anyone wanting to run for any political office in the US should have to
have a DD214, and a honorable discharge.
Reply to
Michael A. Terrell

No, the point is to have the fewest possible misunderstandings. To me, nF is too close to mF. Dump both. There is no reason capacitor and inductor nomenclatures have to be consistent with each other. We use "10" for 10uF or

10 ohms but spell out "10uH" or "10mH".

It's not so much about habits as making readable, concise, documents.

Reply to
krw

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.