We may earn an affiliate commission when you visit our partners.
Course image
Rob A. Rutenbar

You should complete the VLSI CAD Part I: Logic course before beginning this course.

Read more

You should complete the VLSI CAD Part I: Logic course before beginning this course.

A 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 part of the course is on the key logical and geometric representations that make it possible to map from logic to layout, and in particular, to place, route, and evaluate the timing of large logic networks. 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: technology mapping, timing analysis, and ASIC placement and routing.

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. Elementary knowledge of RC linear circuits (at the level of an introductory physics class).

Enroll now

What's inside

Syllabus

Orientation
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.
Read more
ASIC Placement
In this second part of our course, we will talk about geometry. We will begin with an overview of the ASIC layout process, and discuss the role of technology libraries, tech mapping (a topic we delay until the following week, to let those who want to do the Placer programming assignment have more time), and placement and routing. In this set of lectures, we focus on the placement process itself: you have a million gates from the result of synthesis and map, so, where do they go? This process is called “placement”, and we describe an iterative method, and a mathematical optimization method, that can each do very large placement tasks.
Technology Mapping
Technology Mapping! We omitted one critical step between logic and layout, the process of translating the output of synthesis -- which is NOT real gates in your technology library -- into real logic gates. The Tech Mapper performs this important step, and it is a surprisingly elegant algorithm involving recursive covering of a tree. Another place where knowing some practical computer science comes to the rescue in VLSI CAD.
ASIC Routing
Routing! You put a few million gates on the surface of the chip in some sensible way. What's next? Create the wires to connect them. We focus on Maze Routing, which is a classical and powerful technique with the virtue that one can "add" much sophisticated functionality on top of a rather simple core algorithm. This is also the topic for final (optional) programming assignment. Yes, if you choose, you get to route pieces of the industrial benchmarks we had you place in the placer software assignment.
Timing Analysis
You synthesized it. You mapped it. You placed it. You routed it. Now what? HOW FAST DOES IT GO? Oh, we need some new models, to talk about how TIMING works. Delay through logic gates and big networks of gates. New numbers to understand: ATs, RATs, SLACKS, etc. And some electrical details (minimal) to figure out how delays happen through the physical geometry of physical routed wires. All together this is the stuff of Static Timing Analysis (STA), which is a huge and important final "sign off" step in real ASIC design.
Final Exam
There is no new content this week. Instead, you should focus on finishing the last problem set and completing the Final Exam.

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Covers technology mapping, timing analysis, and ASIC placement and routing, which are core skills for VLSI design engineers
Taught by instructors with experience in the VLSI CAD field
Requires completion of the VLSI CAD Part I: Logic course, indicating it builds on a foundation in digital design

Save this course

Save VLSI CAD Part II: Layout to your list so you can find it easily later:
Save

Reviews summary

Advanced vlsi cad course

Learners say this engaging and well structured course covers the fundamentals of VLSI CAD needed for the EDA industry. The instructor is knowledgeable, enthusiastic, and effective in their teaching. The assignments are challenging, the quizzes are good, and the study materials are well designed. Overall, this is an excellent course for those looking to learn about VLSI CAD.
Good for EDA Industry
"This course is good for anyone who wants himself in the EDA industry."
"The teacher is very passionate and engaging, the content is thorough and well prepared."
"Great teaching material, Challenging assignments to test our knowledge, goo quizzes and an amazing learning experience overall."
Well Structured and Organized
"Very well structured and thoughtfully and intelligently explained."
"The video lectures, study materials, etc. everything has been expertly designed and the instructor makes it super easy to understand the basics of even seemingly difficult and complex topics. Hats off !!"
"It delivers what it promises in a structured and concise manner which makes the whole experience fast and effective."
Challenging and Helpful
"Nicely explained and well structured course and the best part of the course is the way of teaching and assignment ..Keep learning and keep growing.."
"Great teaching material, Challenging assignments to test our knowledge, goo quizzes and an amazing learning experience overall."
"The assignments were good to review our knowledge."
Knowledgeable and Engaging
"This course is good for anyone who wants himself in the EDA industry. The teacher is very passionate and engaging, the content is thorough and well prepared."
"The professor is very enthusiastic, fluent, concise, and effective in his explanation."
"Loved it. Very effective teaching."
Focus on Algorithms
"Title should be "Algorithms for layout and timing in VLSI CAD". This course contains nothing that teaches you VLSI design or actual use of modern EDA tools."
"It does present an interesting and clear explanation of basic algorithms, so if that is what you are looking for (either because you want to create such tools, or you like to know what is happening inside them) this is a recommended course, but if you are looking for how to work with VLSI CAD tools, this is not it."
"More interesting then the logic ,exam is very tedious! Still wish a vlsi series was less emphasis on software algorithms."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in VLSI CAD Part II: Layout with these activities:
Practice Designing Digital Circuits
Start by practicing designing simple digital logic circuits using AND, OR, and NOT gates and expand to more advanced designs as you gain confidence.
Show steps
  • Design and simulate simple logic circuits using a circuit simulation tool
  • Analyze and troubleshoot circuit behavior using timing diagrams and truth tables
