Trusted Computing & Emerging Technologies :
The expertise developed through our Test and Reliability research has recently led to the initiation of three new activities, corroborating the applicability of our methods to contemporary problems and emerging technologies. First, we are investigating the applicability of our machine learning-based test methods in identifying hardware Trojan horses and designing trusted integrated circuits. Second, in collaboration with Prof. Mark Reed, we are experimenting with machine learning methods for characterizing fabricated nanodevices and developing robust nanoscale architectures. Finally, along with Prof. T.P. Ma and Prof. Charles Ahn, we are exploring novel reconfigurable architectures and computing modalities using non-volatile ferroelectric memories.
Publications
Other Topics:
In the past, we also found ourselves toying with ideas in computer architecture, test
compaction, and design diagnosis, areas that are related to our interests
but which do not fall within our main research threads.
With
regards to computer architecture, we developed a method for selectively
generating and optimizing the frames constructed by the rePLay architecture
statically. Since static analysis provides a global view of the interaction
between the basic blocks and a bigger aggressive optimization space,
we proposed a method to construct the frames using profiling and static
analysis. Frame selection and optimization are analyzed in the criteria
to produce well-optimized, frequently executed frames with minimum
recovery penalty. In addition, hardware support is reduced to only
perform mis-speculation recovery. Empirical results show frame-optimized
code outperforming baseline code on the SPEC integer benchmarks. Along
a different direction, we
analyzed the effect of faults in branch predictors, a representative
example of speculative processor subsystems, to motivate the necessity
for fault tolerance in such subsystems. We then reviewed the design
of fault tolerant branch predictors using general fault tolerance
technique and we proposed a fault-tolerant implementation that utilizes
the FSM structure of the Pattern History Table (PHT) and the set of
potential faulty states to predict the branch direction, yet without
strictly identifying the correct state. Our solution provides virtually
the same prediction accuracy as general fault tolerant techniques,
while significantly reducing the incurred hardware overhead.
With
regards to test compaction, we demonstrated the formulation of static
compaction of independent test sequences as an Integer Program. Solving
the Linear Program relaxation of this Integer Program provides a lower
bound for the optimal solution, i.e. the minimal set of test sequences.
Subsequently, Randomized Rounding of the optimal point of the Linear
Program is employed to obtain a solution for the Integer Program.
The key advantage of this approach is that it provides a polynomial
time approximation algorithm as well as an indication of proximity
to the optimal solution and, thus, a measure for evaluating compaction
efficiency. As indicated by experimental results, our method is efficiently
identifying nearly optimal solutions.
With
regards to design diagnosis, we developed a design-for-debug method
through hierarchical test paths. Based on debug information inherently
attainable from hierarchical test paths, we outlined a diagnosis algorithm
that identifies the minimal set of faulty module candidates, under
the single faulty module model. We further provided a disambiguation
rule to ensure unfailing identification of the single faulty module.
Low-cost, design-for-debug techniques were subsequently proposed for
establishing the disambiguation rule and for providing a module diagnosis
capability.
Publications