An equivalency testing system, for formally comparing an RTLM and HLM, is
presented. RTLM and HLM are first converted into DFGs RTLM.sub.DFG and
HLM.sub.DFG. RTLM.sub.DFG and HLM.sub.DFG are then put into timestep form
and are called RTLM.sub.ts and HLM.sub.ts. A test bench CS.sub.ts is
selected that couples RTLM.sub.ts and HLM.sub.ts. The combination of
RTLM.sub.ts[t], HLM.sub.ts[t] and CS.sub.ts[t] can have parts designated
as datapath. Parts designated as datapath can be subject to a form of
equivalence checking that seeks to prove equivalence by a form of
inductive theorem proving. The theorem proving starts from initial
conditions for HLM.sub.ts[t] determined by partial execution of the HLM.
A CS.sub.ts for proving stream-based equivalence is presented. The
CS.sub.ts operates by allowing one DFG to process data as soon as it can,
while not guaranteeing the same for a second DFG. The stream-based
combining structure can be used in with any formal analysis tool.