VLSI CAD Part I: Logic
Ends soon! Keep adding new skills with 10,000+ programs for $239 (usually $399). Save now.
Ask Coursera
557 reviews
557 reviews
Skills you'll gain
Tools you'll learn
Details to know
See how employees at top companies are mastering in-demand skills
There are 6 modules in this course
A modern VLSI chip has a zillion parts -- logic, control, memory, interconnect, etc. How do we design these complex chips? Answer: CAD software tools. Learn how to build thesA modern VLSI chip is a remarkably complex beast: billions of transistors, millions of logic gates deployed for computation and control, big blocks of memory, embedded blocks of pre-designed functions designed by third parties (called “intellectual property” or IP blocks). How do people manage to design these complicated chips? Answer: a sequence of computer aided design (CAD) tools takes an abstract description of the chip, and refines it step-wise to a final design. This class focuses on the major design tools used in the creation of an Application Specific Integrated Circuit (ASIC) or System on Chip (SoC) design. Our focus in this first part of the course is on key Boolean logic representations that make it possible to synthesize, and to verify, the gate-level logic in these designs. This is the first step of the design chain, as we move from logic to layout. Our goal is for students to understand how the tools themselves work, at the level of their fundamental algorithms and data structures. Topics covered will include: Computational Boolean algebra, logic verification, and logic synthesis (2-level and multi-level).
Recommended Background Programming experience (C, C++, Java, Python, etc.) and basic knowledge of data structures and algorithms (especially recursive algorithms). An understanding of basic digital design: Boolean algebra, Kmaps, gates and flip flops, finite state machine design. Linear algebra and calculus at the level of a junior or senior in engineering. Exposure to basic VLSI at an undergraduate level is nice -- but it’s not necessary. We will keep the course self-contained, but students with some VLSI will be able to skip some background material.e tools in this class.
In this module you will become familiar with the course and our learning environment. The orientation will also help you obtain the technical skills required for the course.
What's included
1 video2 readings1 assignment4 programming assignments1 plugin
1 video•Total 25 minutes
- Welcome and Introduction•25 minutes
2 readings•Total 15 minutes
- Syllabus•10 minutes
- Tools For This Course•5 minutes
1 assignment•Total 5 minutes
- Demographics Survey•5 minutes
4 programming assignments•Total 40 minutes
- KBDD•10 minutes
- MiniSat•10 minutes
- Espresso•10 minutes
- SIS•10 minutes
1 plugin•Total 15 minutes
- Welcome! Please tell us about yourself.•15 minutes
In this module, we will introduce advanced Boolean algebra math concepts that make it possible to take a "computational" approach to Boolean algebra.
What's included
6 videos2 readings
6 videos•Total 91 minutes
- Computational Boolean Algebra: Basics•15 minutes
- Computational Boolean Algebra: Boolean Difference•16 minutes
- Computational Boolean Algebra: Quantification Operators•13 minutes
- Computational Boolean Algebra: Application to Logic Network Repair•16 minutes
- Computational Boolean Algebra: Recursive Tautology•10 minutes
- Computational Boolean Algebra: Recursive Tautology—URP Implementation•21 minutes
2 readings•Total 20 minutes
- Week 1 Overview•10 minutes
- Week 1 Assignments•10 minutes
Week 2 introduces two powerful and important representation techniques that allow us to do SERIOUS computational Boolean algebra, on industrial-scale designs.
What's included
7 videos2 readings1 assignment1 programming assignment
7 videos•Total 135 minutes
- BDD Basics, Part 1•15 minutes
- BDD Basics, Part 2•17 minutes
- BDD Sharing•17 minutes
- BDD Ordering•28 minutes
- Satisfiability (SAT), Part 1•14 minutes
- Boolean Constraint Propagation (BCP) for SAT•18 minutes
- Using SAT for Logic•26 minutes
2 readings•Total 20 minutes
- Week 2 Overview•10 minutes
- Week 2 Assignments•10 minutes
1 assignment•Total 60 minutes
- Problem Set #1•60 minutes
1 programming assignment•Total 180 minutes
- Programming Assignment #1: Unate Recursive Complement•180 minutes
In Week 3, we will move from "representing" things to "synthesizing" things. In this case, synthesis means "optimization", or maybe the word "minimization" is more familiar from hand work with Kmaps or Boolean algebra.
What's included
8 videos2 readings1 assignment
8 videos•Total 119 minutes
- 2-Level Logic: Basics•9 minutes
- 2-Level Logic: The Reduce-Expand-Irredundant Optimization Loop•13 minutes
- 2-Level Logic: Details for One Step: Expand•21 minutes
- Multilevel Logic and the Boolean Network Model•14 minutes
- Multilevel Logic: Algebraic Model for Factoring•14 minutes
- Multilevel Logic: Algebraic Division•14 minutes
- Multilevel Logic: Role of Kernels and Co-Kernels in Factoring•15 minutes
- Multilevel Logic: Finding the Kernels•18 minutes
2 readings•Total 20 minutes
- Week 3 Overview•10 minutes
- Week 3 Assignments•10 minutes
1 assignment•Total 60 minutes
- Problem Set #2•60 minutes
You now know that to factor a multi-level network to reduce its complexity, you must look at the kernels and co-kernels. You know how to "get" these for any node. But -- what do you do with a big network to actually FIND the right common divisors? This is called EXTRACTION. We then look at a new opportunity to optimize multi-level logic: Don't Cares. In simple designs, we usually regard Don't Cares as "impossible inputs" -- things that just do not happen, so we can choose the value the hardware creates to minimize the logic.
What's included
8 videos2 readings2 assignments1 programming assignment
8 videos•Total 123 minutes
- Mulitlevel Logic and Divisor Extraction—Single Cube Case•14 minutes
- Mulitlevel Logic and Divisor Extraction—Multiple Cube Case•21 minutes
- Multilevel Logic and Divisor Extraction—Finding Prime Rectangles & Summary•11 minutes
- Multilevel Logic—Implicit Don't Cares, Part 1•18 minutes
- Multilevel Logic—Implicit Don't Cares, Part 2•11 minutes
- Multilevel Logic—Satisfiability Don't Cares•11 minutes
- Multilevel Logic—Controllability Don't Cares•20 minutes
- Multilevel Logic—Observability Don't Cares•17 minutes
2 readings•Total 20 minutes
- Week 4 Overview•10 minutes
- Week 4 Assignments•10 minutes
2 assignments•Total 75 minutes
- Problem Set #3•60 minutes
- Auxiliary Quiz of Serious BDDs•15 minutes
1 programming assignment•Total 180 minutes
- Programming Assignment #2: Serious BDDs•180 minutes
There is no new content this week. Instead, you should focus on finishing the last problem set and completing the Final Exam.
What's included
3 assignments1 plugin
3 assignments•Total 185 minutes
- Problem Set #4•60 minutes
- Final Exam•120 minutes
- End of Course Survey•5 minutes
1 plugin•Total 15 minutes
- How was the course?•15 minutes
Instructor
Explore more from Algorithms
- Status: PreviewU
University of Illinois Urbana-Champaign
Course
- Status: Free Trial
Course
- Status: Free Trial
Specialization
- Status: PreviewU
Universitat Autònoma de Barcelona
Course
Why people choose Coursera for their career
Learner reviews
- 5 stars
73.96%
- 4 stars
20.82%
- 3 stars
2.87%
- 2 stars
0.89%
- 1 star
1.43%
Showing 3 of 557
Reviewed on Jun 6, 2020
It's an amazing course. Those who have ideas about boolean logic will be very much satisfied with the course.
Reviewed on Jul 15, 2020
Excellent course in VLSI tools design, that covers most of the basic algorithms and basic idea of tools.
Reviewed on Sep 3, 2020
One of the best courses that I have come across in the Coursera platform which is very interesting, I'm very glad that I took this course which leads to exploring some concepts of VLSI.
Frequently asked questions
To access the course materials, assignments and to earn a Certificate, you will need to purchase the Certificate experience when you enroll in a course. You can try a Free Trial instead, or apply for Financial Aid. The course may offer 'Full Course, No Certificate' instead. This option lets you see all course materials, submit required assessments, and get a final grade. This also means that you will not be able to purchase a Certificate experience.
When you purchase a Certificate you get access to all course materials, including graded assignments. Upon completing the course, your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile.
Yes. In select learning programs, you can apply for financial aid or a scholarship if you can’t afford the enrollment fee. If fin aid or scholarship is available for your learning program selection, you’ll find a link to apply on the description page.
More questions
Financial aid available,
