Winter-Spring 2001Codesign of Embedded Systems1 Modules in SystemC Part of HW/SW Codesign of Embedded Systems Course (CE 40-226)

Slides:



Advertisements
Similar presentations
Verilog HDL -Introduction
Advertisements

Counters Discussion D8.3.
Simulation executable (simv)
The Verilog Hardware Description Language
ELEN 468 Lecture 21 ELEN 468 Advanced Logic Design Lecture 2 Hardware Modeling.
Shift Registers Module M11.1 Section 7.3.
ECE C03 Lecture 131 Lecture 13 VHDL Structural Modeling Hai Zhou ECE 303 Advanced Digital Design Spring 2002.
A Digital Circuit Toolbox
© 1998, Peter J. AshendenVHDL Quick Start1 Basic VHDL Concepts Interfaces Behavior Structure Test Benches Analysis, elaboration, simulation Synthesis.
Table 7.1 Verilog Operators.
Winter-Spring 2001Codesign of Embedded Systems1 Introduction to SystemC Part of HW/SW Codesign of Embedded Systems Course (CE )
Anurag Dwivedi.  Verilog- Hardware Description Language  Modules  Combinational circuits  assign statement  Control statements  Sequential circuits.
CSE 201 Computer Logic Design * * * * * * * Verilog Modeling
ECE 551 Digital System Design & Synthesis Lecture 08 The Synthesis Process Constraints and Design Rules High-Level Synthesis Options.
Verilog - 1 Writing Hardware Programs in Abstract Verilog  Abstract Verilog is a language with special semantics  Allows fine-grained parallelism to.
BR 1/991 Hints on Meeting Project Constraints Clock Cycle Constraint (12 clocks) – More resources (multipliers, adders), less clocks –Can be done with.
Chapter 3 : Combination and Sequential Circuits Modeling.
Design & Co-design of Embedded Systems Processes in SystemC Maziar Goudarzi.
Lecture 2: Hardware Modeling with Verilog HDL
Useful Things to Know Norm. Administrative Midterm Grading Finished –Stats on course homepage –Pickup after this lab lec. –Regrade requests within 1wk.
Chapter 9: Hardware Description Languages
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE VLSI System Design Lecture 4 - Advanced Verilog.
Digital System Design Verilog ® HDL Maziar Goudarzi.
Reconfigurable Computing S. Reda, Brown University Reconfigurable Computing (EN2911X, Fall07) Lecture 14: SystemC (2/3) Prof. Sherief Reda Division of.
Introduction to Counter in VHDL
SystemC: Introduction. SystemC  A C++ based class library and design environment for system-level design.  Suitable for functional description that.
Sequential Logic in Verilog
From Scenic to SystemC Mehrdad Abutalebi. Outline Introducing Scenic Scenic Implementation Modeling Reactivity A Simple example From Scenic to SystemC.
ECE 2372 Modern Digital System Design
Registers CPE 49 RMUTI KOTAT.
1 Workshop Topics - Outline Workshop 1 - Introduction Workshop 2 - module instantiation Workshop 3 - Lexical conventions Workshop 4 - Value Logic System.
CPE 626 The SystemC Language Aleksandar Milenkovic Web:
ECE 551 Digital System Design & Synthesis Fall 2011 Midterm Exam Overview.
1 Freeha Azmat Saba Zia Dec 02, Agenda Installation Introduction From Verilog to SystemC Counter as an Example Complete SystemC Modeling 2.
VHDL in 1h Martin Schöberl. AK: JVMHWVHDL2 VHDL /= C, Java,… Think in hardware All constructs run concurrent Different from software programming Forget.
1 An Update on Verilog Ξ – Computer Architecture Lab 28/06/2005 Kypros Constantinides.
Winter-Spring 2001Codesign of Embedded Systems1 Processes in SystemC Part of HW/SW Codesign of Embedded Systems Course (CE )
Design & Co-design of Embedded Systems Combinational Logic in SystemC Maziar Goudarzi.
Modules and Processes in SystemC A Presentation by: Najmeh Fakhraie Mozhgan Nazarian-Naeini Hardware-Software Codesign Spring 2006.
Slide 1 6. VHDL/Verilog Behavioral Description. Slide 2 Verilog for Synthesis: Behavioral description Instead of instantiating components, describe them.
Winter-Spring 2001Codesign of Embedded Systems1 Reactivity, Ports, and Signals in SystemC Part of HW/SW Codesign of Embedded Systems Course (CE )
Winter-Spring 2001Codesign of Embedded Systems1 Methodology for HW/SW Co-verification in SystemC Part of HW/SW Codesign of Embedded Systems Course (CE.
Winter-Spring 2001Codesign of Embedded Systems1 Introduction to System-Level Modeling in SystemC 2.0 Part of HW/SW Codesign of Embedded Systems Course.
Winter-Spring 2001Codesign of Embedded Systems1 Debug and Trace Facilities in SystemC Part of HW/SW Codesign of Embedded Systems Course (CE )
Behavioral Modelling - 1. Verilog Behavioral Modelling Behavioral Models represent functionality of the digital hardware. It describes how the circuit.
CPE 626 The SystemC Language – VHDL, Verilog Designer’s Guide Aleksandar Milenkovic Web:
CPE 626 The SystemC Language Aleksandar Milenkovic Web:
CSCE 211: Digital Logic Design Chin-Tser Huang University of South Carolina.
CPE 626 The SystemC Language Aleksandar Milenkovic Web:
Design & Co-design of Embedded Systems Introduction to SystemC Maziar Goudarzi.
Verification Presentation to SystemVerilog Basic Committee Peter Flake Nov 15, 2002.
Winter-Spring 2001Codesign of Embedded Systems1 Processes in SystemC: Examples and Exercises Part of HW/SW Codesign of Embedded Systems Course (CE )
Winter-Spring 2001Codesign of Embedded Systems1 Essential Issues in Codesign: Architectures Part of HW/SW Codesign of Embedded Systems Course (CE )
1 of 14 Ivan Ukhov Embedded Systems Laboratory Department of Computer and Information Science Linköping University TDDI08: Embedded Systems Design Introduction.
Winter-Spring 2001Codesign of Embedded Systems1 Essential Issues in Codesign: Models Part of HW/SW Codesign of Embedded Systems Course (CE )
Supplement on Verilog FF circuit examples
EMT 351/4 DIGITAL IC DESIGN Week # Synthesis of Sequential Logic 10.
Hardware Description Languages
SystemC for SoC Designs
Delays in Verilog Programmable Logic Design (40-493) Fall 2001
Shift Registers Lecture L8.6 Section 8.3.
SYNTHESIS OF SEQUENTIAL LOGIC
332:437 Lecture 8 Verilog and Finite State Machines
COE 202 Introduction to Verilog
The Verilog Hardware Description Language
CS 153 Logic Design Lab Professor Ian G. Harris
The Verilog Hardware Description Language
Essential Issues in Codesign: Models
332:437 Lecture 8 Verilog and Finite State Machines
Optimizing RTL for EFLX Tony Kozaczuk, Shuying Fan December 21, 2016
Presentation transcript:

Winter-Spring 2001Codesign of Embedded Systems1 Modules in SystemC Part of HW/SW Codesign of Embedded Systems Course (CE )

Winter-Spring 2001Codesign of Embedded Systems2 Today programme Modules in SystemC

Winter-Spring 2001Codesign of Embedded Systems3 Module Advantages Building Block in Design Hierarchy Team Work Design Encapsulation Design Re-use

Winter-Spring 2001Codesign of Embedded Systems4 Module (cont’d) Ingredients Module Ports Module Signals Internal Data Storage Processes Module Constructors

Winter-Spring 2001Codesign of Embedded Systems5 Module (cont’d) Module Hierarchy Key to Implementing Complex Designs Divide and Conquer

Winter-Spring 2001Codesign of Embedded Systems6 Hierarchical Module Example MAC (Multiply-Accumulate) module d x + Register a c clk e f

Winter-Spring 2001Codesign of Embedded Systems7 Hierarchical MAC Module Example (cont’d) SC_MODULE(mac) { sc_in a,c; sc_in clk; sc_out d; sc_signal e,f; reg *r; mult *m; adder *add; SC_CTOR(mac) { r=new reg(“Register”); m=new mult(“Mult”); add=new adder(“Adder”); //Named connection r->d(f); r->q(d); m->a(a); m->b(c); m->c(e); add->a(d); add->b(e); add->c(f); } }; x + Register a c clk e f d SC_CTOR(mac) { r=new reg(“Register”); m=new mult(“Mult”); add=new adder(“Adder”); //Positional connection (*r)(f,d); (*m)(a,c,e); (*add)(d,e,f); } };

Winter-Spring 2001Codesign of Embedded Systems8 Hierarchical MAC Module Example (cont’d) Write down Adder and Multiplier modules in SystemC.

Winter-Spring 2001Codesign of Embedded Systems9 Hierarchical Module Example2 Register Module DFF clk d q

Winter-Spring 2001Codesign of Embedded Systems10 Hierarchical Register Module Example (cont’d) #include "dff.h" #define REG_WIDTH 10 SC_MODULE(reg) { sc_in d[REG_WIDTH]; sc_in clk; sc_out q[REG_WIDTH]; DFF *ff[REG_WIDTH]; SC_CTOR(reg) { for(int i=0; i<REG_WIDTH; i++) { ff[i] = new DFF( itoa(i,NULL,10) ); ff[i]->d(d[i]); ff[i]->q(q[i]); ff[i]->clk(clk); } };

Winter-Spring 2001Codesign of Embedded Systems11 Hierarchical Register Module Example (cont’d) Rewrite “Register module” in positional connection format. DFF declaration follows: SC_MODULE(DFF) { sc_in d, clk; sc_out q;... }

Winter-Spring 2001Codesign of Embedded Systems12 Module (cont’d) Ingredients Module Ports Module Signals Internal Data Storage Processes Module Constructors

Winter-Spring 2001Codesign of Embedded Systems13 Internal Data Storage: Counter Module void counter::count_up() { if (load) count_val = din; else count_val++; dout = count_val; } SC_MODULE(counter) { sc_in load; sc_in din; sc_in clock; sc_out dout; int count_val; void count_up(); SC_CTOR(counter) { SC_METHOD(count_up); sensitive_pos << clock; } };

Winter-Spring 2001Codesign of Embedded Systems14 Processes Implement the real function of the module Are identified to SystemC Kernel at module instantiation time Are called by SystemC Kernel whenever a change is made on their “Sensitivity List”

Winter-Spring 2001Codesign of Embedded Systems15 Module Constructor Identify module Processes, and their “sensitivity list” to “SystemC Kernel” Create and initialize Internal Data Structures of the module Initialize Internal Data Storage Instance name of the module is passed to the constructor at instantiation time Helps in reporting debug, error, and information messages from the module

Winter-Spring 2001Codesign of Embedded Systems16 What we learned today Module Concept in SystemC Module Ingredients in SystemC Hierarchical Design Using Modules

Winter-Spring 2001Codesign of Embedded Systems17 Complementary notes: Assignments DON’T FORGET Subscribe to by sending an to containing subscribe ce226list in the body. Today is due date for Assignmentak 3 Take Assignment 4 Due date: Sat. Ordibehesht 1st

Winter-Spring 2001Codesign of Embedded Systems18 Complementary notes: Verilog Classes Today class won’t be held Synthesis Seminar Sat., Ordibehesht 8th

Winter-Spring 2001Codesign of Embedded Systems19 First Quiz Write a SystemC model for a synchronous up-counter with asynchronous load and clear