Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 ECE 354 © Moritz 2009, some slides modified from Moritz/Koren/Burleson, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 ECE354 Course Info.

Similar presentations


Presentation on theme: "1 ECE 354 © Moritz 2009, some slides modified from Moritz/Koren/Burleson, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 ECE354 Course Info."— Presentation transcript:

1

2 1 ECE 354 © Moritz 2009, some slides modified from Moritz/Koren/Burleson, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 ECE354 Course Info  Time: Monday & Wednesday 2:30 p.m. - 5:30 p.m. plus additional lab times  Location: Marston Hall room 211 (lectures), Duda Hall (lab)  Prerequisites: ECE353 - Computer Systems Lab I  Instructors: Prof. C. Andras Moritz, Office Hours: Tuesdays and Thursdays 1PM-2PM in Knowles 309HProf. C. Andras Moritz  Recommended Text: Wayne Wolf: " Computers as Components" Morgan Kauffman Publishers, 2005. Computers as Components  Course web page: http://python.ecs.umass.edu/~ece354/http://python.ecs.umass.edu/~ece354/

3 2 ECE 354 © Moritz 2009, some slides modified from Moritz/Koren/Burleson, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 ECE 354 Course Info  The course is taught using the new Altera DE2 FPGA boards NIOS 2, a 32 bit microcontroller from Altera  Grading 75% lab grades (all labs count equally) 25% mid-term exam Lab Grades 30% Individual pre-demo quiz 50% Demo 20% Lab report

4 3 ECE 354 © Moritz 2009, some slides modified from Moritz/Koren/Burleson, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 Outline  Embedded Systems Overview Definition, examples, characteristics, complexity, requirements, design teams  Microprocessors and Alternatives in Embedded Systems Embedded processors, DSP vs processor vs microcontrollers, RISC vs. CISC, pipelining, soft processors, etc  Design Aspects of Embedded Systems Design flow, tools, testing with JTAG, etc

5 4 ECE 354 © Moritz 2009, some slides modified from Moritz/Koren/Burleson, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 Embedded Systems

6 5 ECE 354 © Moritz 2009, some slides modified from Moritz/Koren/Burleson, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 ECE 354 Lecture 1 The Big Picture  What are embedded systems?  Challenges in embedded computing system design.  Design methodologies.  Sophisticated functionality.  Real-time operation.  Low manufacturing cost.  Low power.  Designed to tight deadlines by small teams.

7 6 ECE 354 © Moritz 2009, some slides modified from Moritz/Koren/Burleson, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 Definition  Embedded system: any device that includes a programmable computer but is not itself a general-purpose computer.  Take advantage of application characteristics to optimize the design: don’t need all the general-purpose bells and whistles.

8 7 ECE 354 © Moritz 2009, some slides modified from Moritz/Koren/Burleson, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 Embedding a computer: a very simplified view… CPU mem input output analog embedded computer

9 8 ECE 354 © Moritz 2009, some slides modified from Moritz/Koren/Burleson, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 Examples  Personal digital assistant (PDA).  Printer.  Cell phone.  Automobile: engine, brakes, dash, etc.  Television.  Household appliances.

10 9 ECE 354 © Moritz 2009, some slides modified from Moritz/Koren/Burleson, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 More examples  Cell phones, Ipod and MP 3 players, Webcams, Navigation Systems  Routers, Blade servers, Wireless PC cards  Automobiles, Car Alarms, Keyless Entry Systems  Building Security, card swiping systems  Embedded Medical Devices - Pacemakers

11 10 ECE 354 © Moritz 2009, some slides modified from Moritz/Koren/Burleson, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 Characteristics of embedded systems  Sophisticated functionality.  Real-time operation.  Low manufacturing cost.  Low power.  Reliable and secure  Designed to tight deadlines by small teams.

