56
임베디드시스템설계및실습 2016년 1학기 강의소개 임베디드시스템 설계 및 실습

임베디드시스템설계및실습 - Multimedia Communications Labviscom.kau.ac.kr/.../04/ESyst_LN01_EmbeddedSystemsIntro.pdf · 임베디드시스템설계및실습 2 강의내용

Embed Size (px)

Citation preview

Page 1: 임베디드시스템설계및실습 - Multimedia Communications Labviscom.kau.ac.kr/.../04/ESyst_LN01_EmbeddedSystemsIntro.pdf · 임베디드시스템설계및실습 2 강의내용

임베디드시스템설계및실습

2016년 1학기

강의소개

임베디드시스템 설계 및 실습

Page 2: 임베디드시스템설계및실습 - Multimedia Communications Labviscom.kau.ac.kr/.../04/ESyst_LN01_EmbeddedSystemsIntro.pdf · 임베디드시스템설계및실습 2 강의내용

임베디드시스템설계및실습

2

강의내용

the special requirements that are imposed upon embedded systems

the key features of ARM and Nios II processors

how microprocessor, memory, peripheral components and buses interact in an embedded system

how architectural and implementation decisions influence performance and power dissipation

how to write efficient code for embedded systems

to design and implement an embedded system around an embedded processor using an FPGA development board

임베디드시스템– 강의 소개 (1)

Page 3: 임베디드시스템설계및실습 - Multimedia Communications Labviscom.kau.ac.kr/.../04/ESyst_LN01_EmbeddedSystemsIntro.pdf · 임베디드시스템설계및실습 2 강의내용

임베디드시스템설계및실습

3

강의교재

주교재: 강의노트와 Tutorials [홈페이지게시]

참고도서

[WO] Marilyn Wolf, Computers as Components, Morgan Kaufmann, 2012

[LE] Edward Ashford Lee, Introduction to Embedded Systems, online, 2014

[BA] Peter Berry, Modern Embedded Computing, Morgan Kaufmann, 2012

[HA] C. Hamacher, Computer Organization and Embedded Systems, 2014

담당교수: 이명진 ([email protected], 전206, 300-0421)Office Hour: 월 14:00~17:00

과목조교: 이환희, 이창현 (연구동 303호)과목게시판

http://viscom.kau.ac.kr LECTURES 게시판

임베디드시스템– 강의 소개 (2)

Page 4: 임베디드시스템설계및실습 - Multimedia Communications Labviscom.kau.ac.kr/.../04/ESyst_LN01_EmbeddedSystemsIntro.pdf · 임베디드시스템설계및실습 2 강의내용

임베디드시스템설계및실습

4

평가

중간(40%), 실습/과제(40%), 설계과제(20%)

출석

당일강의시간의 50% 이상 수강하지않은경우결석처리

수업 ¼ 이상결석시 F

실습데모 / 실습과제

실습일(or 마감일) 기준매주 10%씩감점

실습일(or 마감일) 기준만 3주 이내까지만데모 (접수)

실습조구성

2인 1조

일반실습: 1인 1보드, 개인별실습 데모실시

필요시같은 조에서장비및 부품을공유함

임베디드시스템– 강의 소개 (3)

Page 5: 임베디드시스템설계및실습 - Multimedia Communications Labviscom.kau.ac.kr/.../04/ESyst_LN01_EmbeddedSystemsIntro.pdf · 임베디드시스템설계및실습 2 강의내용

임베디드시스템설계및실습

5

C언어 : 중급이상(pointer 사용)다음교과목중 2개이상수강 (교과과정개편전유사교과목포함)디지털논리회로, 컴퓨터구조

디지털시스템설계, 전자HW설계

선수 요구 조건 및 과목

Page 6: 임베디드시스템설계및실습 - Multimedia Communications Labviscom.kau.ac.kr/.../04/ESyst_LN01_EmbeddedSystemsIntro.pdf · 임베디드시스템설계및실습 2 강의내용

임베디드시스템설계및실습

6

주 강의 실습 기타

1 - Embedded System Overview (24p)- Embedded System Product (5p)

