The members of the Digital Systems Design Group have many areas of research interest. Follow the Publications link to access the online papers.
Design for testability techniques aim at simplifying testing of a circuit by
modifying its original design to improve controllability and observability
of its internal signals. Various techniques like scan design, boundary-scan,
LSSD latches and others exist which are applied at chip, board or at system
level. While the topic sounds hardware oriented, the research field is rich
in algorithms, discrete math, simulation and links to software development
in computer aided tools, while maintaining a direct mapping to applications.
In our group, we are particularly interested in Built-In Self-Test (BIST)
techniques. Such techniques require that a portion of a circuit is
specifically designed to implement the generation of input test patterns and
check the correctness of the circuit reponses to them, such that a
manufactured chip can test itself in the field, possibly even during normal
operation (online/concurrent testing). We are studying algorithms for test
pattern generation circuits, signature analysis and fault coverage analysis,
with emphasis on the generation of pseudo-random patterns for inputs
stimulation.
According to De Micheli (from Hardware/Sofware
Co-design: Application Domains and Design Technologies),
"Hardware/software codesign
means meeting system-level objectives by exploiting the
synergism of hardware and software through their concurrent
design."
We believe this is an expanding area, with its main focus in embedded system
design, as the boundaries between hardware and software are continually
shifting. Research areas are in partitioning, co-synthesis and
co-simulation.
Decision Diagrams are a way to represent boolean (and
non-boolean) functions. This area includes research on
Binary Decision Diagrams (BDDs), Arithmetic Decision
Diagrams (ADDs), and Multi-valued Decision Diagrams (MDDs)
amongst others.BDDs are one of the most powerful data structure used
in synthesis and mapping in computer aided algorithms mostly for hardware
design.
Multiple-valued logic refers to logic functions in which the
inputs and outputs are not constrained to only take on two values,
as they are in Boolean logic. You would be surprised of how much
non binary logic is used in practice, both in software and
hardware.
Field Programmable Gate Arrays (FPGAs) are an extremely
good alternative to full custom design of integrated circuits,
as they provide the speed improvement of hardware and the programmability
of software. New boards with PCI bus interfaces can be inserted in
an ordinary desktop Wintel machine and reconfigured dynamically
(configware) to load the FPGA into a desired configuration, be
it a graphic coprocessor or an accellerator for data compression.
We are researching the design and implementation of a full
Java Virtual Machine on a FPGA-based board, internal to a general
PC and reconfigurable as necessary.
In circuit testing, an alternative to determistic test pattern generation is
using Pseudo Random Patterns Generators (PRPGs) to stimulate the
circuits and provide fault coverage. LFSRs (Linear Feedback Shift
Registers) and CAs (Cellular Automata) have been proven as excellent
and inexpensive generators (see our research on CA as well). Providing
"good" PRPGs is a difficult task and the research uses experimental
testbenches with both fault simulation and a mixture of classical
"randomness" tests to grade the effectiveness of a particular PRPG.
The new area is to construct more complex, yet hopefully more effective,
non linear generators, built from our previous knowledge and
experience.
Cellular automata are a type of Linear Finite State Machines, LFSMs, defined
as uniform arrays of identical cells in an n-dimensional space, where cells
are restricted to local neighborhood interaction and have no global
communication. Finite CA lend themselves to direct VLSI implementation and
are used as excellent pseudorandom pattern generators for built-in
self-test(BIST) of integrated circuits (ICs).
The area of multimedia as researched in this group is applied to educational
technology tools. We have developed a Virtual Lab tutorial for a Digital
Design course (VLab); a software training package to help cognitive
rehabilitation of patients with traumatic head injuries (Indigo); and a
quantitative training lab for advanced Molecular Biology students (MBVL).