Building Whole Systems: an Overview

Size: px
Start display at page:

Download "Building Whole Systems: an Overview"

Transcription

1 1 (29) Building Whole Systems: an Overview In this lecture: System specification, design, and synthesis Hardware/software co-design Work tips Design challenges and trade-offs

2 2 (29) Ideal flow (Informal) Specification Abracadabra Implementation

3 2 (29) Ideal flow (Informal) Specification Abracadabra formalize choose platform decide architecture decide Hw/Sw synthesize optimize keep correctness Implementation

4 3 (29) Realistic flow Refine: Tools by Hand HL imp Verify model 1 imp Verify model 2 imp Verify model 3 Redesign Optimize full imp model

5 4 (29) Specs: Modeling vs. Synthesis Modeling: simple/focused specifications reason about the system have a reference behavior Synthesis: complete specifications produces the implementation complex/designer controlled refinement steps

6 5 (29) Modeling Different computational models: Finite State Machines,SpecCharts Process Networks Petri-Nets (Control) Data-Flow Graphs, Executable: VHDL, Verilog, SystemC, C#, MATLAB, BlueSpec

7 6 (29) Synthesis Historically: Hw/Sw distinction Sw compilation vs. Hw synthesis specific computational models, languages, tools abstraction level specific Vision: no distinction between Hw and Sw co-design, co-simulation, co-synthesis, unique language (SystemC, SystemVerilog? ) common tools (front-end) abstraction level independent

8 7 (29) Classic Design vs. Co-design Flow specification partition Classic Sw refine refine comm. extraction Hw refine refine compile synthesize implementation

9 7 (29) Classic Design vs. Co-design Flow Sw refine refine compile specification partition comm. extraction implementation Classic Hw refine refine synthesize Sw compile specification refine refine partition comm. extraction implementation Co-design Hw synthesize

10 8 (29) Hw/Sw co-design in a nutshell Late Hw/Sw partitioning: larger design space (fuzzy Hw/Sw border) allows for finer grain partitioning flexible (late architecture selection) more homogeneous system specification

11 8 (29) Hw/Sw co-design in a nutshell Late Hw/Sw partitioning: larger design space (fuzzy Hw/Sw border) allows for finer grain partitioning flexible (late architecture selection) more homogeneous system specification the problems: requires a powerful enough language to express both Hw and Sw at different abstraction levels appropriate tool support

12 9 (29) System Synthesis Issues neither Hw or Sw are fully functional Sw needs a Hw for implementation Target platform development: unit test Hw Sw Partition implement DONE! integrate and test Time

13 10 (29) Improved System Synthesis cross platform development: decide interfaces and write stubs develop Sw on an available machine + stubs develop Hw in parallel + tests in Sw port, integrate,test Host Sw Hw Target Sw Partition spec DONE! Time

14 11 (29) An Example Spec: load a pair of integers on the serial and display a pixel on the screen

15 11 (29) An Example Spec: load a pair of integers on the serial and display a pixel on the screen load integer and put pixel are Hw/Sw interfaces

16 11 (29) An Example Spec: load a pair of integers on the serial and display a pixel on the screen load integer and put pixel are Hw/Sw interfaces Hardware Developed in parallel Stubs: int LoadInt() {scanf} void PutPixel() {printf} Software: PutPixel(LoadInt(),LoadInt())

17 11 (29) An Example Spec: load a pair of integers on the serial and display a pixel on the screen load integer and put pixel are Hw/Sw interfaces Hardware Developed in parallel Stubs: host platform test int LoadInt() {scanf} void PutPixel() {printf} Software: PutPixel(LoadInt(),LoadInt())

18 11 (29) An Example Spec: load a pair of integers on the serial and display a pixel on the screen load integer and put pixel are Hw/Sw interfaces Hardware Developed in parallel (port) Stubs: int LoadInt() {scanf} void PutPixel() {printf} Re-write LoadInt and PutPixel using XIo_In,XIo_Out host platform test Software: PutPixel(LoadInt(),LoadInt()) target implementation

19 12 (29) Team Work

20 12 (29) Team Work make an initial detailed specification reduces useless discussions later reduces free interpretation, blaming others

21 12 (29) Team Work make an initial detailed specification reduces useless discussions later reduces free interpretation, blaming others distribute work wisely (Hw,Sw, Stubs, Integration, Testing, etc ) minimize interdependency allow for loads of parallel work

22 12 (29) Team Work make an initial detailed specification reduces useless discussions later reduces free interpretation, blaming others distribute work wisely (Hw,Sw, Stubs, Integration, Testing, etc ) minimize interdependency allow for loads of parallel work report your progress often

23 13 (29) More Work Tips start from working Hw and build around full re-design takes much time and effort

24 13 (29) More Work Tips start from working Hw and build around full re-design takes much time and effort do unit tests, simulate modules painful to detect bugs later

25 13 (29) More Work Tips start from working Hw and build around full re-design takes much time and effort do unit tests, simulate modules painful to detect bugs later use debuggers, printouts, leds, everything to make sure your system works

26 13 (29) More Work Tips start from working Hw and build around full re-design takes much time and effort do unit tests, simulate modules painful to detect bugs later use debuggers, printouts, leds, everything to make sure your system works write simple Sw tests for your Hw

27 13 (29) More Work Tips start from working Hw and build around full re-design takes much time and effort do unit tests, simulate modules painful to detect bugs later use debuggers, printouts, leds, everything to make sure your system works write simple Sw tests for your Hw if time is short, go around problems (patch bad Hw with Sw)

28 14 (29) Real-life design trade-offs (choices, optimizations, and fine tuning)

29 15 (29) Real-life restrictions Limited type and amount of resources Changing specifications Limited knowledge

30 16 (29) Limited Resources

31 16 (29) Limited Resources Time

32 16 (29) Limited Resources Time Tools Build (compilers, synthesis, technology) Test, debug, maintenance

33 16 (29) Limited Resources Time Tools Build (compilers, synthesis, technology) Test, debug, maintenance Target hardware support Type & amount of available IPs/chips Partially fixed architecture

34 16 (29) Limited Resources Time Tools Build (compilers, synthesis, technology) Test, debug, maintenance Target hardware support Type & amount of available IPs/chips Partially fixed architecture Target software support operating system, libraries, drivers

35 17 (29) Challenges

36 17 (29) Challenges Design using available components Select the most suitable architecture (cores and communication channels) Adapt the custom hardware/software to the available system Allow some flexibility, configurability (shifting specs.)

37 17 (29) Challenges Design using available components Select the most suitable architecture (cores and communication channels) Adapt the custom hardware/software to the available system Allow some flexibility, configurability (shifting specs.) Optimize Do not use more (area, memory, ) than you need Add Hw to speed up/simplify Sw (e.g. DMA ctrl)

