
ECE 598
SV
Formal Hardware/SoC Verification
Course Material
Course Information
Topic Presentation Project Proposals
!!!Announcements!!!
(updated Oct 24)
|
Instructor 260 CSL 217-333-8164 Office hours:Wed 3-5 or by appointment |
10.30-11.50 MW Class
venue 1103 |
Grading
policy
Project: 65%
Presentation on individually assigned topics: 15%
Exams: 15%
Summary of reading material: 5%
Summary
of reading material
There will be reading material assigned before every class (roughly, although it may be 1 per 2 classes). This will typically be a seminal paper that describes the technique to be discussed in class. You will be required to submit a 1 page summary of the paper at the beginning of class. This is to ensure fruitful discussions.
Students will present a summary of the papers assigned to them (2 per student) during a class period and lead the discussion. If you would like to present a topic of your choice, please discuss this with the instructor by Sep 5th. It is in the interest of the class to bring about widespread exposure to diverse domains where verification is practiced. You are encouraged to contribute proactively to this classroom experience.
This is a project intensive course. Projects are intended to be research opportunities. Students are advised to start their projects from the 2nd/3rd week of class. Project topics can be very broad, and are not constrained to be in the hardware domain. Possible projects can include:
There will be a project related link on the website that can be updated online. You are expected to provide regular weekly updates. There will be two project review classes, where students will present their progress. The final project demonstration has to be shown to the instructor before Fall break. There will be a project report due on Dec 10th.
You are highly encouraged to be innovative and creative with the project ideas and aim for a possible conference paper submission.
There is no text book for the course. A comprehensive list of papers will be prescribed. Course notes will be put up for specific topics, but not for every class. Instruction will be on the blackboard, so transcribing notes is highly recommended.
|
Aug 27th |
Introduction to Hardware Verification |
|
Aug 29th |
Property checking: Safety
vs Liveness Automata vs
Logic Model specification:
Kripke structures |
|
Sep 1st |
Labor day. No class. |
|
Sep 3rd |
Temporal logics: CTL and
LTL |
|
Sep 5th |
Reachability analysis Tableau construction |
|
Sep 8th |
Symmetry reductions |
|
Sep 10th |
Partial order reductions BDD based verification |
|
Sep 12th |
Symbolic model checking |
|
Sep 15th |
Boolean satisfiability and
constraint solving |
|
Sep 17th |
SAT based model checking |
|
Sep 19th |
Symbolic simulation |
|
Sep 22nd |
Symbolic Trajectory
Evaluation |
|
Sep 24th |
Compositional verification (Take home) Exam 1 assigned |
|
Sep 26th |
Abstraction based
verification |
|
Sep 29th |
Counterexample guided
abstraction refinement |
|
Oct 1st |
Theorem proving techniques
ACL2 for floating point
verification |
|
Oct 3rd |
Processor verification
using ACL2 |
|
Oct 6th |
Project progress reviews |
|
Oct 10th |
Combinational equivalence
checking |
|
Oct 13th |
Sequential equivalence
checking using SAT and BDDs |
|
Oct 15th |
Bisimulation, simulation
relations |
|
Oct 17th |
Hoare logic Arithmetic circuit
checking using HOLs |
|
Oct 20th |
High level verification of
hardware RTL symbolic simulation |
|
Oct 22nd |
Case study: Multiplier
verification |
|
Oct 24th |
Case study: Cache
coherence protocol checking (Take home) Exam 2 assigned |
The remaining portion of the schedule depends on the topics picked by students for individual presentations. The updated schedule will be on the website in the week of Sep 8th. In the week of Nov 24th, we may have a couple of guest lectures.
The possible topics for individual presentations include, but are not limited to:
· Probabilistic model checking
· Verification of distributed systems
· Verification of infinite state, hybrid or continuous time systems
· Correctness issues in multiprocessor systems
· Verification of real-time, embedded systems
· Application of formal methods to runtime verification/testing/fault tolerance (ATPG, assertion based checking etc)
Course
summary
Let’s have fun!