- H/W 개발 환경 (DE1-SoC)- S/W 개발 환경 (Eclipse)- Hello World! in DE1-SoC

2 - Embedded System Survey (10p)- Design Methodology (15p)- Embedded Platform Architecture (4p)

- Memory Test

3 - CPU Buses, Bus Protocols (22p)- Computing platforms (4p)

- Debugging Your Systems- Hardware System Design with System Integration Tools

4 - Debugging Embedded Systems (19p)- Computing Platforms: alarm clock (10p)

- Hardware System Design with System Integration Tools

5 - Nios II Processor (28p) - I/O Programming (Using HAL Device Drivers) - KAU_Computer_Std.zip

6 - Nios II Processor (28p)- Embedded Processors (28p)

- Interrupt-based I/O Programming

7 - Embedded Processors (28p) - Design Your Own Alarm Clock on KAU Computer System

8 중간시험

9 - BUS Architecture-- Avalon Interface Specification (21p)-- AMBA (22p)

- Video Display Circuit Design and Programming on KAU Computer System- Video IP Cores

10 - BUS Architecture-- Avalon Interface Specification (21p)-- AMBA (22p)

- Video Display Circuit Design and Programming on KAU Computer System- Video IP Cores

11 - Hardware & Software Co-Design Case Study: Video Analytics

- Video Frame Handling on KAU Computer System- Video IP Cores- Video Analytics IP Cores

12 - Hardware & Software Co-Design Case Study: ARM NEON / Multi-core Threading

- Video Frame Handling on KAU Computer System- Video IP Cores- Video Analytics IP Cores

13 Term Project - Custom H/W IP into your Embedded System Term Project Proposal

14 Term Project - How to Optimize the Video Input/Output Processes

15 Term Project

16 Term Project Presentation Term Project Report

강의 일정 – 변경될 수 있음

Page 7: 임베디드시스템설계및실습 - Multimedia Communications Labviscom.kau.ac.kr/.../04/ESyst_LN01_EmbeddedSystemsIntro.pdf · 임베디드시스템설계및실습 2 강의내용

임베디드시스템설계및실습

7

실습전반부 (3~4주)DE1-SoC 보드환경파악

DE1-SoC 개발툴사용 (Quartus II, Qsys, Eclipse 등)

DE1-SoC Computer memory & I/O programming

실습중반부 (4~5주)KAU_Computer (최소컴퓨팅환경) 파악

KAU_Computer에 VGA (or Graphic LCD) 회로통합 설계, driver 작성, 응용 프로그램작성

KAU_Computer+VGA(or GraphicLCD)에 Camera (NTSC or 5Mpixel) 회로 통합설계, driver 작성, 응용프로그램 작성

설계프로젝트 (4주)KAU_Computer+VGA(or GraphicLCD)+Camera 통합회로 기반영상응용장치(예: 디지털카메라) 설계

경쟁사항: 카메라 화면의화면률, 화소당컬러비트수, 기타 화면구성의용이함, 터치인터페이스사용, 사진캡처 및저장 속도등

실습 내용

Page 8: 임베디드시스템설계및실습 - Multimedia Communications Labviscom.kau.ac.kr/.../04/ESyst_LN01_EmbeddedSystemsIntro.pdf · 임베디드시스템설계및실습 2 강의내용

임베디드시스템설계및실습

8

최종 설계 결과물 (2015년 1학기)

Page 9: 임베디드시스템설계및실습 - Multimedia Communications Labviscom.kau.ac.kr/.../04/ESyst_LN01_EmbeddedSystemsIntro.pdf · 임베디드시스템설계및실습 2 강의내용

임베디드시스템설계및실습

Embedded System Overview

임베디드시스템 설계 및 실습

Page 10: 임베디드시스템설계및실습 - Multimedia Communications Labviscom.kau.ac.kr/.../04/ESyst_LN01_EmbeddedSystemsIntro.pdf · 임베디드시스템설계및실습 2 강의내용

임베디드시스템설계및실습

10

A device/system that includes a programmable processor but is not itself a general-purpose computerPrimary function is not computational, but is controlled by a programmable processor inside it