38 17 (29) Challenges Design using available components Select the most suitable architecture (cores and communication channels) Adapt the custom hardware/software to the available system Allow some flexibility, configurability (shifting specs.) Optimize Do not use more (area, memory, ) than you need Add Hw to speed up/simplify Sw (e.g. DMA ctrl) Test & Debug

39 18 (29) Hw/architecture design techniques

40 18 (29) Hw/architecture design techniques Start with a simple, working design

41 18 (29) Hw/architecture design techniques Start with a simple, working design Expand gradually by adding tested IPs

42 18 (29) Hw/architecture design techniques Start with a simple, working design Expand gradually by adding tested IPs Design custom IPs only when necessary

43 18 (29) Hw/architecture design techniques Start with a simple, working design Expand gradually by adding tested IPs Design custom IPs only when necessary Communicating/shuffling data is usually the bottleneck, not computing: choose fast/many memories, buses

44 18 (29) Hw/architecture design techniques Start with a simple, working design Expand gradually by adding tested IPs Design custom IPs only when necessary Communicating/shuffling data is usually the bottleneck, not computing: choose fast/many memories, buses Improve/Optimize a working prototype

45 19 (29) Memory Band-width: VGA controller example 640x480 rrrbbbggg 60Hz

46 19 (29) Memory Band-width: VGA controller example 640x480x9x60 = 165,888 kb/s 640x480 rrrbbbggg 60Hz

47 19 (29) Memory Band-width: VGA controller example 640x480x9x60 = 165,888 kb/s 640x480 rrrbbbggg 60Hz = 5,184kw/s = 5.2Mw/s

48 19 (29) Memory Band-width: VGA controller example 640x480x9x60 = 165,888 kb/s 640x480 rrrbbbggg 60Hz = 5,184kw/s = 5.2Mw/s 100 MHz bus clock Approx. 1 word each 19 cycles (read access!)

49 20 (29) Memory Band-width: VGA controller example (II)

50 20 (29) Memory Band-width: VGA controller example (II) LMB_BRAM: Single read access: 1clock cyle/word no problem. Avg. Utilization due to ctrl = 5%

51 20 (29) Memory Band-width: VGA controller example (II) LMB_BRAM: Single read access: 1clock cyle/word no problem. Avg. Utilization due to ctrl = 5% PLB_BRAM: (plb_bram_if_ctrl.pdf) Single read: 6cc/w OK?. Avg. Utilization due to VGA ctrl =30% Burst reads: ~10cc/4x2ws = 1.25cc/w no problem. Avg. U = 7%

52 21 (29) Memory Band-width: VGA controller example (III)

53 21 (29) Memory Band-width: VGA controller example (III) PLB_DDR (plb_ddr.pdf) Single read: 14cc/2w OK?, avg. U = 35% Burst read: 16cc/2x2w ~ 4cc/w OK, avg. Utilization = 20%

54 21 (29) Memory Band-width: VGA controller example (III) PLB_DDR (plb_ddr.pdf) Single read: 14cc/2w OK?, avg. U = 35% Burst read: 16cc/2x2w ~ 4cc/w OK, avg. Utilization = 20% PLB_EMC (SRAM,Flash): 8-bit access Single read: 10cc/B (40/w) problem. Bus cannot cope: avg. U = 200% Burst read, etc.

55 22 (29) Variable Band-width: VGA controller example (IV) 640x480x9b 60Hz hsynch Pixel clock (pc) = 25MHz Bus clock (bc) = 100MHz Total pixels 800x525

56 22 (29) Variable Band-width: VGA controller example (IV) 640x480x9b 60Hz Total pixels 800x525 hsynch Pixel clock (pc) = 25MHz Bus clock (bc) = 100MHz Instant Demand: 0w/bc

57 22 (29) Variable Band-width: VGA controller example (IV) 640x480x9b 60Hz Total pixels 800x525 hsynch Pixel clock (pc) = 25MHz Bus clock (bc) = 100MHz Instant Demand: 0w/bc Instant Demand: 9b/pc = 0.07 w/bc 1w/14bc

58 22 (29) Variable Band-width: VGA controller example (IV) 640x480x9b 60Hz Total pixels 800x525 Band-width demand changes at run-time: High band-width may be too high for the chosen bus Smoother bus utilization hsynch Pixel clock (pc) = 25MHz Bus clock (bc) = 100MHz Instant Demand: 0w/bc Instant Demand: 9b/pc = 0.07 w/bc 1w/14bc

59 22 (29) Variable Band-width: VGA controller example (IV) 640x480x9b 60Hz Total pixels 800x525 Band-width demand changes at run-time: High band-width may be too high for the chosen bus Smoother bus utilization Solution: BUFFERING! hsynch Pixel clock (pc) = 25MHz Bus clock (bc) = 100MHz Instant Demand: 0w/bc Instant Demand: 9b/pc = 0.07 w/bc 1w/14bc

60 23 (29) Variable Band-width: VGA controller example (V)

61 23 (29) Variable Band-width: VGA controller example (V) Keep the buffer filled with data

62 23 (29) Variable Band-width: VGA controller example (V) Keep the buffer filled with data Buffer size?

63 23 (29) Variable Band-width: VGA controller example (V) Keep the buffer filled with data Buffer size? Easy way out: full frame - not always possible

64 23 (29) Variable Band-width: VGA controller example (V) Keep the buffer filled with data Buffer size? Easy way out: full frame - not always possible Trial and error: start with a small buffer and increase it if the controller starves.

65 23 (29) Variable Band-width: VGA controller example (V) Keep the buffer filled with data Buffer size? Easy way out: full frame - not always possible Trial and error: start with a small buffer and increase it if the controller starves. Analysis:

66 23 (29) Variable Band-width: VGA controller example (V) Keep the buffer filled with data Buffer size? Easy way out: full frame - not always possible Trial and error: start with a small buffer and increase it if the controller starves. Analysis: Compute the avg. rate (19bc/w ~ 0.052w/bc)

67 23 (29) Variable Band-width: VGA controller example (V) Keep the buffer filled with data Buffer size? Easy way out: full frame - not always possible Trial and error: start with a small buffer and increase it if the controller starves. Analysis: Compute the avg. rate (19bc/w ~ 0.052w/bc) Size = Longest_time_without_using_data x Rate (last pixel to first pixel delay) vhdl: ( )x800x0.052 = 1914 words (~2kw)

68 24 (29) Fine Tuning: VGA controller example (VI) Initial assumption: all bits in a word carry information! complex decoder and unpacking method Bus transfer Memory organisation

69 24 (29) Fine Tuning: VGA controller example (VI) Initial assumption: all bits in a word carry information! complex decoder and unpacking method Solutions: 1. Reduce bpp: 8 (4p/w) 2. Align & discard bits Required band-width and buffer size change! Bus transfer Memory organisation Translate 8 to 9 bits: 1. conversion table 2. default bit No conversion required Decoder not so simple

70 25 (29) IP Configuration Cache type/size Memory sizes Bus width Timing/wait states

71 26 (29) Memory Size Issues: SRAM executable example