12 11 ECE 354 © Moritz 2009, some slides modified from Moritz/Koren/Burleson, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 Functional complexity  Often have to run sophisticated algorithms or multiple algorithms. Cell phone, laser printer.  Often provide sophisticated user interfaces.

13 12 ECE 354 © Moritz 2009, some slides modified from Moritz/Koren/Burleson, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 Real-time operation  Must finish operations by deadlines. Hard real time: missing deadline causes failure. Soft real time: missing deadline results in degraded performance.  Many systems are multi-rate: must handle operations at widely varying rates.

14 13 ECE 354 © Moritz 2009, some slides modified from Moritz/Koren/Burleson, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 Non-functional requirements  Many embedded systems are mass-market items that must have low manufacturing costs. Limited memory, microprocessor power, etc.  Power consumption is critical in battery-powered devices. Excessive power consumption increases system cost even in wall-powered devices.

15 14 ECE 354 © Moritz 2009, some slides modified from Moritz/Koren/Burleson, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 Design teams  Often designed by a small team of designers.  Often must meet tight deadlines. 6 month market window is common. E.g., can’t miss back-to-school window for calculator.

16 15 ECE 354 © Moritz 2009, some slides modified from Moritz/Koren/Burleson, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 Microprocessors in Embedded Systems

17 16 ECE 354 © Moritz 2009, some slides modified from Moritz/Koren/Burleson, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 Microprocessor alternatives for embedded systems  Ordinary microprocessor: CPU plus on-chip cache units.  Microcontroller: includes I/O devices, on-board memory.  Digital signal processor (DSP): microprocessor optimized for digital signal processing.  Hard core vs. soft core.  Typical embedded word sizes: 8-bit, 16-bit, 32- bit.

18 17 ECE 354 © Moritz 2009, some slides modified from Moritz/Koren/Burleson, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 Embedded microprocessors  ARM, MIPS, Power PC, Freescale, 8051, X86  Various purposes Networks – MIPS Mobile phone – ARM dominated Industrial – Freescale Coldfire Security – 8051 based, Infineon High performance – X86, Intel Epic, other VLIW and superscalars

19 18 ECE 354 © Moritz 2009, some slides modified from Moritz/Koren/Burleson, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 Von Neumann CPU Architecture  Memory holds data and instructions.  Central processing unit (CPU) fetches instructions from memory. Separation between CPU and memory distinguishes programmable computer.  CPU registers: program counter (PC) general-purpose registers

20 19 ECE 354 © Moritz 2009, some slides modified from Moritz/Koren/Burleson, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 CPU + memory memory CPU PC address data IRADD r5,r1,r3 200 ADD r5,r1,r3

21 20 ECE 354 © Moritz 2009, some slides modified from Moritz/Koren/Burleson, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 Harvard architecture CPU PC data memory program memory address data address instructions IR

22 21 ECE 354 © Moritz 2009, some slides modified from Moritz/Koren/Burleson, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 RISC vs. CISC  Complex instruction set computer (CISC): many addressing modes most operations can access memory variable length instructions  Reduced instruction set computer (RISC): only load/store can access memory fixed-length instructions  Instruction set architectures – characteristics: Fixed vs. variable length. Addressing modes. Number of operands. Types of operands.

23 22 ECE 354 © Moritz 2009, some slides modified from Moritz/Koren/Burleson, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 Multiple implementations of an ISA  Instruction set architectures may have several implementations: varying clock speeds; different bus widths; different cache sizes; etc.

24 23 ECE 354 © Moritz 2009, some slides modified from Moritz/Koren/Burleson, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 Pipelining  Execute several instructions simultaneously but at different stages.  Pipeline hazards  Simple three-stage pipe: fetchdecodeexecutememory