Processor carries out the computational subtasks of the main system

e.g., digital cameras, cars, cell phones

The core of most embedded systems is one or more embedded microprocessors or microcontrollersEmbedded system = Embedded processor + Peripherals + Software

Micro-controller = micro-processor + memory + I/O features

Chip (hard) processors: ARM, MIPS, PowerPC

Soft IP processors for FPGAs: Nios II, Microblaze

Multi-core architectures appearing in high-end applications

Embedded System

Page 11: 임베디드시스템설계및실습 - Multimedia Communications Labviscom.kau.ac.kr/.../04/ESyst_LN01_EmbeddedSystemsIntro.pdf · 임베디드시스템설계및실습 2 강의내용

임베디드시스템설계및실습

11

Must work in real-timeUsually responds to external stimulusSimple OS kernels supporting real-time scheduling

Embedded System

Page 12: 임베디드시스템설계및실습 - Multimedia Communications Labviscom.kau.ac.kr/.../04/ESyst_LN01_EmbeddedSystemsIntro.pdf · 임베디드시스템설계및실습 2 강의내용

임베디드시스템설계및실습

12

Parts of an Embedded System

Page 13: 임베디드시스템설계및실습 - Multimedia Communications Labviscom.kau.ac.kr/.../04/ESyst_LN01_EmbeddedSystemsIntro.pdf · 임베디드시스템설계및실습 2 강의내용

임베디드시스템설계및실습

13

Page 14: 임베디드시스템설계및실습 - Multimedia Communications Labviscom.kau.ac.kr/.../04/ESyst_LN01_EmbeddedSystemsIntro.pdf · 임베디드시스템설계및실습 2 강의내용

임베디드시스템설계및실습

14

Embedded systems cover the entire landscape of systems and products

Fig. Internet-Embedded Devices.

Page 15: 임베디드시스템설계및실습 - Multimedia Communications Labviscom.kau.ac.kr/.../04/ESyst_LN01_EmbeddedSystemsIntro.pdf · 임베디드시스템설계및실습 2 강의내용

임베디드시스템설계및실습

15

Classification of Embedded Systems

Page 16: 임베디드시스템설계및실습 - Multimedia Communications Labviscom.kau.ac.kr/.../04/ESyst_LN01_EmbeddedSystemsIntro.pdf · 임베디드시스템설계및실습 2 강의내용

임베디드시스템설계및실습

16

Single-functioned: usually executes a specific program repeatedlyFunctionality not changed very often

Tightly constrained: Designed under many constraintslimited memory

low power/energy

low cost

strict performance guarantees

real-time behavior guarantee: service must be done by deadline

reliability and fail-safe operation

Reactive at real time: Many embedded systems must continually react to changes in the environment and must compute certain results in real timeCar’s cruise controller

Embedded System Characteristics

Page 17: 임베디드시스템설계및실습 - Multimedia Communications Labviscom.kau.ac.kr/.../04/ESyst_LN01_EmbeddedSystemsIntro.pdf · 임베디드시스템설계및실습 2 강의내용

임베디드시스템설계및실습

17

Highly optimized or hand crafted involving hardware-software codesign design techniquesHighly integrated and single board: System on ChipOften not programmable by end usersAre often mass products

Embedded System Characteristics

Page 18: 임베디드시스템설계및실습 - Multimedia Communications Labviscom.kau.ac.kr/.../04/ESyst_LN01_EmbeddedSystemsIntro.pdf · 임베디드시스템설계및실습 2 강의내용

임베디드시스템설계및실습

18

A system that is required to respond to stimuli (input or sensor readings) within a small upper limit of time (milli- or microseconds).Update information at the same rate as they receive data, enabling them to direct or control a process.Hard real-time systems: the completion of an operation after its deadline is considered useless and may lead to a disastrous failure of the entire systemLow-level critical parts

Soft real-time systems: Tolerate such lateness, and may respond with decreased service qualityGames, camcorders, printers, etc.

Many systems are multi-rate: must handle operations at widely varying rates

Real-time Systems

