And today there is another one. Samsung's VC arm has invested $4M in Carbon and they have entered into a strategic partnership (although the details of what that means have been left murky). Samsung is a customer of Carbon's virtual platform technology. In fact they are one of the most advanced users of virtual platform technology in the world. Carbon's existing investors also participated putting in another $1M. Carbon was actually already cash-flow positive but this investment will allow them to accelerate various ramps in engineering and support.
Samsung is now the largest mobile phone vendor, having overtaken Nokia earlier this year. In smartphones almost all the profit goes to Samsung and Apple, with everyone else a long way behind in revenue and even further behind in profit. Of course Samsung participate in many other markets too, but mobile is so big and still growing fast that it is now the biggest market for semiconductors. More memory is sold to go into smartphones than into PCs, a crossover that happened a year or two ago. It is also a market which involves a lot of software and a lot of complex hardware, and very short product cycles, the ideal combination for virtual platforms to really add a lot of value.
Carbon's has a couple of key technologies that are obviously useful to Samsung, not to mention all their other customers. First, they can automatically create fairly fast but 100% accurate models of any design for which the RTL is available, throwing away details to drive up the performance. They can also make use of fast hand-crafted, but less accurate models. But the really clever technology allows them to switch from fast models to accurate models. So it is possible to boot a system with a fast model and get it to the point of interest, then switch to the accurate model and monitor in great detail exactly what happens. Carbon call this Swap & Play. This really is important since the alternative is to have models that are somewhat fast and somewhat accurate, which turns out to be something that is no good: too slow for the software developers and not accurate enough for the people who need to worry about hardware details.