Follow Online Tutorials on Verilog
Explore online tutorials to gain familiarity with Verilog, a hardware description language commonly used to model digital circuits.
Browse courses on Verilog
Show steps
  • Find reputable online resources and tutorials
  • Follow along with tutorials to write Verilog code for simple logic circuits
  • Simulate the Verilog code to verify its functionality
Participate in Study Groups
Join or create study groups with peers to discuss course concepts, solve problems together, and reinforce your understanding.
Browse courses on Collaboration
Show steps
  • Identify or form a group of students with complementary skills and interests
  • Establish regular meeting times and a study schedule
  • Take turns presenting concepts, solving problems, and leading discussions
Four other activities
Expand to see all activities and additional details
Show all seven activities
Solve VLSI Placement Problems
Challenge yourself by solving problems related to VLSI placement, which involves optimizing the arrangement of logic gates on a chip.
Browse courses on Layout
Show steps
  • Study different VLSI placement algorithms and techniques
  • Practice solving placement problems using analytical or software tools
  • Compare different placement solutions and analyze their effectiveness
Design a VLSI Chip Layout
Apply your knowledge to design and implement a layout for a VLSI chip, considering factors such as area, performance, and power consumption.
Browse courses on Physical Design
Show steps
  • Choose a specific VLSI chip design project
  • Develop a floorplan and interconnect strategy
  • Create a layout using appropriate design tools
  • Simulate and verify the layout to ensure its functionality
Contribute to Open Source VLSI Projects
Gain practical experience and make valuable contributions to the VLSI community by participating in open-source projects.
Browse courses on Open Source
Show steps
  • Identify open-source VLSI projects that align with your interests and skills
  • Study the project's codebase and documentation
  • Suggest improvements or propose new features
  • Collaborate with other contributors to implement your ideas
Seek Guidance from VLSI Professionals
Connect with experienced VLSI engineers or researchers to gain insights, ask questions, and receive guidance on your學習 journey.
Browse courses on Mentorship
Show steps
  • Attend industry events or online forums to meet professionals in the field
  • Reach out to alumni or individuals in your network for introductions

Career center

