Ptolemy Seamlessly Supports Heterogeneous Design 5 of 5

Similar documents
The Ptolemy Kernel Supporting Heterogeneous Design

Documentation Programmer-Oriented

An Overview of the Ptolemy Project. Organizational

An Introduction to Network Simulation Using Ptolemy Software Tool

Chapter 4. Introduction to Domains, Targets, and Foreign Tool Interfaces

World Wide Web Server.

Ptolemy: A Framework for Simulating and Prototyping Heterogeneous Systems 1.0 ABSTRACT

Hardware/Software Co-design

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.

The Ptolemy Project. Modeling and Design of Reactive Systems. Presenter: Praveen Murthy, PhD Postdoc and Presenter

SYSTEM-LEVEL CODESIGN OF MIXED HARDWARE-SOFTWARE SYSTEMS

Fusing Dataflow with Finite State Machines

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

System-Level Modeling Environment: MLDesigner

The Ptolemy II Framework for Visual Languages

Review Sources of Architecture. Why Domain-Specific?

Hardware-Software Codesign. 1. Introduction

MODELING OF BLOCK-BASED DSP SYSTEMS

Code Generation for TMS320C6x in Ptolemy

DESIGN AND SIMULATION OF HETEROGENEOUS CONTROL SYSTEMS USING PTOLEMY II

Cosimulation II. How to cosimulate?

Cosimulation II. Cosimulation Approaches

An Integrated Cosimulation Environment for Heterogeneous Systems Prototyping

Abstraction Layers for Hardware Design

LabVIEW Based Embedded Design [First Report]

The Future of the Ptolemy Project

DESIGN METHODOLOGY MANAGEMENT FOR SYSTEM-LEVEL DESIGN

Hierarchical FSMs with Multiple CMs

simply by implementing large parts of the system functionality in software running on application-speciæc instruction set processor èasipè cores. To s

Part 2: Principles for a System-Level Design Methodology

Hardware, Software and Mechanical Cosimulation for Automotive Applications

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

HETEROGENOUS SIMULATION MIXING DISCRETE-EVENT MODELS WITH DATAFLOW

Hardware-Software Codesign. 1. Introduction

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

Software Synthesis from Dataflow Models for G and LabVIEW

fakultät für informatik informatik 12 technische universität dortmund Modeling levels Peter Marwedel TU Dortmund, Informatik /11/07

Interface Design of VHDL Simulation for Hardware-Software Cosimulation

Hardware-Software Codesign. 6. System Simulation

Comparison of models. Peter Marwedel Informatik 12, TU Dortmund, Germany 2010/11/07. technische universität dortmund

An Integrated Hardware-Software Cosimulation Environment for Heterogeneous Systems Prototyping

COE 561 Digital System Design & Synthesis Introduction

SPECC: SPECIFICATION LANGUAGE AND METHODOLOGY

Component-Based Design of Embedded Control Systems

Hardware Software Codesign of Embedded Systems

Optimal Architectures for Massively Parallel Implementation of Hard. Real-time Beamformers

Advanced Tool Architectures. Edited and Presented by Edward A. Lee, Co-PI UC Berkeley. Tool Projects. Chess Review May 10, 2004 Berkeley, CA

Java Code Generation. Outline. Steve Neuendorffer UC Berkeley. Motivation Code generation architecture Component Specialization

FPGA for Software Engineers

Modeling and Simulation of H.26L Encoder. Literature Survey. For. EE382C Embedded Software Systems. Prof. B.L. Evans

You must have two core courses and two track courses to graduate

Reprint. Transmission Systems Prototyping based on Stateflow/Simulink Models

EEM870 Embedded System and Experiment Lecture 4: SoC Design Flow and Tools

Node Prefetch Prediction in Dataflow Graphs

A Unified Model for Co-simulation and Co-synthesis of Mixed Hardware/Software Systems

Hardware Software Codesign of Embedded System

ORACLE MESSAGEQ ORACLE DATA SHEET KEY FEATURES AND BENEFITS

Modeling of an MPEG Audio Layer-3 Encoder in Ptolemy

A Top-down Hardware/Software Co-Simulation Method for Embedded Systems Based Upon a Component Logical Bus Architecture

A General Purpose Queue Architecture for an ATM Switch

Hardware Description Languages & System Description Languages Properties

