EE658 - Diagnosis and Design of Reliable Digital Systems

Bonus Projects



Different projects have different loads, therefore they have different bonus weights. Moreover, it is possible that there are unseen obstacles to complete a project and that is why we defined a range for possible bonus points to make sure your effort is fairly evaluated. Here is the submission link to select your candid projects.
* Special thanks to Zhi-Lio Hurt for advising on the project descriptions.

[1] ISCAS85/89 Benchmarks

Requires: Reading and researching online, Verilog simulation, maybe a bit of C++ or Python

[2] Verilog Matching Module

The module is explained below:
Requires: Preferably Python, understanding Verilog simulation

[3] ISCAS85 Circuits’ Description

These 11 circuits were introduced a long time ago (ISCAS85, so in the ISCAS conference of 1985). Each circuit represents a meaningful and well-known design, such as ALU, controller, adder, and multiplier. There are several items associated with each circuit, and almost all of them are available online.
Your job will be creating a report from two of these circuits, making sure all items match each other (for example, their pin assignment should match). In case there are some missing items in each design, we can generate it ourselves.
Requires: Reading and researching online, Verilog simulation, maybe a bit of C++ or Python

[4] 74X-series Benchmark

This benchmark suite has only 4 circuits:
For this project you need to:
  • Provide a description of the circuit benchmark.
  • Provide a description from each circuit, including its functionality.
  • A report of available formats (ISC, SELF, VERILOG, BENCH), and generating missing formats with available translators. We already have a circuit format translator available.
  • Drawing the top-level schematic of designs (using automatic tools)
  • Requires: Reading and researching online, Verilog, maybe a bit of C++ or Python

    [5] LGSynth Benchmark

    Similar to ISCAS85/89

    [6] Netlist Translator

    There is an existing in-house Python module that can parse and translate Verilog, ISCAS, and SELF formats to each other. In this project we would like to extend this module to other formats, e.g. BLIF and BENCH.
    Requires: Python
    Verilog matching module

    [7] PPSF and Fault Detection Probability [Extra Bonus]

    In this project you will develop a new fault simulation technique in your simulator which is based on the parallel pattern and single fault (PPSF) scenario. The results of PPSF will then be used (i.e. a few simple formulas) to assign a value to each fault in the circuit representing the difficulty of detecting the fault when using random test patterns. The implementation of this algorithm can also help you with the final version of your simulator.
    Requires: C++


    by: Mohammad Saeed Abrishami