72 26 (29) Memory Size Issues: SRAM executable example problem: the program does not fit in the available on-chip BRAM

73 26 (29) Memory Size Issues: SRAM executable example problem: the program does not fit in the available on-chip BRAM SOLUTIONS:

74 26 (29) Memory Size Issues: SRAM executable example problem: the program does not fit in the available on-chip BRAM SOLUTIONS: compile with -Os, remove debug info.

75 26 (29) Memory Size Issues: SRAM executable example problem: the program does not fit in the available on-chip BRAM SOLUTIONS: compile with -Os, remove debug info. put the stack and heap in off-chip memories

76 26 (29) Memory Size Issues: SRAM executable example problem: the program does not fit in the available on-chip BRAM SOLUTIONS: compile with -Os, remove debug info. put the stack and heap in off-chip memories need to use PLB_DDR (SDRAM) or PLB_EMC (SRAM)

77 26 (29) Memory Size Issues: SRAM executable example problem: the program does not fit in the available on-chip BRAM SOLUTIONS: compile with -Os, remove debug info. put the stack and heap in off-chip memories need to use PLB_DDR (SDRAM) or PLB_EMC (SRAM) execute from SRAM

78 26 (29) Memory Size Issues: SRAM executable example problem: the program does not fit in the available on-chip BRAM SOLUTIONS: compile with -Os, remove debug info. put the stack and heap in off-chip memories need to use PLB_DDR (SDRAM) or PLB_EMC (SRAM) execute from SRAM need to use PLB_EMC

79 26 (29) Memory Size Issues: SRAM executable example problem: the program does not fit in the available on-chip BRAM SOLUTIONS: compile with -Os, remove debug info. put the stack and heap in off-chip memories need to use PLB_DDR (SDRAM) or PLB_EMC (SRAM) execute from SRAM need to use PLB_EMC boot from BRAM, jump to an executable in SRAM

80 26 (29) Memory Size Issues: SRAM executable example problem: the program does not fit in the available on-chip BRAM SOLUTIONS: compile with -Os, remove debug info. put the stack and heap in off-chip memories need to use PLB_DDR (SDRAM) or PLB_EMC (SRAM) execute from SRAM need to use PLB_EMC boot from BRAM, jump to an executable in SRAM use caches

81 27 (29) Software fine tuning To adjust code speed and size: Algorithm selection (e.g. bubble vs. quick sort) Compiler optimization options Linker scripts segment splitting: distribute code,stack,heap, Driver choices low level, small, little functionality vs. high level, large, loads of functionality

82 28 (29) Drivers - Hw/Sw interface: VGA controller example (VII)

83 28 (29) Drivers - Hw/Sw interface: VGA controller example (VII) 8bpp (4p/w) Easy to modify single pixels (Xio_Out8) by writing single bytes

84 28 (29) Drivers - Hw/Sw interface: VGA controller example (VII) 8bpp (4p/w) Easy to modify single pixels (Xio_Out8) by writing single bytes 9bpp (3p/w) Single pixels: read, modify & write Exact address/offset computation more complex

85 28 (29) Drivers - Hw/Sw interface: VGA controller example (VII) 8bpp (4p/w) Easy to modify single pixels (Xio_Out8) by writing single bytes 9bpp (3p/w) Single pixels: read, modify & write Exact address/offset computation more complex Packed 9bpp Even harder to compute the offset/address, build masks, access split pixels, etc.

86 29 (29) Conclusions

87 29 (29) Conclusions Trade-offs are very common (e.g. band-width vs. simplicity, Hw vs. Sw)

88 29 (29) Conclusions Trade-offs are very common (e.g. band-width vs. simplicity, Hw vs. Sw) Hardware, software, and interfaces must be designed together

89 29 (29) Conclusions Trade-offs are very common (e.g. band-width vs. simplicity, Hw vs. Sw) Hardware, software, and interfaces must be designed together Knowledge about the available components is essential

Building Whole Systems: an Overview

Building Whole Systems: an Overview 1 Building Whole Systems: an Overview In this lecture: System specification, design, and synthesis Hardware/software co-design Work tips Design challenges and trade-offs 2 Ideal flow (Informal) Specification

More information

Real-Life Design Trade-Offs

Real-Life Design Trade-Offs Real-Life Design Trade-Offs (choices, optimizations, fine tuning) EDAN85: Lecture 3 Real-life restrictions Limited type and amount of resources Changing specifications Limited knowledge 2 Limited Resources

More information

System Level Design with IBM PowerPC Models

System Level Design with IBM PowerPC Models September 2005 System Level Design with IBM PowerPC Models A view of system level design SLE-m3 The System-Level Challenges Verification escapes cost design success There is a 45% chance of committing

More information

ESE Back End 2.0. D. Gajski, S. Abdi. (with contributions from H. Cho, D. Shin, A. Gerstlauer)

ESE Back End 2.0. D. Gajski, S. Abdi. (with contributions from H. Cho, D. Shin, A. Gerstlauer) ESE Back End 2.0 D. Gajski, S. Abdi (with contributions from H. Cho, D. Shin, A. Gerstlauer) Center for Embedded Computer Systems University of California, Irvine http://www.cecs.uci.edu 1 Technology advantages

More information

Hardware-Software Codesign

Hardware-Software Codesign Hardware-Software Codesign 8. Performance Estimation Lothar Thiele 8-1 System Design specification system synthesis estimation -compilation intellectual prop. code instruction set HW-synthesis intellectual

More information

Hardware/Software Co-design

Hardware/Software Co-design Hardware/Software Co-design Zebo Peng, Department of Computer and Information Science (IDA) Linköping University Course page: http://www.ida.liu.se/~petel/codesign/ 1 of 52 Lecture 1/2: Outline : an Introduction

More information

NIOS II Pixel Display

NIOS II Pixel Display NIOS Pixel Display SDRAM 512Mb Clock Reset_bar CPU Onchip Memory External Memory Controller JTAG UART Pixel DMA Resampler Scaler Dual Port FIFO VGA Controller Timer System ID VGA Connector PLL 2 tj SDRAM

More information

Codesign Framework. Parts of this lecture are borrowed from lectures of Johan Lilius of TUCS and ASV/LL of UC Berkeley available in their web.

Codesign Framework. Parts of this lecture are borrowed from lectures of Johan Lilius of TUCS and ASV/LL of UC Berkeley available in their web. Codesign Framework Parts of this lecture are borrowed from lectures of Johan Lilius of TUCS and ASV/LL of UC Berkeley available in their web. Embedded Processor Types General Purpose Expensive, requires

More information

Lecture 7: Introduction to Co-synthesis Algorithms

Lecture 7: Introduction to Co-synthesis Algorithms Design & Co-design of Embedded Systems Lecture 7: Introduction to Co-synthesis Algorithms Sharif University of Technology Computer Engineering Dept. Winter-Spring 2008 Mehdi Modarressi Topics for today

More information