Learners who complete VLSI CAD Part II: Layout will develop knowledge and skills that may be useful to these careers:
ASIC Designer
An ASIC Designer is responsible for designing complex integrated circuits, known as application specific integrated circuits. These circuits are used in a wide range of electronic devices, from smartphones to medical equipment. To be successful in this role, you need a strong understanding of VLSI CAD tools, including placement and routing algorithms. This course provides a comprehensive overview of these tools, making it an ideal choice for aspiring ASIC Designers.
Layout Engineer
A Layout Engineer is responsible for creating the physical layout of an integrated circuit. This involves placing and routing the components of the circuit on a silicon wafer. To be successful in this role, you need a strong understanding of VLSI CAD tools, including placement and routing algorithms. This course provides a comprehensive overview of these tools, making it an ideal choice for aspiring Layout Engineers.
Physical Design Engineer
A Physical Design Engineer is responsible for the physical design of integrated circuits. This involves creating the layout of the circuit, as well as verifying that the layout meets the electrical and performance requirements. To be successful in this role, you need a strong understanding of VLSI CAD tools, including placement and routing algorithms. This course provides a comprehensive overview of these tools, making it an ideal choice for aspiring Physical Design Engineers.
Verification Engineer
A Verification Engineer is responsible for verifying that an integrated circuit meets its functional and performance requirements. This involves creating test cases and simulating the circuit to identify any errors. To be successful in this role, you need a strong understanding of VLSI CAD tools, including simulation and debugging tools. This course provides a comprehensive overview of these tools, making it an ideal choice for aspiring Verification Engineers.
CAD Engineer
A CAD Engineer is responsible for developing and using computer-aided design (CAD) tools. These tools are used to create and modify designs for a wide range of products, including integrated circuits, mechanical parts, and buildings. To be successful in this role, you need a strong understanding of CAD principles and algorithms. This course provides a comprehensive overview of these principles and algorithms, making it an ideal choice for aspiring CAD Engineers.
Electronics Engineer
An Electronics Engineer is responsible for designing, developing, and testing electronic circuits. These circuits are used in a wide range of applications, including computers, smartphones, and medical devices. To be successful in this role, you need a strong understanding of electrical engineering principles. This course provides a foundation in these principles, making it an ideal choice for aspiring Electronics Engineers.
Computer Engineer
A Computer Engineer is responsible for designing, developing, and testing computer systems. These systems are used in a wide range of applications, including personal computers, servers, and embedded systems. To be successful in this role, you need a strong understanding of computer science principles. This course provides a foundation in these principles, making it an ideal choice for aspiring Computer Engineers.
Software Engineer
A Software Engineer is responsible for designing, developing, and testing software applications. These applications are used in a wide range of devices, including computers, smartphones, and embedded systems. To be successful in this role, you need a strong understanding of software development principles. This course provides a foundation in these principles, making it an ideal choice for aspiring Software Engineers.
Artificial Intelligence Engineer
An Artificial Intelligence Engineer is responsible for developing and deploying artificial intelligence (AI) systems. These systems are used to perform a wide range of tasks, including natural language processing, image recognition, and speech recognition. To be successful in this role, you need a strong understanding of AI principles. This course may be helpful for aspiring Artificial Intelligence Engineers, as it provides a foundation in data analysis and interpretation.
Data Scientist
A Data Scientist is responsible for collecting, analyzing, and interpreting data. This data is used to make informed decisions about a wide range of topics, including business strategy, product development, and customer service. To be successful in this role, you need a strong understanding of data science principles. This course may be helpful for aspiring Data Scientists, as it provides a foundation in data analysis and interpretation.
Machine Learning Engineer
A Machine Learning Engineer is responsible for developing and deploying machine learning models. These models are used to make predictions about a wide range of topics, including customer behavior, product demand, and financial risk. To be successful in this role, you need a strong understanding of machine learning principles. This course may be helpful for aspiring Machine Learning Engineers, as it provides a foundation in data analysis and interpretation.
Product Manager
A Product Manager is responsible for defining, developing, and launching new products. This involves working with engineers, designers, and marketing professionals to bring a product to market. To be successful in this role, you need a strong understanding of product development principles. This course may be helpful for aspiring Product Managers, as it provides a foundation in data analysis and interpretation.
Business Analyst
A Business Analyst is responsible for analyzing business processes and identifying opportunities for improvement. This involves working with business stakeholders to understand their needs and develop solutions to their problems. To be successful in this role, you need a strong understanding of business analysis principles. This course may be helpful for aspiring Business Analysts, as it provides a foundation in data analysis and interpretation.
Marketing Manager
A Marketing Manager is responsible for developing and executing marketing campaigns. This involves working with a team of marketing professionals to create and implement marketing materials, such as brochures, advertisements, and social media posts. To be successful in this role, you need a strong understanding of marketing principles. This course may be helpful for aspiring Marketing Managers, as it provides a foundation in data analysis and interpretation.
Financial Analyst
A Financial Analyst is responsible for analyzing financial data and making recommendations about investments. This involves working with financial data to identify trends and patterns. To be successful in this role, you need a strong understanding of financial analysis principles. This course may be helpful for aspiring Financial Analysts, as it provides a foundation in data analysis and interpretation.

Reading list

We've selected ten books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in VLSI CAD Part II: Layout.
Focuses on placement and routing, two of the most important steps in the VLSI design process. It covers both classic algorithms and modern techniques.
Focuses on timing analysis and optimization for VLSI circuits. It covers both theoretical and practical aspects of timing analysis, as well as optimization techniques.
Explores the challenges and opportunities of System-on-Chip (SoC) design in the era of deep submicron technology.
Provides a comprehensive overview of modern VLSI physical design techniques, from graph partitioning to timing closure. It valuable reference for both researchers and practitioners in the field.
Provides a comprehensive introduction to CMOS VLSI design. It covers topics ranging from device physics to circuit design and layout.
Provides an introduction to mechatronics and measurement systems, which are essential for the design of many VLSI systems.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to VLSI CAD Part II: Layout.
VLSI CAD Part I: Logic
Most relevant
VLSI Chip Design and Simulation with Electric VLSI EDA...
Most relevant
VSD - Clock Tree Synthesis - Part 2
Most relevant
VSD - Static Timing Analysis - I
Most relevant
Fundamentals of Digital Design for VLSI Chip Design
Most relevant
VSD - Clock Tree Synthesis - Part 1
Most relevant
How Computers Work: Demystifying Computation
Most relevant
VSD - Circuit Design & SPICE Simulations - Part 1
Most relevant
Building a RISC-V CPU Core
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser