CS-724 / 2 crédits
Remark: Next time: To be confirmed
Logic synthesis describes techniques to map complex functionality into a sequence of a few, simple, and small logic primitives. It finds application dominantly in digital design, but is most recently also frequently used in cryptography and quantum computing.
The course is structured into two major parts. In the first part, the course will present fundamental advanced logic synthesis algorithms such as cut enumeration, Boolean resynthesis, standard cell mapping, and LUT mapping. It will also present more recent techniques such as exact synthesis and majority-based logic synthesis.
The second part discusses quantum compilation, which is the automatic translation of quantum algorithms into quantum circuits that can run on physical quantum computers. After an introduction into quantum algorithms, quantum circuits, and quantum gates, the course will present automatic compilation techniques based on the logic synthesis techniques described in the first part. The whole compilation flow is illustrated, and the course will present how the resulting circuits can be run on currently available physical quantum computers.
Logic synthesis, optimization, algorithms, SAT solving, efficient data structures, quantum computing, quantum compilation
No specific course requirement.
CS 472 (helps, but not mandatory, the course is self-contained)
Important concepts to start the course
Knowledge of algorithm design and programming.
By the end of the course, the student must be able to:
- Optimize logic networks
- Integrate incremental SAT solving into efficient algorithms
- Implement a program on a quantum computer and optimise it
- Plan and carry out activities in a way which makes optimal use of available time and other resources.
Oral exam: 60%
Isaac Chuang and Michael Nielsen: Quantum Computation and Quantum Information
Ressources en bibliothèque
Dans les plans d'études
- Forme de l'examen: Rapport de TP (session libre)
- Matière examinée: Advanced logic synthesis and quantum computing
- Cours: 20 Heure(s)
- Exercices: 8 Heure(s)