Page 19: 임베디드시스템설계및실습 - Multimedia Communications Labviscom.kau.ac.kr/.../04/ESyst_LN01_EmbeddedSystemsIntro.pdf · 임베디드시스템설계및실습 2 강의내용

임베디드시스템설계및실습

19

Many embedded systems are mass-market itemsLow manufacturing cost

Limited memory, micro-processor power, low maintenance cost, etc.

Power consumption is critical in battery-powered devicesExcessive power consumption increases system cost even in wall-powered devices

Design teamsOften designed by a small team of designers

Often must meet tight deadlines6 month market window is common

Non-functional Requirements

Page 20: 임베디드시스템설계및실습 - Multimedia Communications Labviscom.kau.ac.kr/.../04/ESyst_LN01_EmbeddedSystemsIntro.pdf · 임베디드시스템설계및실습 2 강의내용

임베디드시스템설계및실습

20

Efficient: can use same logic to perform many different functionsEasy to implement and upgrade: software programmableFast turn-around time: market window is shrinkingSimplify the design of families of productsLow cost when volume is small to medium: ASICs can cost hundreds of millions

Micro-Processors use much more logic to implement a function than does custom logicBut, micro-processors are often at least as fast:Heavily pipelined

Aggressive VLSI technology

Why Use Micro-Processors?

Page 21: 임베디드시스템설계및실습 - Multimedia Communications Labviscom.kau.ac.kr/.../04/ESyst_LN01_EmbeddedSystemsIntro.pdf · 임베디드시스템설계및실습 2 강의내용

임베디드시스템설계및실습

21

Custom logic used less power, but CPUs have advantages:Modern micro-processors offer features to help control power consumption

Software design techniques can help reduce power consumption

Heterogeneous systems: some custom logic for well-defined functions, CPUs+software for everything else

Alternatives: Application-Specific Integrated Circuits (ASICs), Field-Programmable Gate Arrays (FPGAs), etcRecent trend: integrate soft and hard microprocessors and other function blocks into an FPGA/ASICSystem-on-a-chip: e.g. Altera SoC, Xilinx Zynq SoC

Much better performance

Why Use Micro-Processors?

Page 22: 임베디드시스템설계및실습 - Multimedia Communications Labviscom.kau.ac.kr/.../04/ESyst_LN01_EmbeddedSystemsIntro.pdf · 임베디드시스템설계및실습 2 강의내용

임베디드시스템설계및실습

22

A processor with special features tailored to embedded applicationsTake advantage of application characteristics to optimize the design:

Sales: 100 times of high-performance processors.

Chip and soft IP cores for FPGAs

Typical embedded word sizes: 8, 16, 32, and 64 bitsMoving to multi-core architecturesExamples:Chip: ARM, MIPS, 68K, SPARC, PowerPC

Soft-core: Nios (Altera), Microblaze (Xilinx)

Embedded Processors

Page 23: 임베디드시스템설계및실습 - Multimedia Communications Labviscom.kau.ac.kr/.../04/ESyst_LN01_EmbeddedSystemsIntro.pdf · 임베디드시스템설계및실습 2 강의내용

임베디드시스템설계및실습

23

SoC FPGAs for Embedded Systems

Page 24: 임베디드시스템설계및실습 - Multimedia Communications Labviscom.kau.ac.kr/.../04/ESyst_LN01_EmbeddedSystemsIntro.pdf · 임베디드시스템설계및실습 2 강의내용

임베디드시스템설계및실습

24

SoC FPGAs for Embedded Systems

Xilinx UltraScale™ Multi-Processing System on Chip (MPSoC) Architecture

Page 25: 임베디드시스템설계및실습 - Multimedia Communications Labviscom.kau.ac.kr/.../04/ESyst_LN01_EmbeddedSystemsIntro.pdf · 임베디드시스템설계및실습 2 강의내용

임베디드시스템설계및실습

25

SoC FPGAs for Embedded Systems

Page 26: 임베디드시스템설계및실습 - Multimedia Communications Labviscom.kau.ac.kr/.../04/ESyst_LN01_EmbeddedSystemsIntro.pdf · 임베디드시스템설계및실습 2 강의내용

임베디드시스템설계및실습

Embedded System Products