Optimizing HW/SW Partition of a Complex Embedded Systems. Simon George November 2015.

Optimizing HW/SW Partition of a Complex Embedded Systems. Simon George November 2015. Optimizing HW/SW Partition of a Complex Embedded Systems Simon George November 2015 Zynq-7000 All Programmable SoC HP ACP GP Page 2 Zynq UltraScale+ MPSoC Page 3 HW/SW Optimization Challenges application()

More information

Prototyping Architectural Support for Program Rollback Using FPGAs

Prototyping Architectural Support for Program Rollback Using FPGAs Prototyping Architectural Support for Program Rollback Using FPGAs Radu Teodorescu and Josep Torrellas http://iacoma.cs.uiuc.edu University of Illinois at Urbana-Champaign Motivation Problem: Software

More information

ARM Processors for Embedded Applications

ARM Processors for Embedded Applications ARM Processors for Embedded Applications Roadmap for ARM Processors ARM Architecture Basics ARM Families AMBA Architecture 1 Current ARM Core Families ARM7: Hard cores and Soft cores Cache with MPU or

More information

System-level simulation (HW/SW co-simulation) Outline. EE290A: Design of Embedded System ASV/LL 9/10

System-level simulation (HW/SW co-simulation) Outline. EE290A: Design of Embedded System ASV/LL 9/10 System-level simulation (/SW co-simulation) Outline Problem statement Simulation and embedded system design functional simulation performance simulation POLIS implementation partitioning example implementation

More information

EE382V: System-on-a-Chip (SoC) Design

EE382V: System-on-a-Chip (SoC) Design EE382V: System-on-a-Chip (SoC) Design Lecture 8 HW/SW Co-Design Sources: Prof. Margarida Jacome, UT Austin Andreas Gerstlauer Electrical and Computer Engineering University of Texas at Austin gerstl@ece.utexas.edu

More information

Introduction. Definition. What is an embedded system? What are embedded systems? Challenges in embedded computing system design. Design methodologies.

Introduction. Definition. What is an embedded system? What are embedded systems? Challenges in embedded computing system design. Design methodologies. Introduction What are embedded systems? Challenges in embedded computing system design. Design methodologies. What is an embedded system? Communication Avionics Automobile Consumer Electronics Office Equipment

More information

Appendix SystemC Product Briefs. All product claims contained within are provided by the respective supplying company.

Appendix SystemC Product Briefs. All product claims contained within are provided by the respective supplying company. Appendix SystemC Product Briefs All product claims contained within are provided by the respective supplying company. Blue Pacific Computing BlueWave Blue Pacific s BlueWave is a simulation GUI, including

More information

ECEN 449: Microprocessor System Design Department of Electrical and Computer Engineering Texas A&M University

ECEN 449: Microprocessor System Design Department of Electrical and Computer Engineering Texas A&M University ECEN 449: Microprocessor System Design Department of Electrical and Computer Engineering Texas A&M University Prof. Sunil Khatri TA: Monther Abusultan (Lab exercises created by A. Targhetta / P. Gratz)

More information

Test and Verification Solutions. ARM Based SOC Design and Verification

Test and Verification Solutions. ARM Based SOC Design and Verification Test and Verification Solutions ARM Based SOC Design and Verification 7 July 2008 1 7 July 2008 14 March 2 Agenda System Verification Challenges ARM SoC DV Methodology ARM SoC Test bench Construction Conclusion

More information

A design methodology for TTA protocol processors

A design methodology for TTA protocol processors A design methodology for TTA protocol processors Presentation by Seppo Virtanen seppo.virtanen@utu.fi http://users.utu.fi/seaavi Embedded Systems lab, Turku Centre for Computer Science (TUCS) http://www.tucs.fi

More information

Introduction to Computer Systems