Exploration of Hardware/Software Design Space through a Codesign of Robot Arm Controller

System Modeling and Implementation of MPEG-4. Encoder under Fine-Granular-Scalability Framework

Complexity Management in System-level Design

Heterogeneous Simulation Mixing Discrete-Event Models with Dataflow

DTNS: a Discrete Time Network Simulator for C/C++ Language Based Digital Hardware Simulations

Contents Part I Basic Concepts The Nature of Hardware and Software Data Flow Modeling and Transformation

Connecting MATLAB & Simulink with your SystemVerilog Workflow for Functional Verification

Software Timing Analysis Using HW/SW Cosimulation and Instruction Set Simulator

A framework for automatic generation of audio processing applications on a dual-core system

1. Discovering Important Nodes through Graph Entropy The Case of Enron Database

The Design of Mixed Hardware/Software Systems

Advanced Simulation Technologies

Co-synthesis and Accelerator based Embedded System Design

TKT-1527 Digital System Design Issues Tero Arpinen. Introduction to SoC modeling and Models of Computation

Chapter 13. CG Domain

From Modeling/Simulation with Scilab/Scicos to Optimized Distributed Embedded Real-Time Implementation with SynDEx

THE EUROPEAN DESIGN AND TEST CONFERENCE 1995 Paris,France 6-9 March 1995

UC Berkeley Mobies Technology Project

Review Article Formal ESL Synthesis for Control-Intensive Applications

Course Outcome of M.E (ECE)

ECE 459/559 Secure & Trustworthy Computer Hardware Design

MODELING LANGUAGES AND ABSTRACT MODELS. Giovanni De Micheli Stanford University. Chapter 3 in book, please read it.

An Extension to the Foundation Fieldbus Model for Specifying Process Control Strategies

System level modelling with open source tools

Imperative model of computation

The Gigascale Silicon Research Center

VOLUME 1: INTRODUCTION TO PTOLEMY II. Document Version 3.0 for use with Ptolemy II 3.0 July 16, 2003

TODAY, new applications, e.g., multimedia or advanced

Module 1. Introduction. Version 2, CSE IIT, Kharagpur

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

SystemC-AMS Requirements, Design Objectives and Rationale

Teleport Messaging for. Distributed Stream Programs

Hardware, Software and Mechanical Cosimulation for Automotive Applications

Dynamic Scheduling Implementation to Synchronous Data Flow Graph in DSP Networks

A Rapid Prototyping Methodology for Algorithm Development in Wireless Communications

StreamIt: A Language for Streaming Applications

YOUNGMIN YI. B.S. in Computer Engineering, 2000 Seoul National University (SNU), Seoul, Korea

A 120 fps High Frame Rate Real-time Video Encoder

Linköping University Post Print. epuma: a novel embedded parallel DSP platform for predictable computing

Transcription:

In summary, the key idea in the Ptolemy project is to mix models of computation, rather than trying to develop one, all-encompassing model. The rationale is that specialized models of computation are (1) more useful to the system-level designer, and (2) more amenable to high-quality high-level synthesis of hardware and software. The Ptolemy kernel demonstrates one way to mix tools that have fundamentally different semantics, and provides a laboratory for experimenting with such mixtures. More information about the Ptolemy project, plus access to all of the software and documentation, is available on the worldwide web via the URL http://ptolemy.eecs.berkeley.edu. Ptolemy Seamlessly Supports Heterogeneous Design 5 of 5

tool from Berkeley), Thor (an RTL-level circuit simulator from Stanford), sim56000 and sim96000 (instruction-set simulators from Motorola for their programmable DSPs). Key research problems being addressed by this broad project include: Hardware/software codesign methodology. Domain-specific signal processing design. Dataflow semantics (for signal processing). Hierarchical finite-state machine semantics (for control). Synthesis of embedded software. Name Expansion Principal Use SDF synchronous dataflow synchronous signal processing DDF dynamic dataflow asynchronous signal processing BDF boolean dataflow asynchronous signal processing MDSDF multidimensional dataflow multidimensional signal processing DE discrete event communication network modeling and determinate high-level system modeling FSM finite state machines control HOF higher-order functions graphical programming Thor (name given at Stanford) RTL hardware simulation MQ message queue telecommunications switching software CP communicating processes communication network modeling nondeterminate system modeling CGC code generation - C software synthesis (SDF or BDF model) CG56 code generation - DSP56000 firmware synthesis (SDF model) CG96 code generation - DSP96000 firmware synthesis (SDF model) Silage a functional language VLSI hardware synthesis (SDF model) VHDLF VHDL - functional high-level modeling and design (SDF) VHDLB VHDL - behavioral hardware modeling and design (DE) Sproc a multiprocessor DSP from Star Semiconductor firmware synthesis (SDF) Table 1: Some domains that have been implemented in Ptolemy. The shaded area indicates simulation domains. The rest are code-generation domains. Ptolemy Seamlessly Supports Heterogeneous Design 4 of 5

