Levels of abstraction

Following up on JL's suggestion coming out of the midst of a diss-fest in another thread:

There is something interesting here that could be discussed: levels of > abstraction in design, and the different kinds of people who prefer or > avoid abstraction.

Abstraction levels are important even in analogue hardware design.

Back in 2017, during my deposition in the Waymo v. Uber case (*), Waymo's attorney pressed me pretty hard about a recharging circuit for a pulsed diode laser for a vehicular time-of-flight (TOF) lidar for autonomous vehicles, which Waymo alleged infringed their patent under the doctrine of equivalents.

The circuits were roughly like this:

Waymo's patent:

Schottky

+24 0-----LLLL-->S---*------* | | CCC \|/ Laser few CCC V nF | === 0402 | | GND | *--| GaN |---- Trig *--| | GND

Uber:

+48 0---BEAD---RRRR--*------* | | CCC \|/ Laser few CCC V nF | === 0402 | | GND | *--| GaN |---- Trig *--| | GND

(These are both appnote circuits except for the parts choices and one bead that doesn't do anything, so no IP is being compromised here.)

The presence of the bead lent some superficial plausibility to the equivalence argument, since it behaves like a small inductance at the frequencies of interest, so that the circuits might plausibly look the same if you swap the resistor for a diode.

The operation of the two circuits is of course quite different--when the trigger pulse goes away, Uber's circuit charges up like a decaying exponential, with a maximum voltage equal to the supply, whereas Waymo's charges up like a half-cycle of a sine wave, with a peak near twice the supply, and then the diode holds it there. (After that the inductor rings at its free resonance, as in any other DCM switcher.)

Of course I had great fun with this. After all, if a resistor is equivalent to a diode, then a diode is equivalent to a resistor, right? I therefore I desoldered the resistor on one channel of Uber's diode laser driver board and replaced it with a very nice Schottky rectifier. (There was a fairly large ceramic reservoir cap on the supply side of the bead.) Then I set up a video camera and turned the circuit on, so that it flashed several otherwise identical lasers on the same board.

The hacked laser sure was brighter than the others, while it lasted--the FET melted about 5 seconds into the video, just about perfect for dramatic effect. Made a very entertaining expert report, for sure. (For some undisclosed reason, Waymo dropped the patent infringement side of the case very shortly thereafter.) ;)

The abstraction part was that during the depo, Waymo's attorney (a very smart guy whom I've worked with subsequently) tried very hard to get me to screw up by mixing levels of abstraction.

Even a small physical circuit probably has 10**22 atoms in it, each with its own time dependence over a very wide bandwidth (10**16 Hz maybe). Fortunately its behaviour can be conveniently approximated much more simply: resistors obey Ohm's law, capacitors look like capacitors, radiation and self-capacitance are negligible, and so on. That's why we can draw schematics and reason meaningfully about them.

At the highest abstraction level we usually use for circuit design, diodes conduct in one direction only, GaN FETs are perfect switches, op amps have no input current or offset voltage, and so forth. Diode drops may come in at this level, depending on the case.

