HVI: Hardware Virtual Instrumentation

Blog Post created by jakedaly Employee on Jul 31, 2018


HVI: Time deterministic co-design of real-time software and virtual instrumentation


Anyone who has worked with FPGAs and virtual instrumentation—even the most experienced system architects and integrators—knows that unlocking the power that lies behind each is no easy task. For complex, multilayered measurement systems that employ both FPGA gateware and higher-level software to realize their functionality, getting the two to sing together is a tedious task. One of the key things that has traditionally made this task so challenging is how isolated the design of each is from one another, yet how much the two interact and depend on each other for the system’s efficacy.


Consider a quantum computing (QC) application where we are capturing pulses with a digitizer and need to do some real-time processing in the FPGA of the digitizer to determine the next waveform to be generated by an AWG. There’s a lot going on here—particularly because we are trying to execute some software sequences in tandem with hardware sequences in an FPGA. Not only are we trying to harmonize these two separate worlds, but we need to do so as quickly as we possibly can (ie. with little latency as possible).  


These stringent requirements bring up a lot questions. What’s the quickest way to co-design hardware and software subsystems? How can we be sure that the timing of our VI synchronizes with our FPGA clock system? What’s the best way to store waveforms for playback in the AWG? How do we achieve latency on the scale of nanoseconds?


Hardware Virtual Instrumentation, or HVI, attempts to address many of these quandaries by enabling the co-design of FPGA gateware and surrounding instrument software. This emerging technology resides inside of the FPGA of compatible Keysight instruments and provides hooks from instrument API into the FPGA’s sandbox, offering a multitude of capabilities for those programming either one. A couple of highlights of HVI:


  • Time deterministic execution of software/FPGA sequences, allowing users to rapidly control/program both simultaneously and synchronously
  • IP libraries that will grow alongside application spaces (such as QC)
  • Seamless P2P integration between FPGA, DDR memory, HVI, external PC
  • Seamless synchronization of multi-card and multi-chassis systems
  • Simple GUI for rapid software and FPGA prototyping—and API coming soon!


As Keysight’s HVI technology matures and standardizes, the impact of the technology multiplies because it can be implemented in products (mostly open FPGA products) that would normally not be able to work together like this. Systems where software and hardware are synchronously relying on each other for real-time communication are becoming pervasive, and so too is the demand for a standard and technology which eases the complexities that accompany them!