How remouldable computer hardware is accelerating science


Michael Reiser is, as he puts it, “a timing fanatic”. A neuroscientist at the Janelia Research Campus of the Howard Hughes Medical Institute in Ashburn, Virginia, Reiser studies the vision of flies. Some of his experiments involve placing flies in an immersive virtual reality arena and redrawing the scene seamlessly while following the reaction of the bugs. Modern PCs, with their complex operating systems and multitasking central processing units (CPUs), cannot guarantee the required timing accuracy. So Reiser, working with engineers from Sciotex, a tech company in Newtown Square, Pa., Found a piece of hardware capable of doing just that: an FPGA.

An FPGA, or field programmable gate network, is essentially “electronic sludge,” explains Bruno Levy, computer scientist and director of the Inria Nancy Grand-Est research center in Villers-lès-Nancy, France. It is a collection of hundreds, if not millions of unconfigured logic elements on a silicon chip that, like clay, can be ‘molded’ – and even remolded – to speed up applications ranging from from genomic alignment to image processing to deep learning.

Suppose a researcher needs to quickly process data broadcast by a camera into 1000-bit chunks. Most modern processors have 64-bit processors and should break the problem down into smaller chunks. But it is possible to configure an FPGA to do this calculation in a single step, explains Sylvain Lefebvre, IT specialist at Inria Nancy. Even though each FPGA step is slower than its CPU counterpart, “it’s actually a win, you go faster,” he says, because the problem isn’t broken down. FPGAs excel in applications requiring precise timing, critical speed algorithms, or low power consumption, he adds.

Javier Serrano, responsible for electronics design and low-level software at CERN, the European particle physics laboratory near Geneva, Switzerland, and his colleagues used FPGAs, plus White Rabbit – a bespoke extension of the protocol for Ethernet network – to create a system that can capture instabilities in the particle beam of the Large Hadron Collider with nanosecond precision.

At Queens University in Belfast, UK, computer hardware specialist Roger Woods is building a fiber optic camera system that uses FPGAs to process multispectral images of coronary arteries quickly enough for use during surgery. And at Janelia, lead scientist Chuntao Dan created a closed-loop imaging system that can interpret and respond to the positioning of fly wings as they flap every 5 milliseconds. Microsoft’s Windows operating system introduces sync jitter of up to 30 milliseconds, Dan explains. But using an FPGA, “we did all the analyzes in 145 microseconds,” which means time resolution is never an issue despite the limitations of a conventional computer.

FPGAs are configured using a Hardware Description Language (HDL), such as VHDL or Verilog, with which researchers can implement anything from flashing LEDs to a full processor. Another option is Silica, a language with a C-like syntax that Lefebvre, who developed it, integrated into Verilog. Whatever HDL you use, a synthesis tool translates it into a list of logical elements, and a place and route tool matches them to the physical chip. The resulting bit stream is then sent to the FPGA.

Configuration code, or gateware, as Serrano calls it, is not necessarily difficult to write. But it requires a different mindset than traditional programming, says Olof Kindgren, director and co-founder of the UK-based Free and Open Source Silicon Foundation. While software code is procedural, gateware is descriptive. “You describe how data moves between registers in your design with each clock cycle, which is not what most software developers think,” Kindgren explains. As a result, even computer savvy researchers may want to consult a specialist to get the most out of their designs.

FPGA technology dates back to the mid-1980s, but improvements in design software have made it increasingly accessible. Xilinx (owned by chipmaker AMD) and Altera (owned by chipmaker Intel) dominate the market and both offer development tools and chips of varying complexity and cost. There are also a handful of open source tools, including Yosys (a synthesis tool) and nextpnr (place-and-route), both developed by computer scientist Claire Wolf, chief technology officer at the based software company. Vienna YosysHQ. Lefebvre advises starting with a ready-to-use FPGA board that includes memory and peripherals, such as USB and HDMI ports. The Xilinx PYNQ, which can be programmed using Python, and the open source software iCEBreaker and ULX3S, are good options.

Reiser’s staff at Sciotex used an FPGA from National Instruments, based in Austin, Texas, which they programmed using the company’s LabVIEW graphics coding environment. The hardware, including components for data acquisition, costs around US $ 5,000, says Reiser. But with that, he got his answer: Flies can react to moving objects in their field of vision about twice as fast as humans, he found. Proving that limit required a display his team could refresh ten times faster than the reactions they were probing. “We like timing precision,” says Reiser. “It makes our life easier. “


Comments are closed.