25 24 ECE 354 © Moritz 2009, some slides modified from Moritz/Koren/Burleson, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 Soft Core Processors  Are soft, i.e. specified through field programming just like programmable logic Shipped as hardware description files, which can be mapped onto FPGA. e.g: Nios 2. Are bundled with software development tools (compiler, simulator, etc.)  Offer flexibility as microprocessor parameters can be tuned to the application with tight on-chip interconnection with additional circuitry.  Designs can be marketed quickly. You can test and validate many designs quickly without making any specific board; no soldering and no wiring!

26 25 ECE 354 © Moritz 2009, some slides modified from Moritz/Koren/Burleson, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 What is Nios 2?  A 32-bit soft core processor from Altera  Comes in three flavors: Fast, Standard, Light  The three cores trade FPGA area and power consumption for speed of execution.  Is a RISC, Harvard Architecture: Simple instructions, separate data and instruction memories.  Has 32 levels of interrupts.  Uses the Avalon Bus interface  Programs compiled using GNU C/C++ toolchain.

27 26 ECE 354 © Moritz 2009, some slides modified from Moritz/Koren/Burleson, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 Nios 2 Architecture:

28 27 ECE 354 © Moritz 2009, some slides modified from Moritz/Koren/Burleson, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 Three forms of Nios 2:  Nios II/f—The Nios II/f “fast” core is designed for fast performance. As a result, this core presents the most configuration options allowing you to fine-tune the processor for performance.  Nios II/s—The Nios II/s “standard” core is designed for small size while maintaining performance.  Nios II/e—The Nios II/e “economy” core is designed to achieve the smallest possible core size. As a result, this core has a limited feature set, and many settings are not available when the Nios II/e core is selected.  All three are available to you !

29 28 ECE 354 © Moritz 2009, some slides modified from Moritz/Koren/Burleson, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 Selection in SOPC (System On a Programmable Chip):

30 29 ECE 354 © Moritz 2009, some slides modified from Moritz/Koren/Burleson, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 Why use microprocessors?  Alternatives: random logic on a field- programmable gate arrays (FPGAs), custom logic, etc.  Microprocessors are often very efficient: can use same logic to perform many different functions.  Microprocessors simplify the design of families of products.

31 30 ECE 354 © Moritz 2009, some slides modified from Moritz/Koren/Burleson, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 The performance paradox  Microprocessors use much more logic to implement a function than does custom logic.  But microprocessors are often at least as fast: heavily pipelined; sophisticated design - large design teams; aggressive VLSI technology.

32 31 ECE 354 © Moritz 2009, some slides modified from Moritz/Koren/Burleson, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 Power  Custom logic is a clear winner for low power devices.  Modern microprocessors offer features to help control power consumption.  Software design techniques can help reduce power consumption.

33 32 ECE 354 © Moritz 2009, some slides modified from Moritz/Koren/Burleson, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 Design Aspects In Embedded Systems

34 33 ECE 354 © Moritz 2009, some slides modified from Moritz/Koren/Burleson, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 Challenges in embedded system design  How 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?

35 34 ECE 354 © Moritz 2009, some slides modified from Moritz/Koren/Burleson, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 Design methodologies  A procedure for designing a system.  Understanding your methodology helps you ensure you didn’t skip anything.  Compilers, software engineering tools, computer- aided design (CAD) tools, etc., can be used to: help automate methodology steps; keep track of the methodology itself.  Altera CAD tools: Quartus 2, SOPC, Nios 2 IDE (Integrated Development Environment).

36 35 ECE 354 © Moritz 2009, some slides modified from Moritz/Koren/Burleson, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 Design goals  Performance. Overall speed, deadlines.  Functionality and user interface.  Manufacturing cost.  Power consumption.  Other requirements (physical size, etc.)

37 36 ECE 354 © Moritz 2009, some slides modified from Moritz/Koren/Burleson, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 Levels of abstraction requirements specification architecture component design system integration

38 37 ECE 354 © Moritz 2009, some slides modified from Moritz/Koren/Burleson, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 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.

39 38 ECE 354 © Moritz 2009, some slides modified from Moritz/Koren/Burleson, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 Typical CAD design flow:

