Design Flow System Level

Slides:



Advertisements
Similar presentations
HDL Programming Fundamentals
Advertisements

Embedded System, A Brief Introduction
Simulation executable (simv)
ECOE 560 Design Methodologies and Tools for Software/Hardware Systems Spring 2004 Serdar Taşıran.
High Level Languages: A Comparison By Joel Best. 2 Sources The Challenges of Synthesizing Hardware from C-Like Languages  by Stephen A. Edwards High-Level.
Give qualifications of instructors: DAP
Digital Design with VHDL Presented by: Amir Masoud Gharehbaghi
CS 151 Digital Systems Design Lecture 37 Register Transfer Level
Behavioral Design Outline –Design Specification –Behavioral Design –Behavioral Specification –Hardware Description Languages –Behavioral Simulation –Behavioral.
Dr. Turki F. Al-Somani VHDL synthesis and simulation – Part 3 Microcomputer Systems Design (Embedded Systems)
VHDL Intro What does VHDL stand for? VHSIC Hardware Description Language VHSIC = Very High Speed Integrated Circuit Developed in 1982 by Govt. to standardize.
VHDL. What is VHDL? VHDL: VHSIC Hardware Description Language  VHSIC: Very High Speed Integrated Circuit 7/2/ R.H.Khade.
Design methodology.
SystemC: Introduction. SystemC  A C++ based class library and design environment for system-level design.  Suitable for functional description that.
ECE 332 Digital Electronics and Logic Design Lab Lab 5 VHDL Design Styles Testbenches.
An Introduction Chapter Chapter 1 Introduction2 Computer Systems  Programmable machines  Hardware + Software (program) HardwareProgram.
ECE 2372 Modern Digital System Design
Chap. 1 Overview of Digital Design with Verilog. 2 Overview of Digital Design with Verilog HDL Evolution of computer aided digital circuit design Emergence.
1 H ardware D escription L anguages Modeling Digital Systems.
SystemC and Levels of System Abstraction: Part I.
1 Freeha Azmat Saba Zia Dec 02, Agenda Installation Introduction From Verilog to SystemC Counter as an Example Complete SystemC Modeling 2.
VHDL IE- CSE. What do you understand by VHDL??  VHDL stands for VHSIC (Very High Speed Integrated Circuits) Hardware Description Language.
Languages for HW and SW Development Ondrej Cevan.
Language Concepts Ver 1.1, Copyright 1997 TS, Inc. VHDL L a n g u a g e C o n c e p t s Page 1.
CWRU EECS 317 EECS 317 Computer Design LECTURE 1: The VHDL Adder Instructor: Francis G. Wolff Case Western Reserve University.
1 IMEC / KHBO June 2004 Micro-electronics SystemC Dorine Gevaert.
Module 1.2 Introduction to Verilog
Introduction to VHDL Spring EENG 2920 Digital Systems Design Introduction VHDL – VHSIC (Very high speed integrated circuit) Hardware Description.
Fall 2004EE 3563 Digital Systems Design EE 3563 VHSIC Hardware Description Language  Required Reading: –These Slides –VHDL Tutorial  Very High Speed.
Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Topics VHDL register-transfer modeling: –basics using traffic light controller; –synthesis.
Fall 08, Oct 29ELEC Lecture 7 (updated) 1 Lecture 7: VHDL - Introduction ELEC 2200: Digital Logic Circuits Nitin Yogi
Electrical and Computer Engineering University of Cyprus LAB 1: VHDL.
CprE 588 Embedded Computer Systems Prof. Joseph Zambreno Department of Electrical and Computer Engineering Iowa State University Lecture #5 – System-Level.
Evaluating and Improving an OpenMP-based Circuit Design Tool Tim Beatty, Dr. Ken Kent, Dr. Eric Aubanel Faculty of Computer Science University of New Brunswick.
System-level power analysis and estimation September 20, 2006 Chong-Min Kyung.
Introduction to VHDL Simulation … Synthesis …. The digital design process… Initial specification Block diagram Final product Circuit equations Logic design.
1 Copyright  2001 Pao-Ann Hsiung SW HW Module Outline l Introduction l Unified HW/SW Representations l HW/SW Partitioning Techniques l Integrated HW/SW.
Introduction to ASIC flow and Verilog HDL
04/26/20031 ECE 551: Digital System Design & Synthesis Lecture Set : Introduction to VHDL 12.2: VHDL versus Verilog (Separate File)
Digital Design Using VHDL and PLDs ECOM 4311 Digital System Design Chapter 1.
System-on-Chip Design Homework Solutions
CIS 4930/6930 System-on-Chip Design Transaction-Level Modeling with SystemC Dr. Hao Zheng Comp. Sci & Eng. U of South Florida.
1 of 14 Ivan Ukhov Embedded Systems Laboratory Department of Computer and Information Science Linköping University TDDI08: Embedded Systems Design Introduction.
1 Introduction to Engineering Spring 2007 Lecture 18: Digital Tools 2.
Introduction to design with VHDL
System-on-Chip Design
System-on-Chip Design Homework Solutions
ASIC Design Methodology
VLSI Testing Lecture 5: Logic Simulation
B e h a v i o r a l to R T L Coding
Topics Modeling with hardware description languages (HDLs).
VLSI Testing Lecture 5: Logic Simulation
Introduction Introduction to VHDL Entities Signals Data & Scalar Types
Vishwani D. Agrawal Department of ECE, Auburn University
IP – Based Design Methodology
Topics Modeling with hardware description languages (HDLs).
Introduction to cosynthesis Rabi Mahapatra CSCE617
CoCentirc System Studio (CCSS) by
Peter J. Ashenden The University of Adelaide
ECE-C662 Introduction to Behavioral Synthesis Knapp Text Ch
VHDL Discussion Subprograms
VHDL Introduction.
VHDL Discussion Subprograms
Hardware Modeling & Synthesis Using VHDL
ECE 448 Lecture 6 Finite State Machines State Diagrams, State Tables, Algorithmic State Machine (ASM) Charts, and VHDL Code.
ECE 545 Lecture 5 Simple Testbenches.
Design Methodology & HDL
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
Computer Systems An Introducton.
Presentation transcript:

