7
inst.eecs.berkeley.edu/~eecs151 Bora Nikoliü EECS151 : Introduction to Digital Design and ICs Lecture 1 – Introduction Mondays and Wednesdays 11am-12:30pm Cory 540AB and on-line 1 EECS151/251A L01 INTRODUCTION Class Goals Cla and Goals ass G d d Expected d d Outcomes 2 EECS151/251A L01 INTRODUCTION What This Class is All About? Introduction to digital integrated circuit and system engineering Key concepts needed to be a good digital system designer Discover you own creativity! Learn models that allow reasoning about design behavior Manage design complexity through abstraction and understanding of automated tools Allow analysis and optimization of the circuit’s performance, power, cost, etc. Learn how to make sure your circuit and the whole system work There are way more ways to mess up a chip than to get it right. 3 Digital design is not twitch.com! Learn by doing! EECS151/251A L01 INTRODUCTION 4 Course Focus EE 16A/16B EE 130 IC processing Transistor Physics Devices Circuits CS 61C Gates Memory HDL Machine Organization Instruction Set Arch Programming Languages Asm / Machine Lang CS 152 EECS 151 Deep Digital Design Experience Fundamentals of Boolean Logic Synchronous Circuits Finite State Machines Timing & Clocking Device Technology & Implications Controller Design Arithmetic Units Memories Testing, Debugging, Verification Hardware Architecture Hardware Description Languages (HDL) Design Flows (CAD) EECS151/251A L01 INTRODUCTION Prerequisites CS61C C, Boolean logic, RISC-V ISA We will review combinational and sequential logic and RISC-V datapath, pipelining (but go much more in depth) EE16A/B Digital gates, RC networks We will review transistor operation and design of CMOS logic 5 EECS151/251A L01 INTRODUCTION Possible Course Sequences CS 61C o EECS 151 o CS152 o EE 16A/B CS 61C o CS 152 o EECS151 o EE 16A/B With a 151/152 background should be able to take any graduate-level course in architecture/digital systems Circuits: EECS 151 + EE 140 is a springboard into integrated circuits 6 Computer Engineering/Architecture/Hardware EECS151/251A L01 INTRODUCTION CS61C Background – RV32I Don’t worry about details – we will rebuild it and make it work! +4 Add pc+4 pc+4 wb pc wb Inst[24:20] ALU + clk Reg [ ] Inst[19:15] Inst[11:7] AddrB AddrA DataA DataB AddrD DataD alu Reg[rs1] Reg[rs2] Inst[31:0] Control logic RegWEn ALUSel Asel MemRW 0 1 Imm[31:0] Imm. Gen Add clk addr inst IMEM DMEM addr DataR DataW PC Inst [31:7] 1 0 2 clk WBSel Branch Comp 1 0 ImmSel 1 0 PCSel BrUn BrEq BrLT Control logic Bsel mem alu alu 7 EECS151/251A L01 INTRODUCTION Processor Design Project in CS61C Designed in LogiSim From Fall’20 onwards, able to run RV32I compliance tests Exported Verilog, ran synthesis and simulation (R. Lund, et al, WCAE’21) 8 EECS151/251A L01 INTRODUCTION

inst.eecs.berkeley.edu/~eecs151 EECS151 : Introduction to

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: inst.eecs.berkeley.edu/~eecs151 EECS151 : Introduction to

inst.eecs.berkeley.edu/~eecs151

Bora Nikoli

EECS151 : Introduction to Digital Design and ICs

Lecture 1 – Introduction

Mondays and Wednesdays 11am-12:30pm

Cory 540AB and on-line

1EECS151/251A L01 INTRODUCTION

Class Goals Class Gand

Goalsass Gd d Expected d d Outcomes

2EECS151/251A L01 INTRODUCTION

What This Class is All About?• Introduction to digital integrated circuit and system engineering

• Key concepts needed to be a good digital system designer• Discover you own creativity!

• Learn models that allow reasoning about design behavior• Manage design complexity through abstraction and understanding of automated tools • Allow analysis and optimization of the circuit’s performance, power, cost, etc.