At the next level down, it gets a bit more complicated: FETs, lasers, and traces have inductance and resistance, which limits the pulse width. (Uber's guys did a brilliant job--their discharge loop had a total inductance of less than 400 pH.)

At the next level, we worry about things like the leakage of diodes and FETs.

"But wait," says the attorney, "the supposed distinction between diodes and resistors is that resistors conduct in both directions, whereas diodes don't; but the diode's datasheet says right there in black and white that it conducts in both directions. Isn't that so?"

"No, counselor, not at the level of abstraction used in the patent specification." (Leading to a long back-and-forth discussion of the issues above, including many reiterations of the same sorts of questions.)

So abstraction levels are important in the process of designing hardware too.

Cheers

Phil Hobbs

(*) The total ask in the case was a cool $2.3B, of which about 10% was on the alleged patent infringement side where I was working. The rest was alleged misappropriation of trade secrets--the case settled during trial.

Reply to
Phil Hobbs
Loading thread data ...

I think JT did a CD ignition with basically the same architecture.

But as regards abstraction, I was thinking across disciplines, not within them.

You and I work pretty far down into the physics. We care about electrons, shot noise, photons, Johnson noise, non-ideal resistors and caps, temperatures, real parts, and we know that everything on a schematic actually talks to everything else at around the speed of light and the speed of heat diffusion.

One other extreme is coding apps in Python or javascript or C++ or something. Most such programmers live in one layer of the abstraction stack (#14 maybe?) and don't need to know anything about their compiler, the compilers that built their compiler, the OS, the machine level instructions, the logic gates, the transistors. Their world is entirely synthetic. English majors make good programmers. Computer scientists typically don't program.

Synchronous logic design, which is typing VHDL or something, is inbetween. A mess of common-clocked state machines is pretty intellectually pure, as long as one doesn't (horrors!) have to cross clock boundaries. The language compilers abstract the ideas a lot... sometimes too much.

Analog design is for the brave souls. Everything is distributed and fuzzy with no obvious organizing principles. It's not pure and closed and quantized. I know some smart EEs who are afraid of analog circuit design.

One big divide may be drawing vs typing.

Reply to
John Larkin

I think JT did a CD ignition with basically the same architecture. I kinda reinvented it too, as a laser driver.

But as regards abstraction, I was thinking across disciplines, not within them.

You and I work pretty far down into the physics. We care about electrons, shot noise, photons, Johnson noise, non-ideal resistors and caps, temperatures, real parts, and we know that everything on a schematic actually talks to everything else at around the speed of light and the speed of heat diffusion.

One other extreme is coding apps in Python or javascript or C++ or something. Most such programmers live in one layer of the abstraction stack (#14 maybe?) and don't need to know anything about their compiler, the compilers that built their compiler, the OS, the machine level instructions, the logic gates, the transistors. Their world is entirely synthetic. English majors make good programmers. Computer scientists typically don't program.

Synchronous logic design, which is typing VHDL or something, is inbetween. A mess of common-clocked state machines is pretty intellectually pure, as long as one doesn't (horrors!) have to cross clock boundaries. The language compilers abstract the ideas a lot... sometimes too much.

Analog design is for the brave souls. Everything is distributed and fuzzy with no obvious organizing principles. It's not pure and closed and quantized. I know some smart EEs who are afraid of analog circuit design.

One big divide may be drawing vs typing.

Reply to
John Larkin

Wow. The patent system sure is screwed up, what a waste of time. Last I heard Uber has ditched its autonomous vehicle unit anyway and probably sold all the hardware IP off to a software company for pennies on the dollar, like this one project I worked on during Covid where half the company got Covid and the project was cancelled, and probably every circuit I worked on got sold off for $3.

Maybe down the line Aurora whoever owns the Uber patents now will sue someone else who's actually doing something useful with the ideas. I guess I'll find out when I can hail a robot taxi to my house when I'm 85 years old or something.

"Aurora isn’t planning to build a self-driving car or truck itself; instead, it’s developing the complex software that will power autonomous vehicles."

great

Reply to
bitrex

When I went to art school I wanted to be a painter. Painter or rock star or both, depending. But somehow I ended up here...anyway it wasn't uncommon for the "rejects" from the fine arts to end up in the computer or hardware lab after-hours.

A friend of mine despised her second year photography professor so much she took an assembly language course just out of spite, I think. Went on a number of years later to work for a software company in Seattle that makes some stuff.

Reply to
bitrex

On Wednesday, 27 October 2021 at 18:03:28 UTC-7, John Larkin wrote: ...

... And of course from WW2 onwards the technique has been used in radar modulators:

formatting link
kw

Reply to
ke...

Actually that time the system worked great. We couldn't have blown their infringement case up like that if actual infringement had been taking place.

The trade secret case was much murkier, centring on the very suspicious-looking actions of one Anthony Levandowski, who subsequently plead guilty to trade secret theft and went to jail for 6 months.

Cheers

Phil Hobbs

Reply to
Phil Hobbs

I think that the best folks in each discipline tend to span more levels. For instance, as well as having a lot of domain knowledge.

Knowing the impact of memory layout on performance gets more complicated with time. N-way associative caches, pipelining, speculative execution, (and lots more that I don't know about) have a huge effect on performance, and you have to know a fair amount about your compiler (and especially your profiling tools) to get them right.

In the same way, knowing how a transistor works is hugely useful in the corners of analog design. For instance, a year or so back I was asked by a small start-up in Vancouver to design them a super low cost, super small diode laser driver with current limiting. (It's a hometown start-up coming out of my alma mater, and is advised by an old pal of mine.)

The current limiter looked like this:

beta-graded PNP

3.3V 0-------* *-------*---> laser driver V / | ----- CCC (smallish MLCC) | CCC R | R GND R R | GND

The DC current limit is beta*2.7V/R, but due to charge storage the peak AC current can be a lot larger as long as the average current is low enough and the total charge per pulse is less than the charge stored in the (saturated) BJT's base region. It turns out to be a good match for the application, allowing nice bright pulses without blowing anything up in fault conditions, over the full datasheet range of beta.

Yup. Fortunately that seems to be getting better--I'm told that there are now good open-source toolchains for FPGAs from other makers besides Lattice (the pioneer--may its tribe increase).

Cheers

Phil Hobbs

Reply to
Phil Hobbs

Sorry, it should be pretty obvious that Uber circuit is unpatentable. Any "equivalence" argument is really argument that Waymo circuit is unpatentable. Yet, your remark suggest that argument in this case are sealed and if somebody re-create Waymo circuit they will bear cost of proving unpatentability. In particular, in case against Uber Waymo claimend that two circuits are equivalent. Victim of legal attack should be able to point out that Waymo consider theis circuit equivalent to prior art.

Considering abstraction, at "block diagram" level there is pulse circuit and power decoupling. At sufficiently crude level Hertz transmitter is prior are (historians probably could dig out earlier and more similar precendents).

For patent cases I think that "freshmen test" could be useful: you ask first year EE student to draw schematic with given functionality. I think that most students would come with circuit like Uber, but without ferrite bead. Some probably would use inductor insted of resitor. Some probably would come with inductor+resistor combination (maybe including ferrite bead). Waymo circuit also has nonzero chance to show up. If you add requirement that circuit is to be powered from 24V, but laser diode driven by 48V, then Waymo circuit has much higher chance to show up. In other words, both circuits are obvious to "skilled in the art", so by letter of law unpatentable.

Coming back to abstraction, motivated by "two transistor circuits" thread I tried to form exhaustive list of one transistor circuits. I just looked at how transitor is connected to rest of the circuit and come with 13 different connections. 4 are not very interesting: disconnected transitor (1 circuit) and transitor connected by one leg (3 circuits). Still, it seems that some manufacturers used them for marketing purposes. There are 3 circults that connect transistor by two legs. And 6 circuits that use 3 legs: 3 classic ones that is common emiter, common base and common collector and 3 reverse ones which look like prevous but reverse role of input and output. Two reverse circuits are probably useless, but reverse common collector seem to be quite useful: it works as current attenuator and can generate very small currents without use of expensive high-value resistors.

Comming back to case above: both circuits are classic common emiter/common source configuration. I hope that even US court would reject Waymo patent rights to this configuration.

At slightly lover level of abstraction, we can look at power decoupling. Pure resitor in the circuit gives nice monotonic change. With inductor we get ringing, but hopefully less RF noise in the rest of device. Bead clearly strikes nice balance: has lower impedance at low frequencies, allowing faster recharging but largish resistive component at high frequencies which limits ringing (but your demo shows that ringing still is quite significant).

Anyway, we have "generic" schematic which is well-known and well-known principles to fill it with concrete values.

BTW: Now there are computer programs which given desired characteristic will generate good or "optimal" filter. I wonder if there are people that still try to patent filters, even if they can be obtained as output of standard design procedure.

Reply to
antispam

Ahh, white-collar crime. I hope the prison had racquetball and in-room cable. How much was the particular trade secret valued at again? Whatever it was definitely don't steal that amount in Nikes or someone's going to be much more upset...

Reply to
bitrex

Here's a patent that seems like it must have been nonsense when it was granted circa 1987, really...nobody was using a single OR gate to reject invalid transitions from a Johnson counter prior to this? What!

formatting link
Reply to
bitrex

I think the entire patent system is hugely outdated and does only harm to society. A "wild west" approach would be much more productive: if you are smarter than others then do something they cannot repeat fast enough; and don't stop running as if you stop you will be inevitably outrun. Perhaps an extreme view, but looking at what bollocks are patented may be not that extreme.

Reply to
Dimiter_Popoff

It was Waymo that had the patent.

There's a strong presumption in law that an issued patent is valid. You can invalidate it given sufficiently persuasive evidence, but the opinion of some random guy on Usenet (you or me, for example) doesn't qualify.

et, your remark suggest that argument in this

Waymo's circuit is published in the patent spec. That's how it works--the patent system is intended to persuade inventors to put their inventions in the public domain, in exchange for a 20-year right to sole ownership.

Neither Waymo's nor Uber's lawyers were idiots, and both sides had some pretty high-quality technical advice, I think.

Don't quit your day job.

Cheers

Phil Hobbs

Reply to
Phil Hobbs
<ssssnnnniiiipppp>

The chance that anyone would try to enforce that patent is somewhere between slim and fat. ;) They'd get their ass handed to them, for sure.

The USPTO has issued over ten million patents. In any group that large, you're bound to find a lot of very silly ones. Patent examiners are expected to process applications in an almost inconceivably wide range of technologies, and can't be expected to be expert in all of them.

I've known a few, and they're generally smart and diligent folks who make a point of being hard to convince. So I'm prepared to cut them a fair amount of slack, even when they're being mulish about letting me patent my latest brainstorm. (I haven't patented anything since leaving IBM in 2009, but I have forty-odd from my time there--see

formatting link
if you're interested.)

I've been an expert witness in 30 cases to date, and some of the stuff that actually gets litigated is even sillier than your example--for example, in the 2010s somebody at a university got a patent on those cheesy glass menu boards you sometimes see in bars--a black-light tube coupled into the bottom edge of a sheet of glass (so the UV bounces round inside without escaping). When you write on them with a fluorescent-ink felt pen, you get glow-in-the-dark drinks specials and so on.

That one was issued as a continuation of another application, despite the technique having been in wide use since the 1960s at least. The patent specification had a lot of good inventive stuff in it, and so yielded a couple of very good patents, but then some bright spark at the U decided to file this continuation.

In US law, a continuation is a separate application where you take your pre-existing patent disclosure and bolt on another set of claims

*without changing the specification*. That lets you keep the priority date of the original application, which is sometimes a crucial advantage, especially when somebody finds a way to use invention you told them about, while avoiding the original set of claims. (That happens a fair amount--not everybody is a claim-drafting genius.)

I had to tell the U. that in my opinion that patent wouldn't hold up due to widespread anticipation in the prior art, so naturally they didn't require any further services from me. After an _inter partes_ review (IPR) the USPTAB duly ruled that the disputed claims were unpatentable, so the bad patent magically vanished.

Cheers

Phil Hobbs

Reply to
Phil Hobbs

Why would anyone disclose their trade secrets, then?

That's what we do. We license technology, but as design IP and not patents.

Taking the silliest examples as the rule is, well, silly. There are a lot of IP thieves out there, many but not all of them in China, and the patent system is our main defense against that. It's not perfect by a long way, but it's a lot better than nothing.

Cheers

Phil Hobbs

Reply to
Phil Hobbs

It won't take much to convince me I am wrong with my view, I just don't have much experience with that sort of thing. But my distrust towards such systems is hard to overcome. I have had several attempts to repeat the design of one of my products and had anyone succeeded at that I would not have been able to do anything. Nor would I disclose what is stopping them (not a secret recipe hidden in a safe, basically all 3 entities which tried I know of just did not have what it took and the product is well, really hard to reverse engineer, not impossible but certainly impractical, it would be a lot cheaper to buy the IP than to reverse engineer it). Anyway, I am skeptical towards systems like this which are not good but "something", half measures don't seem to do much good of any.

Reply to
Dimiter_Popoff

On a sunny day (Thu, 28 Oct 2021 17:26:27 -0400) it happened Phil Hobbs snipped-for-privacy@electrooptical.net wrote in snipped-for-privacy@electrooptical.net:

Is that so? Gunpowder was invented in China, was later brought to Europe and America. AFAIK there was no Chinese patent on it. Of course I am biased as I am an open source person.. But would not, without patents, better technology spread faster?

Reply to
Jan Panteltje

As has been mentioned earlier in the thread the whole point of the patent system to to get inventors to publish their inventions.

The classic counter example is obstetric forceps which remained a trade secret for a century - a lot of infants and mothers would have done a lot better if the idea had been patented and published.

Reply to
Anthony William Sloman

History shows it doesn't.

What happens is that new concepts are kept secret so that the inventor can make a living from implementing them. That was generalised into societies keeping knowledge within their membership, with penalties should it escape. Such societies were the medieval guilds.

Patents were designed to overcome hoarding knowledge by making it possible for inventors to profit when someone else used their invention.

Reply to
Tom Gardner

On a sunny day (Fri, 29 Oct 2021 10:28:35 +0100) it happened Tom Gardner snipped-for-privacy@blueyonder.co.uk> wrote in <slges3$ne2$ snipped-for-privacy@dont-email.me:

Maybe you a right, but for the open source software world I see this huge growing Unix / Linux based number of libraries and applications. Even the big players such as MS bow to it.

Reply to
Jan Panteltje

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.