Home

Caltech
Center for Neuromorphic Systems Engineering

Home
Research
News
People

[back]

Optically Programmable FPGA Systems
Jose Mumbru, George Panotopoulos, Arrigo Benedetti, Demetri Psaltis, Pietro Perona Industrial Collaborators: Holoplex, Honeywell, Photobit

Abstract. The aim of this project is to investigate and demonstrate a Parallel Optical Interface between a Holographic Memory and a Silicon Circuit. This interface is implemented as an Optical Programmable Gate Array (OPGA), which is an enhanced version of a conventional FPGA, utilizing a holographic memory accessed by an array of VCSELs to program its logic. Combining spatial and shift multiplexing to store the configuration pages in the memory, the OPGA module is very compact and has extremely short configuration time allowing for dynamic reconfiguration. The reconfiguration capability of the OPGA can be applied to solve more efficiently problems in pattern recognition and searches in databases. The silicon hardware used for the OPGA can also be interfaced to a Holographic Disk Database and used for fast searches in the stored data.

Motivation. Initial motivation for the OPGA project came from the field of Reconfigurable Computing. Reconfigurable processors make possible to use more efficiently their resources by adjusting themselves depending on the characteristics of the input or on non-satisfactory previous results to better implement the target task. Given an application, like pattern recognition, the reconfigurable processor can be customized to deal with a specific class of objects. It can adapt itself in order to be robust to changes of orientation or illumination of the input object. By reprogramming, the same hardware can be time-multiplexed to carry out sequentially several tasks on the same input, or perform different task to different parts of the same input image. Reconfiguration also possibilities to implement learning by allowing the processor evolve in a controlled manner to learn the function that needs to be computed.


Figure 1. Reconfigurable processor for pattern recognition.

A Field Programmable Gate Array (FPGA) is a device where this idea of reconfigurable hardware can be implemented. FPGAs emerged as a new technology for the implementation of digital logic circuits during mid 80's. The basic architecture of an FPGA consists of a large number of configurable logic elements and a programmable mesh of interconnections. These devices are configured by static RAM (SRAM). The volatility of SRAM-based FPGAs, rather than being a problem, opens a new spectrum of applications because the programming of the device can be changed electrically at almost any point during operation. An important issue to be considered is the FPGA configuration time. Configuration of most of current FPGA's is performed serially shifting a very long bit stream into the device, a process that can take in the range of tens, up to a few hundreds, of milliseconds. An attempt to try to reduce this configuration time consists of implementing a cache memory in the FPGA capable of holding a few extra different configurations. Although the reconfiguration time is fairly reduced, this solution presents some drawbacks like the overhead in area that has to be dedicated to SRAM cells instead of logic elements, and the increase in power dissipation when switching between configurations. To overcome these problems we will use a holographic memory to store FPGA configuration templates and optically reconfigure the device by reading out the appropriate hologram. The main advantages of this approach are the following:

1. Using optics for reconfiguring the FPGA, the configuration template stored as a hologram is read out all at once and loaded in parallel into the chip using an array of detectors. This makes possible to decrease reconfiguration times by several orders of magnitude.

2. A holographic memory can store hundreds of different configurations, which means a two-order of magnitude increase over proposed time-multiplexed FPGA's.

3. Bringing the reconfiguration data storage and control logic off chip, the logic density of the FPGA can be increased.

Research
. Based on this FPGA architecture, the OPGA is a device where the computation is still performed by programmable logic blocks and interconnects as in the conventional FPGA, but where the reconfiguration is brought into the chip optically. This optical reconfiguration capability results from interfacing an optical or holographic memory with a Silicon chip where, in addition to the logic resources, an array of photodetectors is incorporated. The holographic memory can store a large number of configuration templates that can be transferred down to the logic in the FPGA chip in a page-oriented mode.


Figure 2. Optically Programmable Gate Array.


Figure 3. Optically Addressable Look-Up Table.