• Learn how to make sure your circuit and the whole system work• There are way more ways to mess up a chip than to get it right.

3

Digital design is not twitch.com!Learn by doing!

EECS151/251A L01 INTRODUCTION4

Course Focus

EE 16A/16B

EE 130

IC processing

Transistor PhysicsDevices

Circuits

CS 61C

Gates

Memory

HDLMachine Organization

Instruction Set Arch

Programming Languages Asm / Machine Lang

CS 152

EECS 151

Deep Digital Design ExperienceFundamentals of Boolean Logic

Synchronous Circuits

Finite State Machines

Timing & Clocking

Device Technology & Implications

Controller Design

Arithmetic Units

Memories

Testing, Debugging, Verification

Hardware Architecture

Hardware Description Languages (HDL)

Design Flows (CAD)EECS151/251A L01 INTRODUCTION

Prerequisites

•CS61C• C, Boolean logic, RISC-V ISA

• We will review combinational and sequential logic and RISC-V datapath, pipelining (but go much more in depth)

•EE16A/B• Digital gates, RC networks

• We will review transistor operation and design of CMOS logic

5EECS151/251A L01 INTRODUCTION

Possible Course Sequences

• CS 61C EECS 151 CS152 …EE 16A/B

• CS 61C CS 152 EECS151 …EE 16A/B• With a 151/152 background should be able to take any

graduate-level course in architecture/digital systems

• Circuits: EECS 151 + EE 140 is a springboard into integrated circuits

6

• Computer Engineering/Architecture/Hardware

EECS151/251A L01 INTRODUCTION

CS61C Background – RV32I

• Don’t worry about details – we will rebuild it and make it work!

+4Add

addrinst

IMEM

pc+4

pc+4

wb

pcwb

Inst[24:20] ALU+

clk

Reg [ ]

Inst[19:15]

Inst[11:7]

AddrB

AddrA DataA

DataB

AddrD

DataD

alu

Reg[rs1]

Reg[rs2]

Inst[31:0]

Control logic

RegWEn ALUSelAsel

MemRW

0

1

Imm[31:0]Imm.Gen

Add

clk

addrinst

IMEM DMEM

addrDataR

DataW

PC

Inst[31:7]

1

0

2

clk

WBSel

BranchComp

1

0

ImmSel

1

0

PCSel BrUn

BrEq

BrLT

Control logic

Bsel

mem

alualu

7EECS151/251A L01 INTRODUCTION

Processor Design Project in CS61C

• Designed in LogiSim

• From Fall’20 onwards, able to run RV32I compliance tests

• Exported Verilog, ran synthesis and simulation (R. Lund, et al, WCAE’21)

8EECS151/251A L01 INTRODUCTION

Page 2: inst.eecs.berkeley.edu/~eecs151 EECS151 : Introduction to

At the end of EECS 151

• Should be able to build a complex digital system

+4Add

addrinst

IMEM

pc+4

pc+4

wb

pcwb

Inst[24:20] ALU+

clk

Reg [ ]

Inst[19:15]

Inst[11:7]

AddrB

AddrA DataA

DataB

AddrD

DataD

alu

Reg[rs1]

Reg[rs2]

Inst[31:0]

Control logic

RegWEn ALUSelAsel

MemRW

0

1

Imm[31:0]Imm.Gen

Add

clk

addrinst

IMEM DMEM

addrDataR

DataW

PC

Inst[31:7]

1

0

2

clk

WBSel

BranchComp

1

0

ImmSel

1

0

PCSel BrUn

BrEq

BrLT

Control logic

Bsel

mem

alualu

Berkeley chip in 2021of IEEE Solid-State Circuits Conference

9EECS151/251A L01 INTRODUCTION

The Tapeout Class (EE194/290C)• In Spring 2021, 19 students completed a 28nm chip design in a semester (14 weeks)

• Just returned from fabrication

• Prerequisites: Either EECS151 (ASIC lab preferred) or EE140

10EECS151/251A L01 INTRODUCTION

Careers in Hardware

