  Energy harvesting is an attractive way to power future IoT devices since it
can eliminate the need for battery or power cables. However, harvested energy
is intrinsically unstable. While FPGAs have been widely adopted in various
embedded systems, it is hard to survive unstable power since all the memory
components in FPGA are based on volatile SRAMs. The emerging non-volatile
memory based FPGAs provide promising potentials to keep configuration data on
the chip during power outages. Few works have considered implementing efficient
runtime intermediate data checkpoint on non-volatile FPGAs. To realize
accumulative computation under intermittent power on FPGA, this paper proposes
a low-cost design framework, Data-Flow-Tracking FPGA (DFT-FPGA), which utilizes
binary counters to track intermediate data flow. Instead of keeping all on-chip
intermediate data, DFT-FPGA only targets on necessary data that is labeled by
off-line analysis and identified by an online tracking system. The evaluation
shows that compared with state-of-the-art techniques, DFT-FPGA can realize
accumulative computing with less off-line workload and significantly reduce
online roll-back time and resource utilization.
