  Complementing concurrent checking with online testing is crucial for
preventing fault accumulation in fault-tolerant systems with long mission
times. While implementing a non-intrusive online test is cumbersome in a
synchronous environment, this task becomes even more challenging in
asynchronous designs. The latter receive increasing attention, mainly due to
their elastic timing behaviour; however the issues related with their testing
remain a key obstacle for their wide adoption.
  In this paper we present a novel approach for testing of asynchronous
circuits that leverages the redundancy present in the conventional 4-phase
protocol for implementing a fully transparent and fully concurrent test
procedure. The key idea is to use the protocol's unproductive NULL phase for
processing test vectors, thus effectively interleaving the incoming 4-phase
data stream with a test data stream in a 2-phase fashion. We present
implementation templates for the fundamental building blocks required and give
a proof-of-concept by an example application that also serves as a platform for
evaluating the overheads of our solution which turn out to be moderate.
