Transaction Level Modeling with SystemC Adviser :陳少傑 教授 Member :王啟欣 P92943008 Member :陳嘉雄 R92921126 Member :林振民 P92921003.

Slides:



Advertisements
Similar presentations
DATE 2003, Munich, Germany Formal Verification of a System-on-Chip Bus Protocol Abhik Roychoudhury Tulika Mitra S.R. Karri National University of Singapore.
Advertisements

Bus Specification Embedded Systems Design and Implementation Witawas Srisa-an.
Evaluation of On-Chip Interconnect Architectures for Multi-Core DSP Students : Haim Assor, Horesh Ben Shitrit 2. Shared Bus 3. Fabric 4. Network on Chip.
SoC Challenges & Transaction Level Modeling (TLM) Dr. Eng. Amr T. Abdel-Hamid ELECT 1002 Spring 2008 System-On-a-Chip Design.
Computer Architecture
Presenter : Cheng-Ta Wu Kenichiro Anjo, Member, IEEE, Atsushi Okamura, and Masato Motomura IEEE JOURNAL OF SOLID-STATE CIRCUITS, VOL. 39,NO. 5, MAY 2004.
Categories of I/O Devices
Copyright  2003 Dan Gajski and Lukai Cai 1 Transaction Level Modeling: An Overview Daniel Gajski Lukai Cai Center for Embedded Computer Systems University.
ECOE 560 Design Methodologies and Tools for Software/Hardware Systems Spring 2004 Serdar Taşıran.
1/1/ / faculty of Electrical Engineering eindhoven university of technology Processor support devices Part 1:Interrupts and shared memory dr.ir. A.C. Verschueren.
Pipeline transfer testing. The purpose of pipeline transfer increase the bandwidth for synchronous slave peripherals that require several cycles to return.
LOGO HW/SW Co-Verification -- Mentor Graphics® Seamless CVE By: Getao Liang March, 2006.
Puneet Arora ESCUG, 09 Abstraction Levels in SoC Modelling.
ECE 526 – Network Processing Systems Design Software-based Protocol Processing Chapter 7: D. E. Comer.
I/O Hardware n Incredible variety of I/O devices n Common concepts: – Port – connection point to the computer – Bus (daisy chain or shared direct access)
Chapter 11 Operating Systems
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
Transaction Level Modeling Definitions and Approximations Trevor Meyerowitz EE290A Presentation May 12, 2005.
Dipartimento di Informatica - Università di Verona Networked Embedded Systems The HW/SW/Network Cosimulation-based Design Flow Introduction Transaction.
Computer System Overview Chapter 1. Basic computer structure CPU Memory memory bus I/O bus diskNet interface.
Interface-based Design Donald Chai EE249. Outline Orthogonalization of concerns Formalisms Interface-based Design Example Cheetah Simulator Future Inroads.
Interprocessor arbitration
Principle of Functional Verification Chapter 1~3 Presenter : Fu-Ching Yang.
Group 7 Jhonathan Briceño Reginal Etienne Christian Kruger Felix Martinez Dane Minott Immer S Rivera Ander Sahonero.
Cortex-M3 Debugging System
Computer Architecture Lecture 08 Fasih ur Rehman.
Introduction to Embedded Systems
1 Chapter 2. The System-on-a-Chip Design Process Canonical SoC Design System design flow The Specification Problem System design.
1CADENCE DESIGN SYSTEMS, INC. Cadence Proposed Transaction Level Interface Enhancements for SCE-MI SEPTEMBER 11, 2003.
Hardware Definitions –Port: Point of connection –Bus: Interface Daisy Chain (A=>B=>…=>X) Shared Direct Device Access –Controller: Device Electronics –Registers:
CHAPTER 3 TOP LEVEL VIEW OF COMPUTER FUNCTION AND INTERCONNECTION
1-1 Embedded Network Interface (ENI) API Concepts Shared RAM vs. FIFO modes ENI API’s.
Computer Architecture Lecture10: Input/output devices Piotr Bilski.
DMA Versus Polling or Interrupt Driven I/O
Automatic Communication Refinement for System Level Design Samar Abdi, Dongwan Shin and Daniel Gajski Center for Embedded Computer Systems, UC Irvine
Real-Time Operating Systems for Embedded Computing 李姿宜 R ,06,10.
F. Gharsalli, S. Meftali, F. Rousseau, A.A. Jerraya TIMA laboratory 46 avenue Felix Viallet Grenoble Cedex - France Embedded Memory Wrapper Generation.
Dr Mohamed Menacer College of Computer Science and Engineering Taibah University CE-321: Computer.
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
Hardware-software Interface Xiaofeng Fan
MBG 1 CIS501, Fall 99 Lecture 18: Input/Output (I/O): Buses and Peripherals Michael B. Greenwald Computer Architecture CIS 501 Fall 1999.
EEE440 Computer Architecture
1 Embedded Computer System Laboratory Systematic Embedded Software Gerneration from SystemC.
SOC Virtual Prototyping: An Approach towards fast System- On-Chip Solution Date – 09 th April 2012 Mamta CHALANA Tech Leader ST Microelectronics Pvt. Ltd,
Chapter 13 – I/O Systems (Pgs ). Devices  Two conflicting properties A. Growing uniformity in interfaces (both h/w and s/w): e.g., USB, TWAIN.
Presenter : Shao-Chieh Hou 2012/8/27 Second ACM/IEEE International Symposium on Networks-on-Chip IEEE computer society.
Way beyond fast © 2002 Axis Systems, Inc. CONFIDENTIAL Axis Common Transaction Interface (CTI) Architecture Highlights 9/11/2003 Ching-Ping Chou Axis Systems,
Input/Output Problems Wide variety of peripherals —Delivering different amounts of data —At different speeds —In different formats All slower than CPU.
IT3002 Computer Architecture
Abstraction :Managing Design Complexity through High-Level C-Model Verification Mike Andrews Mentor Graphics Yuan-Shiu Chen present.
Spring 2007W. Rhett DavisNC State UniversityECE 747Slide 1 ECE 747 Digital Signal Processing Architecture SoC Lecture – Working with Buses & Interconnects.
Recen progress R93088 李清新. Recent status – about hardware design Finishing the EPXA10 JPEG2000 project. Due to the DPRAM problem can’t be solved by me,
Mohamed Younis CMCS 411, Computer Architecture 1 CMCS Computer Architecture Lecture 26 Bus Interconnect May 7,
Chapter 3 System Buses.  Hardwired systems are inflexible  General purpose hardware can do different tasks, given correct control signals  Instead.
1 Device Controller I/O units typically consist of A mechanical component: the device itself An electronic component: the device controller or adapter.
Aditya Dayal M. Tech, VLSI Design ITM University, Gwalior.
CIS 4930/6930 System-on-Chip Design Transaction-Level Modeling with SystemC Dr. Hao Zheng Comp. Sci & Eng. U of South Florida.
Big Picture Lab 4 Operating Systems C Andras Moritz
April 15, 2013 Atul Kwatra Principal Engineer Intel Corporation Hardware/Software Co-design using SystemC/TLM – Challenges & Opportunities ISCUG ’13.
Chapter 6 Input/Output Organization
Overview Parallel Processing Pipelining
CoCentirc System Studio (CCSS) by
I/O Systems I/O Hardware Application I/O Interface
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
Transaction Level Modeling: An Overview
Chapter 13: I/O Systems.
Presentation transcript:

