I'm a software guy but the principle is the same. You don't put two complex components together for the first time and expect to ship them two weeks later. If it works, it's a fucking miracle. This is why you test things.
KNC has time to test, but no time to fix anything but the most trivial of problems.
That's assuming they don't already have the chips. I don't know why they wouldn't say so, if they did.
I'm a software guy. You absolutely can put two complex components together and have them work the first time if you actually
know what you're doing and aren't just some hack, and both are well designed in the first place.
One way to do it is to have a well defined interface and a simplified reference (or 'mock') implementation of that interface that you can use to test against while working on the other - in KnC's case they have an FPGA implementation that has the same interface as their chip, so they can test their board/cooling/etc. And of course they can
simulate their chips, and full circuits, to ensure they work as well.
Software world is full of people who don't know what they're doing. It's not a 'miracle' if software works properly the first time without much debugging, it just means it was done properly and carefully to begin with.
Have you ever done it? I thought not. Almost nobody has, because it's ridiculously difficult.
Have I done what? Stick two "complex" pieces of software together without "much" debugging? Of course I have. Of course, it depends on what you mean by "complex". I mean, I don't usually write software made out of two components, typically it will have hundreds or thousands of components, arranged in a semi-hierarchical way, with each component interacting with several. In the vast majority of cases the components work together fine with no debugging.
How many lines of code would a component need to have to be "complex" in your mind?
Anyway, the thing you don't seem to understand is that you have the
opportunity to do debugging with an FPGA or in a simulator before finalizing your ASIC and board.
To use a software analogy, it would be like writing and debugging two components and getting them to work on your x86 desktop machine and then having them not work on an ARM based android phone. Even though the physical chip is different, code that works on one CPU should still work on another, as long as the compilers you're using for both don't contain bugs of their own.
"without much debugging" LOL. Even you can't bring yourself to say "with no debugging at all".
Right but as I said, KnC can debug their board using FPGAs and debug their ASIC using FPGA models.