• Apple’s New Silicon Initiative event tonight• Please come (it is on-line) and ask questions

• Your chance to meet Apple’s Fellows

• Fellowships and scholarships available

• Undergraduate scholarships for students interested in System-on-a-Chip design

• Applications next week!

11EECS151/251A L01 INTRODUCTION

Administrivia

12EECS151/251A L01 INTRODUCTION

13

EECS151/251A CrewProfessor Borivoje Nikoli

(Bora)509 Cory [email protected] Hours: TBD

All TA OHs held in 111Cory.

Michael

Vighnesh IyerFPGA LabsOffice Hours:M 10am-11am

Reader: Bob Zhou

Daniel GrubbASIC LabsDiscussionsOffice Hours:Tu 11-12pm

Charles HongFPGA LabsOffice Hours:W 2-3pm

Nayiri KrzysztofowiczASIC LabsOffice Hours:Th 11-12pm

Zhenghan LinFPGA LabsOffice Hours:W 5-6pm

Zhaokai LiuASIC LabsDiscussionsOffice Hours:F 2-3pm

Alisha MenonFPGA Labs

Office Hours:M 2-3pm

EECS151/251A L01 INTRODUCTION

Course Information• Basic Source of Information, class website:

http://inst.eecs.berkeley.edu/~eecs151/fa21/

• Lecture notes and video modules• Assignments and solutions• Lab and project information• Exams• Piazza Discussion Forum• Many other goodies …

Print only what you need: Save a tree!

14EECS151/251A L01 INTRODUCTION

Health and Safety

• You need to have a green badge to come to in-person lectures, labs discussions!

• If you are feeling sick, please stay home!• Everything is available on-line

• And I will switch to on-line lectures if I get sick

15EECS151/251A L01 INTRODUCTION

Class Organization• Lectures

• Discussion sessions (M 3-4pm, W 3-4pm, W 8-9am (online))

• Office hours (8 hours per week!)

• Problem Sets (~1 per week)

• Labs – FPGA or ASIC (or both, but only if you are sure that you have time)

• Design project

• 2 Midterms + 1 Final

16EECS151/251A L01 INTRODUCTION

Page 3: inst.eecs.berkeley.edu/~eecs151 EECS151 : Introduction to

Lectures

• Slides available on website before the lecture

• Lectures are webcast!

• Recordings available as well

• But please do come to lectures!

• We like interactive lectures!

17

EECS151/251A L01 INTRODUCTION

Class Textbooks

• Useful LA lab reference (EE151/251LA):• Erik Brunvand: Digital VLSI Chip Design with Cadence and Synopsys CAD Tools

18

Recommended (previously required)

Recommended(previously required)

No Required Book this semester

Useful

EECS151/251A L01 INTRODUCTION

Discussion Sessions• Start next week!

• Review of important concepts from lecture (remember - no required textbook)

• Help with problem sets

19EECS151/251A L01 INTRODUCTION

Problem Sets• Approximately 10 over the course of the semester (one per week)

• Posted on Thursday, due on Friday 11:59pm, 8 days later

• Essential to understanding the material

• Ok to discuss with colleagues but need to turn in your own work / write-up

• Late turn-in: 20% point deduction per day, except with documented medical excuse

• Solutions posted the week after due date

20EECS151/251A L01 INTRODUCTION

Labs• Choose either FPGA or ASIC or both

• 6 FPGA / 6 ASIC lab exercises, done solo

• Lab report (check off) due by next lab session

• Design project lasts 7 weeks, done with partner

• Project demo/interview RRR week

• Project report due RRR week

• All labs held in 111/117 Cory

• ASIC: M 5-8PM, W 8-11am (online + 111 Cory), F 11am-2pm

• FPGA: W 6-9PM, Th 11am-2pm, F 8-11AM (fourth lab may be opened)

• All labs start next week!

21EECS151/251A L01 INTRODUCTION

Midterm and Final• Midterms scheduled in evening

• Review session in advance

• Midterms:

• Th. Oct. 7, 7-9pm (tentative)

• Th. Nov. 4, 7-9pm (tentative)

