“Hi, we’re from Element CXI and we’re not an FPGA company.”
That’s essentially the sales pitch from this Silicon Valley startup with the intriguing new device. Element CXI has developed a beguilingly flexible and curiously powerful new chip that combines elements of multicore microprocessors, FPGAs, reconfigurable logic, and black magic. The result can be difficult to grok but promises delightful results for those who give it a try.
What Element CXI has developed is best described as… uh… a processor chip with flexible resources that adapt to the task at hand. Whereas your garden-variety PowerPC, 8051, or DSP has a fixed repertoire of things it can do, Element CXI’s device has a big bag of tricks from which it conjures up the features you need. And it knows.Unlike most FPGAs, you don’t manually configure, place, and route the on-chip resources; Element CXI takes care of that for you. And unlike most FPGAs, the configuration changes every clock cycle. It’s not configured just once; it configures and reconfigures itself all the time, like a hyper-speed chameleon. No wonder the sales guys have a tough time explaining it.
Under the Hoodie
Like any self-respecting FPGA, the silicon is made up of tiles. And also like the LUTs, CLBs, logic blocks, or elements of an FPGA, the tiles are arranged in neat horizontal and vertical rows with programmable interconnect joining them all together in a mesh. So far, so good.
Element CXI’s tiles are more complex than CLBs but less complex than standalone microprocessors. Called elemental computing arrays, or ECAs, each one has four 16-bit input buses and two 16-bit output buses, plus some control and configuration bits. “Mere” logic blocks would be fine for random logic but wouldn’t provide enough compute power to be seriously considered as a software platform (Nios and MicroBlaze notwithstanding). Full-on microprocessor cores would be too coarse-grained, essentially creating a multiprocessor chip, something the company wanted to avoid. Like Goldilocks, the company feels its ECAs are just right.
The ECA tiles are identical and configurable, taking on different roles with every clock cycle. One cycle they can be big multipliers, and the next cycle they’re barrel shifters or ALUs. In all, there are five different configurable personalities, and each one has its own sub-modes. For example, when a tile is acting as a multiplier, it can be a 32×32-bit multiplier with a 64-bit accumulator, or two 16-bit multipliers, or an 8-bit multiplier. In the bit-manipulation role, a tile can do bit insertion, extraction, packing, interleaving, de-interleaving, merging, and more. Every ECA tile can change on every clock, switching personality and/or mode at will.
But at whose will? Just keeping track of all the functional permutations would be tricky enough; how would you ever decide what functions go where, and when? The good news is, you don’t have to. Element CXI’s software tools take care of that. You simply program the device and let the magic compiler determine what resources are needed where and when. The compiler’s smart enough to make multipliers appear when they need to or to transmogrify them into shifters, ALUs, or bit-twiddlers on demand. All this happens behind the curtain, but it must be an awesome process to watch.
Spread enough of these ECA tiles over a chip and you’ve got yourself a bodacious computing platform. Element CXI has 16-tile and 64-tile versions of the chip. The smaller one includes 14 of the morphologically gifted ECAs and two fixed-function tiles, one for memory control and one for a state machine. The company’s early research showed that, while every system needs a memory controller, it isn’t something that needs to be programmable, nor does it need to radically change modes cycle by cycle. Hence, the dedicated memory controller. Likewise for the state machine: it’s great for sequencing all the configurable ECAs, but changing roles every cycle kind of defeats the purpose of a state machine. The 64-tile incarnation of the chip is essentially four 16-tile chips bound together with high-speed interconnect.
Build Your Own Future
So why isn’t the world beating a path to Element CXI’s door? Part of the reason is simple caveman superstition. The chip is just plain weird. And it does seemingly magical things – things that spook experienced engineers and, most importantly, their pointy-haired bosses. Engineering management is all about meeting schedules and reducing risk, and it’s hard to quantify how Element CXI might affect those. Better the devil you know, and all that.
That said, the company has enjoyed some interest (and investment) from major corporate players in a typically risk-averse segment of the market. These anonymous customers see great potential in Element CXI and its disruptive approach to logic, computing, and configurability.
Another vector of interest comes from the telecommunications industry, where the contradictory requirements of fast data rates compete with ever-changing standards and complex encoding/decoding schemes. New communication standards and interfaces require a lot of math, and Element CXI packs more multipliers than even the biggest FPGA. Carriers are looking for wiggle room so they can build now but also adapt to changing standards. Better still, they’d like to deploy a black box once and then upgrade it in the field, remotely, without taking down the box and replacing it with a new one. Configurable computing promises that kind of flexibility. In contrast, throwing compute power at the problem by using lots of standard CPU or DSP chips can turn carriers into commodity hardware integrators, without much room for differentiation or their own unique intellectual property. Element CXI offers a triple play: computing power, upgradeability, and uniqueness.
Sadly, the road to computing nirvana is paved with the corpses of reconfigurable-computing startups. Chameleon, Leopard Logic, Morpheus, Algotronix, and many others all tried and failed to overturn our deeply ingrained ideas about how processor chips should work. On paper, those doomed devices all promised quantum leaps in performance (and sometimes in power consumption, too). Where most stumbled was in the tools; they were just too awkward to learn and use. We all want 10x performance improvements. We just don’t want to have to work for it.
Element CXI has outlived most of its competitors. That in itself is an achievement. That they’re still working, still developing new products, and still pleasing a small but loyal cadre of existing customers suggests they’re doing something right. If the Moore’s Law treadmill isn’t getting your project where you want it to be, Element CXI might be worth a look. FPGAJ says check it out.