Each design style is supported by one or more domains. A domain is an extensible library of functional blocks and model of computation. By model of computation we mean the operational semantics of a network of functional blocks. Key to Ptolemy is the ability to combine multiple domains in a single design. Table 1 summarizes some of the domains that Berkeley is currently working on. Using heterogeneous design styles also requires using tools from different sources. The Berkeley team has already demonstrated varying levels of integration between Ptolemy and a number of externally developed tools, including Matlab (from The Math Works), Hyper (a VLSI hardware synthesis discrete-event model of an ATM network with video and audio traffic dataflow model of a video encoder discrete-event model of an ATM switch FIGURE 2. A multimedia networking application that combines discrete-event modeling of an ATM (asynchronous transfer mode) packet-switched network with video and audio coding and decoding (application developed by Paul Haskell). Ptolemy Seamlessly Supports Heterogeneous Design 3 of 5

hierarchical dataflow graph describing the algorithm to be implemented in software parallel scheduler and code generator (CG56 domain) board-level model of a hardware design containing programmable DSPs DSP56K DSP56K cosimulation engine (Thor domain) FIGURE 1. A board-level specification of a hardware design containing programmable DSPs (bottom window) is combined with a high-level block-diagram representation of the algorithm to be executed by the DSPs. Ptolemy handles code generation for the DSPs, including partitioning for parallel execution, and hardware/software cosimulation. Ptolemy Seamlessly Supports Heterogeneous Design 2 of 5

February 16, 1995 Ptolemy Seamlessly Supports Heterogeneous Design U N T H E I V E R S I T Y A O F LET THERE BE 1868 LIG HT C A L I A I F O R N RASSP Enterprise Newsletter, Vol. 1, No. 3, August 1994 EXPANDED VERSION DEPARTMENT OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCES UNIVERSITY OF CALIFORNIA AT BERKELEY BERKELEY, CA A technology base team at the University of California at Berkeley is developing a software environment called Ptolemy that supports heterogeneous design. In signal processing systems, heterogeneity arises in two ways: Diverse implementation technologies are combined (such as hardware, software, or subsystem integration). Diverse models of computation are used to describe the system being implemented. The first of these dominates in later phases of the design, where validation is complicated by the mixture of implementation technologies. The second of these dominates during early phases of systemlevel design, where domain-specific, high-level tools are most effectively used. The objective of the Ptolemy project is to seamlessly support both forms of heterogeneity through carefully conceived software architecture, and to support seamless migration from system-level design to detailed design. An example of the way that Ptolemy can support diverse implementation technologies is shown in figure 1. The design of each subsystem is carried out using the best available methodology and tools for that subsystem, at the highest level of abstraction possible. For example, signal processing software can be specified using a block diagram with dataflow semantics, and hardware can be specified at the architecture level as an assemblage of high-level building blocks. The subsystems are then combined for cosimulation and/or cosynthesis in a modular and transparent way. An example of the way that Ptolemy can support diverse models of computation in a system-level design is shown in figure 2. There, a model of a broadband packet network includes the interactions between three key elements: signal processing (video and audio compression), transport (cell-relay or ATM), and control (signaling and call processing). The signal processing is modeled again using block diagrams with dataflow semantics, while the networking is modeled using discrete-event semantics. Ptolemy is an object-oriented system and achieves its goals using the principle of polymorphism. The Ptolemy kernel, written in C++, defines the basic classes that allow the components of the system to function together, and from the classes, application-specific objects are derived. A high-level domainspecific design tool is a collection of such objects. Information hiding and data abstraction are key to the design; the system is extensible in many dimensions without the need to modify the kernel. 1 of 5