The OPGA is basically the integration of three main components or technologies: an addressing mechanism, implemented either by an array of MEMS or an array of VCSELs used to retrieve the templates stored in the memory; the optical memory that contains a large set of configuration contexts; and the VLSI chip that combines CMOS logic and photodetectors.

In its initial implementation, the OPGA module is intended to operate as a Holographic Read-Only Memory (HROM), where a priori and for a given application, the user will decide the library of different configuration templates that need to be stored in the memory. This eliminates all the optics and optoelectronics required to write in the memory, like a spatial light modulator, and makes the OPGA module very compact. The technique used to store the holograms in the memory combines both spatial and shift multiplexing. The reason for such choice is the low power emitted by the VCSELs, which makes necessary to redesign the OPGA module in order to still have short reconfiguration times, in the range of tens of microseconds, but with a not so demanding requirement on the power per VCSEL.

Upon recording, a lens focuses the beam that impinges the SLM down to a small spot on the recording medium. By changing the angle of incidence of the beam on the lens, the signal spot focuses on a different location in the material, which is partially overlapping with the previous ones. The pages of data are recorded in these partially overlapping circles that span a stripe on the optical material. To achieve Bragg mismatch among holograms, a converging reference beam needs to be shifted accordingly to illuminate the corresponding signal spot. In the recording setup, a laser diode with enough coherence length can be used instead of the VCSEL array. The beam emitted by the diode is collimated and spited into the signal and reference arm. The signal beam passes through a rotation stage and a 4-F system that changes its angle before it illuminates the SLM. The reference beam is focused by a lens mounted on a mechanical scanner used to translate the beam beyond the shift-selectivity of the optical medium.



Figure 4. OPGA recorder.

Figure 5. OPGA reader.

During readout, the system becomes very compact because of two reasons. First, we use reflection geometry for recording, so upon readout the reading beam from the VCSEL and the array of photodetectors are both located on the same side of the material. Secondly, phase-conjugate readout makes unnecessary the use of any extra component. Placing the VCSEL array at the plane where the converging reference beams used for recording focus, each VCSEL illuminates one of the spots in the memory and all the reconstructed images back-propagate to the plane of the SLM where the photodetector array is upon readout.

As benefit from this architecture, we obtain an important increase in the diffraction efficiency per hologram, which now scales not as the total number of stored holograms but the number of overlapping ones at any location. So, for a system dealing with 100 configuration pages, 320 microwatts per VCSEL would be enough to reconfigure in just 20 microseconds. Another advantage of this architecture is that the total area used on the recording medium is small. If the lens that focuses the signal beam has a focal length of 10mm, the signal spot size on the material is just 2.7mm in diameter and 100 holograms can be stored on a stripe 2.7mm wide by 16mm long. Given the small dimensions of the area where the pages are recorded, the holograms are much less sensitive to any non-uniformity on the medium and, consequently, the quality of the reconstructed images is better.


Achievements. At this point we have obtained results both in the design and characterization of individual components, as well as their integration. Regarding addressing devices arrays of VCSELs provided by Honeywell have been tested and characterized to verify if this type of laser diodes is suitable for holographic recording. These VCSELs lasing in the red region of the spectrum around 680nm. In our system, the VCSELs need to operate in single mode in order to have uniform reconstruction of the holograms and to guarantee low reconfiguration times the output power should be at least 0.5mW per element. Another important requirement is the wavelength uniformity across the entire array, which should be within 0.05% uniformity.



Figure 6. VCSEL array.



Figure 7. Wavelength.

The last generation of VCSELs, rows of 25 elements, comply with the above mentioned wavelength and power specifications and they have been mounted together with multiplexors in a single package.

MEMS micromirror arrays have been investigated as an alternative addressing device. We have been able to record multiplexed holograms using such an array, and its use could potentially remedy several of the VCSELs limitations.



Figure 8. Hologram Multiplexing using MEMS.

