Design & Co-design of Embedded Systems Combinational Logic in SystemC Maziar Goudarzi.

Slides:



Advertisements
Similar presentations
VHDL in digital circuit synthesis (tutorial) dr inż. Miron Kłosowski EA 309
Advertisements

CDA 3100 Recitation Week 10.
Winter-Spring 2001Codesign of Embedded Systems1 Introduction to SystemC Part of HW/SW Codesign of Embedded Systems Course (CE )
Design & Co-design of Embedded Systems Synchronous Sequential Logic (2) and Miscellaneous Logic in SystemC Maziar Goudarzi.
16/04/20151 Hardware Descriptive Languages these notes are taken from Mano’s book It can represent: Truth Table Boolean Expression Diagrams of gates and.
VHDL Structural Architecture ENG241 Week #5 1. Fall 2012ENG241/Digital Design2 VHDL Design Styles Components and interconnects structural VHDL Design.
Random Numbers In today’s lesson we will look at: why we might want a random number whether they really are random how to create and scale random numbers.
Sampling Chapter 2 ME 392 Sampling Chapter 2 ME January 2012 week 4 Joseph Vignola.
Verilog - 1 Writing Hardware Programs in Abstract Verilog  Abstract Verilog is a language with special semantics  Allows fine-grained parallelism to.
ECE 353 Computer Systems Lab II VHDL AND LABORATORY TOOLS TUTORIAL Professors Maciej Ciesielski & T. Baird Soules.
Chapter 3 : Combination and Sequential Circuits Modeling.
Design & Co-design of Embedded Systems Processes in SystemC Maziar Goudarzi.
Verilog Tutorial. Outline Numbers(A.2.7) Vectors in Verilog (Section 4.1.7) Four value logic (Section 4.2.1) Comments and White Space (A.2.2) Test Methodology.
Dr. Turki F. Al-Somani VHDL synthesis and simulation – Part 2 Microcomputer Systems Design (Embedded Systems)
Reconfigurable Computing S. Reda, Brown University Reconfigurable Computing (EN2911X, Fall07) Lecture 15: SystemC (3/3) Prof. Sherief Reda Division of.
Copyright © 2001 Stephen A. Edwards All rights reserved SystemC Prof. Stephen A. Edwards.
VHDL And Synthesis Review. VHDL In Detail Things that we will look at: –Port and Types –Arithmetic Operators –Design styles for Synthesis.
Programming in VHDL Using Processes. How Processes Run A process is either in suspend mode or is running. For a process to run, there has to be a change.
Chapter 2 : Data types. Extension Data Type Overview NameDescription sc_bitsingle bit with two values, ‘0’ and ‘1’ sc_bv Arbitrary width bit vector sc_logicSignle.
Copyright © 2001 Stephen A. Edwards All rights reserved SystemC Prof. Stephen A. Edwards.
Reconfigurable Computing S. Reda, Brown University Reconfigurable Computing (EN2911X, Fall07) Lecture 14: SystemC (2/3) Prof. Sherief Reda Division of.
Railway Foundation Electronic, Electrical and Processor Engineering.
Reconfigurable Computing S. Reda, Brown University Reconfigurable Computing (EN2911X, Fall07) Lecture 13: SystemC (1/3) Prof. Sherief Reda Division of.
4 Operations On Data Foundations of Computer Science ã Cengage Learning.
SystemC: Introduction. SystemC  A C++ based class library and design environment for system-level design.  Suitable for functional description that.
VHDL Training ©1995 Cypress Semiconductor 1 Introduction  VHDL is used to:  document circuits  simulate circuits  synthesize design descriptions 
1 Advanced Computer Architecture 5MD00 / 5Z032 SystemC Henk Corporaal 2007.
SystemC Tutorial Author: Silvio Veloso
CPE 626 The SystemC Language Aleksandar Milenkovic Web:
IAY 0600 Digital Systems Design
1 Freeha Azmat Saba Zia Dec 02, Agenda Installation Introduction From Verilog to SystemC Counter as an Example Complete SystemC Modeling 2.
Array Synthesis in SystemC Hardware Compilation Authors: J. Ditmar and S. McKeever Oxford University Computing Laboratory, UK Conference: Field Programmable.
1 Workshop Topics - Outline Workshop 1 - Introduction Workshop 2 - module instantiation Workshop 3 - Lexical conventions Workshop 4 - Value Logic System.
2-Jun-16EE5141 Chapter 3 ä The concept of the signal ä Process concurrency ä Delta time ä Concurrent and sequential statements ä Process activation by.
Winter-Spring 2001Codesign of Embedded Systems1 Reactivity, Ports, and Signals in SystemC Part of HW/SW Codesign of Embedded Systems Course (CE )
1 Very Large Scale Integration II - VLSI II SystemC Gürer Özbek ITU VLSI Laboratories Istanbul Technical University.
Winter-Spring 2001Codesign of Embedded Systems1 Introduction to System-Level Modeling in SystemC 2.0 Part of HW/SW Codesign of Embedded Systems Course.
Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Topics VHDL register-transfer modeling: –basics using traffic light controller; –synthesis.
Winter-Spring 2001Codesign of Embedded Systems1 Debug and Trace Facilities in SystemC Part of HW/SW Codesign of Embedded Systems Course (CE )
Design & Co-design of Embedded Systems Data Types in SystemC Maziar Goudarzi.
Design & Co-design of Embedded Systems Sharif University of Technology Computer Engineering Dept. Fall-Winter 2005 Maziar Goudarzi.
EE3A1 Computer Hardware and Digital Design Lecture 2 Introduction to VHDL.
CprE 588 Embedded Computer Systems Prof. Joseph Zambreno Department of Electrical and Computer Engineering Iowa State University Lecture #10 – Introduction.
CPE 626 The SystemC Language – VHDL, Verilog Designer’s Guide Aleksandar Milenkovic Web:
CPE 626 The SystemC Language Aleksandar Milenkovic Web:
Outline Binary Addition 2’s complement Binary Subtraction Half Adder
ELEE 4303 Digital II Introduction to Verilog. ELEE 4303 Digital II Learning Objectives Get familiar with background of HDLs Basic concepts of Verilog.
Design & Co-design of Embedded Systems Sharif University of Technology Computer Engineering Dept. Fall-Winter 2005 Maziar Goudarzi.
CPE 626 The SystemC Language Aleksandar Milenkovic Web:
Design & Co-design of Embedded Systems Introduction to SystemC Maziar Goudarzi.
Winter-Spring 2001Codesign of Embedded Systems1 Modules in SystemC Part of HW/SW Codesign of Embedded Systems Course (CE )
IAY 0600 Digital Systems Design VHDL discussion Verification: Testbenches Alexander Sudnitson Tallinn University of Technology.
Winter-Spring 2001Codesign of Embedded Systems1 Processes in SystemC: Examples and Exercises Part of HW/SW Codesign of Embedded Systems Course (CE )
LECTURE VI USER DEFINED PRIMITIVES GATE-LEVEL MODELING.
Lecture #12 Page 1 ECE 4110– Digital Logic Design Lecture #12 Agenda 1.VHDL : Behavioral Design (Processes) Announcements 1.n/a.
1 of 14 Ivan Ukhov Embedded Systems Laboratory Department of Computer and Information Science Linköping University TDDI08: Embedded Systems Design Introduction.
Hardware Description Languages: Verilog
Homework Reading Machine Projects Labs
Custom Designed Integrated Circuits
Hardware Description Languages: Verilog
SystemC for SoC Designs
Design Flow System Level
  State Encoding مرتضي صاحب الزماني.