Design Flow System Level Πανεπιστήμιο Θεσσαλίας ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ, ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΚΑΙ ΔΙΚΤΥΩΝ Τομέας Υλικού και Αρχιτεκτονικής Υπολογιστών ΗΥ532 – Microprocessor Design Design Flow System Level

Electronic System Design 6-Νου-18

Top-Down Design The top-level system is modeled for functionality and performance using a high level behavioral description. Each major component is modeled at the behavioral level and the design is simulated again for functionality and performance. Each major component is modeled at the gate level and the design is simulated again for timing, functionality and performance. 6-Νου-18

Levels of Abstraction : Capture 6-Νου-18

Levels of Abstraction : Definition 6-Νου-18

Tradeoffs Between Abstraction Levels 6-Νου-18

System Level Modeling VHDL Behavioral SystemC/SystemVerilog 6-Νου-18

VHDL Behavioral Behavioral Description Describe the functionality of your design to Behavioral Compiler,using a behavioral level of abstraction. This behavioral description details when the inputs are read,what Operations are to be performed on the input data, and when the results of the processing are to be written to the output ports. The Behavioral Compiler tool synthesizes a VHDL behavioral hardware description, written at a behavioral level of abstraction, Into an RTL or a gate-level netlist. 6-Νου-18

SystemC : C/C++ out of the box C/C++ does not support Hardware style communication Signals, events, …etc. Notion of time Time sequenced operations Concurrency Hardware and systems are inherently concurrent, ie components operate in parallel Reactivity HW is inherently reactive, it responds to stimuli and is in constant interaction with its environment, which requires handling of exceptions Hardware datatypes Bit type, bit-vector type, multi-valued logic type, signed and unsigned integer types and fixed-point types 6-Νου-18

What is SystemC? ... A language extension to C/C++ to describe and simulate HW/SW systems: Multiple levels of abstraction Concurrency IP reuse methodology SystemC Library ... A C++ class library to standardize C-based system modelling ... A basic simulation kernel 6-Νου-18

System Design Flow & Abstraction Levels 6-Νου-18

Architectural Level In a typical top-down design flow, you start with a purely functional model of your system. This functional model is a software program that describes the system functionality so that it can be validated. This functional model is then mapped into a system architectural model. In addition to the system functionality, the system architectural model describes its architecture(buses, memory, processors, peripherals, and so forth). 6-Νου-18

Behavioral Model A behavioral model of a block in a system is an algorithmic description of the block’s behavior. Unlike a pure software program, however, the I/O behavior of the block is described in a cycle-accurate fashion. Therefore, wait statements are inserted into the algorithmic description to clearly delineate clock-cycle boundaries and when I/O happens. Unlike register transfer level (RTL) descriptions, the behavior of the block is still described algorithmically rather than in terms of a finite state machine (FSM) and a data path. Therefore, behavioral descriptions are more compact and easier to understand, and because of the higher level of abstraction, they simulate faster than RTL. 6-Νου-18

Register Transfer Level Model An RTL model describes registers in your design and the combinational logic between the registers. As such, the functionality of your system is specified as an FSM and a data path. Because register updates are tied to a clock, the model is cycle-accurate, both at the interfaces and also internally. Internal cycle accuracy means that the clock cycle in which each operation is performed is specified. This is different from a behavioral model that is cycle-accurate at the interface. 6-Νου-18

SystemC Example 6-Νου-18 // system top level and netlist main.cpp #include “systemc.h” #include “adder.h” #include “stimgen.h” #include “monitor.h” int sc_main(int argc, char *argv[] ) { // Create fifos channels with a depth of 10 sc_fifo<int> s1(10); sc_fifo<int> s2(10); sc_fifo<int> s3(10); // Module instantiations // Stimulus generator stimgen stim(“stim”); stim(s1,s2); // Adder adder add(“add”); add(s1, s2, s3); // Response monitor monitor mon(“mon”); mon.re(s3); // Start simulation sc_start(); return 0; } Stimulus Generator s1 Adder Response Monitor a1 in1 s3 out re s2 a2 in2 // Header file adder.h SC_MODULE(adder) { //Input ports sc_port<sc_fifo_in_if<int> > in1; sc_port<sc_fifo_in_if<int> > in2; //Ouput ports sc_port<sc_fifo_out_if<int> > out; //sync process for adder void adder_proc(); //Module constructor SC_CTOR(adder){ SC_THREAD(adder_proc); } } // End of SC_MODULE(adder) // Implementation file adder.cpp #include “systemc.h” #include “adder.h” void adder::adder_proc() { while(true) { out->write(in1->read() + in2->read() ); out->write(in1->read() + in2->read() +2); } 6-Νου-18

System Level Power Modeling 6-Νου-18

Design Flow 6-Νου-18

Power Model and Tool Suite 6-Νου-18

Use cases ( I ) 6-Νου-18

Use cases ( II ) 6-Νου-18

Use cases ( III ) 6-Νου-18

Use cases (IV) 6-Νου-18

Use cases (V) 6-Νου-18

Scheduling 6-Νου-18

Power Optimized Floorplan 6-Νου-18