Introduction to Computer Systems CS-213 Introduction to Computer Systems Yan Chen Topics: Staff, text, and policies Lecture topics and assignments Lab rationale CS 213 F 06 Teaching staff Instructor TA Prof. Yan Chen (Thu 2-4pm, Tech

More information

SimXMD Simulation-based HW/SW Co-debugging for field-programmable Systems-on-Chip

SimXMD Simulation-based HW/SW Co-debugging for field-programmable Systems-on-Chip SimXMD Simulation-based HW/SW Co-debugging for field-programmable Systems-on-Chip Ruediger Willenberg and Paul Chow High-Performance Reconfigurable Computing Group University of Toronto September 4, 2013

More information

Cadence SystemC Design and Verification. NMI FPGA Network Meeting Jan 21, 2015

Cadence SystemC Design and Verification. NMI FPGA Network Meeting Jan 21, 2015 Cadence SystemC Design and Verification NMI FPGA Network Meeting Jan 21, 2015 The High Level Synthesis Opportunity Raising Abstraction Improves Design & Verification Optimizes Power, Area and Timing for

More information

Optimizing ARM SoC s with Carbon Performance Analysis Kits. ARM Technical Symposia, Fall 2014 Andy Ladd

Optimizing ARM SoC s with Carbon Performance Analysis Kits. ARM Technical Symposia, Fall 2014 Andy Ladd Optimizing ARM SoC s with Carbon Performance Analysis Kits ARM Technical Symposia, Fall 2014 Andy Ladd Evolving System Requirements Processor Advances big.little Multicore Unicore DSP Cortex -R7 Block

More information

CS650 Computer Architecture. Lecture 9 Memory Hierarchy - Main Memory

CS650 Computer Architecture. Lecture 9 Memory Hierarchy - Main Memory CS65 Computer Architecture Lecture 9 Memory Hierarchy - Main Memory Andrew Sohn Computer Science Department New Jersey Institute of Technology Lecture 9: Main Memory 9-/ /6/ A. Sohn Memory Cycle Time 5

More information

L2 - C language for Embedded MCUs

L2 - C language for Embedded MCUs Formation C language for Embedded MCUs: Learning how to program a Microcontroller (especially the Cortex-M based ones) - Programmation: Langages L2 - C language for Embedded MCUs Learning how to program

More information

08 - Address Generator Unit (AGU)

08 - Address Generator Unit (AGU) October 2, 2014 Todays lecture Memory subsystem Address Generator Unit (AGU) Schedule change A new lecture has been entered into the schedule (to compensate for the lost lecture last week) Memory subsystem

More information

Digital Blocks Semiconductor IP

Digital Blocks Semiconductor IP Digital Blocks Semiconductor IP TFT Controller General Description The Digital Blocks TFT Controller IP Core interfaces a microprocessor and frame buffer memory via the AMBA 2.0 to a TFT panel. In an FPGA,

More information

FPGA-Accelerated Instrumentation

FPGA-Accelerated Instrumentation ROTOFLEX: FGA-Accelerated Instrumentation Michael K. apamichael, Eric S. Chung, James C. Hoe, Babak Falsafi, Ken Mai papamix@cs.cmu.edu, {echung, jhoe, babak, kenmai}@ece.cmu.edu ROTOFLEX Computer Architecture

More information

100M Gate Designs in FPGAs

100M Gate Designs in FPGAs 100M Gate Designs in FPGAs Fact or Fiction? NMI FPGA Network 11 th October 2016 Jonathan Meadowcroft, Cadence Design Systems Why in the world, would I do that? ASIC replacement? Probably not! Cost prohibitive

More information

Introduction to Computer Systems

Introduction to Computer Systems Introduction to Computer Systems Today: Welcome to EECS 213 Lecture topics and assignments Next time: Bits & bytes and some Boolean algebra Fabián E. Bustamante, Spring 2010 Welcome to Intro. to Computer

More information

Introduction to Computer Systems

Introduction to Computer Systems Introduction to Computer Systems Today:! Welcome to EECS 213! Lecture topics and assignments Next time:! Bits & bytes! and some Boolean algebra Fabián E. Bustamante, 2007 Welcome to Intro. to Computer

More information

SimXMD: Simulation-based HW/SW Co-Debugging for FPGA Embedded Systems

SimXMD: Simulation-based HW/SW Co-Debugging for FPGA Embedded Systems FPGAworld 2014 SimXMD: Simulation-based HW/SW Co-Debugging for FPGA Embedded Systems Ruediger Willenberg and Paul Chow High-Performance Reconfigurable Computing Group University of Toronto September 9,

More information

The Use Of Virtual Platforms In MP-SoC Design. Eshel Haritan, VP Engineering CoWare Inc. MPSoC 2006

The Use Of Virtual Platforms In MP-SoC Design. Eshel Haritan, VP Engineering CoWare Inc. MPSoC 2006 The Use Of Virtual Platforms In MP-SoC Design Eshel Haritan, VP Engineering CoWare Inc. MPSoC 2006 1 MPSoC Is MP SoC design happening? Why? Consumer Electronics Complexity Cost of ASIC Increased SW Content

More information

A Deterministic Flow Combining Virtual Platforms, Emulation, and Hardware Prototypes

A Deterministic Flow Combining Virtual Platforms, Emulation, and Hardware Prototypes A Deterministic Flow Combining Virtual Platforms, Emulation, and Hardware Prototypes Presented at Design Automation Conference (DAC) San Francisco, CA, June 4, 2012. Presented by Chuck Cruse FPGA Hardware

More information

SimXMD Co-Debugging Software and Hardware in FPGA Embedded Systems

SimXMD Co-Debugging Software and Hardware in FPGA Embedded Systems University of Toronto FPGA Seminar SimXMD Co-Debugging Software and Hardware in FPGA Embedded Systems Ruediger Willenberg and Paul Chow High-Performance Reconfigurable Computing Group University of Toronto

More information

Hardware Software Codesign of Embedded Systems

Hardware Software Codesign of Embedded Systems Hardware Software Codesign of Embedded Systems Rabi Mahapatra Texas A&M University Today s topics Course Organization Introduction to HS-CODES Codesign Motivation Some Issues on Codesign of Embedded System

More information

SYSTEMS ON CHIP (SOC) FOR EMBEDDED APPLICATIONS

SYSTEMS ON CHIP (SOC) FOR EMBEDDED APPLICATIONS SYSTEMS ON CHIP (SOC) FOR EMBEDDED APPLICATIONS Embedded System System Set of components needed to perform a function Hardware + software +. Embedded Main function not computing Usually not autonomous

More information

Chris Riesbeck, Fall Introduction to Computer Systems

Chris Riesbeck, Fall Introduction to Computer Systems Chris Riesbeck, Fall 2011 Introduction to Computer Systems Welcome to Intro. to Computer Systems Everything you need to know http://www.cs.northwestern.edu/academics/courses/213/ Instructor: Chris Riesbeck

More information

Multimedia Decoder Using the Nios II Processor

Multimedia Decoder Using the Nios II Processor Multimedia Decoder Using the Nios II Processor Third Prize Multimedia Decoder Using the Nios II Processor Institution: Participants: Instructor: Indian Institute of Science Mythri Alle, Naresh K. V., Svatantra

More information

ReconOS: An RTOS Supporting Hardware and Software Threads

ReconOS: An RTOS Supporting Hardware and Software Threads ReconOS: An RTOS Supporting Hardware and Software Threads Enno Lübbers and Marco Platzner Computer Engineering Group University of Paderborn marco.platzner@computer.org Overview the ReconOS project programming

More information

AS part of my MPhil course Advanced Computer Design, I was required to choose or define a challenging hardware project

AS part of my MPhil course Advanced Computer Design, I was required to choose or define a challenging hardware project OMAR CHOUDARY, ADVANCED COMPUTER DESIGN, APRIL 2010 1 From Verilog to Bluespec: Tales of an AES Implementation for FPGAs Omar Choudary, University of Cambridge Abstract In this paper I present a combined

More information

Hardware Modelling. Design Flow Overview. ECS Group, TU Wien

Hardware Modelling. Design Flow Overview. ECS Group, TU Wien Hardware Modelling Design Flow Overview ECS Group, TU Wien 1 Outline Difference: Hardware vs. Software Design Flow Steps Specification Realisation Verification FPGA Design Flow 2 Hardware vs. Software:

More information

Co-synthesis and Accelerator based Embedded System Design

Co-synthesis and Accelerator based Embedded System Design Co-synthesis and Accelerator based Embedded System Design COE838: Embedded Computer System http://www.ee.ryerson.ca/~courses/coe838/ Dr. Gul N. Khan http://www.ee.ryerson.ca/~gnkhan Electrical and Computer

More information

DATA STRUCTURES AND ALGORITHMS

DATA STRUCTURES AND ALGORITHMS DATA STRUCTURES AND ALGORITHMS Sorting algorithms External sorting, Search Summary of the previous lecture Fast sorting algorithms Quick sort Heap sort Radix sort Running time of these algorithms in average

More information

Field Programmable Gate Array (FPGA)

Field Programmable Gate Array (FPGA) Field Programmable Gate Array (FPGA) Lecturer: Krébesz, Tamas 1 FPGA in general Reprogrammable Si chip Invented in 1985 by Ross Freeman (Xilinx inc.) Combines the advantages of ASIC and uc-based systems

More information

Performance Tuning on the Blackfin Processor

Performance Tuning on the Blackfin Processor 1 Performance Tuning on the Blackfin Processor Outline Introduction Building a Framework Memory Considerations Benchmarks Managing Shared Resources Interrupt Management An Example Summary 2 Introduction

More information

Storage I/O Summary. Lecture 16: Multimedia and DSP Architectures

Storage I/O Summary. Lecture 16: Multimedia and DSP Architectures Storage I/O Summary Storage devices Storage I/O Performance Measures» Throughput» Response time I/O Benchmarks» Scaling to track technological change» Throughput with restricted response time is normal

More information

Donn Morrison Department of Computer Science. TDT4255 Memory hierarchies

Donn Morrison Department of Computer Science. TDT4255 Memory hierarchies TDT4255 Lecture 10: Memory hierarchies Donn Morrison Department of Computer Science 2 Outline Chapter 5 - Memory hierarchies (5.1-5.5) Temporal and spacial locality Hits and misses Direct-mapped, set associative,

More information

Pilot: A Platform-based HW/SW Synthesis System

Pilot: A Platform-based HW/SW Synthesis System Pilot: A Platform-based HW/SW Synthesis System SOC Group, VLSI CAD Lab, UCLA Led by Jason Cong Zhong Chen, Yiping Fan, Xun Yang, Zhiru Zhang ICSOC Workshop, Beijing August 20, 2002 Outline Overview The

More information

Basic Concepts COE 205. Computer Organization and Assembly Language Dr. Aiman El-Maleh

Basic Concepts COE 205. Computer Organization and Assembly Language Dr. Aiman El-Maleh Basic Concepts COE 205 Computer Organization and Assembly Language Dr. Aiman El-Maleh College of Computer Sciences and Engineering King Fahd University of Petroleum and Minerals [Adapted from slides of

More information

Hardware/Software Partitioning for SoCs. EECE Advanced Topics in VLSI Design Spring 2009 Brad Quinton

Hardware/Software Partitioning for SoCs. EECE Advanced Topics in VLSI Design Spring 2009 Brad Quinton Hardware/Software Partitioning for SoCs EECE 579 - Advanced Topics in VLSI Design Spring 2009 Brad Quinton Goals of this Lecture Automatic hardware/software partitioning is big topic... In this lecture,

More information

Integrated Workflow to Implement Embedded Software and FPGA Designs on the Xilinx Zynq Platform Puneet Kumar Senior Team Lead - SPC

Integrated Workflow to Implement Embedded Software and FPGA Designs on the Xilinx Zynq Platform Puneet Kumar Senior Team Lead - SPC Integrated Workflow to Implement Embedded Software and FPGA Designs on the Xilinx Zynq Platform Puneet Kumar Senior Team Lead - SPC 2012 The MathWorks, Inc. 1 Agenda Integrated Hardware / Software Top

More information

CS252 S05. Main memory management. Memory hardware. The scale of things. Memory hardware (cont.) Bottleneck

CS252 S05. Main memory management. Memory hardware. The scale of things. Memory hardware (cont.) Bottleneck Main memory management CMSC 411 Computer Systems Architecture Lecture 16 Memory Hierarchy 3 (Main Memory & Memory) Questions: How big should main memory be? How to handle reads and writes? How to find

More information

MATLAB/Simulink 기반의프로그래머블 SoC 설계및검증

MATLAB/Simulink 기반의프로그래머블 SoC 설계및검증 MATLAB/Simulink 기반의프로그래머블 SoC 설계및검증 이웅재부장 Application Engineering Group 2014 The MathWorks, Inc. 1 Agenda Introduction ZYNQ Design Process Model-Based Design Workflow Prototyping and Verification Processor

More information

System Design and Methodology/ Embedded Systems Design (Modeling and Design of Embedded Systems)

System Design and Methodology/ Embedded Systems Design (Modeling and Design of Embedded Systems) Design&Methodologies Fö 1&2-1 Design&Methodologies Fö 1&2-2 Course Information Design and Methodology/ Embedded s Design (Modeling and Design of Embedded s) TDTS07/TDDI08 Web page: http://www.ida.liu.se/~tdts07

More information

Hardware-Software Co-Design and Prototyping on SoC FPGAs Puneet Kumar Prateek Sikka Application Engineering Team

Hardware-Software Co-Design and Prototyping on SoC FPGAs Puneet Kumar Prateek Sikka Application Engineering Team Hardware-Software Co-Design and Prototyping on SoC FPGAs Puneet Kumar Prateek Sikka Application Engineering Team 2015 The MathWorks, Inc. 1 Agenda Integrated Hardware / Software Top down Workflow for SoC

More information

VHDL vs. BSV: A case study on a Java-optimized processor

VHDL vs. BSV: A case study on a Java-optimized processor VHDL vs. BSV: A case study on a Java-optimized processor April 18, 2007 Outline Introduction Goal Design parameters Goal Design parameters What are we trying to do? Compare BlueSpec SystemVerilog (BSV)

More information

Tips for Making Video IP Daniel E. Michek. Copyright 2015 Xilinx.

Tips for Making Video IP Daniel E. Michek. Copyright 2015 Xilinx. Tips for Making Video IP Daniel E Michek Challenges for creating video IP Design Test Many interfaces, protocols, image sizes Asynchronous clock domains for multiple inputs Hard to visualize video when

More information

Abstraction Layers for Hardware Design

Abstraction Layers for Hardware Design SYSTEMC Slide -1 - Abstraction Layers for Hardware Design TRANSACTION-LEVEL MODELS (TLM) TLMs have a common feature: they implement communication among processes via function calls! Slide -2 - Abstraction

More information

Multiple Choice Type Questions

Multiple Choice Type Questions Techno India Batanagar Computer Science and Engineering Model Questions Subject Name: Computer Architecture Subject Code: CS 403 Multiple Choice Type Questions 1. SIMD represents an organization that.

More information

SystemC abstractions and design refinement for HW- SW SoC design. Dündar Dumlugöl. Vice President of Engineering, CoWare, Inc.

SystemC abstractions and design refinement for HW- SW SoC design. Dündar Dumlugöl. Vice President of Engineering, CoWare, Inc. SystemC abstractions and design refinement for HW- SW SoC design Dündar Dumlugöl Vice President of Engineering, CoWare, Inc. Overview SystemC abstraction levels & design flow Interface Synthesis Analyzing

More information

ZeBu : A Unified Verification Approach for Hardware Designers and Embedded Software Developers

ZeBu : A Unified Verification Approach for Hardware Designers and Embedded Software Developers THE FASTEST VERIFICATION ZeBu : A Unified Verification Approach for Hardware Designers and Embedded Software Developers White Paper April, 2010 www.eve-team.com Introduction Moore s law continues to drive

More information

ELEC 5200/6200 Computer Architecture and Design Spring 2017 Lecture 7: Memory Organization Part II

ELEC 5200/6200 Computer Architecture and Design Spring 2017 Lecture 7: Memory Organization Part II ELEC 5200/6200 Computer Architecture and Design Spring 2017 Lecture 7: Organization Part II Ujjwal Guin, Assistant Professor Department of Electrical and Computer Engineering Auburn University, Auburn,

More information

Early Performance-Cost Estimation of Application-Specific Data Path Pipelining

Early Performance-Cost Estimation of Application-Specific Data Path Pipelining Early Performance-Cost Estimation of Application-Specific Data Path Pipelining Jelena Trajkovic Computer Science Department École Polytechnique de Montréal, Canada Email: jelena.trajkovic@polymtl.ca Daniel

More information

ENCE Computer Organization and Architecture. Chapter 1. Software Perspective

ENCE Computer Organization and Architecture. Chapter 1. Software Perspective Computer Organization and Architecture Chapter 1 Software Perspective The Lifetime of a Simple Program A Simple Program # include int main() { printf( hello, world\n ); } The goal of this course

More information

Making the Most of your MATLAB Models to Improve Verification

Making the Most of your MATLAB Models to Improve Verification Making the Most of your MATLAB Models to Improve Verification Verification Futures 2016 Graham Reith Industry Manager: Communications, Electronics & Semiconductors Graham.Reith@mathworks.co.uk 2015 The

More information

Adapted from instructor s supplementary material from Computer. Patterson & Hennessy, 2008, MK]

Adapted from instructor s supplementary material from Computer. Patterson & Hennessy, 2008, MK] Lecture 17 Adapted from instructor s supplementary material from Computer Organization and Design, 4th Edition, Patterson & Hennessy, 2008, MK] SRAM / / Flash / RRAM / HDD SRAM / / Flash / RRAM/ HDD SRAM

