|
|
|
|
|
by oxinabox
1918 days ago
|
|
Something like that is the idea. Silicon area is what costs money. Use as little as possible while still being fast enough to beat the clock-rate of your system.
PSO's are way better than brute force. but yeah. It was a purely academic work for a masters level CS unit.
I had just finished a masters level electrical engineering unit on silicon circuit design.
Where the final project was to design an adder that minimized silicon used (and thus cost) while also being faster enough.
And the hard bit is that you want big thick doped regions for high conductivity, but also the bigger the area the more paracidic capacitance.
And so there are some tricks the to find good sizes, like progressive sizing and stuff.
But afaik there is no actual answer, at least not one we ever learned.
So a lot of trial and error went into it.
It was a hard project. And so then I did this CS unit where the project was "Do something interesting with a particle swarm optimizer".
And i was like "lets solve this".
and once I saw the results, i was like "this is actually really good", and so the lecturer and I wrote a paper about it. It is a real problem. Minimizing silicon area subject to speed.
I bet the big integrated designers have there own tricks for it that i don't know about.
To do it really well you need to miminal the real area so also need to solve layout (which is a cool cutting and packing problem).
(and ther are also nth order effects, like running traces over things can cause slow downs, because electromagnetism reasons)
I bet a bunch of folk on HN know this problem much better than i do though.
probably something bad in my solution, but i think it illustrates the utility |
|
Now that everyone is using finfet processes, the layout part is pretty easy to solve because transistor widths have to be a certain number of fins and the layout is extremely regular.
One thing your analysis didn't include, which actually ends up being quite significant, is the extra capacitance caused by the wires between transistors. This changes the sizing requirements substantially.
I've done some custom logic cell design, and I always had to use a lot of trial and error, though generally I was concerned more with speed than area. I'm not sure exactly what the development process is at my current employer, but it seems like its a lot of manual work. I'm guessing they set area targets based on experience and attempt to maximize speed where possible.
Ultimately, everything gets placed and routed by a computer anyways!