  Intermittent computing systems operate by relying only on harvested energy
accumulated in their tiny energy reservoirs, typically capacitors. An
intermittent device dies due to a power failure when there is no energy in its
capacitor and boots again when the harvested energy is sufficient to power its
hardware components. Power failures prevent the forward progress of computation
due to the frequent loss of computational state. To remedy this problem,
intermittent computing systems comprise built-in fast non-volatile memories
with high write endurance to store information that persists despite frequent
power failures. However, the lack of design tools makes fast-prototyping these
systems difficult. Even though FPGAs are common platforms for fast prototyping
and behavioral verification of continuously-powered architectures, they do not
target prototyping intermittent computing systems. This article introduces a
new FPGA-based framework, named NORM (Non-volatile memORy eMulator), to emulate
and verify the behavior of any intermittent computing system that exploits fast
non-volatile memories. Our evaluation showed that NORM can be used to emulate
and validate FeRAM-based transiently-powered hardware architectures
successfully.
