Joshua GarrettUniversity of California, Berkeley SpecCharts: A VHDL Front-End for Embedded Systems.

Slides:



Advertisements
Similar presentations
Embedded System, A Brief Introduction
Advertisements

ECOE 560 Design Methodologies and Tools for Software/Hardware Systems Spring 2004 Serdar Taşıran.
Give qualifications of instructors: DAP
SpecC and SpecCharts Reviewed and Presented by Heemin Park and Eric Kwan EE202A - Fall 2001 Professor Mani Srivastava.
IT Requirements Capture Process. Motivation for this seminar Discovering system requirements is hard. Formally testing use case conformance is hard. We.
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
CS 355 – Programming Languages
CS 151 Digital Systems Design Lecture 37 Register Transfer Level
Introductory Comments Regarding Hardware Description Languages.
Models of Computation for Embedded System Design Alvise Bonivento.
VHDL Intro What does VHDL stand for? VHSIC Hardware Description Language VHSIC = Very High Speed Integrated Circuit Developed in 1982 by Govt. to standardize.
4/10/20081 Lab 9 RT methodology introduction Register operations Data Path Control Path ASM Example TA: Jorge Crichigno.
Silicon Programming--Intro. to HDLs1 Hardware description languages: introduction intellectual property (IP) introduction to VHDL and Verilog entities.
Mahapatra-Texas A&M-Fall'001 Codesign Framework Parts of this lecture are borrowed from lectures of Johan Lilius of TUCS and ASV/LL of UC Berkeley available.
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
02/06/05 “Investigating a Finite–State Machine Notation for Discrete–Event Systems” Nikolay Stoimenov.
Abstraction IS 101Y/CMSC 101 Computational Thinking and Design Tuesday, September 17, 2013 Carolyn Seaman University of Maryland, Baltimore County.
Using Mathematica for modeling, simulation and property checking of hardware systems Ghiath AL SAMMANE VDS group : Verification & Modeling of Digital systems.
1 5-High-Performance Embedded Systems using Concurrent Process (cont.)
IAY 0600 Digitaalsüsteemide disain Event-Driven Simulation Alexander Sudnitson Tallinn University of Technology.
CAD Techniques for IP-Based and System-On-Chip Designs Allen C.-H. Wu Department of Computer Science Tsing Hua University Hsinchu, Taiwan, R.O.C {
Extreme Makeover for EDA Industry
Overview of Formal Methods. Topics Introduction and terminology FM and Software Engineering Applications of FM Propositional and Predicate Logic Program.
Joseph Cordina 1/11 The Use of Model-Checking for the Verification of Concurrent Algorithms Joseph Cordina Department of C.S.&A.I.
Languages for HW and SW Development Ondrej Cevan.
1 Workshop Topics - Outline Workshop 1 - Introduction Workshop 2 - module instantiation Workshop 3 - Lexical conventions Workshop 4 - Value Logic System.
16 August Verilog++ Assertion Extension Requirements Proposal.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
STATEFLOW AND SIMULINK TO VERILOG COSIMULATION OF SOME EXAMPLES
Fall 2004EE 3563 Digital Systems Design EE 3563 VHSIC Hardware Description Language  Required Reading: –These Slides –VHDL Tutorial  Very High Speed.
Introduction to VLSI Design – Lec01. Chapter 1 Introduction to VLSI Design Lecture # 11 High Desecration Language- Based Design.
Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Topics Modeling with hardware description languages (HDLs).
ECE-C662 Lecture 2 Prawat Nagvajara
M.Mohajjel. Digital Systems Advantages Ease of design Reproducibility of results Noise immunity Ease of Integration Disadvantages The real world is analog.
SOFTWARE ENGINEERING. Objectives Have a basic understanding of the origins of Software development, in particular the problems faced in the Software Crisis.
ELEE 4303 Digital II Introduction to Verilog. ELEE 4303 Digital II Learning Objectives Get familiar with background of HDLs Basic concepts of Verilog.
CSCI-365 Computer Organization Lecture Note: Some slides and/or pictures in the following are adapted from: Computer Organization and Design, Patterson.
IAY 0600 Digital Systems Design Event-Driven Simulation VHDL Discussion Alexander Sudnitson Tallinn University of Technology.
FPGA-Based System Design Copyright  2004 Prentice Hall PTR Topics n Modeling with hardware description languages (HDLs).
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
ECE 448 Lecture 6 Finite State Machines State Diagrams vs. Algorithmic State Machine (ASM) Charts.
Introduction to Computing Systems and Programming Programming.
2-Hardware Design of Embedded Processors (cont.) Advanced Approaches.
Software Design and Development Development Methodoligies Computing Science.
IAY 0600 Digital Systems Design VHDL discussion Structural style Modular design and hierarchy Part 1 Alexander Sudnitson Tallinn University of Technology.
1 Lecture 1: Verilog HDL Introduction. 2 What is Verilog HDL? Verilog Hardware Description Language(HDL)? –A high-level computer language can model, represent.
TOPIC : SEQUENTIAL AND PARALLEL BLOCKS Module 2.3 : Behavioral modeling in verilog.
1 A hardware description language is a computer language that is used to describe hardware. Two HDLs are widely used Verilog HDL VHDL (Very High Speed.
Structural style Modular design and hierarchy Part 1
Adapted from Krste Asanovic
An Overview of Requirements Engineering Tools and Methodologies*
Digital System Design An Introduction to Verilog® HDL
IAY 0600 Digitaalsüsteemide disain
ECE 448 Lecture 6 Finite State Machines State Diagrams, State Tables, Algorithmic State Machine (ASM) Charts, and VHDL Code.
Topics Modeling with hardware description languages (HDLs).
Introduction Introduction to VHDL Entities Signals Data & Scalar Types
2-Hardware Design of Embedded Processors (cont.)
A451 Theory – 7 Programming 7A, B - Algorithms.
ECE 448 Lecture 6 Finite State Machines State Diagrams vs. Algorithmic State Machine (ASM) Charts.
IP – Based Design Methodology
Topics Modeling with hardware description languages (HDLs).
332:437 Lecture 7 Verilog Hardware Description Language Basics
Hardware Description Languages
ECE-C662 Introduction to Behavioral Synthesis Knapp Text Ch
332:437 Lecture 7 Verilog Hardware Description Language Basics
332:437 Lecture 7 Verilog Hardware Description Language Basics
ECE 448 Lecture 6 Finite State Machines State Diagrams, State Tables, Algorithmic State Machine (ASM) Charts, and VHDL Code.
ECE 448 Lecture 6 Finite State Machines State Diagrams, State Tables, Algorithmic State Machine (ASM) Charts, and VHDL code ECE 448 – FPGA and ASIC Design.
Digital Designs – What does it take
ECE 448 Lecture 6 Finite State Machines State Diagrams vs. Algorithmic State Machine (ASM) Charts.
Presentation transcript:

Joshua GarrettUniversity of California, Berkeley SpecCharts: A VHDL Front-End for Embedded Systems

Joshua GarrettUniversity of California, Berkeley Motivation VHDL Widely used for hardware description Supported with powerful synthesis and verification tools Embedded Systems Functional specification is preferred Specifying embedded systems in VHDL tedious, time-consuming, and error-prone SpecCharts: a VHDL front-end for embedded systems

Joshua GarrettUniversity of California, Berkeley Specifying Embedded Systems Derive implementation from an informal specification “English” to gate-level netlist/C code Benefits of a functional specification Functional errors can be identified early in the process Facilitates integration with concurrently-designed systems Automated estimation and synthesis tools Reduce design time Evaluate alternative implementations Can redesign for another application without reverse engr. Isn’t VHDL code a functional specification…?

Joshua GarrettUniversity of California, Berkeley Embedded Systems …yes, but not a good one. Characteristics common to embedded systems: 1. Sequential and concurrent behavior decomposition 2. State transitions 3. Exceptions 4. Sequential Algorithms 5. Behavior Completion Support: A description language supports a characteristic if there is a simple, direct mapping of the characteristic to a language construct VHDL fully supports sequential decomposition and sequential algorithms, but not the rest

Joshua GarrettUniversity of California, Berkeley VHDL Limitations for Embedded Systems Sequential and Concurrent Behavior Decomposition VHDL supports concurrent decomposition of top-level functionality using processes, but not concurrent decomposition of a process Q and R and forked sub-behaviors of process Main Q, R are not concurrently executed with P, S

Joshua GarrettUniversity of California, Berkeley VHDL Limitations for Embedded Systems State Transitions Loop and case statements Difficult to discern state transitions without mentally executing VHDL code

Joshua GarrettUniversity of California, Berkeley VHDL Limitations for Embedded Systems Exceptions VHDL does not possess a construct to immediately deactivate a process or procedure upon the occurrence of an event Coerce exception handling by polling for the exception throughout the behavior’s sequential statements

Joshua GarrettUniversity of California, Berkeley VHDL Limitations for Embedded Systems Sequential Algorithms Fully supported Behavior Completion Procedure completion supported (return statement) Process completion is not Add a signal which is asserted at the end of a process Monitored by other processes Could we do better with another language?

Joshua GarrettUniversity of California, Berkeley Functional Specification Language Comparison Verilog, Esterel: support fork/join, behavior disable, but not state transitions Communicating Sequential Processes (CSP): fork/join, but not state transitions or exceptions Statecharts, Argos: permits hierarchical/concurrent FSM, but not sequential algorithms Specification and Description Language (SDL): state transitions inside processes and behavior completion, but no exceptions or sequential algorithms

Joshua GarrettUniversity of California, Berkeley SpecCharts We can coerce embedded system behavior out of VHDL, but: May be extremely tedious, time-consuming, and error prone Resulting description may be difficult to comprehend SpecCharts Introduce Programming State Machines (PSM) Hierarchical/concurrent FSM with programming language paradigm Program state is a three-tuple

Joshua GarrettUniversity of California, Berkeley SpecCharts Compact description in SpecCharts

Joshua GarrettUniversity of California, Berkeley Translation into VHDL Isn’t this still just VHDL? VHDL simulators are widely used, fast, and reliable VHDL is required documentation for many projects Synthesis and verification tools take VHDL as input VHDL translation algorithm is focused on readability, simulation efficiency, and synthesizability SpecCharts behavior -> VHDL process Hierarchy is maintained PSM program states each represented by its own process Synthesis of SpecCharts Tools assume 1 controller, 1 datapath per process Sequential behaviors should be flattened in translation

Joshua GarrettUniversity of California, Berkeley Measuring the Utility of SpecCharts Human Test Subjects Specification Capture Specification Comprehension Specification Quantification Design Quality Translation E.g. Six subjects (three using VHDL, three using SpecCharts) given documentation for an existing aircraft traffic-alert and collision-avoidance system. Subjects took 2.5x time more time to specify the system in VHDL, 2/3 VHDL specifications contained a major control error, and only 1/2 was able to correct that error in the allotted time.

Joshua GarrettUniversity of California, Berkeley Measuring the Utility of SpecCharts Specification Comprehension Modelers given VHDL specification took 3x longer to understand the general behavior, e.g. “What happens when the Enable signal goes low”, average 2/14 wrong answers. Specification Quantification SpecCharts specification uses ~4x less words than even hierarchical VHDL, and 1/2 as many states as Statecharts Design Quality Design derived from English/SpecCharts specification show little difference in final transistor count Translation Simulation of translated SpecCharts code is slower than handwritten VHDL, but by less than an order of magnitude (550s as compared to 220 and 250s)

Joshua GarrettUniversity of California, Berkeley Conclusion Existing languages don’t support direct specification of common embedded system characteristics New conceptual computation model, PSM Language based on that model, SpecCharts Built on a popular standard language, VHDL Fits well with current methodologies Can lead to fewer functional errors and easier integration of system models Fewer design iterations, fast time-to-market, improved product support