임베디드시스템 설계 및 실습

Page 27: 임베디드시스템설계및실습 - Multimedia Communications Labviscom.kau.ac.kr/.../04/ESyst_LN01_EmbeddedSystemsIntro.pdf · 임베디드시스템설계및실습 2 강의내용

임베디드시스템설계및실습

27

Internet of Things (IoT)

Mobile

Embedded System Products

Page 28: 임베디드시스템설계및실습 - Multimedia Communications Labviscom.kau.ac.kr/.../04/ESyst_LN01_EmbeddedSystemsIntro.pdf · 임베디드시스템설계및실습 2 강의내용

임베디드시스템설계및실습

28

EmbeddedIn-vehicle Infotainment

Embedded Computing

General-Purpose MCUs

Smart Cards

Smart Meter

ADAS

Embedded System Products

Page 29: 임베디드시스템설계및실습 - Multimedia Communications Labviscom.kau.ac.kr/.../04/ESyst_LN01_EmbeddedSystemsIntro.pdf · 임베디드시스템설계및실습 2 강의내용

임베디드시스템설계및실습

29

Wearables

Home

Enterprise

Embedded System Products

Page 30: 임베디드시스템설계및실습 - Multimedia Communications Labviscom.kau.ac.kr/.../04/ESyst_LN01_EmbeddedSystemsIntro.pdf · 임베디드시스템설계및실습 2 강의내용

임베디드시스템설계및실습

30

Today’s high-end automobile may have 100 microprocessors:4-bit microcontroller checks seat belt;

microcontrollers run dashboard devices;

16/32-bit microprocessor controls engine

e.g., brake system:Anti-lock brake system (ABS): pumps brakes to reduce skidding

Automatic stability control (ASC+T) (2 processors):

controls engine to improve stability.

Automotive Embedded Systems

Page 31: 임베디드시스템설계및실습 - Multimedia Communications Labviscom.kau.ac.kr/.../04/ESyst_LN01_EmbeddedSystemsIntro.pdf · 임베디드시스템설계및실습 2 강의내용

임베디드시스템설계및실습

Embedded System Survey

Design west 2013, survey data

임베디드시스템 설계 및 실습

Page 32: 임베디드시스템설계및실습 - Multimedia Communications Labviscom.kau.ac.kr/.../04/ESyst_LN01_EmbeddedSystemsIntro.pdf · 임베디드시스템설계및실습 2 강의내용

임베디드시스템설계및실습

32

How many micro-processor/-controllers are used?

Page 33: 임베디드시스템설계및실습 - Multimedia Communications Labviscom.kau.ac.kr/.../04/ESyst_LN01_EmbeddedSystemsIntro.pdf · 임베디드시스템설계및실습 2 강의내용

임베디드시스템설계및실습

33

Types of processors used in the field

Page 34: 임베디드시스템설계및실습 - Multimedia Communications Labviscom.kau.ac.kr/.../04/ESyst_LN01_EmbeddedSystemsIntro.pdf · 임베디드시스템설계및실습 2 강의내용

임베디드시스템설계및실습

34

Processor cores in processing word width

Page 35: 임베디드시스템설계및실습 - Multimedia Communications Labviscom.kau.ac.kr/.../04/ESyst_LN01_EmbeddedSystemsIntro.pdf · 임베디드시스템설계및실습 2 강의내용

임베디드시스템설계및실습

35

Popular embedded processors

Page 36: 임베디드시스템설계및실습 - Multimedia Communications Labviscom.kau.ac.kr/.../04/ESyst_LN01_EmbeddedSystemsIntro.pdf · 임베디드시스템설계및실습 2 강의내용

임베디드시스템설계및실습

36

FPGA in embedded projects

Page 37: 임베디드시스템설계및실습 - Multimedia Communications Labviscom.kau.ac.kr/.../04/ESyst_LN01_EmbeddedSystemsIntro.pdf · 임베디드시스템설계및실습 2 강의내용

임베디드시스템설계및실습

37

Programming Languages for Embedded Systems