• Final: M, Dec 13, 11:30am-2:30PM

22

All exams are closed book – with one double sided 8.5x11 sheet of notes

EECS151/251A L01 INTRODUCTION

Clobber Policy

• The clobber policy allows you to:• Override your Midterm 1 score with the score on the final if you perform better

on the final, and

• Override your Midterm 2 score with the score on the final exam if you perform better on the final.

• Note that the reverse is not true - you must take the entire final exam, regardless of your Midterm 1 and Midterm 2 scores.

23EECS151/251A L01 INTRODUCTION

Course Information• For interactions between faculty, GSIs and fellow students – we are using Piazza

For fastest response post your questions on Piazza.

(make sure to register ASAP if you don’t want to miss any of the action)https://piazza.com/berkeley/fall2021/eecs151251a

24EECS151/251A L01 INTRODUCTION

Page 4: inst.eecs.berkeley.edu/~eecs151 EECS151 : Introduction to

Policyy on Academic Dishonesty• Details of our cheating policy on the class web site. Please read it and ask

questions.• If you turn in someone else's work as if it were your own, you are guilty of

academic dishonesty. This includes problem sets, answers on exams, lab exercise checks, project design, and any required course turn-in material.

• Also, if you knowingly aid in cheating, you are guilty.• However, it is okay to discuss with others lab exercises and the project

(obviously, okay to work with project partner). Okay to discuss homework with others. But everyone must turn in their own work.

• Do not post your work on public repositories like github (private o.k.)• If we catch you cheating, you will get negative points on the assignment: It

is better to not do the work than to cheat!If it is a midterm exam, final exam, or final project, you get an F in the class.

• All cases of cheating reported to the Center for Student Conduct.

25EECS151/251A L01 INTRODUCTION

Grading Breakdown

26

HWs20%

Midterm1 20%

Midterm2 20%

Final 40%

EECS 151/251A Lecture

Labs 37.5%

Project 62.5%

LA – ASIC

Labs 25%

Project 75%

LB – FPGA

3 units

2 units

2 units

EECS151/251A L01 INTRODUCTION

Tips on How to Get a Good Grade

The lecture material is not the most challenging part of the course.

• You should be able to understand everything as we go along.

• Do not fall behind in lecture and tell yourself you “will figure it out later from the notes or book”.

• Notes will be online before the lecture (usually the night before). Study them before class.

• Ask questions in class and stay involved in the class - that will help you understand. Come to office hours to check your understanding or to ask questions.

• Complete all the homework problems - even the difficult ones.

• The exams will test your depth of knowledge. You need to understand the material well enough to apply it in new situations.

You need to enroll in both the lab and the course.

• Take the labs very seriously. They are an integral part of the course.

• Choose your project partner carefully. Your best friend may not be the best choice!

• Most important (this comes from 30+ years of hardware design experience):

• Be well organized and neat with homework, labs, project.

• In lab, add complexity a little bit at a time - always have a working design.

• Don’t be afraid to throw away your design and start fresh.

27EECS151/251A L01 INTRODUCTION

Getting Started

• Discussions and labs start next week

• Lab 1 assigned later this week – complete the setup before coming to the lab!• Come prepared to the lab session

• Register on Piazza as soon as possible

• Register for your EECS151 class account at inst.eecs.berkeley.edu/webacct

• If you are registering through concurrent enrollment:See us in person this week

28EECS151/251A L01 INTRODUCTION

Digital Integrated Circuits Digital Integraand Systems

Past, Present and Future

29EECS151/251A L01 INTRODUCTION

Diversifying Applications

Mac

hine

lear

ning

30EECS151/251A L01 INTRODUCTION

Remember: My Other Computerr …

• It is being customized as well!

31EECS151/251A L01 INTRODUCTION

How Did All This Arise?

32EECS151/251A L01 INTRODUCTION

Page 5: inst.eecs.berkeley.edu/~eecs151 EECS151 : Introduction to

The Transistor Revolution

33

First transistorBell Labs, Dec 1947

EECS151/251A L01 INTRODUCTION

First Integrated Circuits (19588-8-59)

