Israeli startup Lenslet Labs has gone back to the fundamentals of mathematics to develop a processing engine that can handle matrix calculations natively without having to break them down into many multiply-accumulate (MAC) operations.
Lenslet has developed an all-optical engine the size of a Palm Pilot handheld computer that can process a 256 x 256 matrix array multiplication in a single cycle. It is aimed at a range of designs, including the chip rate vector processing expected to be applied in 3G basestations for user detection.
The heart of the company's Optical Digital Signal Processing Engine is a spacial light modulator (SLM) made in a standard gallium arsenide process. This array of 256 x 256 elements can reconfigure the transmission of each element in each cycle as it is proportional to the linear voltage level provided by a hardware driver.
The array is fed by a row of 256 vertical cavity surface-emitting lasers (VCSELs), and a receiver array of 256 photodetectors takes the output of the VCSELs via the SLM. This imatrix multiply operation would require eight trillion MACs of processing power in a traditional DSP, said Avner Goren, vice president of applications at Lenslet. But the optical engine is clocked at just 125 MHz.Key to the system is its ability to reconfigure the SLM in each cycle. This is partly achieved by double buffering, where the next configuration can be loaded in and then switched into place.
The physical medium needs time to settle, said Goren, but the bottleneck is in sending data to the matrix rather than in the switching. Each new configuration could be for a new target 3G radio user, he said.
Optical engine system
Lenslet Labs has built a system around its optical engine.
With a 256-element register file fed from a memory array that is itself fed via eight LVDS serial lines, the engine can transfer 16 Gbits/second of data in and out.
The company has developed a vector processing unit that takes the results from the detector array and feeds them into the register file in a way that they can be read by a discrete DSP on the module.
This DSP can be changed depending on customer requirements, and runs the Lenslet firmware, real-time operating systems and applications software and interfaces to the host processor.
There are also library calls to standard functions to hide the operation of the engine from the programmer, said Goren.
This combination forms the applications processing layer to support the optical engine. The whole system consumes 20 watts of power for the 256 channels.
The engine can be used for a wide range of algorithms as well as vector matrix multiplication, such as discrete Fourier and cosine transforms wavelet compression, correlations and filter banks, said Goren.