Home Research


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.

articles | tutorial

HW/SW Codesign

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.

articles | tutorial

Decision Diagrams

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.

articles | tutorial

Multiple Valued Logic

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.

articles | tutorial

Distributed Java

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.

articles | tutorial

Pseudo Random Patterns

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.

articles | tutorial

Cellular Automata

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).

articles | tutorial


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).

articles | tutorial