34

Jack Kilby, Texas Instruments

Bob Noyce, Fairchild

EECS151/251A L01 INTRODUCTION

Moore’s Law

• In 1965, Gordon Moore noted that the number of transistors on a chip doubled every 12 months.

• He made a prediction that semiconductor technology will double its effectiveness every 12 months

“The complexity for minimum component costs has increased at a rate of roughly a factor of two per year. Certainly over the short term, this rate can be expected to continue, if not to increase. Over the longer term, the rate of increase is a bit more uncertain, although there is no reason to believe it will not remain nearly constant for at least 10 years. That means by 1975, the number of components per integrated circuit for minimum cost will be 65,000.”Gordon Moore, Cramming more Components onto Integrated Circuits, (1965).

1824

35EECS151/251A L01 INTRODUCTION

Moore’s Law - 1965

““Reduced cost is one of the big Reduced cost is one of thRattractions of integrated attractions of integrated electronics, and the cost electronics, and the costadvantage continues to increase advantage continues to increas the technology evolves as the technology evolves toward the production of larger toward the production of larger and larger circuit functions on a and larger circuit functions on asingle semiconductor substrate.”single semiconductor subElectronics, Volume 38, Electronics, Volume 38, Number 8, April 19, 1965

1960 1965 1970 1975 1980 1985 1990 1995 2000 2005 2010

TransistorsTransistorsPer Die

1008

1007

10006

1005

1004

10003

1002

1001

11000

8

1009

100010

Source: Intel

1965 Data (Moore)

Graph from S.Chou, ISSCC’200536EECS151/251A L01 INTRODUCTION

Moore’s Law - 2005

4004

8080 808680286

386™ Processor486™ Processor

Pentium® ProcessorPentium® II Processor

Pentium® III ProcessorPentium® 4 Processor

Itanium™

ororProcessor

TransistorsTransistorsPer Die

1008

1007

10006

1005

1004

10003

1002

1001

1000

1009

100010

8008

Itanium™ 2oror

Processor

1K4K

64K256K

1M

16M4M

64M256M

512M1G 2G

128M

16K

1965 Data (Moore)

MicroprocessorMemory

1960 1965 1970 1975 1980 1985 1990 1995 2000 2005 2010

4004

80800 80868802868 6

38386™™™ ProcessorPProcP4848

ces8686™

ssorssoss™™ cessorProcPProcessorProcPP

PentiuPentiummr

rocessorPPumummm®®®® rocePPPenPePentiumPeenPe m

essoressm ocessorProII Intiumntiummmmm® PrPrIIIIII

PentiumPentiuen umntiuuntiuPmm

ocessorroroII ProcessorII ProcesIIIIIIPentiumm® II

PPentiuummmProcessorII PI4 Processo44entiumentiumummmm® 4444

ItItaniuuumum44

mmmmProcesso4 Processo4 P4 P44 P4 P4ProcessP

r Dier Die

08

07

0066

05

04

0033

02

011

000

8

09

001010

004

808008800080

taniumaniuumummmm™™ PPPPItaniumItaniumummmm™

oProProPro™ 2222

ssocessoceoce2222 ProProPP

1K4K

64K256K

1M

16M4M

6M6464

2566M512M51 M

1G1 2G

M25

28M128M

6416K

1965 Data (Moore)

MicroprocessorMiMemoryM

19601 1965 1970 1975 1980 1985 1990 1995 2000 2005 2010

Source: IntelGraph from S.Chou, ISSCC’2005

37EECS151/251A L01 INTRODUCTION

Transistor Counts

38

H.-S. P. Wong, HotChips, August 2019.

EECS151/251A L01 INTRODUCTION

CS150/EECS151 Project Complexity

39

1980 Pong game10’s of logic gates

1995 MIDI synthesizer1000’s of logic gates

2000-2010 eTV tuner10K’s logic gates

2010-2017 MIPS CPU or BYO1M logic gates

2018 MIPS CPUProgrammable SOC: duacore ARM, 85K logic cells,220 MACC

EECS151/251A L01 INTRODUCTION

