0528abdc4641e7532a0d344814c02639.ppt
- Количество слайдов: 20
Embedded Systems (Cyber-Physical Systems): Introduction
Course goals: understand the major issues in embedded systems development and learn about some commonly available tools to quickly and efficiently produce embedded systems for specific applicataion Course overview: Syllabus: text, references, grading, etc. Schedule: will be updated regularly; lectures, assignments, labs Project / Team formation Student survey
A: a special-purpose processor, with associated software, for a specific application or set of applications; has ONLY the hardware / software resources needed for the application. Architecture: (Peckol, ch 11): “SAFER”: (virtual) machine model: clearly separated “MORE EFFICIENT”: common implementation: layers upper layers may have access to some lower-level functions:
Some common embedded system implementations --specific processor architectures: Intel 8051, ARM, PIC, Power. PC, … --FPGA prototypes and implementations: Altera, Xilinx, … --ASICs
Processor Examples Control “Harvard architecture”: --PIC processor family Instruc. I/O “von Neumann architecture”: Data ALU Control --simple processor --m. P 3 processor I/O --MIPS processor --NIOS II processor core (Altera “soft core” processor) Memory Data + Instruc. ALU 5
PIC processor family: processor is fixed, developer programs it Reference: http: //en. wikipedia. org/wiki/PIC_microcontroller • PIC: peripheral interface controller • Originally (~1975) for offloading I/O functions from a CPU • Harvard architecture: data and instructions (“code”) are stored separately—thus a data item and an instruction do not need to be the same length • Newer versions have a stack • One accumulator (referred to as W), but memory is usually referred to as a “register file” • Some versions allow a type of indirect addressing • Usually referred to as a RISC machine; may have up to 70 instructions • May be able to access external memory (newer versions) • Many development tools & languages available Data “Code” (Instructions) 6
Hardware basis in this course: Altera FPGAs (PLAs) FPGA (EXAMPLE) CARRY IN GLOBAL BUS IN BUS OUT BUS LOGIC (LOOK-UP TABLE or LUT) CLOCK RESET MEM IN MEMORY (1 -BIT) MEM OUT LOCAL BUS RAM BLOCK CARRY OUT SINGLE FPGA CELL
DESIGNING AN FPGA-BASED CIRCUIT / PROCESSOR: • USE HIGH-LEVEL ABSTRACTION, LIBRARIES, IP • USE HARDWARE DESCRIPTION LANGUAGES (Verilog, VHDL) • USE AUTOMATED TOOLS TO PRODUCE LAYOUT • MAY FINE-TUNE DESIGN DETAILS • DESIGN APPLICATION-SPECIFIC PROCESSOR / SOFTWARE • or USE / MODIFY PROCESSOR ARCHITECTURE PROVIDED BY FPGA MANUFACTORER (ALTERA: NIOS II)
Final product: “embedded system” Reference: http: //en. wikipedia. org/wiki/Embedded_system
Typical embedded system (implemented in FPGA): • Special-purpose “computer” designed for device it controls • user is provided with a processor with basic functionality • processor can be programmed in software • Additional features can be added using the FPGA resources to customize the design for a specific intended use • Processor core may be “hard” (built-in as part of the chip) or “soft” (using some of available FPGA resources. Ex: Altera Nios II processor) • Processor may have options—e. g. , number of registers, floating point units • Specialized CAD tools allow inclusion of additional functionality • Hardware / software codesign now becomes a possibility
Codesign: Strengths: Performance, Resource Usage Weaknesses: Flexibility, Design Productivity; The basic codesign process: Strengths: Flexibility, Design Productivity; Weaknesses: Performance, Resource Usage (diagram: course on codesign by Niemann, Univ. of Dortmund, Winter 2008)
Reference: http: //www. ece. cmu. edu/~koopman/iccd 96. html#introduction Much of the following information is taken from this site Typical embedded system properties: • Processor: application–specific, not general-purpose • Human interface: may be as simple as a flashing light or as complicated as real-time robotic vision. • I/O: analog I/O is typical • Diagnostic port: may be used for diagnosing the system that is being controlled -- not just for diagnosing the computer. • Special-purpose hardware: [field programmable (FPGA), application specific (ASIC), or even non-digital] may be used to increase performance or safety. • Operating system: typically must handle real-time processing (Note: “real-time” is NOT necessarily the same as “fast”) • Software: often has fixed function; specific to application. • Business considerations: often play a big role in design choices.
Examples (Koopman): * *Design change with cost above this magnitude can affect profitability, so typically needs management okay.
Design issues: • System may need to be real-time / reactive (does not mean “fast” necessarily) • Usually must be small and not weigh much • Must be safe and reliable • Must meet budget constraints (cost) • May need to work in harsh environmental conditions (e. g. , in an automobile) • May need to deal with security issues
System requirements: • Focus is on end-use capability, not on CPU performance, memory size, etc. • System software must be safe and reliable • Power usage should be low, depending on applications • System typically controls a physical system— sensors / actuators
Embedded system lifecycle / requirements: • Components—same component may work in several different systems—this can lower cost • Safety certification—must often meet rigorous requirements (e. g. , medical, aviation, automotive, military) • Recertification—if system is modified • Logistics / repair—accessibility is important • Upgrades—need to be handled efficiently • Component availability—may be long-term needs
“business model”: What are design / production costs? What is the life-cycle? Are there “product families”?
Design culture: Computer/ VLSI—simulate, simulate Mechanical/sensors—build, build Differing world views need to be reconciled
Skills an embedded systems designer needs (*this course; [not covered] ): • *C programming / programming • HDL: *Verilog / [VHDL] • Hardware design: *Altera FPGAs / [Xilinx …. ] • Computer architecture • *? A/D & D/A conversion (I/O) • Operating systems • *Real-time programming, operating systems • (*)Project skills: Writing/documentation; Engineering design; Teamwork; Managing • [Business training] i. e. , thorough knowledge of hardware and software design, implementation, and test + understanding of consumer/business issues
Lab 1: tonight, 825 Old Chem --student survey --ideally each student will have a laptop running windows (or possibly linux) --tools can be downloaded from the Altera site: http: //www. altera. com/education/univ/unv-index. html --boards: we would like to use the Altera DE-1 board, ideally each team will acquire one; to start we can do design and simulation --work on understanding how to implement simple circuits in Verilog and how to simulate them and get timing information (2 week assignment, due September 10)
0528abdc4641e7532a0d344814c02639.ppt