SystemC Course Syllabus
Studying Logic Design with SystemC towards effective synthesis.
1. Understand the structure of a SystemC program.
2. Implement a state machine and its associated test programs.
3. Be-aware of hazards and risks by the migration of from High Level Design and synthesis.
The course is composed of:
This document describes:
1. Course objectives.
2. Motivation for using SystemC.
3. SystemC environment.
4. Overview of CPLD, FPGA and ASIC.
· Structural/hierarchy model.
· Timing model.
1. Interface, Ports & Channels
2. Timing definition and checking.
1. Behavioral model. A simple example of a basic gate will be given here.
2. Structural model. High level design for structural models includes instantiation of other modules:
Presenting Structural and Behavioral models of:
1. One bit full adder.
2. RS Flip-Flop (including timing checks).
1. Writing the Module of a RAM.
2. Writing the Module of a sorting machine.
1. Given a structural SystemC design.
1.1 What is the function behind the SystemC description?
1.2 Sketch a test program for this SystemC description.
1. Constants.
2. Signals.
3. Event: Event occurrence and notification.
4. Variables.
1. Order of signal assignment.
2. Simulation and Synthesis semantics of Variables and Signals.
1. Writing a test program for the RS flip-flop.
Consider again 2.2.3.2.
1. Write the behavioral description of the same program.
2. Write a test program for it.
3. Run the two architectures concurrently.
1. Overview of Sequential and Concurrent statements.
2. Sequential Statements:
· Assignment statements
· Conditional statements.
· While Loop statements.
3. Synthesis semantics of conditional and While/Loop statements.
4. Concurrent statements:
(a) Signal assignment statements:
i. Buffer model.
ii. Bi-Directional Bus description in SystemC.
(b) For-Loop statements.
1. Given 4 high level architectures, which find the minimum of two numbers. Only two give the same results after being synthesized. Analyzing these architectures and their performance (timing versus space).
2. Resolving a bit.
· Serial operation.
· Parallel operation.
Write and run a test program for Resolving a bit.
1. Definition.
2. Inter Process communication.
3. Process triggering: Static and dynamic sensitivities
4. Process suspensions.
Receiver-Transmitter.
1. Combinational networks.
2. Finite State Machines (FSM).
1. Melay machine.
2. Moore machine.
3. FSM coding styles.
1. Write the sorter machine as a state machine.
2. Write and run a test program.
1. Abstract data types.
2. Managing shared libraries.
3. Testing and verification.
1. Process Independent Design.
2. Implicit/Explicit Timing.
3. Asynchronous operation.
1. Instantiating System C in HDL
2. Instantiating HDL in System C
|
Subject |
Lecture |
Workshop |
Exercising in class |
Total Hours |
|
Introduction to SystemC |
2 |
0 |
0 |
2 |
|
Module: Interface & Implementation |
2 |
1 |
2 |
5 |
|
SystemC Objects |
3 |
6 |
4 |
13 |
|
Behavioral description |
2 |
8 |
4 |
14 |
|
Behavioral description using Processes |
2 |
2 |
4 |
8 |
|
Various machine representations in SystemC |
2 |
6 |
4 |
12 |
|
Software Engineering with SystemC |
2 |
0 |
2 |
4 |
|
SystemC & HDL |
2 |
2 |
2 |
6 |
|
Total |
17 |
25 |
22 |
64 |