SSP Re-hosting System: CLBM and Semantic Representations SSP Team Department of ECE Stevens Institute of Technology Presented by Hongbing Cheng and Jiadi.

Slides:



Advertisements
Similar presentations
1 Introduction to VHDL (Continued) EE19D. 2 Basic elements of a VHDL Model Package Declaration ENTITY (interface description) ARCHITECTURE (functionality)
Advertisements

ANTLR in SSP Xingzhong Xu Hong Man Aug Outline ANTLR Abstract Syntax Tree Code Equivalence (Code Re-hosting) Future Work.
Alternative Approach to Systems Analysis Structured analysis
History TTL-logic PAL (Programmable Array Logic)
Mridula Allani Fall 2010 (Refer to the comments if required) ELEC Fall 2010, Nov 21(Adopted from Profs. Nelson and Stroud)
SSP Re-hosting System Development: CLBM Overview and Module Recognition SSP Team Department of ECE Stevens Institute of Technology Presented by Hongbing.
Code recognition & CL modeling through AST Xingzhong Xu Hong Man.
VHDL function CLBM and Inference Presenter: Jie Li Stevens Institute of Technology Sep 2, 2010.
Introduction to VHDL (Lecture #5) ECE 331 – Digital System Design The slides included herein were taken from the materials accompanying Fundamentals of.
Semantic Signal Processing: Semantic Modeling and Prototype Demo Development SSP Team.
02/02/20091 Logic devices can be classified into two broad categories Fixed Programmable Programmable Logic Device Introduction Lecture Notes – Lab 2.
SPAC Lab, Stevens SSP Re-hosting System Development: Modeling of Matlab Programs - Array (vector/matrix) Ning Han, Hongbing Cheng, Jiadi Yu, Hongbin Li,
Sistemas Digitais I LESI - 2º ano Lesson 5 - VHDL U NIVERSIDADE DO M INHO E SCOLA DE E NGENHARIA Prof. João Miguel Fernandes Dept.
Semantic Signal Processing Group Semantic Radio Fangming He, Hongbing Cheng, Jiadi Yu, Hong Man, Yu-dong Yao, Jennifer Department of Electrical and Computer.
Introduction to VHDL CSCE 496/896: Embedded Systems Witawas Srisa-an.
Semantic Signal Processing for Re-hosting CR/SDR Implementations SP/Radio Primitive Recognition Jiadi Yu, Yingying Chen 1.
HDL-Based Digital Design Part I: Introduction to VHDL (I) Dr. Yingtao Jiang Department Electrical and Computer Engineering University of Nevada Las Vegas.
VHDL. What is VHDL? VHDL: VHSIC Hardware Description Language  VHSIC: Very High Speed Integrated Circuit 7/2/ R.H.Khade.
Introduction to Software Design Chapter 1. Chapter 1: Introduction to Software Design2 Chapter Objectives To become familiar with the software challenge.
C++ fundamentals.
Introduction to VHDL (part 2)
ECE 332 Digital Electronics and Logic Design Lab Lab 5 VHDL Design Styles Testbenches.
A.7 Concurrent Assignment Statements Used to assign a value to a signal in an architecture body. Four types of concurrent assignment statements –Simple.
VHDL TUTORIAL Preetha Thulasiraman ECE 223 Winter 2007.
A VHDL Tutorial ENG2410. ENG241/VHDL Tutorial2 Goals Introduce the students to the following: –VHDL as Hardware description language. –How to describe.
ENG6090 RCS1 ENG6090 Reconfigurable Computing Systems Hardware Description Languages Part 5: Modeling Structure.
VHDL Introduction. V- VHSIC Very High Speed Integrated Circuit H- Hardware D- Description L- Language.
VHDL IE- CSE. What do you understand by VHDL??  VHDL stands for VHSIC (Very High Speed Integrated Circuits) Hardware Description Language.
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.
Reconfigurable Computing - VHDL John Morris Chung-Ang University The University of Auckland.
CWRU EECS 317 EECS 317 Computer Design LECTURE 1: The VHDL Adder Instructor: Francis G. Wolff Case Western Reserve University.
Module 1.2 Introduction to Verilog
Fall 2004EE 3563 Digital Systems Design EE 3563 VHDL – Basic Language Elements  Identifiers: –basic identifier: composed of a sequence of one or more.
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.
VHDL Very High Speed Integrated Circuit Hardware Description Language Shiraz University of shiraz spring 2011.
Reconfigurable Computing - VHDL John Morris Computer Science/ Electrical and Computer Engineering The University of Auckland Iolanthe racing off Fremantle,
SOFTWARE DESIGN. INTRODUCTION There are 3 distinct types of activities in design 1.External design 2.Architectural design 3.Detailed design Architectural.
Electrical and Computer Engineering University of Cyprus LAB 1: VHDL.
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
(1) Basic Language Concepts © Sudhakar Yalamanchili, Georgia Institute of Technology, 2006.
Chapter 5 Introduction to VHDL. 2 Hardware Description Language A computer language used to design circuits with text-based descriptions of the circuits.
16/11/2006DSD,USIT,GGSIPU1 Packages The primary purpose of a package is to encapsulate elements that can be shared (globally) among two or more design.
ELEE 4303 Digital II Introduction to Verilog. ELEE 4303 Digital II Learning Objectives Get familiar with background of HDLs Basic concepts of Verilog.
9/9/2006DSD,USIT,GGSIPU1 Concurrent vs Sequential Combinational vs Sequential logic –Combinational logic is that in which the output of the circuit depends.
04/26/20031 ECE 551: Digital System Design & Synthesis Lecture Set : Introduction to VHDL 12.2: VHDL versus Verilog (Separate File)
BASIC VHDL LANGUAGE ELEMENTS Digital Design for Instrumentation with VHDL 1.
VHDL Discussion Subprograms IAY 0600 Digital Systems Design Alexander Sudnitson Tallinn University of Technology 1.
Digital Design Using VHDL and PLDs ECOM 4311 Digital System Design Chapter 1.
Introduction to VHDL Coding Wenchao Cao, Teaching Assistant Department of EECS University of Tennessee.
May 9, 2001Systems Architecture I1 Systems Architecture I (CS ) Lab 5: Introduction to VHDL Jeremy R. Johnson May 9, 2001.
Case Study: Xilinx Synthesis Tool (XST). Arrays & Records 2.
1 Introduction to Engineering Spring 2007 Lecture 18: Digital Tools 2.
Fundamentals of Digital Signal Processing יהודה אפק, נתן אינטרטור אוניברסיטת תל אביב.
1 Introduction to Engineering Spring 2007 Lecture 19: Digital Tools 3.
Combinational logic circuit
A Case Study of the Rehosting from VHDL to Matlab/C
Basic Language Concepts
Systems Architecture Lab: Introduction to VHDL
Behavioral Style Combinational Design with VHDL
IAY 0600 Digital Systems Design
Introduction Introduction to VHDL Entities Signals Data & Scalar Types
Behavioral Style Combinational Design with VHDL
HDL Programming Fundamentals
IAS 0600 Digital Systems Design
VHDL Discussion Subprograms
Concurrent vs Sequential
VHDL Discussion Subprograms
IAS 0600 Digital Systems Design
EEL4712 Digital Design (VHDL Tutorial).
Presentation transcript:

SSP Re-hosting System: CLBM and Semantic Representations SSP Team Department of ECE Stevens Institute of Technology Presented by Hongbing Cheng and Jiadi Yu 09/01/2010 1

Outline SSP Re-hosting and CLBM – Background: SSP Re-hosting for CR/SDR – Generic CLBM Rule in Signal Processing Domain – CLBM for various implementation Codes in Signal Processing Domain Semantic Representation and Analysis – XML Representation – Tree Architecture Analysis – Tree-based Primitive Recognition 2

3 Part I. SSP Re-hosting and CLBM

Semantic Signal Processing Re-hosting for CR/SDR Objective: – Theoretical level: Information integration and knowledge sharing in signal processing domain – Practical level: Re-hosting of radio implementations among heterogeneous platforms to facilitate the reconfiguration in CR/SDR systems Approach: – Abstraction, Representation and Inference (ARI): Information exchange through three steps: abstraction of primitives, semantics- based representation, inference and code generation; – Cognitive linguistic behavior modeling (CLBM): Establish a semantic modeling framework for signal processing domain based on cognitive linguistics to guide the semantic ARI. 4

Semantic Signal Processing Re-hosting for CR/SDR ARI Architecture 5

Semantic Signal Processing Re-hosting for CR/SDR 6 Abstract conceptual primitives (“Thing, Place, Path, Action, Cause”) from existing implementations of signal processing modules/systems in source code Represent the implementation profile of signal processing modules/systems based on cognitive linguistics Parse cognitive-linguistics-based representation and generate implementation code in the target platform

Semantic Signal Processing Re-hosting for CR/SDR Prototype Demo – Illustrate the workflow of the proposed ARI re-hosting – Show some use cases to validate the idea 7 Abstraction of primitives and Representation with XML Inference and Code Generation

Generic CLBM Rule in Signal Processing Domain Semantic Primitives in Cognitive linguistics – Thing: the fundamental neonatal gestalts – Place: interaction among things – Path: associate places in a sequence for a purpose – Action: Things move down paths – Cause: Thing that initiate or constraint action CLBM: Fit the knowledge of signal processing implementation profiles into the above semantic framework 8

Generic CLBM Rule in Signal Processing Domain Generic CLBM Rule for Signal Processing – A Signal is a “Thing” – A Signal processing system/block to be represented is a “Path” – The signal (“Thing”) moving along the signal processing system/block (“Path”) is an “Action” – Input/output ports and signal processing modules inside the “Path” is “Places”, where different signals have interactions; Attributes of a thing are also “Places”, which could be interacted with other things – A control signals that controls a signal processing flow is “Cause” 9

Generic CLBM Rule for Signal Processing Implementations 10 Graphical Notations:

Generic CLBM for Signal Processing Implementations Hierarchical and Dynamic Properties of CLBM – A “Thing” may have many “Places” to interact e.g., The power and the size of a signal are two “places” of the “thing” signal – A “Thing” could also be contained in different “places” to take different “actions” e.g., A signal could be inside a module’s input place or output place to take the action “input” or “output” 11

Generic CLBM Rule in Signal Processing Domain Hierarchical and Dynamic Properties of CLBM – A “Path” contains multiple “Places” e.g., A transmitter could be composed of a channel coder and a modulator – A “Place” at the upper level could be a “Path” at the lower level e.g., A modulator is a ‘Place’ in a transmitter, while itself could be represented by a ‘Path’ composed of several places: LUT, Up-converter,… 12

CLBM for Implementation Codes in Signal Processing Domain CLBM for different coding languages are required in radio re-hosting – Heterogeneous hardware or software platform Language Elements Considered in Modeling – Syntax – Data Structure – Control Structure – Core Library 13

CLBM for Implementation Codes in Signal Processing Domain Current work and Progress Statements/SyntaxesMatlabCC++VHDLCUDA Function Definition New types of statements: Class Definition Member function Member variable Object Declaration …. New types of statements: Entity Architecture Component Std_logic_vect or …. Under investigati on Function Call Basic Operators Value Assignment Variable Declaration Return If, else Switch case For, while Arrays/Vectors/Matrix Pointers…… More languages More statements/syntaxes 14

CLBM for loop statements For loop for(initiation; condition; loop control){ statement 1; statement 2; } 15  Initiation  place  condition  cause  statements & Loop control  path  statement  place  loop control  place

16 CLBM for loop statements while loop

17 CLBM for “switch case” statement switch ( statement ) { case condition1 is true: statement 1; case condition2 is true: statement 2; case condition is true: statement 3;... default: statement N; }

CLBM for Arrays/Vectors/Matrices General modeling rule – An array is a “Thing” – Each element of the array is a “Place” of the “Thing” – The value of each element is the “Thing” contained in the “Place” – The size and type of the array are two “Places” of the array “Thing” [3,2,3] int a[10] This is a composited anonymous thing containing 3 element places; The first place contains 3, The second place contains 2, the third place contains 3. ‘a’ is a composited thing containing 10 element places; Its type is int. 18

CLBM in Matlab: Arrays/Vectors/Matrices Multi-dimensional Arrays – Hierarchical property of the semantic model 19

CLBM for Arrays/Vectors/Matrices Special definition of vectors/matrices in Matlab [1:N] ones(N,1) zeros(N,1) 20

CLBM for Arrays/Vectors/Matrices Elements in an array – One or several elements of an array may form a new “Thing” e.g., y=a(1); a(1) is the “Thing” in the input place c(1:2)=1:2; c(1:2) is the “Thing” in the output place – The thing is got from the array’s some places, so we represent this thing by e.g. a(1) The thing is generated by getting the value of place ‘index number’ from thing ‘Array name’ 21

CLBM in C++ Basic Features of C++ – C++ introduces object-oriented (OO) features to C. – Class: provides the abstraction and encapsulations features; is an expanded concept of a data structure; can hold both data and functions. – Object: Instances of class; contains member variables, constants, member functions, and overloaded operators defined by the programmer. Our preliminary modeling work considers the basic uses of classes and objects: Definition of class and declaration of objects 22

CLBM in C++ CLBM of class definition – Class is a composite “Thing”, which contains many “Places” to store the member variables and functions Class A { var1; var 2; … varN; func1; func2; … funcN } 23

CLBM in C++ CLBM of object declaration – This is similar to the variable declaration – The object is a “Thing” whose type is the Class A a; In this place, the variable a is declared, whose type is set to be A. 24

CLBM in VHDL Basic Structure of VHDL code VHDL Entity Interface (Entity Declaration) Body (Architecture) Sequential, combinational processes subprogram ports entity NAME_OF_ENTITY is port (signal_names: mode type; signal_names: mode type; : signal_names: mode type); end [NAME_OF_ENTITY] ; architecture architecture_name of NAME_OF_ENTITY is -- Declarations -- components declarations -- signal declarations -- constant declarations -- function declarations -- procedure declarations -- type declarations begin -- Statements end architecture_name; 25

CLBM in VHDL General CL modeling rules VHDL Entity Interface (Entity Declaration) Body (Architecture) Sequential, combinational processes subprogram ports 26

CLBM in VHDL Challenges – Unique structure Need to abstract input and output places from the entity and other places in the path from the architecture May have multiple architectures for one entity – Special data types: std_logic, std_logic_vector bit, bit_vector – Many unique keywords – Sequential programs and parallel programs 27

CLBM in VHDL Example: Adder -- VHDL code for 3-bit adder entity ADDER is port(A:in std_logic_vector(1 downto 0); B:in std_logic_vector(1 downto 0); carry:out std_logic; sum:out std_logic_vector(1 downto 0) ); end ADDER; architecture behv of ADDER is signal result: std_logic_vector(2 downto 0); begin -- the 3rd bit should be carry result <= ('0'&A)+('0'&B); sum <= result(1 downto 0); carry <= result(2); end behv; size of A type of A 28

29 Part II. Semantic Representation and Analysis

Semantic Representation based on CLBM XML is proposed as the carrier of cognitive linguistics to represent signal processing implementations. XML is designed to describe and carry data to exchange information between incompatible systems. Converting the data to XML can greatly reduce this complexity and create data that can be read by many different types of applications. The proposed XML representation is able to express knowledge of the signal processing implementation based on CLBM. 30

XML representation framework for SSP 31

XML representation for SSP control structures 32

Generic CLBM for Signal Processing Implementations Hierarchical and Dynamic Properties of CLBM – A “Path” contains multiple “Places” e.g., A transmitter could be composed of a channel coder and a modulator – A “Place” at the upper level could be a “Path” at the lower level e.g., A modulator is a ‘Place’ in a transmitter, while itself could be represented by a ‘Path’ composed of several places: LUT, Up-converter,… 33

An Adaptive Modulator Example 34

Architecture Analysis The representation architecture based on cognitive linguistics of the signal processing implementation is a tree structure. 35

Architecture Analysis XML documents are a tree structure that starts at “the root” and branches to “the leaves”. Therefore, XML is able to represent correctly the architecture of the signal processing implementation. In the Semantic Signal Processing architecture, producing a XML document is a process to build a tree, and parsing a XML document is a process to query a tree. XML is able to represent correctly tree structure. Therefore, XML representation can guarantee a correct output order. The complexity for producing a XML document is O(n), and the complexity for parsing a XML document is O(n). 36

Tree Architecture Representation Based on CLBM Behavior Pattern of CLBM – Tree representation of behavior patterns 37

Tree representation for SSP control structures 38

An Adaptive Modulator Example 39 D 0 ={Path AdaptiveModulator, D 1, D 2, D 3, D 4 }

A Simple Filter Example 40 void main(){ int i; int N; int k; int temp; int sum; sum = 0; for(i = 0; i < N ; i = i + 1){ k = N - i; temp = tap[i] * input[k]; sum = sum + temp; } /home/clmb

SP/Radio Primitive Recognition based on Tree Objective – Automated recognition of functionality of a SP/Radio primitive – Automated recognition of functions from knowledge library to perform desired action – Recognize the equivalence of two different implementations 41

Radio-Level Abstraction – Abstract primitives at Radio-level Analyze the Code-level primitives to recognize Radio-level primitives 42 Algebraic calculation: +, -, *, / Logic calculation: xor, nor, and Type conversions Relational Operator : == ,! = Conditional control: if… else…, while : Code level Signal Sources Signal Sinks Filters Signal Modulation Signal Demodulation Source coding Synchronization Equalization AGC OFDM locks : Radio level Primitives of Semantic Radio

Radio-Level Abstraction (cont’) 43 Sources Code Radio level XML Presentation Code level XML Presentation Inference Engine Knowledge Base Radio Primitives Radio Level Abstraction Target Code Code level Abstraction SP module recognition

Tree-based Pattern Recognition ─Each signal processing module can be represented as a behavior pattern using lower-level primitives ─Tree representation of behavior patterns. Each signal processing module can be represented as a tree architecture. ─Pattern recognition: compare the tree representation of a primitive with the tree representation of each module in the knowledge base to identify the functionality of the primitive by analyzing the tree architecture of radio modules. 44

Tree-based Pattern Recognition 45 Primitive Recognition Tree architecture analyze Knowledge base Tree representation Source Target

A Simple Filter Example - based on features 46 The basic element for the simple filter include: LOOP ACCUMLATION MULTIPLY ARRAY void main(){ for(i = 0; i < N ; i = i + 1){ k = N - i; temp = tap[i] * input[k]; sum = sum + temp; }

two QPSK implementations 47 Tree representation Binary Tree representation An Example of QPSK - based on architecture

48 Thank You! Question and Comments?