The e Keyey: y: CCCost

40

Moore’s 1965 paper:

Moore’s Law ends when cost reduction stops EECS151/251A L01 INTRODUCTION

Page 6: inst.eecs.berkeley.edu/~eecs151 EECS151 : Introduction to

Recent Cost Trend

L. Su, HotChips, August 2019. Cost nearly doubled!

41EECS151/251A L01 INTRODUCTION

The Other Trends

42EECS151/251A L01 INTRODUCTION

Dennard Scaling (1974)• Voltages (and currents) should be scaled

proportionally to the dimensions of the transistor

• If so, delay and power should scale

• And, in theory, power density constant!

• We are not following Dennard’s scaling since ~2005

43

R.H. Dennard, F. Gaensslen, H.-N. Yu, L. Rideout, E. Bassous, A. LeBlanc, Andre "Design of ion-implanted MOSFET's with very small physical dimensions," IEEE Journal of Solid State Circuits. SC-9 (5), 1974.

//Bob Dennard

EECS151/251A L01 INTRODUCTION

Frequency

44

Frequency Trends in Intel's Microprocessors

0.1

1

10

100

1000

10000

1970 1975 1980 1985 1990 1995 2000 2005

Freq

uenc

y [M

Hz]

40048008

8080

8086

8088

80286386DX

486DX 486DX4

PentiumPentium Pro

Pentium II

Pentium MMX

Pentium III

Pentium 4

ItaniumItanium II

Core2

Has been doublingevery 2 years, but quickly turned flat

EECS151/251A L01 INTRODUCTION

Power Dissipation

45

Has been > doublingevery 2 years

Has to stay ~constant

Power Trends in Intel's Microprocessors

0.1

1

10

100

1000

1970 1975 1980 1985 1990 1995 2000 2005

Pow

er [W

]

4004

8008 8080

8086

8088

80286

386DX

486DXPentium

Pentium Pro

Pentium II

Pentium IIIPentium 4

ItaniumItanium II Core 2

EECS151/251A L01 INTRODUCTION

Power and Performance Trends

• What do we do next?

46EECS151/251A L01 INTRODUCTION

The Other Demon:The Other Demon:Complexity and Design Costs

47EECS151/251A L01 INTRODUCTION

Cost Of Developing New Products

• These are non-recurring (NRE) costs, need to be amortized over the lifetime of a product

• We will attempt to dismantle this…48EECS151/251A L01 INTRODUCTION

Page 7: inst.eecs.berkeley.edu/~eecs151 EECS151 : Introduction to

Solutions

• Software faced the complexity issues as well

• Solutions: Increase abstraction level, be modular, improve reuse, rely on open source, be agile…

• Apply to hardware design

49EECS151/251A L01 INTRODUCTION

Abstraction

• How to design a Pong game• Hand layout

• Gate-level design (semi custom)

• Describe in HDL Synthesis, place and route

• HLS, HCL

• “Computer, design a pong game”

teeeeeeeeeeeeeee

OutIn

VDD

OutIn

+ CPU

50EECS151/251A L01 INTRODUCTION

Hierarchyy innn Designs s –– Complexity Control

• Design Abstraction

• Hide details and reduce number of things to handle at any time

• Modular design

• Divide and conquer

• Simplifies implementation and debugging

• Regularity

• Instantiate identical modules

51

Module A

Module B Module B

EECS151/251A L01 INTRODUCTION

Digital Design: What’s it all about?Given a functional description and performance, cost, & power constraints, come up with an

implementation using a set of primitives.

• How do we learn to do this?1. Learn about the design primitives and how to use them. 2. Learn about design representations. 3. Learn formal methods and tools to manipulate the representations. 4. Study design examples. 5. Have robust approach to verification. 6. Use trial and error - CAD tools and prototyping. Practice!

• Digital design is a bit an art as well as a science. The creative spirit is critical incombining primitive elements & other components in new ways to achieve a desiredfunction.

• However, unlike art, we have objective measures of a design:

52

Performance Cost PowerEECS151/251A L01 INTRODUCTION