Page 38: 임베디드시스템설계및실습 - Multimedia Communications Labviscom.kau.ac.kr/.../04/ESyst_LN01_EmbeddedSystemsIntro.pdf · 임베디드시스템설계및실습 2 강의내용

임베디드시스템설계및실습

38

Code Reuse in Embedded System Design

Page 39: 임베디드시스템설계및실습 - Multimedia Communications Labviscom.kau.ac.kr/.../04/ESyst_LN01_EmbeddedSystemsIntro.pdf · 임베디드시스템설계및실습 2 강의내용

임베디드시스템설계및실습

39

Operating System Usage in Embedded System Design

Page 40: 임베디드시스템설계및실습 - Multimedia Communications Labviscom.kau.ac.kr/.../04/ESyst_LN01_EmbeddedSystemsIntro.pdf · 임베디드시스템설계및실습 2 강의내용

임베디드시스템설계및실습

40

Popular Operating Systems

Page 41: 임베디드시스템설계및실습 - Multimedia Communications Labviscom.kau.ac.kr/.../04/ESyst_LN01_EmbeddedSystemsIntro.pdf · 임베디드시스템설계및실습 2 강의내용

임베디드시스템설계및실습

Design Methodology

임베디드시스템 설계 및 실습

Page 42: 임베디드시스템설계및실습 - Multimedia Communications Labviscom.kau.ac.kr/.../04/ESyst_LN01_EmbeddedSystemsIntro.pdf · 임베디드시스템설계및실습 2 강의내용

임베디드시스템설계및실습

42

The physics of software

Computing is a physical act.Software doesn’t do anything without hardware.

Executing software consumes energy, requires time.To understand the dynamics of software (time, energy), we need to characterize the platform on which the software runs.

Page 43: 임베디드시스템설계및실습 - Multimedia Communications Labviscom.kau.ac.kr/.../04/ESyst_LN01_EmbeddedSystemsIntro.pdf · 임베디드시스템설계및실습 2 강의내용

임베디드시스템설계및실습

43

What does “performance” mean?

In general-purpose computing, performance often means average-case, may not be well-defined.In real-time systems, performance means meeting deadlines.Missing the deadline by even a little is bad.

Finishing ahead of the deadline may not help.

Page 44: 임베디드시스템설계및실습 - Multimedia Communications Labviscom.kau.ac.kr/.../04/ESyst_LN01_EmbeddedSystemsIntro.pdf · 임베디드시스템설계및실습 2 강의내용

임베디드시스템설계및실습

44

Characterizing performance

We need to analyze the system at several levels of abstraction to understand performance:CPU.

Platform.

Program.

Task.

Multiprocessor.

Page 45: 임베디드시스템설계및실습 - Multimedia Communications Labviscom.kau.ac.kr/.../04/ESyst_LN01_EmbeddedSystemsIntro.pdf · 임베디드시스템설계및실습 2 강의내용

임베디드시스템설계및실습

45

Simultaneously optimize numerous design metricsHow much hardware do we need?

How big is the CPU? Memory?

How do we meet our deadlines?Faster hardware or cleverer software?

How do we minimize power?Turn off unnecessary logic? Reduce memory accesses?

Does it really work?Is the specification correct?

Does the implementation meet the spec?

How do we test for real-time characteristics?

How do we test on real data?

How do we work on the system?Observability, controllability?

What is our development platform?

Challenges in Embedded System Design

Page 46: 임베디드시스템설계및실습 - Multimedia Communications Labviscom.kau.ac.kr/.../04/ESyst_LN01_EmbeddedSystemsIntro.pdf · 임베디드시스템설계및실습 2 강의내용

임베디드시스템설계및실습

46

Design methodologies

A procedure for designing a systemMany systems are complex:large specifications;

multiple designers;

interface to manufacturing.

Methodology is important in embedded computing:Must design many different systems.

We may use same/similar components in many different designs.

Design time, results must be predictable.

Proper processes improve:Productivity

quality;

cost of design and manufacture

Page 47: 임베디드시스템설계및실습 - Multimedia Communications Labviscom.kau.ac.kr/.../04/ESyst_LN01_EmbeddedSystemsIntro.pdf · 임베디드시스템설계및실습 2 강의내용

