"The mirrors guiding this light, made of sandwiched layers of silicon and molybdenum, are ground so precisely that, if scaled to the size of Germany, they would have no bumps bigger than a millimetre" <https://www.economist.com/business/2020/02/29/how-asml-becam...>
Or is it a matter of manufacturing it, testing it, and rejecting some percentage of things that don't fit your requirements due to imprecisions?
Are there any good background resources on how some of these things are done?
Two stones is not enough, you can then end up with two spherical surfaces. With three this isn't possible (imagine two of them are convex, when you rub them together they will grind eachother down and become less convex).
Is it a strict requirement that one plate remains stationary?
Altough, I disagree with the "random fashion". Alternating the pairs AB -> BC -> CA seems more logical to me.
Also, the order being random wouldn't effect the end result.
however, now my imagination is now running, and thinking about how overkill "true" random might be for this application. something "random" like an orbital sander would probably be enough. you're just trying to get away from side-to-side, left-circle, right-circle, up/down patterns. you're doing this to 3 different surfaces, so they would grind out any slight patterns which is the point. seems like a try crypto random would be as "effecient" as my roomba appears not to be.
Maybe some code then, instead: https://www.dwitter.net/d/20446
I'll add that this depends on the materials having similar properties, so when ground together, they are grinding each other. This means whatever residual shape you have in one of them, it won't be transferred completely to the other.
If the materials had very different hardnesses, one of them would dominate over the other when they're ground together.
https://pearl-hifi.com/06_Lit_Archive/15_Mfrs_Publications/M...
Nice summary:
https://www.youtube.com/watch?v=gNRnrn5DE58 ("Origins of Precision" by "Machine Thinking")
Test, measurement and calibration equipment for new technologies (think 5G/UWB, mmWave, even up to CERN LHC) can be right on the cutting edge of technology. Companies who specialize in these areas tend to have large budgets on research and commercialization.
For a cultural history of precision see The Perfectionists: How Precision Engineers Created the Modern World by Simon Winchester:
* https://www.goodreads.com/book/show/35068671-the-perfectioni...
Very reasonable assumption that I used to have too. (Un?)fortunately it's also wrong, or at best, incomplete. :-) e.g., maybe you don't have the technology to make precisely straight lines, but if you can make a flat surface (like paper), then you can fold it in half and get a straight line. Then fold that in half and get a pretty-close-to-90-degree angle.
I also vaguely recall that feedback can increase precision in a system... like you can get 2% accuracy with a circuit that has only 5%-accurate resistors by using feedback (or something along those lines). Unfortunately I no longer recall how this is done. I just remember my mind was blown when I learned it.
A more general approach is to understand measurement as a process where a minute signal has to be amplified to be more easily evaluated. There are many such methods.
In the case of surface metrology, Coherence scanning interferometry is such a method which uses the properties of interfering light waves to directly visualize surface anomalies as bands of lights. Another, more direct method is to drag a stylus across the surface and to amplify variations in position. Sort of like a turntable does.
Examples of this is the device[1] used for the redefined kilogram[2], LIGO[3] and many others.
[1]: https://www.nist.gov/si-redefinition/kilogram-kibble-balance
[2]: https://en.wikipedia.org/wiki/2019_redefinition_of_the_SI_ba...
[3]: https://www.ligo.caltech.edu/LA/page/faq (first question)
[1] https://www.amazon.com/Exactly-Precision-Engineers-Created-M...
You can build a machine like that and most machines are built like that because simply reproducing the precision that is already in the machine is cheaper than building a complex intelligent system that knows how to compensate for flaws in precision. Think about how many 3d printers do auto leveling in software rather than simply make the bed perpendicular to the print head by hand. Those old manual milling machines and lathes didn't have all that fancy software so they simply reproduced their own flaws.
Well, given a smart enough human he can compensate for the flaws in the tools and get to a higher degree of precision.
Scraping https://www.toyoda.com/news-events/rpd-blog-the-importance-o...
"That means if the continental United States was polished smooth to the same tolerances, the entire country – from Maine to California – would not vary in thickness by just over two inches!"
Given the US is roughly 27 times the area of Germany, looks like semiconductor manufacturing requires roughly double the accuracy of space telescopes (1 mm * 27 is slightly more than 1 inch)
[0] https://www.nasa.gov/topics/technology/features/webb-craft.h...
I suspect lot of the production facilities would want to be near them.
https://www.bloomberg.com/news/features/2021-07-13/u-s-and-c...
https://www.intel.com/pressroom/archive/releases/1997/CN0911...
There must be a better way.
Yes, EUV machines are said to increase fab electricity consumption few times over, over regular UV steppers.
> There must be a better way.
The better way may well be worse. The alternative proposal is to build the whole fab around a synchrotron.
That's still better than tens of megawatt light sources.
Yep, pretty much any industry or individual organization that's been around for 40 years will have decades-old cruft complicating attempts to make changes. That's why it's good to have some sort of skunkworks unit as well.
Problem 1. patents. in early FOSS days people got momentum to push hard for corporations to give up compiler patents and other obvious nonsense and let GCC flourish. same situation is here in hardware, the very idea of simulating circuits is a mine field of patents and you'd be sued out of existence.
Problem 2. features. there are a lot of features that you need to push out a working chip into an existence. open source tools or alternatives are SO far behind that they cannot be used or can be used only on something really small.
Problem 3. verification. there are no (VIABLE! that python coco stuff doesnt count!) open-source alternatives to UVM (uvm as a library is open source, but there are either no simulators that can run it). If we had some of the older verificaion languages to go open source (like specman, vera), maybe we had a chance.
Doesn't that apply to basically every kind of software? How's it different for HDL simulation software?
> the very idea of simulating circuits is a mine field of patents and you'd be sued out of existence
Do you think a startup selling a new HDL simulator is any more at risk of getting sued than any other software-based startup?
Not trying to be combative, I'm genuinely curious.
According to their Wikipedia page, they paid 12.5 M$ to settle in 2007 and continued to operate for another 4 years before being bought for half a billion USD. Not exactly what I would consider "sued to pieces" ;-)
I am hoping we can start proving many if the things they brute-force model check today, too.
But I believe we need LISPy syntax - mainly for simplicity, also for easier parsing and static analysis. I think LISP is a natural way to describe data flow. Unfortunately none of the attempts to write functional synthesizable code that I found so far make the code simpler.
BTW I'm preparing a talk on simplifying RTL code. Can I cite some of your posts in this thread?
The biggest offender on that project list is FIRRTL. Cleary outgrew as someone's university work of "hey, lets do IR, but for RTL" without knowing anything of the industry, tools, etc. At best you can do the same with one reduced canonical simplified verilog source-to-source translation. at worst it does not do the primary function of "being" IR for RTL, because it should've been a graph, not another language with simplified syntax.
- You can use SBT or MVM to pull in dependencies
- You can wrap up designs as .jar files
- Powerful testing tools like QuickCheck come ready made
None of the above is rocket science, but simply by being there things become easier.
without knowing anything of the
industry, tools,
It's pretty difficult for a student to find out about what is actually used in industry. The semi industry's secrecy doesn't help. But software and hardware people really don't even have a shared language, and misunderstand each other's abilities and pain points. The very term "verification" is understood quite differently between the different communities.Parsing Verilog and generating valid Verilog is fairly difficult. If you want to stay with Verilog, the most realistic alternative to firrtl right now is the RTL-IL representation used inside of yosys.
> at worst it does not do the primary function of "being" IR for RTL, because it should've been a graph, not another language with simplified syntax.
Canonicalized LoFirrtl (i.e., the representation the compiler lowers Chisel to) is essentially SSA (single static assignment) which encodes a dataflow DAG. So on a per module level, firrtl does represent the circuit as a graph.
What you might be talking about is the fact that this graph isn't global. Having a global circuit graph could make some analyses easier, but it might require essentially in-lining the whole circuit which is something a lot of designers are opposed to. Even small optimizations like removing unused pins from internal modules are often times opposed.
Chris Lattner and others are currently working on an "industry" version of firrtl as part of the CIRCT hardware compiler framework: https://github.com/llvm/circt As you can see they did not decide to go with a global graph based IR and instead opted to just represent local data-flow graphs as SSA.
> Overall semiconducting industry seems to be way more exciting than boring computer industry
The most groundbreaking things all tech must be about are cat video websites, and internet companies :D
People completely forget that were Morris Chang (the previous CEO of TSMC,) not been polite, and ethical to a fault, the industry would've still be dominated by monster big semis, manufacturing every chip around, and who would've milked all big chip users like internet companies to death.
I can't imagine Panasonic, Toshiba, Motorola, or AMD of old not scheming to squeezing their clients to the last cent, and strategizing to prevent clients from gaining negotiating power.
TSMC's benevolent stance in comparison to that would be almost bordering on charity.