More information

EN2911X: Reconfigurable Computing Lecture 01: Introduction

EN2911X: Reconfigurable Computing Lecture 01: Introduction EN2911X: Reconfigurable Computing Lecture 01: Introduction Prof. Sherief Reda Division of Engineering, Brown University Fall 2009 Methods for executing computations Hardware (Application Specific Integrated

More information

Outline Introduction System development Video capture Image processing Results Application Conclusion Bibliography

Outline Introduction System development Video capture Image processing Results Application Conclusion Bibliography Real Time Video Capture and Image Processing System using FPGA Jahnvi Vaidya Advisors: Dr. Yufeng Lu and Dr. In Soo Ahn 4/30/2009 Outline Introduction System development Video capture Image processing

More information

PCI to SH-3 AN Hitachi SH3 to PCI bus

PCI to SH-3 AN Hitachi SH3 to PCI bus PCI to SH-3 AN Hitachi SH3 to PCI bus Version 1.0 Application Note FEATURES GENERAL DESCRIPTION Complete Application Note for designing a PCI adapter or embedded system based on the Hitachi SH-3 including:

More information

HW/SW Co-design. Design of Embedded Systems Jaap Hofstede Version 3, September 1999

HW/SW Co-design. Design of Embedded Systems Jaap Hofstede Version 3, September 1999 HW/SW Co-design Design of Embedded Systems Jaap Hofstede Version 3, September 1999 Embedded system Embedded Systems is a computer system (combination of hardware and software) is part of a larger system

More information

Hot Chips Bringing Workstation Graphics Performance to a Desktop Near You. S3 Incorporated August 18-20, 1996

Hot Chips Bringing Workstation Graphics Performance to a Desktop Near You. S3 Incorporated August 18-20, 1996 Hot Chips 1996 Bringing Workstation Graphics Performance to a Desktop Near You S3 Incorporated August 18-20, 1996 Agenda ViRGE/VX Marketing Slide! Overview of ViRGE/VX accelerator features 3D rendering

More information

Modeling and Simulation of System-on. Platorms. Politecnico di Milano. Donatella Sciuto. Piazza Leonardo da Vinci 32, 20131, Milano

Modeling and Simulation of System-on. Platorms. Politecnico di Milano. Donatella Sciuto. Piazza Leonardo da Vinci 32, 20131, Milano Modeling and Simulation of System-on on-chip Platorms Donatella Sciuto 10/01/2007 Politecnico di Milano Dipartimento di Elettronica e Informazione Piazza Leonardo da Vinci 32, 20131, Milano Key SoC Market

More information

System Design Paradigms. Electronics and the Car

System Design Paradigms. Electronics and the Car System Design Paradigms Alberto Sangiovanni Vincentelli The Edgar L. and Harold H. Buttner Chair of Electr.. Eng. and Comp. Science University of California at Berkeley Co-Founder, Chief Technology Advisor

More information

ESL design with the Agility Compiler for SystemC

ESL design with the Agility Compiler for SystemC ESL design with the Agility Compiler for SystemC SystemC behavioral design & synthesis Steve Chappell & Chris Sullivan Celoxica ESL design portfolio Complete ESL design environment Streaming Video Processing

More information

Mainstream Computer System Components CPU Core 2 GHz GHz 4-way Superscaler (RISC or RISC-core (x86): Dynamic scheduling, Hardware speculation

Mainstream Computer System Components CPU Core 2 GHz GHz 4-way Superscaler (RISC or RISC-core (x86): Dynamic scheduling, Hardware speculation Mainstream Computer System Components CPU Core 2 GHz - 3.0 GHz 4-way Superscaler (RISC or RISC-core (x86): Dynamic scheduling, Hardware speculation One core or multi-core (2-4) per chip Multiple FP, integer

More information

EEL 4783: Hardware/Software Co-design with FPGAs

EEL 4783: Hardware/Software Co-design with FPGAs EEL 4783: Hardware/Software Co-design with FPGAs Lecture 5: Digital Camera: Software Implementation* Prof. Mingjie Lin * Some slides based on ISU CPrE 588 1 Design Determine system s architecture Processors

More information

SoC Verification Strategies for Embedded Systems Design

SoC Verification Strategies for Embedded Systems Design SOC Design Conference SoC Verification Strategies for Embedded Systems Design November 5-6, 2003/ Seoul Chong-Min Kyung, KAIST 1 Various Embedded Mobile Systems Data Processing Consumer Desktop PC DVC

More information

Xilinx Vivado/SDK Tutorial

Xilinx Vivado/SDK Tutorial Xilinx Vivado/SDK Tutorial (Laboratory Session 1, EDAN15) Flavius.Gruian@cs.lth.se March 21, 2017 This tutorial shows you how to create and run a simple MicroBlaze-based system on a Digilent Nexys-4 prototyping

More information

COMPLEX EMBEDDED SYSTEMS

COMPLEX EMBEDDED SYSTEMS COMPLEX EMBEDDED SYSTEMS Embedded System Design and Architectures Summer Semester 2012 System and Software Engineering Prof. Dr.-Ing. Armin Zimmermann Contents System Design Phases Architecture of Embedded

More information

Concepts from High-Performance Computing

Concepts from High-Performance Computing Concepts from High-Performance Computing Lecture A - Overview of HPC paradigms OBJECTIVE: The clock speeds of computer processors are topping out as the limits of traditional computer chip technology are

More information

Department of Computer Science, Institute for System Architecture, Operating Systems Group. Real-Time Systems '08 / '09. Hardware.

Department of Computer Science, Institute for System Architecture, Operating Systems Group. Real-Time Systems '08 / '09. Hardware. Department of Computer Science, Institute for System Architecture, Operating Systems Group Real-Time Systems '08 / '09 Hardware Marcus Völp Outlook Hardware is Source of Unpredictability Caches Pipeline

More information

Design of Transport Triggered Architecture Processor for Discrete Cosine Transform

Design of Transport Triggered Architecture Processor for Discrete Cosine Transform Design of Transport Triggered Architecture Processor for Discrete Cosine Transform by J. Heikkinen, J. Sertamo, T. Rautiainen,and J. Takala Presented by Aki Happonen Table of Content Introduction Transport

More information

V8uC: Sparc V8 micro-controller derived from LEON2-FT

V8uC: Sparc V8 micro-controller derived from LEON2-FT V8uC: Sparc V8 micro-controller derived from LEON2-FT ESA Workshop on Avionics Data, Control and Software Systems Noordwijk, 4 November 2010 Walter Errico SITAEL Aerospace phone: +39 0584 388398 e-mail:

More information

c. What are the machine cycle times (in nanoseconds) of the non-pipelined and the pipelined implementations?

c. What are the machine cycle times (in nanoseconds) of the non-pipelined and the pipelined implementations? Brown University School of Engineering ENGN 164 Design of Computing Systems Professor Sherief Reda Homework 07. 140 points. Due Date: Monday May 12th in B&H 349 1. [30 points] Consider the non-pipelined

More information

Pivoting Object Tracking System

Pivoting Object Tracking System Pivoting Object Tracking System CSEE 4840 Embedded System Design, Spring 2009 Damian Ancukiewicz Arjun Roy Baolin Shao Jinglin Shen Outline Project overview Key points in different components Experience

More information

Chapter 5A. Large and Fast: Exploiting Memory Hierarchy

Chapter 5A. Large and Fast: Exploiting Memory Hierarchy Chapter 5A Large and Fast: Exploiting Memory Hierarchy Memory Technology Static RAM (SRAM) Fast, expensive Dynamic RAM (DRAM) In between Magnetic disk Slow, inexpensive Ideal memory Access time of SRAM

More information

Lecture 11 Cache. Peng Liu.

Lecture 11 Cache. Peng Liu. Lecture 11 Cache Peng Liu liupeng@zju.edu.cn 1 Associative Cache Example 2 Associative Cache Example 3 Associativity Example Compare 4-block caches Direct mapped, 2-way set associative, fully associative

More information

CMSC 411 Computer Systems Architecture Lecture 13 Instruction Level Parallelism 6 (Limits to ILP & Threading)

CMSC 411 Computer Systems Architecture Lecture 13 Instruction Level Parallelism 6 (Limits to ILP & Threading) CMSC 411 Computer Systems Architecture Lecture 13 Instruction Level Parallelism 6 (Limits to ILP & Threading) Limits to ILP Conflicting studies of amount of ILP Benchmarks» vectorized Fortran FP vs. integer

More information

Hardware-Software Codesign. 6. System Simulation

Hardware-Software Codesign. 6. System Simulation Hardware-Software Codesign 6. System Simulation Lothar Thiele 6-1 System Design specification system simulation (this lecture) (worst-case) perf. analysis (lectures 10-11) system synthesis estimation SW-compilation

More information

Verilator: Speedy Reference Models, Direct from RTL

Verilator: Speedy Reference Models, Direct from RTL Verilator: Speedy Reference Models, Direct from RTL http://www.veripool.org/papers Wilson Snyder Veripool.org wsnyder@wsnyder.org Agenda Modeling Hardware Intro to Verilator Verilator Internals Futures

More information

ECE 471 Embedded Systems Lecture 16

ECE 471 Embedded Systems Lecture 16 ECE 471 Embedded Systems Lecture 16 Vince Weaver http://web.eece.maine.edu/~vweaver vincent.weaver@maine.edu 6 October 2017 Midterm will be graded Don t forget HW#5 Announcements MEMSYS wrapup. Academia,

More information

Placement de processus (MPI) sur architecture multi-cœur NUMA

Placement de processus (MPI) sur architecture multi-cœur NUMA Placement de processus (MPI) sur architecture multi-cœur NUMA Emmanuel Jeannot, Guillaume Mercier LaBRI/INRIA Bordeaux Sud-Ouest/ENSEIRB Runtime Team Lyon, journées groupe de calcul, november 2010 Emmanuel.Jeannot@inria.fr

More information

EE4380 Microprocessor Design Project

EE4380 Microprocessor Design Project EE4380 Microprocessor Design Project Fall 2002 Class 1 Pari vallal Kannan Center for Integrated Circuits and Systems University of Texas at Dallas Introduction What is a Microcontroller? Microcontroller

More information

Designing a Multi-Processor based system with FPGAs

Designing a Multi-Processor based system with FPGAs Designing a Multi-Processor based system with FPGAs BRINGING BRINGING YOU YOU THE THE NEXT NEXT LEVEL LEVEL IN IN EMBEDDED EMBEDDED DEVELOPMENT DEVELOPMENT Frank de Bont Trainer / Consultant Cereslaan

More information

A Unified HW/SW Interface Model to Remove Discontinuities between HW and SW Design

A Unified HW/SW Interface Model to Remove Discontinuities between HW and SW Design A Unified HW/SW Interface Model to Remove Discontinuities between HW and SW Design Ahmed Amine JERRAYA EPFL November 2005 TIMA Laboratory 46 Avenue Felix Viallet 38031 Grenoble CEDEX, France Email: Ahmed.Jerraya@imag.fr

More information

Attack Your SoC Power Challenges with Virtual Prototyping

Attack Your SoC Power Challenges with Virtual Prototyping Attack Your SoC Power Challenges with Virtual Prototyping Stefan Thiel Gunnar Braun Accellera Systems Initiative 1 Agenda Part #1: Power-aware Architecture Definition Part #2: Power-aware Software Development

More information

Hardware Design and Simulation for Verification

Hardware Design and Simulation for Verification Hardware Design and Simulation for Verification by N. Bombieri, F. Fummi, and G. Pravadelli Universit`a di Verona, Italy (in M. Bernardo and A. Cimatti Eds., Formal Methods for Hardware Verification, Lecture

More information

[Sub Track 1-3] FPGA/ASIC 을타겟으로한알고리즘의효율적인생성방법및신기능소개

[Sub Track 1-3] FPGA/ASIC 을타겟으로한알고리즘의효율적인생성방법및신기능소개 [Sub Track 1-3] FPGA/ASIC 을타겟으로한알고리즘의효율적인생성방법및신기능소개 정승혁과장 Senior Application Engineer MathWorks Korea 2015 The MathWorks, Inc. 1 Outline When FPGA, ASIC, or System-on-Chip (SoC) hardware is needed Hardware

More information

Model-Based Design for effective HW/SW Co-Design Alexander Schreiber Senior Application Engineer MathWorks, Germany

Model-Based Design for effective HW/SW Co-Design Alexander Schreiber Senior Application Engineer MathWorks, Germany Model-Based Design for effective HW/SW Co-Design Alexander Schreiber Senior Application Engineer MathWorks, Germany 2013 The MathWorks, Inc. 1 Agenda Model-Based Design of embedded Systems Software Implementation

More information