Just out of curiosity, do you have any idea what people actually do with these cell libraries? I don't mean "design the chip" but actually how they physically use them? Because it doesn't sound like you actually have any idea.
Are you serious? How do you "physically" use libraries? They are not collections of
books you know. Sure sounds like you are the one who has no idea what he is talking about. Go here for a primer:
http://en.wikipedia.org/wiki/Physical_design_(electronics)
I hope everyone can see he didn't answer the question - he has
no idea what cell libraries are or what chip designers
actually do with them. The wikipedia article he linked too
doesn't even mention cell libraries. Although it certainly could. The correct Wikipedia article is
this one.
So just so everyone is on the same page, let's explain what a standard cell library is. A standard cell is a standard
design for a typical component you'd find inside a chip. You could think of a standard cell as a region on an actual, physical chip - or (importantly) the data files that
describe that region so you can use it in the design process.
But a standard cell
library is just a
set of data files. When I said "physically use" I was just talking about the steps an IC designer would actually take in order to use them. i.e. download a file, place it in a certain directory on the hard drive, configure their EDA software to use it, either run a command line or click a button in their EDA software to generate a netlist using the components in a standard cell.
(I'm talking about steps someone takes using a computer, somewhat abstracted from 'physically', but it does involve physically looking at a screen, physically pressing keys and mouse buttons and so on)
That's why it makes zero sense to say they're locked into a process node size once they get their cell library. There's no reason why someone couldn't just get
multiple cell libraries for different technologies and design and simulate against both of them. They would only have to chose at the very last minute, before they sent their order into the fab, so long as they ensure the computer generated physical designs simulate properly across all the libraries.
See that? synthesis is automated.
Synthesizing is akin to compiling code. And what you are saying is akin to software development being
automated because the computer does the compilation Thats great, now if only you can make it write the code
Now it really sounds like you've never written software (or maybe aren't any good at it), because you can write software that runs on multiple architectures and operating systems really easily. You don't have to decide if you're writing a Windows program or Linux program before you start, even if you're using a language like C, C++. You just use different
libraries and have the compiler generate binaries for different CPUs.
As long as you test on multiple platforms as you're developing and fix bugs that might crop up on one OS or another, your code will work fine on both platforms.
Either way, you can have multiple implementations of the same
library which implement the same
interfaces. An example would be the
POSIX library or
OpenGL. With a C/C++ style language your software is either statically linked in or the OS will dynamically load specific libraries depending on what's installed (so you use the openGL that ships with whatever video card you're using, for example)
The optimization thing is the same with software. If you want your code to go fast, you might want to use OS specific features in Linux or Windows which would require you either optimize for both, leave one un-optimized, or not even bother supporting multiple platforms. Or you could write your code specifically for NVidia or AMD GPUs to maximize performance on one at the expense of the other.
The key point is that, when you're writing software, you can use multiple libraries. The "standard cells" in standard cell libraries all implement common logical functions like and, XOR, not gates and the like. They might have more complex circuit elements like adders and so on as well. But your synthesis software should be able to synthesize against multiple libraries pretty easily just by changing some options and pointing to whichever library file.
Look, believe what you want. Why dont you ask TheSeven if there is a snowballs chance in hell this chip will be deployed this year. Im guessing you already did but didnt feel like posting that part.
It didn't even occur to me to ask, because it didn't even occur to me that you might have valid point.