SystemC Tutorial. John Moondanos. Strategic CAD Labs, INTEL Corp. & GSRC Visiting Fellow, UC Berkeley
|
|
|
- Dale White
- 10 years ago
- Views:
Transcription
1 SystemC Tutorial John Moondanos Strategic CAD Labs, INTEL Corp. & GSRC Visiting Fellow, UC Berkeley
2 SystemC Introduction Why not leverage experience of C/C++ developers for H/W & System Level Design? But C/C++ have no notion of time No event sequencing Concurrency But H/W is inherently concurrent H/W Data Types No Z value for tri-state buses
3 SystemC is C++ Class Library use for Cycle-Accurate model for Software Algorithm Hardware Architecture Interface of SoC (System-on-Chip) System-level designs Executable Specification
4 SystemC Environment
5 SystemC History SystemC 1.0 Provide VHDL like capabilities Simulation kernel Fixed point arithmetic data types Signals (communication channels) Modules Break down designs into smaller parts
6 SystemC History SystemC 2.0 Complete library rewrite to upgrade into true SLDL Events as primitive behavior triggers Channels, Interfaces and Ports Much more powerful modeling for Transaction Level Future SystemC 3.0 Modeling of OSs Support of embedded S/W models
7 Objectives of SystemC 2.0 Primary goal: Enable System-Level Modeling Systems include hardware and software Challenge: Wide range of design models of computation Wide range of design abstraction levels Wide range of design methodologies
8 SystemC 2.0 Objectives (cont) SystemC 2.0 Introduces a small but very general purpose modeling foundation => Core Language Support for other models of computation, methodologies, etc They are built on top of the core language, hence are separate from it Even SystemC 1.0 Signals are built on top of this core in SystemC 2.0 Other library models are provided: FIFO, Timers,...
9 Communication and Synchronization SystemC 1.0 Modules and Processes are still useful in system design But communication and synchronization mechanisms in SystemC 1.0 (Signals) are restrictive for system-level modeling Communication using queues Synchronization (access to shared data) using mutexes
10 SystemC Language Architecture Core System
11 SystemC vs. Metropolis Constructs to model system architecture Hardware timing Concurrency Structure Adding these constructs to C SystemC C++ Class library Standard C/C++ Compiler : bcc, msvc, gcc, etc Metropolis New keywords & Syntax Translator for SystemC Many More features
12 System Design Methodology Current Manual Conversion from C to HDL Creates Errors Disconnect Between System Model and HDL Model Multiple System Tests SystemC (Executable-Specification) Refinement Methodology Written in a Single Language
13 Modeling Terms (I) Untimed Functional (UTF) Refers to model I/F and functionality No time used for regulating the execution Execution & data transport in 0 time Timed Functional (TF) Refers to both model I/F and functionality Time is used for the execution Latencies are modeled Data Transport takes time
14 Modeling Terms (II) Bus Cycle Accurate (BCA) Refers to model I/F, not functionality Timing is cycle accurate, tied to some global clock Does not infer pin level detail Transactions for data transport Pin Cycle Accurate (PCA) Refers to model I/F not model functionality Timing is cycle accurate Accuracy of the I/F at the pin Level Register Transfer (RT) Accurate Refers to model functionality Everything fully timed Complete detailed Description, every bus, every bit is modeled
15 Model Types (1) System Architectural Executable specification for H/W & S/W Architecture Exploration, algorithm determination & proof I/Fs are UTF with no pin detail for modeling communication protocols Functionality UTF, sequential since it s untimed System Performance Timed executable specification for bith H/W & S/W Used for time budgeting Concurrent behavior modeled Transaction Level (TLM) Typically describe H/W only Model I/Fs are TF, functionality TF as well (either not cycle accurate) Data Transfers & system Behavior modeled as transactions
16 Model Types (2) Functional Model Above TLM, i.e. System Architectural & System Performance System Level Above RTL Behavioral Synthesis Architectural Analysis & Implementation I/F cycle accurate with pin level detail Functionality TF and not cycle accurate Bus Functional Model (BFM) Used for simulation (mainly of processors) Not meant for synthesis I/F pin cycle accurate Transactions for functionality Register Transfer Level (RTL) Verilog, VHDL Gate Level not good in SystemC
17 Current Methodology C/C++ System Level Model - Manual Conversion Creates Errors - Disconnect Between System Model and HDL Model - Multiple System Tests Refine Analysis VHDL/Verilog Result Simulation Synthesis
18 SystemC Methodology
19 Using Executable Specifications Ensure COMPLETENESS of Specification Create a program that Behave the same way as the system UNAMBIGUOUS Interpretation of the Specification Validate system functionality before implementation Create early model and Validate system performance Refine and Test the implementation of the Specification
20 SystemC and User Module User Module User Module #1 #1 User Module User Module #2 #2... User Module User Module #N #N Event & Signal I/F C++ Class Library Event s Hardware Simulation Kernel (Event Scheduler) SystemC SystemC Executable Specification Executable Specification
21 SystemC Highlights (1) SystemC 2.0 introduces general-purpose Events Flexible, low-level synchronization primitive Used to construct other forms of synchronization Channels A container class for communication and synchronization They implement one or more interfaces Interfaces Specify a set of access methods to the channel Other comm & sync models can be built based on the above primitives Examples HW-signals, queues (FIFO, LIFO, message queues, etc) semaphores, memories and busses (both at RTL and transaction-based models)
22 SystemC Highlights (2) Support Hardware-Software Co-Design All constructs are in a C++ environment Modules Container class includes hierarchical Modules and Processes Processes Describe functionality Almost all SLDL have been developed based on some underlying model of network of processes Ports Single-directional(in, out), Bi-directional mode
23 A system in SystemC
24 A system in SystemC
25 SystemC Highlights (3) Constructs in a C++ environment (continued) Clocks Special signal, Timekeeper of simulation and Multiple clocks, with arbitrary phase relationship Event Driven simulation High-SpeedEvent Driven simulation kernel Multiple abstraction levels Untimed from high-level functional model to detailed clock cycle accuracy RTL model Communication Protocols Debugging Supports Run-Time error check Waveform Tracing Supports VCD, WIF, ISBD
26 Data Types SystemC supports Native C/C++ Types SystemC Types SystemC Types Data type for system modeling 2 value ( 0, 1 ) logic/logic vector 4 value ( 0, 1, Z, X ) logic/logic vector Arbitrary sized integer (Signed/Unsigned) Fixed Point types (Templated/Untemplated)
27 Communication and Synchronization (cont d) Module1 Interfaces Channel Module2 Events Ports to Interfaces
28 A Communication Modeling Example: FIFO Producer Write Interface FIFO Consumer Read Interface
29 FIFO Example: Declaration of Interfaces class write_if : public sc_interface { public: virtual void write(char) = 0; virtual void reset() = 0; p FIFO c }; class read_if : public sc_interface { public: virtual void read(char&) = 0; virtual int num_available() = 0; };
30 Declaration of FIFO channel p FIFO c class fifo: public sc_channel, public write_if, public read_if { private: enum e {max_elements=10}; char data[max_elements]; int num_elements, first; sc_event write_event, read_event; bool fifo_empty() { }; bool fifo_full() { }; public: fifo() : num_elements(0), first(0); void write(char c) { if (fifo_full()) wait(read_event); } data[ <you calculate> ] = c; ++num_elements; write_event.notify(); void read(char &c) { if (fifo_empty()) wait(write_event); } c = data[first]; --num_elements; first = ; read_event.notify();
31 Declaration of FIFO channel (cont d) p FIFO c void reset() { num_elements = first = 0; } int num_available() { return num_elements; } }; // end of class declarations
32 FIFO Example (cont d) Any channel must be derived from sc_channel class be derived from one (or more) classes derived from sc_interface provide implementations for all pure virtual functions defined in its parent interfaces
33 FIFO Example (cont d) Note the following wait() call wait(sc_event) => dynamic sensitivity wait(time) wait(time_out, sc_event) Events are the fundamental synchronization primitive have no type, no value always cause sensitive processes to be resumed can be specified to occur: immediately/ one delta-step later/ some specific time later
34 Completing the Comm. Modeling Example p FIFO c SC_MODULE(producer) { public: sc_port<write_if> out; SC_MODULE(consumer) { public: sc_port<read_if> in; SC_CTOR(producer) { SC_THREAD(main); } SC_CTOR(consumer) { SC_THREAD(main); } }; void main() { char c; while (true) { out.write(c); if( ) out.reset(); } } }; void main() { char c; while (true) { in.read(c); cout<< in.num_available(); } }
35 Completing the Comm. Modeling Example (cont d) SC_MODULE(top) { public: fifo afifo; producer *pproducer; consumer *pconsumer; p FIFO c SC_CTOR(top) { pproducer=new producer( Producer ); pproducer->out(afifo); }; pconsumer=new consumer( Consumer ); pconsumer->in(afifo);
36 Completing the Comm. Modeling Example (cont d) Note: Producer module sc_port<write_if> out; Producer can only call member functions of write_if interface Consumer module sc_port<read_if> in; Consumer can only call member functions of read_if interface Producer and consumer are unaware of how the channel works just aware of their respective interfaces Channel implementation is hidden from communicating modules
37 Completing the Comm. Modeling Example (cont d) Advantages of separating communication from functionality Trying different communication modules Refine the FIFO into a software implementation Using queuing mechanisms of the underlying RTOS Refine the FIFO into a hardware implementation Channels can contain other channels and modules Instantiate the hw FIFO module within FIFO channel Implement read and write interface methods to properly work with the hw FIFO Refine read and write interface methods by inlining them into producer and consumer codes
38 SystemC refinement
39 SystemC Channel Replacement
40 SystemC Adapter Insertion
41 SystemC Adapter Merge
42 SystemC scheduler Like most modeling languages SystemC has a simulation kernel, too Event Based Simulation for modeling concurrency Processes executed & their outputs updated based on events Processes are scheduled based on their sensitivity to events Similarity with key VHDL simulation kernel aspects is evident
43 Which process should go first? Does it actually matter? On sc_signals follows VHDL paradigm Process execution and signal update done in 2 phases, order of processes does not matter Concept of delta cycles Simulation is deterministic But SystemC can model concurrency, time & communication in other ways as well SystemC & VHDL Similarities SC_THREAD(proc_1); sensitive << Trig.pos( ); SC_THREAD(proc_2); sensitive << Trig.pos( );
44 SystemC & non Determinism Delta Cycle = Evaluation Phase + Update Phase Presence of 2 phases guarantees determinism But for modeling S/W we need nondeterminism Employ the notify( ) method of an sc_event (see previous producer/consumer example)
45 SystemC Scheduler & Events notify() with no arguments Called Immediate Notification Processes sensitive to this event will run in current evaluation phase notify(0) Processes sensitive to this event will run in evaluation phase of next delta cycle notify(t) with t>0 Processes sensitive to this event will run during the evaluation phase of some future simulator time
46 SystemC Simulator Kernel 1. Init: execute all processes in unspecified order 2. Evaluate: Select a ready to run process & resume its execution. May result in more processes ready for execution due to Immediate Notification 3. Repeat 2 until no more processes to run 4. Update Phase 5. If 2 or 4 resulted in delta event notifications, go back to 2 6. No more events, simulation is finished for current time 7. Advance to next simulation time that has pending events. If none, exit 8. Go back to step 2
47 Metropolis vs. SystemC Metro more general model of computation Different operational & denotational semantics Metro Formal Semantics & tools Metro Quantity Managers For performance analysis For modeling of Operating Systems
48 References
A Hardware and Software Monitor for High-Level System-on-Chip Verification
A Hardware and Software Monitor for High-Level System-on-Chip Verification M. El Shobaki and L. Lindh International Symposium on Quality Electronic Design, 2001 Presenter: Gu, Ruei-Ting What s the problem?
System Architecture Performance Modeling with SystemC
System Architecture Performance Modeling with SystemC 9 th European SystemC Users Group Meeting February 17 th, 2004 Raimar Thudt Tino Bertram Infineon Präsentation November 2003 Seite 1 Copyright Infineon
System-On Chip Modeling and Design A case study on MP3 Decoder
System-On Chip Modeling and Design A case study on MP3 Decoder Pramod Chandraiah, Hans Gunar Schirner, Nirupama Srinivas and Rainer Doemer CECS Technical Report 04-17 June 21, 2004 Center for Embedded
Seamless Hardware/Software Performance Co-Monitoring in a Codesign Simulation Environment with RTOS Support
Seamless Hardware/Software Performance Co-Monitoring in a Codesign Simulation Environment with RTOS Support L. Moss 1, M. de Nanclas 1, L. Filion 1, S. Fontaine 1, G. Bois 1 and M. Aboulhamid 2 1 Department
Early Hardware/Software Integration Using SystemC 2.0
Early Hardware/Software Integration Using SystemC 2.0 Jon Connell, ARM. Bruce Johnson, Synopsys, Inc. Class 552, ESC San Francisco 2002 Abstract Capabilities added to SystemC 2.0 provide the needed expressiveness
Discrete event modeling: VHDL
12 Discrete event modeling: VHDL Peter Marwedel Informatik 12 Univ. Dortmund Germany Models of computation VHDL as a prominent example of discrete event modeling: Communication/ Computation FSM Data flow
Tasks Schedule Analysis in RTAI/Linux-GPL
Tasks Schedule Analysis in RTAI/Linux-GPL Claudio Aciti and Nelson Acosta INTIA - Depto de Computación y Sistemas - Facultad de Ciencias Exactas Universidad Nacional del Centro de la Provincia de Buenos
Codesign: The World Of Practice
Codesign: The World Of Practice D. Sreenivasa Rao Senior Manager, System Level Integration Group Analog Devices Inc. May 2007 Analog Devices Inc. ADI is focused on high-end signal processing chips and
Best Practises for LabVIEW FPGA Design Flow. uk.ni.com ireland.ni.com
Best Practises for LabVIEW FPGA Design Flow 1 Agenda Overall Application Design Flow Host, Real-Time and FPGA LabVIEW FPGA Architecture Development FPGA Design Flow Common FPGA Architectures Testing and
Electronic system-level development: Finding the right mix of solutions for the right mix of engineers.
Electronic system-level development: Finding the right mix of solutions for the right mix of engineers. Nowadays, System Engineers are placed in the centre of two antagonist flows: microelectronic systems
Modeling a GPS Receiver Using SystemC
Modeling a GPS Receiver using SystemC Modeling a GPS Receiver Using SystemC Bernhard Niemann Reiner Büttner Martin Speitel http://www.iis.fhg.de http://www.iis.fhg.de/kursbuch/kurse/systemc.html The e
Digitale Signalverarbeitung mit FPGA (DSF) Soft Core Prozessor NIOS II Stand Mai 2007. Jens Onno Krah
(DSF) Soft Core Prozessor NIOS II Stand Mai 2007 Jens Onno Krah Cologne University of Applied Sciences www.fh-koeln.de [email protected] NIOS II 1 1 What is Nios II? Altera s Second Generation
The Advanced JTAG Bridge. Nathan Yawn [email protected] 05/12/09
The Advanced JTAG Bridge Nathan Yawn [email protected] 05/12/09 Copyright (C) 2008-2009 Nathan Yawn Permission is granted to copy, distribute and/or modify this document under the terms of the
RAPID PROTOTYPING OF DIGITAL SYSTEMS Second Edition
RAPID PROTOTYPING OF DIGITAL SYSTEMS Second Edition A Tutorial Approach James O. Hamblen Georgia Institute of Technology Michael D. Furman Georgia Institute of Technology KLUWER ACADEMIC PUBLISHERS Boston
Testing & Verification of Digital Circuits ECE/CS 5745/6745. Hardware Verification using Symbolic Computation
Testing & Verification of Digital Circuits ECE/CS 5745/6745 Hardware Verification using Symbolic Computation Instructor: Priyank Kalla ([email protected]) 3 Credits Mon, Wed, 1:25-2:45pm, WEB L105 Office
MASTER'S THESIS. A JPEG Encoder in SystemC
MASTER'S THESIS 2005:127 CIV A JPEG Encoder in SystemC Björn Jonsson Luleå University of Technology MSc Programmes in Engineering Department of Computer Science and Electrical Engineering Division of EISLAB
TLM-2.0 in Action: An Example-based Approach to Transaction-level Modeling and the New World of Model Interoperability
DVCon 2009 TLM-2.0 in Action: An Example-based Approach to Transaction-level Modeling and the New World of Model Interoperability John Aynsley, Doulos TLM Introduction CONTENTS What is TLM and SystemC?
VHDL Test Bench Tutorial
University of Pennsylvania Department of Electrical and Systems Engineering ESE171 - Digital Design Laboratory VHDL Test Bench Tutorial Purpose The goal of this tutorial is to demonstrate how to automate
INTRODUCTION TO DIGITAL SYSTEMS. IMPLEMENTATION: MODULES (ICs) AND NETWORKS IMPLEMENTATION OF ALGORITHMS IN HARDWARE
INTRODUCTION TO DIGITAL SYSTEMS 1 DESCRIPTION AND DESIGN OF DIGITAL SYSTEMS FORMAL BASIS: SWITCHING ALGEBRA IMPLEMENTATION: MODULES (ICs) AND NETWORKS IMPLEMENTATION OF ALGORITHMS IN HARDWARE COURSE EMPHASIS:
Digital Systems Design! Lecture 1 - Introduction!!
ECE 3401! Digital Systems Design! Lecture 1 - Introduction!! Course Basics Classes: Tu/Th 11-12:15, ITE 127 Instructor Mohammad Tehranipoor Office hours: T 1-2pm, or upon appointments @ ITE 441 Email:
Life Cycle of a Memory Request. Ring Example: 2 requests for lock 17
Life Cycle of a Memory Request (1) Use AQR or AQW to place address in AQ (2) If A[31]==0, check for hit in DCache Ring (3) Read Hit: place cache word in RQ; Write Hit: replace cache word with WQ RDDest/RDreturn
Architectures and Platforms
Hardware/Software Codesign Arch&Platf. - 1 Architectures and Platforms 1. Architecture Selection: The Basic Trade-Offs 2. General Purpose vs. Application-Specific Processors 3. Processor Specialisation
Computer Engineering: Incoming MS Student Orientation Requirements & Course Overview
Computer Engineering: Incoming MS Student Orientation Requirements & Course Overview Prof. Charles Zukowski ([email protected]) Interim Chair, September 3, 2015 MS Requirements: Overview (see bulletin for
Embedded Systems. 6. Real-Time Operating Systems
Embedded Systems 6. Real-Time Operating Systems Lothar Thiele 6-1 Contents of Course 1. Embedded Systems Introduction 2. Software Introduction 7. System Components 10. Models 3. Real-Time Models 4. Periodic/Aperiodic
A Verilog HDL Test Bench Primer Application Note
A Verilog HDL Test Bench Primer Application Note Table of Contents Introduction...1 Overview...1 The Device Under Test (D.U.T.)...1 The Test Bench...1 Instantiations...2 Figure 1- DUT Instantiation...2
ECE 3401 Lecture 7. Concurrent Statements & Sequential Statements (Process)
ECE 3401 Lecture 7 Concurrent Statements & Sequential Statements (Process) Concurrent Statements VHDL provides four different types of concurrent statements namely: Signal Assignment Statement Simple Assignment
Freescale Semiconductor, I
nc. Application Note 6/2002 8-Bit Software Development Kit By Jiri Ryba Introduction 8-Bit SDK Overview This application note describes the features and advantages of the 8-bit SDK (software development
Monitors, Java, Threads and Processes
Monitors, Java, Threads and Processes 185 An object-oriented view of shared memory A semaphore can be seen as a shared object accessible through two methods: wait and signal. The idea behind the concept
System Software Integration: An Expansive View. Overview
Software Integration: An Expansive View Steven P. Smith Design of Embedded s EE382V Fall, 2009 EE382 SoC Design Software Integration SPS-1 University of Texas at Austin Overview Some Definitions Introduction:
GEDAE TM - A Graphical Programming and Autocode Generation Tool for Signal Processor Applications
GEDAE TM - A Graphical Programming and Autocode Generation Tool for Signal Processor Applications Harris Z. Zebrowitz Lockheed Martin Advanced Technology Laboratories 1 Federal Street Camden, NJ 08102
Von der Hardware zur Software in FPGAs mit Embedded Prozessoren. Alexander Hahn Senior Field Application Engineer Lattice Semiconductor
Von der Hardware zur Software in FPGAs mit Embedded Prozessoren Alexander Hahn Senior Field Application Engineer Lattice Semiconductor AGENDA Overview Mico32 Embedded Processor Development Tool Chain HW/SW
Computer Organization and Components
Computer Organization and Components IS1500, fall 2015 Lecture 5: I/O Systems, part I Associate Professor, KTH Royal Institute of Technology Assistant Research Engineer, University of California, Berkeley
Multiprocessor System-on-Chip
http://www.artistembedded.org/fp6/ ARTIST Workshop at DATE 06 W4: Design Issues in Distributed, CommunicationCentric Systems Modelling Networked Embedded Systems: From MPSoC to Sensor Networks Jan Madsen
YAML: A Tool for Hardware Design Visualization and Capture
YAML: A Tool for Hardware Design Visualization and Capture Vivek Sinha, Frederic Doucet, Chuck Siska, Rajesh Gupta, Stan Liao, Abhijit Ghosh Center for Embedded Computer Systems, University of California,
SystemC - NS-2 Co-simulation using HSN
Verona, 12/09/2005 SystemC - NS-2 Co-simulation using HSN Giovanni Perbellini 1 REQUIRED BACKGROUND 2 2 GOAL 2 3 WHAT IS SYSTEMC? 2 4 WHAT IS NS-2? 2 5 WHAT IS HSN? 3 6 HARDWARE-NETWORK COSIMULATION 3
Eingebettete Systeme. 4: Entwurfsmethodik, HW/SW Co-Design. Technische Informatik T T T
Eingebettete Systeme 4: Entwurfsmethodik, HW/SW Co-Design echnische Informatik System Level Design: ools and Flow Refinement of HW/SW Systems ools for HW/SW Co-Design C-based design of HW/SW Systems echnische
EE361: Digital Computer Organization Course Syllabus
EE361: Digital Computer Organization Course Syllabus Dr. Mohammad H. Awedh Spring 2014 Course Objectives Simply, a computer is a set of components (Processor, Memory and Storage, Input/Output Devices)
ESE566 REPORT3. Design Methodologies for Core-based System-on-Chip HUA TANG OVIDIU CARNU
ESE566 REPORT3 Design Methodologies for Core-based System-on-Chip HUA TANG OVIDIU CARNU Nov 19th, 2002 ABSTRACT: In this report, we discuss several recent published papers on design methodologies of core-based
Principles and characteristics of distributed systems and environments
Principles and characteristics of distributed systems and environments Definition of a distributed system Distributed system is a collection of independent computers that appears to its users as a single
Outline. Introduction. Multiprocessor Systems on Chip. A MPSoC Example: Nexperia DVP. A New Paradigm: Network on Chip
Outline Modeling, simulation and optimization of Multi-Processor SoCs (MPSoCs) Università of Verona Dipartimento di Informatica MPSoCs: Multi-Processor Systems on Chip A simulation platform for a MPSoC
A SystemC Transaction Level Model for the MIPS R3000 Processor
SETIT 2007 4 th International Conference: Sciences of Electronic, Technologies of Information and Telecommunications March 25-29, 2007 TUNISIA A SystemC Transaction Level Model for the MIPS R3000 Processor
National CR16C Family On-Chip Emulation. Contents. Technical Notes V9.11.75
_ V9.11.75 Technical Notes National CR16C Family On-Chip Emulation Contents Contents... 1 1 Introduction... 2 2 Emulation options... 3 2.1 Hardware Options... 3 2.2 Initialization Sequence... 4 2.3 JTAG
EC313 - VHDL State Machine Example
EC313 - VHDL State Machine Example One of the best ways to learn how to code is seeing a working example. Below is an example of a Roulette Table Wheel. Essentially Roulette is a game that selects a random
Real-Time Component Software. slide credits: H. Kopetz, P. Puschner
Real-Time Component Software slide credits: H. Kopetz, P. Puschner Overview OS services Task Structure Task Interaction Input/Output Error Detection 2 Operating System and Middleware Applica3on So5ware
Embedded Software development Process and Tools:
Embedded Software development Process and Tools: Lesson-2 Integrated Development Environment (IDE) 1 1. IDE 2 Consists of Simulators editors, compilers, assemblers, etc., IDE 3 emulators logic analyzers
7a. System-on-chip design and prototyping platforms
7a. System-on-chip design and prototyping platforms Labros Bisdounis, Ph.D. Department of Computer and Communication Engineering 1 What is System-on-Chip (SoC)? System-on-chip is an integrated circuit
Product Development Flow Including Model- Based Design and System-Level Functional Verification
Product Development Flow Including Model- Based Design and System-Level Functional Verification 2006 The MathWorks, Inc. Ascension Vizinho-Coutry, [email protected] Agenda Introduction to Model-Based-Design
Chapter 6 Concurrent Programming
Chapter 6 Concurrent Programming Outline 6.1 Introduction 6.2 Monitors 6.2.1 Condition Variables 6.2.2 Simple Resource Allocation with Monitors 6.2.3 Monitor Example: Circular Buffer 6.2.4 Monitor Example:
FSMD and Gezel. Jan Madsen
FSMD and Gezel Jan Madsen Informatics and Mathematical Modeling Technical University of Denmark Richard Petersens Plads, Building 321 DK2800 Lyngby, Denmark [email protected] Processors Pentium IV General-purpose
Mutual Exclusion using Monitors
Mutual Exclusion using Monitors Some programming languages, such as Concurrent Pascal, Modula-2 and Java provide mutual exclusion facilities called monitors. They are similar to modules in languages that
White Paper. Real-time Capabilities for Linux SGI REACT Real-Time for Linux
White Paper Real-time Capabilities for Linux SGI REACT Real-Time for Linux Abstract This white paper describes the real-time capabilities provided by SGI REACT Real-Time for Linux. software. REACT enables
Operating Systems. Lecture 03. February 11, 2013
Operating Systems Lecture 03 February 11, 2013 Goals for Today Interrupts, traps and signals Hardware Protection System Calls Interrupts, Traps, and Signals The occurrence of an event is usually signaled
ECE232: Hardware Organization and Design. Part 3: Verilog Tutorial. http://www.ecs.umass.edu/ece/ece232/ Basic Verilog
ECE232: Hardware Organization and Design Part 3: Verilog Tutorial http://www.ecs.umass.edu/ece/ece232/ Basic Verilog module ();
Rapid System Prototyping with FPGAs
Rapid System Prototyping with FPGAs By R.C. Coferand Benjamin F. Harding AMSTERDAM BOSTON HEIDELBERG LONDON NEW YORK OXFORD PARIS SAN DIEGO SAN FRANCISCO SINGAPORE SYDNEY TOKYO Newnes is an imprint of
Example-driven Interconnect Synthesis for Heterogeneous Coarse-Grain Reconfigurable Logic
Example-driven Interconnect Synthesis for Heterogeneous Coarse-Grain Reconfigurable Logic Clifford Wolf, Johann Glaser, Florian Schupfer, Jan Haase, Christoph Grimm Computer Technology /99 Overview Ultra-Low-Power
EEM870 Embedded System and Experiment Lecture 1: SoC Design Overview
EEM870 Embedded System and Experiment Lecture 1: SoC Design Overview Wen-Yen Lin, Ph.D. Department of Electrical Engineering Chang Gung University Email: [email protected] Feb. 2013 Course Overview
Technical Note. Micron NAND Flash Controller via Xilinx Spartan -3 FPGA. Overview. TN-29-06: NAND Flash Controller on Spartan-3 Overview
Technical Note TN-29-06: NAND Flash Controller on Spartan-3 Overview Micron NAND Flash Controller via Xilinx Spartan -3 FPGA Overview As mobile product capabilities continue to expand, so does the demand
Model-based system-on-chip design on Altera and Xilinx platforms
CO-DEVELOPMENT MANUFACTURING INNOVATION & SUPPORT Model-based system-on-chip design on Altera and Xilinx platforms Ronald Grootelaar, System Architect [email protected] Agenda 3T Company profile Technology
LogiCORE IP AXI Performance Monitor v2.00.a
LogiCORE IP AXI Performance Monitor v2.00.a Product Guide Table of Contents IP Facts Chapter 1: Overview Target Technology................................................................. 9 Applications......................................................................
Design Cycle for Microprocessors
Cycle for Microprocessors Raúl Martínez Intel Barcelona Research Center Cursos de Verano 2010 UCLM Intel Corporation, 2010 Agenda Introduction plan Architecture Microarchitecture Logic Silicon ramp Types
Design and Implementation of an On-Chip timing based Permutation Network for Multiprocessor system on Chip
Design and Implementation of an On-Chip timing based Permutation Network for Multiprocessor system on Chip Ms Lavanya Thunuguntla 1, Saritha Sapa 2 1 Associate Professor, Department of ECE, HITAM, Telangana
Quartus II Software Design Series : Foundation. Digitale Signalverarbeitung mit FPGA. Digitale Signalverarbeitung mit FPGA (DSF) Quartus II 1
(DSF) Quartus II Stand: Mai 2007 Jens Onno Krah Cologne University of Applied Sciences www.fh-koeln.de [email protected] Quartus II 1 Quartus II Software Design Series : Foundation 2007 Altera
SDLC Controller. Documentation. Design File Formats. Verification
January 15, 2004 Product Specification 11 Stonewall Court Woodcliff Lake, NJ 07677 USA Phone: +1-201-391-8300 Fax: +1-201-391-8694 E-mail: [email protected] URL: www.cast-inc.com Features AllianceCORE
Real-Time Operating Systems. http://soc.eurecom.fr/os/
Institut Mines-Telecom Ludovic Apvrille [email protected] Eurecom, office 470 http://soc.eurecom.fr/os/ Outline 2/66 Fall 2014 Institut Mines-Telecom Definitions What is an Embedded
Chapter 13: Verification
Chapter 13: Verification Prof. Ming-Bo Lin Department of Electronic Engineering National Taiwan University of Science and Technology Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008-2010,
Real Time Programming: Concepts
Real Time Programming: Concepts Radek Pelánek Plan at first we will study basic concepts related to real time programming then we will have a look at specific programming languages and study how they realize
CprE 588 Embedded Computer Systems Homework #1 Assigned: February 5 Due: February 15
CprE 588 Embedded Computer Systems Homework #1 Assigned: February 5 Due: February 15 Directions: Please submit this assignment by the due date via WebCT. Submissions should be in the form of 1) a PDF file
Xenomai: integration and qualification of a real time operating system ARMadeus Systems
: integration and qualification of a real time operating system ARMadeus Systems Gwenhaël 8 july 2009 1 / 22 Plan 1 2 3 of in a Buildroot environment 4 5 6 2 / 22 : basics Real time extension for Linux.
Course Development of Programming for General-Purpose Multicore Processors
Course Development of Programming for General-Purpose Multicore Processors Wei Zhang Department of Electrical and Computer Engineering Virginia Commonwealth University Richmond, VA 23284 [email protected]
Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture
Last Class: OS and Computer Architecture System bus Network card CPU, memory, I/O devices, network card, system bus Lecture 3, page 1 Last Class: OS and Computer Architecture OS Service Protection Interrupts
Performance Optimising Hardware Synthesis of Shared Objects
Fakultät II, Department für Informatik Dissertation Performance Optimising Hardware Synthesis of Shared Objects von Eike Grimpe zur Erlangung des Grades eines Doktors der Ingenieurswissenschaften Gutachter/Supervisor:
Eli Levi Eli Levi holds B.Sc.EE from the Technion.Working as field application engineer for Systematics, Specializing in HDL design with MATLAB and
Eli Levi Eli Levi holds B.Sc.EE from the Technion.Working as field application engineer for Systematics, Specializing in HDL design with MATLAB and Simulink targeting ASIC/FGPA. Previously Worked as logic
Systems on Chip Design
Systems on Chip Design College: Engineering Department: Electrical First: Course Definition, a Summary: 1 Course Code: EE 19 Units: 3 credit hrs 3 Level: 3 rd 4 Prerequisite: Basic knowledge of microprocessor/microcontroller
A Framework for Automatic Generation of Configuration Files for a Custom Hardware/Software RTOS
A Framework for Automatic Generation of Configuration Files for a Custom Hardware/Software Jaehwan Lee, Kyeong Keol Ryu and Vincent John Mooney III School of Electrical and Computer Engineering Georgia
Chapter 3 Operating-System Structures
Contents 1. Introduction 2. Computer-System Structures 3. Operating-System Structures 4. Processes 5. Threads 6. CPU Scheduling 7. Process Synchronization 8. Deadlocks 9. Memory Management 10. Virtual
MPSoC Virtual Platforms
CASTNESS 2007 Workshop MPSoC Virtual Platforms Rainer Leupers Software for Systems on Silicon (SSS) RWTH Aachen University Institute for Integrated Signal Processing Systems Why focus on virtual platforms?
RTAI. Antonio Barbalace [email protected]. (modified by M.Moro 2011) RTAI
Antonio Barbalace [email protected] (modified by M.Moro 2011) Real Time Application Interface by Dipartimento di Ingegneria Aereospaziale dell Università di Milano (DIAPM) It is not a complete
CGI-based applications for distributed embedded systems for monitoring temperature and humidity
CGI-based applications for distributed embedded systems for monitoring temperature and humidity Grisha Spasov, Nikolay Kakanakov Abstract: The paper discusses the using of Common Gateway Interface in developing
Digital Circuit Design Using Xilinx ISE Tools
Digital Circuit Design Using Xilinx ISE Tools Contents 1. Introduction... 1 2. Programmable Logic Device: FPGA... 2 3. Creating a New Project... 2 4. Synthesis and Implementation of the Design... 11 5.
The Microsoft Windows Hypervisor High Level Architecture
The Microsoft Windows Hypervisor High Level Architecture September 21, 2007 Abstract The Microsoft Windows hypervisor brings new virtualization capabilities to the Windows Server operating system. Its
USB 3.0 Connectivity using the Cypress EZ-USB FX3 Controller
USB 3.0 Connectivity using the Cypress EZ-USB FX3 Controller PLC2 FPGA Days June 20, 2012 Stuttgart Martin Heimlicher FPGA Solution Center Content Enclustra Company Profile USB 3.0 Overview What is new?
Testing of Digital System-on- Chip (SoC)
Testing of Digital System-on- Chip (SoC) 1 Outline of the Talk Introduction to system-on-chip (SoC) design Approaches to SoC design SoC test requirements and challenges Core test wrapper P1500 core test
PyMTL and Pydgin Tutorial. Python Frameworks for Highly Productive Computer Architecture Research
PyMTL and Pydgin Tutorial Python Frameworks for Highly Productive Computer Architecture Research Derek Lockhart, Berkin Ilbeyi, Christopher Batten Computer Systems Laboratory School of Electrical and Computer
Overview Motivating Examples Interleaving Model Semantics of Correctness Testing, Debugging, and Verification
Introduction Overview Motivating Examples Interleaving Model Semantics of Correctness Testing, Debugging, and Verification Advanced Topics in Software Engineering 1 Concurrent Programs Characterized by
Vivado Design Suite Tutorial
Vivado Design Suite Tutorial High-Level Synthesis UG871 (v2012.2) August 20, 2012 Notice of Disclaimer The information disclosed to you hereunder (the Materials ) is provided solely for the selection and
Chapter 2 Ensuring RTL Intent
Chapter 2 Ensuring RTL Intent A user starts the design of his block, by describing the functionality of the block in the form of RTL. The RTL code is then synthesized to realize the gate level connectivity
AXI Performance Monitor v5.0
AXI Performance Monitor v5.0 LogiCORE IP Product Guide Vivado Design Suite Table of Contents IP Facts Chapter 1: Overview Advanced Mode...................................................................
Using SystemVerilog Assertions for Creating Property-Based Checkers
Using SystemVerilog Assertions for Creating Property-Based Checkers Eduard Cerny Synopsys, Inc. Marlborough, USA [email protected] Dmitry Korchemny Intel Corp. Haifa, Israel [email protected]
ModelSim-Altera Software Simulation User Guide
ModelSim-Altera Software Simulation User Guide ModelSim-Altera Software Simulation User Guide 101 Innovation Drive San Jose, CA 95134 www.altera.com UG-01102-2.0 Document last updated for Altera Complete
if-then else : 2-1 mux mux: process (A, B, Select) begin if (select= 1 ) then Z <= A; else Z <= B; end if; end process;
if-then else : 2-1 mux mux: process (A, B, Select) begin if (select= 1 ) then Z
Tensilica Software Development Toolkit (SDK)
Tensilica Datasheet Tensilica Software Development Toolkit (SDK) Quickly develop application code Features Cadence Tensilica Xtensa Xplorer Integrated Development Environment (IDE) with full graphical
Multi-Threading Performance on Commodity Multi-Core Processors
Multi-Threading Performance on Commodity Multi-Core Processors Jie Chen and William Watson III Scientific Computing Group Jefferson Lab 12000 Jefferson Ave. Newport News, VA 23606 Organization Introduction
ELEC 5260/6260/6266 Embedded Computing Systems
ELEC 5260/6260/6266 Embedded Computing Systems Spring 2016 Victor P. Nelson Text: Computers as Components, 3 rd Edition Prof. Marilyn Wolf (Georgia Tech) Course Topics Embedded system design & modeling
IEC 61131-3. The Fast Guide to Open Control Software
IEC 61131-3 The Fast Guide to Open Control Software 1 IEC 61131-3 The Fast Guide to Open Control Software Introduction IEC 61131-3 is the first vendor-independent standardized programming language for