Transaction Level Modeling with SystemC Adviser :陳少傑 教授 Member :王啟欣 P Member :陳嘉雄 R Member :林振民 P

Outline Transaction level modeling Simple bus example Conclusion Reference

Transaction Definition  Exchange of data or event between two components of a modeled and simulated system Types of transactions  Data transaction Can be a single word/series of words/complex data structure that is transferred over the bus, e.g. DMA read/write transaction  Event transaction Models synchronization aspects that ensure correct operation of the SOC model, e.g. interrupts

Transaction Level Model (TLM) Definition  Models of HW at high level of abstraction New design & verification abstraction above RTL  Protocol based comm. Characteristics  Comm. with each other by transaction requests  Can be developed and ready as soon as the initial functional specs. of the systems are decided  Can incorporate timing detail Performance estimation and arch. exploration

TLM (cont.) Advantages  HW/SW teams share a common abstraction and verification environment Early HW/SW integration  Enable high speed simulation Early development and verification of embedded SW  Reduce design iterations  Design reuse

TLM vs. SystemC TLM requirements  Communication ensured by primitive channel  Synchronization based on events  Accuracy for a given task at high simulation speed SystemC provides  Channels  Interfaces  Events

TLM vs. SystemC (cont.) Channel  Serves as a container object for comm. and sync.  Implements one or more interfaces Interface  Specifies access methods to be implemented within a channel, but does not provide the implementation Event  Flexible, low-level sync. primitive used to construct other forms of sync. mechanism