임베디드시스템설계및실습

47

Design methodologies

Understanding your methodology helps you ensure you didn’t skip anythingCompilers, software engineering tools, computer-aided design (CAD) tools, etc., can be used to:help automate methodology steps;

keep track of the methodology itself

Page 48: 임베디드시스템설계및실습 - Multimedia Communications Labviscom.kau.ac.kr/.../04/ESyst_LN01_EmbeddedSystemsIntro.pdf · 임베디드시스템설계및실습 2 강의내용

임베디드시스템설계및실습

48

Design goals

PerformanceOverall speed, deadlines

Functionality and user interfaceManufacturing costPower consumptionOther requirements (physical size, etc.)

Page 49: 임베디드시스템설계및실습 - Multimedia Communications Labviscom.kau.ac.kr/.../04/ESyst_LN01_EmbeddedSystemsIntro.pdf · 임베디드시스템설계및실습 2 강의내용

임베디드시스템설계및실습

49

Levels of abstraction

Page 50: 임베디드시스템설계및실습 - Multimedia Communications Labviscom.kau.ac.kr/.../04/ESyst_LN01_EmbeddedSystemsIntro.pdf · 임베디드시스템설계및실습 2 강의내용

임베디드시스템설계및실습

50

Top-down vs. bottom-up

Top-down design:start from most abstract description;

work to most detailed

Bottom-up design:work from small components to big system

Real design uses both techniques

At each level of abstraction, we must:analyze the design to determine characteristics of the current state of the design;

refine the design to add detail

Page 51: 임베디드시스템설계및실습 - Multimedia Communications Labviscom.kau.ac.kr/.../04/ESyst_LN01_EmbeddedSystemsIntro.pdf · 임베디드시스템설계및실습 2 강의내용

임베디드시스템설계및실습

51

Requirements

Plain language description of what the user wants and expects to getMay be developed in several ways:talking directly to customers;

talking to marketing representatives;

providing prototypes to users for comment

Functional requirements:output as a function of input

Non-functional requirements:time required to compute output;

size, weight, etc.;

power consumption;

reliability;

etc

Page 52: 임베디드시스템설계및실습 - Multimedia Communications Labviscom.kau.ac.kr/.../04/ESyst_LN01_EmbeddedSystemsIntro.pdf · 임베디드시스템설계및실습 2 강의내용

임베디드시스템설계및실습

52

Specification

A more precise description of the system:should not imply a particular architecture;

provides input to the architecture design process

May include functional and non-functional elementsMay be executable or may be in mathematical form for proofs

Page 53: 임베디드시스템설계및실습 - Multimedia Communications Labviscom.kau.ac.kr/.../04/ESyst_LN01_EmbeddedSystemsIntro.pdf · 임베디드시스템설계및실습 2 강의내용

임베디드시스템설계및실습

53

Architecture design

What major components go satisfying the specification?Hardware components:CPUs, peripherals, etc

Software components:major programs and their operations

Must take into account functional and non-functional specifications

Page 54: 임베디드시스템설계및실습 - Multimedia Communications Labviscom.kau.ac.kr/.../04/ESyst_LN01_EmbeddedSystemsIntro.pdf · 임베디드시스템설계및실습 2 강의내용

임베디드시스템설계및실습

54

Designing hardware and software components

Must spend time architecting the system before you start coding.Some components are ready-made, some can be modified from existing designs, others must be designed from scratch.

Page 55: 임베디드시스템설계및실습 - Multimedia Communications Labviscom.kau.ac.kr/.../04/ESyst_LN01_EmbeddedSystemsIntro.pdf · 임베디드시스템설계및실습 2 강의내용

임베디드시스템설계및실습

55

System integration

Put together the componentsMany bugs appear only at this stage

Have a plan for integrating components to uncover bugs quickly, test as much functionality as early as possible

Page 56: 임베디드시스템설계및실습 - Multimedia Communications Labviscom.kau.ac.kr/.../04/ESyst_LN01_EmbeddedSystemsIntro.pdf · 임베디드시스템설계및실습 2 강의내용

임베디드시스템설계및실습