فارسی | En


Grad Courses:


  • Methodologies and Algorithms for ESL Design Automation
  • Course Description

    Modern Integrated Circuits (ICs) are enormously complicated, containing many millions of transistors. Design of these ICs needs software assistance at every stage of the process. The tools used for this task are called electronic design automation (EDA). EDA tools span a very wide range, from purely logical tools that implement and verify functionality, to purely physical tools that create the manufacturing data and verify that the design can be manufactured. This course focuses on data structures and algorithms extensively used in EDA tools. At first we have an overview of basic data structures including Lists, Trees and Graphs. Then we continue with algorithms used in high level and logic synthesis. In the next part, the physical design algorithms, i.e., partitioning, floor-planning, placement and routing are discussed in details.

    Topics

    1- Introduction to Basic Data Structures

    2- Canonical form of digital circuit representation

    3- Decision procedures and their applications

    4- High-level synthesis

    5- Logic synthesis and optimization techniques

    6- Datapath optimization techniques (digital signal/image processing)

    7- Physical Design


  • Pre- and Post-silicon Debugging of Digital Systems
  • Course Description

    Today's complex digital systems are difficult to verify. On the other hand, the cost of shipping defective products is often prohibitive. Hence, formal methods for the verification and debug of hardware and software have become very important and the last few years have seen the successful deployment of formal methods in many projects, and the launch of several tools based on them. This course provides a comprehensive introduction to three formal verification techniques, i.e., 1) model checking, 2) equivalence checking and 3) theorem proving. In addition, we will discuss post-silicon debugging techniques to verify and debug advanced microprocessors.

    Topics

    1- Property Description Languages

    2- Symbol Model (Property) Checking

    3- Combinational Equivalence Checking

    4- Sequential Equivalence Checking

    5- Theorem Proving

    6- Advanced Processor Verification

    7- System Level Verification and Debugging


  • Automated Synthesis of Digital Circuits