HW signals Queues (FIFO, LIFO, message queues, etc.) Semaphores Mutexes Timer Memories Busses TLM Applications

“Simple” =  No pipelining  No split transactions  No master wait states  No request/acknowledge scheme Simple Bus Example

Simple Bus Example (cont.)

Simple Bus – Master Interfaces Blocking:  Complete bursts  Used by high-level models Non-blocking:  Cycle-based  Used by processor models Direct:  Immediate slave access  Put SW debugger to work

Master – Blocking Interface “Blocking” because call returns only after complete transmission is finished Master is identified by its unique priority  status burst_read(unique_priority, data*, start_address, length=1, lock=false);  status burst_write(unique_priority, data*, start_address, length=1, lock=false);

Master – Non-blocking Interface “Non-blocking” because calls return immediately. Less convenient than blocking API but caller remains in control (needed e.g. for most processor models).  status get_status(unique_priority);  status read(unique_priority, data*, address, lock=false);  status write(unique_priority, data*, address, lock=false);

Master – Direct Interface Provides direct access to slaves (using the bus’ address map)  Immediate access simulated time does not advance  No arbitration Use for SW debuggers or decoupling of HW and SW  status direct_read(data*, address);  status direct_write(data*, address);

Simple Bus – Slave Interface unsigned start_address(); address unsigned end_address(); mapping status read(data*, address); regular status write(data*, address); I/O status direct_read(data*, address); debug status direct_write(data*, address); interface

Simple Bus – Arbiter Interface Arbitration rules:  If the current request is a locked burst request, then it is always selected  If the last request had its lock flag set and is again 'requested', this request is selected from the collection Q and returned, otherwise:  The request with the highest priority (i.e. lowest number) is selected from the collection Q and returned simple_bus_request *arbitrate(const simple_bus_request_vec &Q);

Simple Bus – Simulation Simulation timeDirect interfaceMemory Position (hex) Memory Value (hex)

Conclusion What we have talked about  Importance of TLM  SystemC 2.0 enables efficient platform modeling Get executable platform as soon as possible Simulation speed What we can do in the future  More complex bus design  Incorporate the CPU/Memory module

Reference Thorsten Grötker, Stan Liao, Grant Martin and Stuart Swan, System Design with SystemC, Kluwer Academic Publishers Group, ISBN: Open SystemC Initiative, Wander O. Cesario, et al. “Multiprocessor SoC Platforms: A Component- Based Approach”, IEEE Design & Test of Computers, pp , Vol. 19, No. 6, Jon Connell, “Capturing design intent and evaluating performance with SystemC”, Embedded Systems West Proceedings, Class 201, ARM, “RealView Model Library”, ARM, “AMBA AHB Cycle-Level Interface Specification”, Filip Thoen “Prototyping Technologies for Early Embedded Software Development”, Information Quarterly, pp , Vol. 1, No. 1, 2002.