集成电路设计自动化 讲义 Lect01_Course_Overview
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• In other areas, IoT, big data, cloud computing, the same issue of “complexity” exists.
2015
lHale Waihona Puke cture 1slide 5
Structural Approach
• “Structural thinking” is considered an effective approach to addressing “complexity”.
Write a 2D plotter in C++ (must be C++) Use a graphical toolkit compatible to C++ (like Qt) Will provide reference code (with student assistance)
• Teaching Software Engineering Principles
• In terms of programming, probably the C++ programming language can best serve us “structural thinking”.
• “Structural thinking” means the following abilities:
software skills
• Such skills are indispensible to do PhD research,
• they are also useful for those working in related areas.
2015
lecture 1
slide 11
Programming + Explorations
capability to manage complexity capability to learn cross-disciplinary knowledge capability to go deep ...
• In this semester I choose software engineering to be the main subject.
2015
lecture 1
slide 9
Thoughts on this Course
Math
Computer Science
EDA
IC Fab
Synthesis
Verification
2015
lecture 1
slide 10
Thoughts on this Course
• So EDA is highly multi-disciplinary! • Then where to begin with? • As a course designed for PhD students working on
Apply some of them in your programming exercise Student should learn to decompose a BIG assignment into
smaller tasks Should learn to design structural code
science/6-096-introduction-to-c-january-iap-2011/lecture-notes/
• Lecture 3: Programming environment (Cygwin, etc.) • Lecture 4: Software engineering (A) • Lecture 5: Programming assignment (2D plotter or
2015
lecture 1
slide 6
Tentative Lectures
• Lecture 2: Quick review of C++ programming
will go thru the MIT open course lectures /courses/electrical-engineering-and-computer-
2015
lecture 1
slide 8
In-Class Seminars
• We shall constantly discuss your programming progress in every class !
Students are encouraged to present
• code design details • coding details • difficulty • achievements • possibility to improve (by discussion) • extensions to the current assignment
Lecturing, free discussion C++ programming projects In class seminar
• Teaching assistance will be provided (my own MS students)
2015
lecture 1
slide 3
to formulate a top-level problem to decompose it into components to come up with solutions to components to assemble component-level solutions to develop software that solves the problem
Course Motivation
• EDA is a programming-intensive area • Training new PhD students to have some basic skills
in software and awareness of software engineering • Other skills required for EDA research are
Actions to Take
• Actions:
read recommended papers, discuss in-class, and write programs to implement some algorithms
• So be prepared to do self-study ...
Data analytics, Compressed sensing, etc.
2015
lecture 1
slide 2
Course Info
• Course credit: 2 credits (x 16 = 32 hours) • 3 hrs x 11 weeks (Week 2 ~ 12) • 3 hours / week (Thu) • Lecture time: 14:00 – 16:40 (3 x 45 min) • Room 105 (SoME bldg) • Teaching format:
• 3rd offer in Fall 2015 (this year)
Focus on programming, software engineering, algorithms, and complex software implementation
Using (possibly) a circuit simulator for case study Also explore some recently hot subjects: Machine learning,
Spring 2015
Course History
• 1st offer in Fall 2008
Focused on interconnect modeling 3 students
• 2nd offer in Spring 2013
Focused on system-level synthesis 3 students
• Data analytics – statistical methods • Compressed sensing (has existed for a decade)
Also caught attention of circuit designers
2015
lecture 1
slide 12
EDA, I’m responsible to guide you to enter this area. • But we cannot learn everything in one course. • I think a good start is to learn programming &
PhD Course: ADVANCED TOPICS in DESIGN AUTOMATION (博士课程:集成电路设计自动化专题)
Lecture 1. Course Overview
Prof. Guoyong Shi shiguoyong@ Dept of Micro/Nanoelectronics Shanghai Jiao Tong University
2015
lecture 1
slide 4
The Key to SE
• The key to software engineering is on how to manage “complexity”.
• Nowadays EDA software tools are mostly big and complex.
others) • Lecture 6: Software engineering (B) • Lecture 7: EDA Software (Circuit Simulator case
study)
2015
lecture 1
slide 7
Teaching Method
• Have programming assignments
• Along with programming training in this course, we also explore some recently attractive areas:
• Machine Learning (not new, just rejuvenating)
Assign reading of my own papers published 15 years ago
2015
lecture 1
slide 13
2015
lHale Waihona Puke cture 1slide 5
Structural Approach
• “Structural thinking” is considered an effective approach to addressing “complexity”.
Write a 2D plotter in C++ (must be C++) Use a graphical toolkit compatible to C++ (like Qt) Will provide reference code (with student assistance)
• Teaching Software Engineering Principles
• In terms of programming, probably the C++ programming language can best serve us “structural thinking”.
• “Structural thinking” means the following abilities:
software skills
• Such skills are indispensible to do PhD research,
• they are also useful for those working in related areas.
2015
lecture 1
slide 11
Programming + Explorations
capability to manage complexity capability to learn cross-disciplinary knowledge capability to go deep ...
• In this semester I choose software engineering to be the main subject.
2015
lecture 1
slide 9
Thoughts on this Course
Math
Computer Science
EDA
IC Fab
Synthesis
Verification
2015
lecture 1
slide 10
Thoughts on this Course
• So EDA is highly multi-disciplinary! • Then where to begin with? • As a course designed for PhD students working on
Apply some of them in your programming exercise Student should learn to decompose a BIG assignment into
smaller tasks Should learn to design structural code
science/6-096-introduction-to-c-january-iap-2011/lecture-notes/
• Lecture 3: Programming environment (Cygwin, etc.) • Lecture 4: Software engineering (A) • Lecture 5: Programming assignment (2D plotter or
2015
lecture 1
slide 6
Tentative Lectures
• Lecture 2: Quick review of C++ programming
will go thru the MIT open course lectures /courses/electrical-engineering-and-computer-
2015
lecture 1
slide 8
In-Class Seminars
• We shall constantly discuss your programming progress in every class !
Students are encouraged to present
• code design details • coding details • difficulty • achievements • possibility to improve (by discussion) • extensions to the current assignment
Lecturing, free discussion C++ programming projects In class seminar
• Teaching assistance will be provided (my own MS students)
2015
lecture 1
slide 3
to formulate a top-level problem to decompose it into components to come up with solutions to components to assemble component-level solutions to develop software that solves the problem
Course Motivation
• EDA is a programming-intensive area • Training new PhD students to have some basic skills
in software and awareness of software engineering • Other skills required for EDA research are
Actions to Take
• Actions:
read recommended papers, discuss in-class, and write programs to implement some algorithms
• So be prepared to do self-study ...
Data analytics, Compressed sensing, etc.
2015
lecture 1
slide 2
Course Info
• Course credit: 2 credits (x 16 = 32 hours) • 3 hrs x 11 weeks (Week 2 ~ 12) • 3 hours / week (Thu) • Lecture time: 14:00 – 16:40 (3 x 45 min) • Room 105 (SoME bldg) • Teaching format:
• 3rd offer in Fall 2015 (this year)
Focus on programming, software engineering, algorithms, and complex software implementation
Using (possibly) a circuit simulator for case study Also explore some recently hot subjects: Machine learning,
Spring 2015
Course History
• 1st offer in Fall 2008
Focused on interconnect modeling 3 students
• 2nd offer in Spring 2013
Focused on system-level synthesis 3 students
• Data analytics – statistical methods • Compressed sensing (has existed for a decade)
Also caught attention of circuit designers
2015
lecture 1
slide 12
EDA, I’m responsible to guide you to enter this area. • But we cannot learn everything in one course. • I think a good start is to learn programming &
PhD Course: ADVANCED TOPICS in DESIGN AUTOMATION (博士课程:集成电路设计自动化专题)
Lecture 1. Course Overview
Prof. Guoyong Shi shiguoyong@ Dept of Micro/Nanoelectronics Shanghai Jiao Tong University
2015
lecture 1
slide 4
The Key to SE
• The key to software engineering is on how to manage “complexity”.
• Nowadays EDA software tools are mostly big and complex.
others) • Lecture 6: Software engineering (B) • Lecture 7: EDA Software (Circuit Simulator case
study)
2015
lecture 1
slide 7
Teaching Method
• Have programming assignments
• Along with programming training in this course, we also explore some recently attractive areas:
• Machine Learning (not new, just rejuvenating)
Assign reading of my own papers published 15 years ago
2015
lecture 1
slide 13