Design Example “Date of Birth Problem”
Design & Co-design of Embedded Systems
Design & Co-design of Embedded Systems
The Verilog Hardware Description Language
Introduction to System-Level Modeling in SystemC 2.0
Verilog Tutorial.
EEL4712 Digital Design (VHDL Tutorial).
Presentation transcript:

Design & Co-design of Embedded Systems Combinational Logic in SystemC Maziar Goudarzi

2005 Design & Co-design of Embedded Systems2 Today Program zDescribing Combinational Logic for Simulation zSynthesizable Subset for Combinational Logic Chapter 5 of: J. Bhasker, “A SystemC Primer”, Star Galaxy Publishing, 2002.

2005 Design & Co-design of Embedded Systems3 Recommendations on Data Types  For one bit, use bool  For vectors and unsigned arithmetic, use sc_uint<>  For signed arithmetic use sc_int<>  If vector size>64, use sc_biguint<> or sc_bigint<>  For loop indices use int (do not rely on its size, however)  Use sc_logic and sc_lv<> only for four-valued logic zUse resolved types only when resolution is required (i.e., multiple drivers on a port or signal)

2005 Design & Co-design of Embedded Systems4 Combinational Logic zLogic circuit whose output is a function of its inputs sampled only at that same time Combinational Logic out t = f(in1 t, in2 t, in3 t ) in2 in1 in3

2005 Design & Co-design of Embedded Systems5 Simulating Combinational Logic in SystemC zUsing SC_METHOD process SC_MODULE(not_gate) { sc_in in; sc_out out; void proc() { out=!in.read(); } SC_CTOR(not_gate) { SC_METHOD(proc); sensitive<<in; } }; zNote: yAll inputs must appear in the sensitivity list yWhat happens if they don’t?

2005 Design & Co-design of Embedded Systems6 Simulating Combinational Logic in SystemC (cont’d) zUsing SC_THREAD process SC_MODULE(not_gate) { sc_in in; sc_out out; void proc() { while(1) { out=!in.read(); wait(); } SC_CTOR(not_gate) { SC_THREAD(proc); sensitive<<in; } }; zHow about SC_CTHREAD? Can it be used for combinational logic?

2005 Design & Co-design of Embedded Systems7 Logical Operators

2005 Design & Co-design of Embedded Systems8 Logical Operators on Vectors

2005 Design & Co-design of Embedded Systems9 Arithmetic Operators

2005 Design & Co-design of Embedded Systems10 Other Operators zSigned Arithmetic zRelational Operators

2005 Design & Co-design of Embedded Systems11 Other Operators (cont’d) zVectors and Ranges yConstant index yNon-constant index

2005 Design & Co-design of Embedded Systems12 What we learned today zHow to describe combinational logic yFor simulation yFor synthesis xSynthesis semantics of various C++ constructs

2005 Design & Co-design of Embedded Systems13 Assignments zAssignment 3: yIs put on the course web-page xExercises of Chapter 4 of “SystemC Primer” book xSynthesize your models using the available tool yDue date: xTwo weeks from now: Tuesday, Aban 24th