Another important issue is to consider which optical medium is the best match for the OPGA system. A number of holographic materials have been investigated, like Du Pont photopolymer, LiNbO3:Fe crystals, and PVA-Mb films among others. Aprilis material has been characterized and selected for this project due to its excellent properties. This material presents large dynamic range, very low shrinkage and high optical quality.



Figure 9. Multiplexing experiment in Aprilis.



Figure 10. Image plane hologram in Aprilis.

As far as the OPGA chip is concerned, three generations of chips have been designed and fabricated in collaboration with Photobit. The OPGA chip integrates both an array of active pixel sensors (APS) to detect the hologram and the customizable logic in the form of look-up tables and interconnection matrices. In order to be more robust in front of the intensity non-uniformity inherent to the hologram differential detectors are used. In this coding scheme, each configuration bit corresponds to a pair of pixels in the hologram.



Figure 11. Full OPGA chip.



Figure 12. Customizable logic.

The logic in the OPGA chip can be programmed either electronically, as in a conventional FPGA, or optically by using the APS array. As a preliminary step, the chip was interfaced and pixel-matched to a spatial light modulator that can project different pattern onto the APS array. This patterns are used to test the APS array and to program in a number of different ways the on-chip logic. In a separate experiment the response of the chip vs. different light intensities was measured.

A simple demonstrator helps us to show that it is possible to build a compact OPGA module. For this demo, a 1x5 VCSEL array has been used to readout two holograms that had been stored in the optical memory, in this case a 100-micron thick layer of Du Pont photopolymer. Instead of the OPGA chip, a simple CCD camera has been used to display on a monitor the different pages of data. The module is mounted on a board contain the driver for the VCSELs and some circuitry to determine the sequence of activation of the VCSELs in the array. The whole system can be powered with 9-volt batteries.

Figure 13. OPGA module.

Figure 14. OPGA board.

During recording, a laser diode is used. The VCSEL array is pulled off the model and the laser beam of the diode is positioned to record the two holograms in the optical medium. Once the recording is finished the VCSEL array is inserted back into the model and the module is ready to operate.

Finally the OPGA chip was interfaced to a holographic memory and different configurations were successfully programmed onto the chip. This last experiment demonstrates the feasibility of transferring information in parallel from a holographic database to a silicon chip.

Figure 15. Holographic memory to chip interface.




Figure 16. Hologram of pattern used for programming.



Figure 17. Oscilloscope trace of programmed chip.

Related Links. Another important area of research is to develop applications that can benefit from the unique properties of the OPGA. Such applications can now make use not only of the reconfigurability of the hardware but also of fast reconfiguration time.

One field where FPGAs have been successfully used is image processing and feature detection. By using the OPGA we could carry out much more complex real-time video processing. Further information on this application can be found in Real-Time Optical Flow Computation on a Reconfigurable Computer.

An example of how reconfigurable computers can more efficiently solve a given task is found in Divide and Conquer Strategy for Recognition, where the example of digit classification using neural networks is used to illustrate this point.

Publications/References

Optically Reconfigurable Processors. J. Mumbru, G. Zhou, S. Ay, X. An, G. Panotopoulos, F. Mok, and D. Psaltis. SPIE Critical Review 1999 Euro-American Workshop on Optoelectronic Information Processing, Vol. 74, pp. 265-288, Colmar, France, June 1999.

Optical memory for computing and information processing. J. Mumbru, G. Zhou, X. An, W. Liu, G. Panotopoulos, F. Mok, and D. Psaltis. Proc. SPIE on Algorithms, Devices, and Systems for Optical Information Processing III, Vol. 3804, p. 14-24, October 1999.

Optically Programmable Gate Array. J. Mumbru, G. Panotopoulos, D. Psaltis, X. An, F. Mok, S. Ay, S. Barna, E. Fossum. Proc. SPIE of Optics in Computing 2000, Vol. 4089, p. 763-771, May 2000.



top