40 39 ECE 354 © Moritz 2009, some slides modified from Moritz/Koren/Burleson, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 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.  Example: SOPC for Hardware design and Nios 2 IDE for Software Design.

41 40 ECE 354 © Moritz 2009, some slides modified from Moritz/Koren/Burleson, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 JTAG - TESTING  JTAG - Joint Test Action Group: IEEE 1149.1 standard entitled: Standard Test Access Port and Boundary-Scan Architecture for test access ports used for testing printed circuit boards (and chips) using boundary scan.  Currently used also for programming embedded devices. Most FPGAs and PLDs are programmed via a JTAG port.  JTAG ports commonly available in ICs Boundary scan, scan chains, mbist, logic bist connected Chips chained together with Jtag signals and connected to main JTAG interface on PCB

42 41 ECE 354 © Moritz 2009, some slides modified from Moritz/Koren/Burleson, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 SOPC  S ystem O n a P rogrammable C hip – a hardware development tool.  Used for integrating various hardware components together like: Microprocessors, such as the Nios II processor Timers Serial communication interfaces: UART, SPI General purpose I/O Digital signal processing (DSP) functions Communications peripherals Interfaces to off-chip devices Memory controllers Buses and bridges Application-specific standard products (ASSP) Application-specific integrated circuits (ASIC) Processors  Generates files in Verilog or VHDL which can be added to the Quartus 2 project.

43 42 ECE 354 © Moritz 2009, some slides modified from Moritz/Koren/Burleson, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 Example SOPC system:

44 43 ECE 354 © Moritz 2009, some slides modified from Moritz/Koren/Burleson, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 SOPC system having NIOS:

45 44 ECE 354 © Moritz 2009, some slides modified from Moritz/Koren/Burleson, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005

46 45 ECE 354 © Moritz 2009, some slides modified from Moritz/Koren/Burleson, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 Summary  Embedded computers are all around us. Many systems have complex embedded hardware and software.  Embedded systems pose many design challenges: design time, deadlines, power, etc.  Design methodologies help us manage the design process.  CAD tools like SOPC can reduce design time.

47 46 ECE 354 © Moritz 2009, some slides modified from Moritz/Koren/Burleson, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 What’s Next in Lecture 2?  We will peek inside CPU, addressing, assembly languages etc.  You will learn about I/Os and Caches.  You will learn about some cool features of SOPC and Nios 2 IDE !

48 47 ECE 354 © Moritz 2009, some slides modified from Moritz/Koren/Burleson, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 Tentative graduate TA/undergraduate IA Lab Hours  Monday 1-5 (4 Hours) Dusung  Tuesday 1-5 (4 Hours) Dusung  Wednesday 1-5 (4 Hours) Felipe  Thursday 1-5 (4 Hours) Felipe, Timothy  Friday 1-5 (4 Hours) Timothy  20 Hours weekly

49 48 ECE 354 © Moritz 2009, some slides modified from Moritz/Koren/Burleson, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 Pointers for Demos A few pointers for your demos: - each demo will be 15-30 minutes, split as follows: 5-10 minutes of questions from the Prof covering the lecture, reading, quiz and lab. 5-10 minutes where you demonstrate your work, 5-10 minutes of follow-up questions about your demo. - rehearse your demo beforehand to make sure everything works. - questions will be addressed to individual team members to make sure both of you know what's going on. Be prepared to indicate who worked on which aspects of the project. But you should both be able to answer all questions about your code and demo. - questions might include : 1) terminology (what is a NIOS?, how many bits wide is it? What is Avalon bus?) 2) concepts, (why is a soft-core preferable to a hard-core, why not?) 3) what-ifs? (what if a particular line of your code is changed or omitted?)


Download ppt "1 ECE 354 © Moritz 2009, some slides modified from Moritz/Koren/Burleson, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 ECE354 Course Info."

Similar presentations


Ads by Google