SlideShare a Scribd company logo
Consistent Modeling Technique for Accurate
                      Transaction Level Models
                                      (Master Thesis)

                                        Hui Chen

                    Professor : Prof. Dr.-Ing. Ulf Schlichtmann
                    Advisors Prof. Dr Ing
                    Ad isors : Prof Dr.-Ing. Wolfgang Ecker
                                                      Ecker,
                               Dipl.-Ing. Michael Velten


                    April 22, 2008




                                                                  COM BTS MT SD
Institute for EDA
Motivation
     Complex SoC design, but limited time to market
         Start software development and validation before RTL is available
         Raise design to higher abstraction levels: Transaction Level (TL)
         Early availability of TL Models due to high degree of abstraction

     Existent RTL legacy in new SoCs => Need to be modeled at TL too

     Not only functional but also timing accurate TL models:
         To ensure the order of interrupts, to analyze the system performance, …

     Obtaining TL models
              ....
             switch(base_addr) {
                case 2: pbus_read(...); break;
                case 1: ...
             ... }                                                                           TL          TL            TL
              ...
                 Functional Model
                                                                      TL
                                                                 Component
                                                                                              TL               TL
                         RTL
                                                                                          A Complete TL SoC Design
                   Component

April 22, 2008                                   Consistent Modeling Technique for Accurate Transaction Level Models        Page 2
Task Description
                                                          Free IP "Plasma"
                                                          F       "Pl    "

             enhancement /           Plasma VHDL Model                       Plasma C Model
             bug fixes                                       alignment

             restructure

                                     SPINNI VHDL Model                        SPINNI C Model                   refinement
                                                                            ....
                                                                           switch(base_addr) {
                                                                                it h(b    dd )
                                                                              case 2: pbus_read(...); break;
                                                                              case 1: ...
                                                                           ... }
                                                                            ...




                                             functional comparison
                                             f   ti   l       i
                                                                             SPINNI TL Model




                               timing
                             comparison
                                                                         SPINNI Timed TL Model



                 Presentation Part
April 22, 2008                   Consistent Modeling Technique for Accurate Transaction Level Models                        Page 3
Outline


                 1. Principles of TL Modeling

                 2. SPINNI VHDL & C Models

                 3. Refinement from C to TL

                 4. Timing Accuracy

                 5. Validation of Concept

                 6. Conclusion & Outlook




April 22, 2008           Consistent Modeling Technique for Accurate Transaction Level Models   Page 4
Outline


                 1. Principles of TL Modeling

                 2. SPINNI VHDL & C Models

                 3. Refinement from C to TL

                 4. Timing Accuracy

                 5. Validation of Concept

                 6. Conclusion & Outlook




April 22, 2008           Consistent Modeling Technique for Accurate Transaction Level Models   Page 5
Principles of TL Modeling

                 Initiator                                                                 Target
                                initiator_port                 target_port
                                                                        implements a
                    remote function call
                                                                        function



                 Transactions : communication between modules via
                 function calls

                 Synchronization : no toggling clock, time-based or
                 event-based

                 Modules : basic building blocks

                 Ports : bind modules and channels


April 22, 2008                   Consistent Modeling Technique for Accurate Transaction Level Models   Page 6
Outline


                 1. Principles of TL Modeling

                 2. SPINNI VHDL & C Models

                 3. Refinement from C to TL

                 4. Timing Accuracy

                 5. Validation of Concept

                 6. Conclusion & Outlook




April 22, 2008           Consistent Modeling Technique for Accurate Transaction Level Models   Page 7
SPINNI VHDL & C Models

    SPINNI: Restructure Plasma

        Get a clear architecture

                 Plasma Model                                           SPINNI Model

                                         restructure




        Make the modules traceable and comparable

        Make the model extensible




April 22, 2008             Consistent Modeling Technique for Accurate Transaction Level Models   Page 8
SPINNI VHDL & C Models

    SPINNI VHDL Model

                          irq_sig
                 CPU




                                                                                        gpio_irq
                                                                                                   timer_irq
                         Main_Bus                                                ICU        4                  uart_irq

                                                                                                        2
                                                                                          GPIO                      2

                                                                                                     Timer
                                                          Periph_Bus

                                                                                                                UART

                  RAM                 XRAM

                                                                                          TBE1                  TBE2



                        Fig. 2.1: Block Diagram of the SPINNI VHDL Model

April 22, 2008                      Consistent Modeling Technique for Accurate Transaction Level Models                   Page 9
SPINNI VHDL & C Models

    SPINNI C Model
                                                                irq_sig
                                                        CPU




             cpu_run
                                                                                                        gpio_irq
                                                                                                                   timer_irq
                                                               Main_Bus                           ICU       4                  uart_irq

                                                                                                                        2
                                                                                                         GPIO                       2

                                                                                                                     Timer
                                                                                                                     Ti
                                                                                   Periph_Bus

        main_bus_write                                                                                                          UART

        main_bus_read                                    RAM              XRAM

                                                                                                          TBE1                  TBE2




            ram_write                   xram_write                               periph_bus_write
            ram_read                    xram_read                                periph_bus_read




                                                 uart_write                                     gpio_write
                                                 uart_read
                                                    t     d                                     gpio_read
                                                                                                  i      d

                         Fig. 2.2: Hierarchical Function Calls
April 22, 2008           Consistent Modeling Technique for Accurate Transaction Level Models                                       Page 10
Outline


                 1. Principles of TL Modeling

                 2. SPINNI VHDL & C Models

                 3. Refinement from C to TL

                 4. Timing Accuracy

                 5. Validation of Concept

                 6. Conclusion & Outlook




April 22, 2008           Consistent Modeling Technique for Accurate Transaction Level Models   Page 11
Refinement from C to TL

    Structure Based Refinement
                              SPINNI C Model
                               Module            Access Type
                                     uart_read
                                     uart_write
                                     uart write
                                     ram_read
                                      ...  ...




                                                                                         Module
                  SPINNI TL UART Module                                                  Access




April 22, 2008     Consistent Modeling Technique for Accurate Transaction Level Models            Page 12
Refinement from C to TL

    Combining Created TL Modules

                         irq_sig
             CPU




                                                                                            gpio_irq
                                                                                   ICU              timer_irq
                        Main_Bus                                                                4             uart_irq
                                                                                                           2
                                                                                             GPIO                 2


                                                                                                         Timer
                                                         Periph_Bus
                 RAM               XRAM
                                                                                                                 UART



            : sc_port          : sc_export
                                                                                            TBE1                 TBE2


                           Fig. 3.1: Block Diagram of the SPINNI TL Model

April 22, 2008                     Consistent Modeling Technique for Accurate Transaction Level Models                   Page 13
Refinement from C to TL

    Implementation of C Functions in Module Interfaces


                              irq_sig
                  CPU




                                                           periph_bus_read
      main_bus_read
                                                                                                           gpio_irq
                                                                                           ICU                     timer_irq
                             Main_Bus                                                                          4             uart_irq




                                                                                                     ead
                                                                                                                       2




                                                                                               gpio_re
                                                                                                           GPIO                      2
             ram_read                   xram_read
                                                                                                                    Timer
                                                                             Periph_Bus




                                                                                                                        uart_read
                    RAM                   XRAM
                                                                                                                                    UART



                 : sc_port
                   sc port          : sc_export
                                      sc export
                                                                                                           TBE1                     TBE2



April 22, 2008                           Consistent Modeling Technique for Accurate Transaction Level Models                             Page 14
Refinement from C to TL

    SPINNI TL Model


        Reflects the functionality of the SPINNI VHDL model


        Enables SW development, co-simulation of HW and SW


        No timing information

             no prediction for the overall performance of the system




April 22, 2008             Consistent Modeling Technique for Accurate Transaction Level Models   Page 15
Outline


                 1. Principles of TL Modeling

                 2. SPINNI VHDL & C Models

                 3. Refinement from C to TL

                 4. Timing Accuracy

                 5. Validation of Concept

                 6. Conclusion & Outlook




April 22, 2008           Consistent Modeling Technique for Accurate Transaction Level Models   Page 16
Timing Accuracy

       Measure & add timing information
            VHDL RTL Model                                                    TL Model
                                          Timing
                                       Information
                                              time

                 time



       Basic ways to add timing
               y              g
            ¬ Time-based:                             wait(time)
            ¬ Event-based:                            event_name.notify(time)
            ¬    …
April 22, 2008          Consistent Modeling Technique for Accurate Transaction Level Models   Page 17
Timing Accuracy

    Selected Problem Cases



            1. How to align timing after reset ?


            2. How to align instruction processing timing ?




April 22, 2008          Consistent Modeling Technique for Accurate Transaction Level Models   Page 18
Timing Accuracy

    Align Timing after Reset

                                    n cycles
                                         l
                 reset


             register1 0
                i t 1                                         4
                                        (a) In the SPINNI VHDL Model


                           void initialize() {                 trigger
                           register1 = 0;
                           // notify event                        void module_run() {
                           // after n cycles                      register1 = 4;
                           }                                      }


             register1 0                                      4
                                           (b) In the SPINNI TL Model

           * assuming the reset lasts n clock cycles in the SPINNI VHDL model
April 22, 2008                  Consistent Modeling Technique for Accurate Transaction Level Models   Page 19
Timing Accuracy

    Align Instruction Processing Timing

                 Clock Cycle #                              0     1      2     3     4     5

                 Stage 1: Instruction Fetch
                 Stage 2: Execution
                   (a) Two Pipeline Stages in the SPINNI VHDL Model




                      wait (time)


                      (b) No Pipeline Stage in the SPINNI TL Model

          Note: “time” in “wait (time)” equals to 1 clock period of the SPINNI VHDL Model

April 22, 2008                  Consistent Modeling Technique for Accurate Transaction Level Models   Page 20
Outline


                 1. Principles of TL Modeling

                 2. SPINNI VHDL & C Models

                 3. Refinement from C to TL

                 4. Timing Accuracy

                 5. Validation of Concept

                 6. Conclusion & Outlook




April 22, 2008           Consistent Modeling Technique for Accurate Transaction Level Models   Page 21
Validation of Concept

    Regression Automation for Functional Comparison

                  50 test cases                        k-th Test Case




                     VHDL Model                            C Model                            TL Models




                 New VHDL E
                 N        Execution
                               ti                    New C Execution                      New TL E
                                                                                          N      Execution
                                                                                                      ti
                 Instruction   Memory              Instruction    Memory                Instruction     Memory
                 Trace         Dumps               Trace          Dumps                 Trace           Dumps




                                                    Golden Reference
                                                   Instruction     Memory
                                                   Trace
                                                   T               Dumps
                                                                   D




April 22, 2008                    Consistent Modeling Technique for Accurate Transaction Level Models            Page 22
Validation of Concept

              Selected Test           Simulation Time VHDL (ns)                  Simulation Time TL (ns)
            Algorithmic Test                       42942800                                   42942800
                  I/O Test                          5441500                                    5441500
                 IRQ Test                           7331400                                    7331400

           Fig. 5.1: Simulation Time Comparison between VHDL & Timed TL Models

      50                                                        User CPU Time VHDL (s)
      45                                                        User CPU Time TL (s)
      40
      35                                                         Selected       User CPU         User CPU   Factor
      30                                                           Test         Time VHDL        Time TL
                                                                                (sec.)           (sec.)
      25
      20                                                         g
                                                               Algorithmic          0.87
                                                                                   40.87            2.87
                                                                                                     .87     14
      15                                                           Test
      10                                                         I/O Test          14.40            1.25     12
       5                                                         IRQ Test          18.21            1.51     12
       0
           Test case 1 Test case 2 Test case 3
           Fig. 5.2: User CPU Time Comparison between VHDL & Timed TL Models
April 22, 2008                        Consistent Modeling Technique for Accurate Transaction Level Models            Page 23
Outline


                 1. Principles of TL Modeling

                 2. SPINNI VHDL & C Models

                 3. Refinement from C to TL

                 4. Timing Accuracy

                 5. Validation of Concept

                 6. Conclusion & Outlook




April 22, 2008           Consistent Modeling Technique for Accurate Transaction Level Models   Page 24
Conclusion & Outlook

    Conclusion
        SPINNI system with a clear architecture

        Shown how to refine C to TL model

        Ways for adding timing information to the TL model

        Cases to make the timing accurate using RTL model

        Method for functional comparison, results of timing comparison
                              comparison

    Outlook

        Adopt the forthcoming TLM standard v2.0 for further improvement of
        performance

        Develop a methodology for fully automatic timing integration


April 22, 2008            Consistent Modeling Technique for Accurate Transaction Level Models   Page 25
Thank You!

                           Any Question?
                 Contact: Hui Chen                                             hui.chen@ieee.org




April 22, 2008              Consistent Modeling Technique for Accurate Transaction Level Models    Page 26

More Related Content

What's hot

Introduction to c
Introduction to cIntroduction to c
Introduction to c
amol_chavan
 
Learning the C Language
Learning the C LanguageLearning the C Language
Learning the C Language
nTier Custom Solutions
 
Fudcon D programming
Fudcon D programmingFudcon D programming
Fudcon D programming
Jonathan Mercier
 
INTRODUCTION TO C PROGRAMMING
INTRODUCTION TO C PROGRAMMINGINTRODUCTION TO C PROGRAMMING
INTRODUCTION TO C PROGRAMMING
JEENA SARA VIJU
 
QSOUL/Aop
QSOUL/AopQSOUL/Aop
QSOUL/Aop
ESUG
 
C programming
C programmingC programming
C programming
Rounak Samdadia
 
Advanced C Language for Engineering
Advanced C Language for EngineeringAdvanced C Language for Engineering
Advanced C Language for Engineering
Vincenzo De Florio
 
C_Programming_Notes_ICE
C_Programming_Notes_ICEC_Programming_Notes_ICE
C_Programming_Notes_ICE
Gilbert NZABONITEGEKA
 
Lec 02. C Program Structure / C Memory Concept
Lec 02. C Program Structure / C Memory ConceptLec 02. C Program Structure / C Memory Concept
Lec 02. C Program Structure / C Memory Concept
Rushdi Shams
 
C language preliminaries
C language preliminariesC language preliminaries
C language preliminaries
Dr. Abhineet Anand
 
Embedded c
Embedded cEmbedded c
Embedded c
Nandan Desai
 
88 c-programs
88 c-programs88 c-programs
88 c-programs
Leandro Schenone
 
Transition from process to product-level perspective for business software
Transition from process  to product-level perspective for business softwareTransition from process  to product-level perspective for business software
Transition from process to product-level perspective for business software
CONFENIS 2012
 
COM1407: Introduction to C Programming
COM1407: Introduction to C Programming COM1407: Introduction to C Programming
COM1407: Introduction to C Programming
Hemantha Kulathilake
 
C programming session7
C programming  session7C programming  session7
C programming session7
Keroles karam khalil
 
CSMR10b.ppt
CSMR10b.pptCSMR10b.ppt
CSMR10b.ppt
Ptidej Team
 
Staroletov Design by Contract, verification of Cyber-physical systems
Staroletov Design by Contract, verification of Cyber-physical systemsStaroletov Design by Contract, verification of Cyber-physical systems
Staroletov Design by Contract, verification of Cyber-physical systems
Sergey Staroletov
 
Binary code obfuscation through c++ template meta programming
Binary code obfuscation through c++ template meta programmingBinary code obfuscation through c++ template meta programming
Binary code obfuscation through c++ template meta programming
nong_dan
 

What's hot (18)

Introduction to c
Introduction to cIntroduction to c
Introduction to c
 
Learning the C Language
Learning the C LanguageLearning the C Language
Learning the C Language
 
Fudcon D programming
Fudcon D programmingFudcon D programming
Fudcon D programming
 
INTRODUCTION TO C PROGRAMMING
INTRODUCTION TO C PROGRAMMINGINTRODUCTION TO C PROGRAMMING
INTRODUCTION TO C PROGRAMMING
 
QSOUL/Aop
QSOUL/AopQSOUL/Aop
QSOUL/Aop
 
C programming
C programmingC programming
C programming
 
Advanced C Language for Engineering
Advanced C Language for EngineeringAdvanced C Language for Engineering
Advanced C Language for Engineering
 
C_Programming_Notes_ICE
C_Programming_Notes_ICEC_Programming_Notes_ICE
C_Programming_Notes_ICE
 
Lec 02. C Program Structure / C Memory Concept
Lec 02. C Program Structure / C Memory ConceptLec 02. C Program Structure / C Memory Concept
Lec 02. C Program Structure / C Memory Concept
 
C language preliminaries
C language preliminariesC language preliminaries
C language preliminaries
 
Embedded c
Embedded cEmbedded c
Embedded c
 
88 c-programs
88 c-programs88 c-programs
88 c-programs
 
Transition from process to product-level perspective for business software
Transition from process  to product-level perspective for business softwareTransition from process  to product-level perspective for business software
Transition from process to product-level perspective for business software
 
COM1407: Introduction to C Programming
COM1407: Introduction to C Programming COM1407: Introduction to C Programming
COM1407: Introduction to C Programming
 
C programming session7
C programming  session7C programming  session7
C programming session7
 
CSMR10b.ppt
CSMR10b.pptCSMR10b.ppt
CSMR10b.ppt
 
Staroletov Design by Contract, verification of Cyber-physical systems
Staroletov Design by Contract, verification of Cyber-physical systemsStaroletov Design by Contract, verification of Cyber-physical systems
Staroletov Design by Contract, verification of Cyber-physical systems
 
Binary code obfuscation through c++ template meta programming
Binary code obfuscation through c++ template meta programmingBinary code obfuscation through c++ template meta programming
Binary code obfuscation through c++ template meta programming
 

Similar to Consistent Modeling Technique for Accurate Transaction Level Models

DOUBLE PRECISION FLOATING POINT CORE IN VERILOG
DOUBLE PRECISION FLOATING POINT CORE IN VERILOGDOUBLE PRECISION FLOATING POINT CORE IN VERILOG
DOUBLE PRECISION FLOATING POINT CORE IN VERILOG
IJCI JOURNAL
 
Summer training vhdl
Summer training vhdlSummer training vhdl
Summer training vhdl
Arshit Rai
 
RTI-CODES+ISSS-2012-Submission-1
RTI-CODES+ISSS-2012-Submission-1RTI-CODES+ISSS-2012-Submission-1
RTI-CODES+ISSS-2012-Submission-1
Serge Amougou
 
2nd presantation
2nd presantation2nd presantation
2nd presantation
Sheay Vaishnav
 
Close encounters in MDD: when Models meet Code
Close encounters in MDD: when Models meet CodeClose encounters in MDD: when Models meet Code
Close encounters in MDD: when Models meet Code
lbergmans
 
Summer training vhdl
Summer training vhdlSummer training vhdl
Summer training vhdl
Arshit Rai
 
60
6060
Mini Project- ROM Based Sine Wave Generator
Mini Project- ROM Based Sine Wave GeneratorMini Project- ROM Based Sine Wave Generator
Use C++ and Intel® Threading Building Blocks (Intel® TBB) for Hardware Progra...
Use C++ and Intel® Threading Building Blocks (Intel® TBB) for Hardware Progra...Use C++ and Intel® Threading Building Blocks (Intel® TBB) for Hardware Progra...
Use C++ and Intel® Threading Building Blocks (Intel® TBB) for Hardware Progra...
Intel® Software
 
Unmanaged Parallelization via P/Invoke
Unmanaged Parallelization via P/InvokeUnmanaged Parallelization via P/Invoke
Unmanaged Parallelization via P/Invoke
Dmitri Nesteruk
 
Design of Real - Time Operating System Using Keil µVision Ide
Design of Real - Time Operating System Using Keil µVision IdeDesign of Real - Time Operating System Using Keil µVision Ide
Design of Real - Time Operating System Using Keil µVision Ide
iosrjce
 
4 - Simulation and analysis of different DCT techniques on MATLAB (presented ...
4 - Simulation and analysis of different DCT techniques on MATLAB (presented ...4 - Simulation and analysis of different DCT techniques on MATLAB (presented ...
4 - Simulation and analysis of different DCT techniques on MATLAB (presented ...
Youness Lahdili
 
OOPSLA02 BehavioralSemantics.ppt
OOPSLA02 BehavioralSemantics.pptOOPSLA02 BehavioralSemantics.ppt
OOPSLA02 BehavioralSemantics.ppt
Ptidej Team
 
Multicore
MulticoreMulticore
Collaborative modeling and co simulation with destecs - a pilot study
Collaborative modeling and co simulation with destecs - a pilot studyCollaborative modeling and co simulation with destecs - a pilot study
Collaborative modeling and co simulation with destecs - a pilot study
Daniele Gianni
 
The AVM and OVM in IP Core Verification - Experiences and Observations
The AVM and OVM in IP Core Verification - Experiences and ObservationsThe AVM and OVM in IP Core Verification - Experiences and Observations
The AVM and OVM in IP Core Verification - Experiences and Observations
DVClub
 
Gareth edwards xilinx
Gareth edwards xilinxGareth edwards xilinx
Gareth edwards xilinx
Obsidian Software
 
New c sharp4_features_part_iv
New c sharp4_features_part_ivNew c sharp4_features_part_iv
New c sharp4_features_part_iv
Nico Ludwig
 
Summer training vhdl
Summer training vhdlSummer training vhdl
Summer training vhdl
Arshit Rai
 
Summer training vhdl
Summer training vhdlSummer training vhdl
Summer training vhdl
Arshit Rai
 

Similar to Consistent Modeling Technique for Accurate Transaction Level Models (20)

DOUBLE PRECISION FLOATING POINT CORE IN VERILOG
DOUBLE PRECISION FLOATING POINT CORE IN VERILOGDOUBLE PRECISION FLOATING POINT CORE IN VERILOG
DOUBLE PRECISION FLOATING POINT CORE IN VERILOG
 
Summer training vhdl
Summer training vhdlSummer training vhdl
Summer training vhdl
 
RTI-CODES+ISSS-2012-Submission-1
RTI-CODES+ISSS-2012-Submission-1RTI-CODES+ISSS-2012-Submission-1
RTI-CODES+ISSS-2012-Submission-1
 
2nd presantation
2nd presantation2nd presantation
2nd presantation
 
Close encounters in MDD: when Models meet Code
Close encounters in MDD: when Models meet CodeClose encounters in MDD: when Models meet Code
Close encounters in MDD: when Models meet Code
 
Summer training vhdl
Summer training vhdlSummer training vhdl
Summer training vhdl
 
60
6060
60
 
Mini Project- ROM Based Sine Wave Generator
Mini Project- ROM Based Sine Wave GeneratorMini Project- ROM Based Sine Wave Generator
Mini Project- ROM Based Sine Wave Generator
 
Use C++ and Intel® Threading Building Blocks (Intel® TBB) for Hardware Progra...
Use C++ and Intel® Threading Building Blocks (Intel® TBB) for Hardware Progra...Use C++ and Intel® Threading Building Blocks (Intel® TBB) for Hardware Progra...
Use C++ and Intel® Threading Building Blocks (Intel® TBB) for Hardware Progra...
 
Unmanaged Parallelization via P/Invoke
Unmanaged Parallelization via P/InvokeUnmanaged Parallelization via P/Invoke
Unmanaged Parallelization via P/Invoke
 
Design of Real - Time Operating System Using Keil µVision Ide
Design of Real - Time Operating System Using Keil µVision IdeDesign of Real - Time Operating System Using Keil µVision Ide
Design of Real - Time Operating System Using Keil µVision Ide
 
4 - Simulation and analysis of different DCT techniques on MATLAB (presented ...
4 - Simulation and analysis of different DCT techniques on MATLAB (presented ...4 - Simulation and analysis of different DCT techniques on MATLAB (presented ...
4 - Simulation and analysis of different DCT techniques on MATLAB (presented ...
 
OOPSLA02 BehavioralSemantics.ppt
OOPSLA02 BehavioralSemantics.pptOOPSLA02 BehavioralSemantics.ppt
OOPSLA02 BehavioralSemantics.ppt
 
Multicore
MulticoreMulticore
Multicore
 
Collaborative modeling and co simulation with destecs - a pilot study
Collaborative modeling and co simulation with destecs - a pilot studyCollaborative modeling and co simulation with destecs - a pilot study
Collaborative modeling and co simulation with destecs - a pilot study
 
The AVM and OVM in IP Core Verification - Experiences and Observations
The AVM and OVM in IP Core Verification - Experiences and ObservationsThe AVM and OVM in IP Core Verification - Experiences and Observations
The AVM and OVM in IP Core Verification - Experiences and Observations
 
Gareth edwards xilinx
Gareth edwards xilinxGareth edwards xilinx
Gareth edwards xilinx
 
New c sharp4_features_part_iv
New c sharp4_features_part_ivNew c sharp4_features_part_iv
New c sharp4_features_part_iv
 
Summer training vhdl
Summer training vhdlSummer training vhdl
Summer training vhdl
 
Summer training vhdl
Summer training vhdlSummer training vhdl
Summer training vhdl
 

Recently uploaded

BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 9 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2024-2025 - ...
BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 9 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2024-2025 - ...BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 9 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2024-2025 - ...
BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 9 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2024-2025 - ...
Nguyen Thanh Tu Collection
 
B. Ed Syllabus for babasaheb ambedkar education university.pdf
B. Ed Syllabus for babasaheb ambedkar education university.pdfB. Ed Syllabus for babasaheb ambedkar education university.pdf
B. Ed Syllabus for babasaheb ambedkar education university.pdf
BoudhayanBhattachari
 
spot a liar (Haiqa 146).pptx Technical writhing and presentation skills
spot a liar (Haiqa 146).pptx Technical writhing and presentation skillsspot a liar (Haiqa 146).pptx Technical writhing and presentation skills
spot a liar (Haiqa 146).pptx Technical writhing and presentation skills
haiqairshad
 
The basics of sentences session 6pptx.pptx
The basics of sentences session 6pptx.pptxThe basics of sentences session 6pptx.pptx
The basics of sentences session 6pptx.pptx
heathfieldcps1
 
RHEOLOGY Physical pharmaceutics-II notes for B.pharm 4th sem students
RHEOLOGY Physical pharmaceutics-II notes for B.pharm 4th sem studentsRHEOLOGY Physical pharmaceutics-II notes for B.pharm 4th sem students
RHEOLOGY Physical pharmaceutics-II notes for B.pharm 4th sem students
Himanshu Rai
 
ANATOMY AND BIOMECHANICS OF HIP JOINT.pdf
ANATOMY AND BIOMECHANICS OF HIP JOINT.pdfANATOMY AND BIOMECHANICS OF HIP JOINT.pdf
ANATOMY AND BIOMECHANICS OF HIP JOINT.pdf
Priyankaranawat4
 
คำศัพท์ คำพื้นฐานการอ่าน ภาษาอังกฤษ ระดับชั้น ม.1
คำศัพท์ คำพื้นฐานการอ่าน ภาษาอังกฤษ ระดับชั้น ม.1คำศัพท์ คำพื้นฐานการอ่าน ภาษาอังกฤษ ระดับชั้น ม.1
คำศัพท์ คำพื้นฐานการอ่าน ภาษาอังกฤษ ระดับชั้น ม.1
สมใจ จันสุกสี
 
IGCSE Biology Chapter 14- Reproduction in Plants.pdf
IGCSE Biology Chapter 14- Reproduction in Plants.pdfIGCSE Biology Chapter 14- Reproduction in Plants.pdf
IGCSE Biology Chapter 14- Reproduction in Plants.pdf
Amin Marwan
 
clinical examination of hip joint (1).pdf
clinical examination of hip joint (1).pdfclinical examination of hip joint (1).pdf
clinical examination of hip joint (1).pdf
Priyankaranawat4
 
LAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UP
LAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UPLAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UP
LAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UP
RAHUL
 
The History of Stoke Newington Street Names
The History of Stoke Newington Street NamesThe History of Stoke Newington Street Names
The History of Stoke Newington Street Names
History of Stoke Newington
 
Liberal Approach to the Study of Indian Politics.pdf
Liberal Approach to the Study of Indian Politics.pdfLiberal Approach to the Study of Indian Politics.pdf
Liberal Approach to the Study of Indian Politics.pdf
WaniBasim
 
How to Setup Warehouse & Location in Odoo 17 Inventory
How to Setup Warehouse & Location in Odoo 17 InventoryHow to Setup Warehouse & Location in Odoo 17 Inventory
How to Setup Warehouse & Location in Odoo 17 Inventory
Celine George
 
math operations ued in python and all used
math operations ued in python and all usedmath operations ued in python and all used
math operations ued in python and all used
ssuser13ffe4
 
How to Make a Field Mandatory in Odoo 17
How to Make a Field Mandatory in Odoo 17How to Make a Field Mandatory in Odoo 17
How to Make a Field Mandatory in Odoo 17
Celine George
 
Beyond Degrees - Empowering the Workforce in the Context of Skills-First.pptx
Beyond Degrees - Empowering the Workforce in the Context of Skills-First.pptxBeyond Degrees - Empowering the Workforce in the Context of Skills-First.pptx
Beyond Degrees - Empowering the Workforce in the Context of Skills-First.pptx
EduSkills OECD
 
Mule event processing models | MuleSoft Mysore Meetup #47
Mule event processing models | MuleSoft Mysore Meetup #47Mule event processing models | MuleSoft Mysore Meetup #47
Mule event processing models | MuleSoft Mysore Meetup #47
MysoreMuleSoftMeetup
 
Chapter wise All Notes of First year Basic Civil Engineering.pptx
Chapter wise All Notes of First year Basic Civil Engineering.pptxChapter wise All Notes of First year Basic Civil Engineering.pptx
Chapter wise All Notes of First year Basic Civil Engineering.pptx
Denish Jangid
 
বাংলাদেশ অর্থনৈতিক সমীক্ষা (Economic Review) ২০২৪ UJS App.pdf
বাংলাদেশ অর্থনৈতিক সমীক্ষা (Economic Review) ২০২৪ UJS App.pdfবাংলাদেশ অর্থনৈতিক সমীক্ষা (Economic Review) ২০২৪ UJS App.pdf
বাংলাদেশ অর্থনৈতিক সমীক্ষা (Economic Review) ২০২৪ UJS App.pdf
eBook.com.bd (প্রয়োজনীয় বাংলা বই)
 
writing about opinions about Australia the movie
writing about opinions about Australia the moviewriting about opinions about Australia the movie
writing about opinions about Australia the movie
Nicholas Montgomery
 

Recently uploaded (20)

BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 9 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2024-2025 - ...
BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 9 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2024-2025 - ...BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 9 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2024-2025 - ...
BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 9 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2024-2025 - ...
 
B. Ed Syllabus for babasaheb ambedkar education university.pdf
B. Ed Syllabus for babasaheb ambedkar education university.pdfB. Ed Syllabus for babasaheb ambedkar education university.pdf
B. Ed Syllabus for babasaheb ambedkar education university.pdf
 
spot a liar (Haiqa 146).pptx Technical writhing and presentation skills
spot a liar (Haiqa 146).pptx Technical writhing and presentation skillsspot a liar (Haiqa 146).pptx Technical writhing and presentation skills
spot a liar (Haiqa 146).pptx Technical writhing and presentation skills
 
The basics of sentences session 6pptx.pptx
The basics of sentences session 6pptx.pptxThe basics of sentences session 6pptx.pptx
The basics of sentences session 6pptx.pptx
 
RHEOLOGY Physical pharmaceutics-II notes for B.pharm 4th sem students
RHEOLOGY Physical pharmaceutics-II notes for B.pharm 4th sem studentsRHEOLOGY Physical pharmaceutics-II notes for B.pharm 4th sem students
RHEOLOGY Physical pharmaceutics-II notes for B.pharm 4th sem students
 
ANATOMY AND BIOMECHANICS OF HIP JOINT.pdf
ANATOMY AND BIOMECHANICS OF HIP JOINT.pdfANATOMY AND BIOMECHANICS OF HIP JOINT.pdf
ANATOMY AND BIOMECHANICS OF HIP JOINT.pdf
 
คำศัพท์ คำพื้นฐานการอ่าน ภาษาอังกฤษ ระดับชั้น ม.1
คำศัพท์ คำพื้นฐานการอ่าน ภาษาอังกฤษ ระดับชั้น ม.1คำศัพท์ คำพื้นฐานการอ่าน ภาษาอังกฤษ ระดับชั้น ม.1
คำศัพท์ คำพื้นฐานการอ่าน ภาษาอังกฤษ ระดับชั้น ม.1
 
IGCSE Biology Chapter 14- Reproduction in Plants.pdf
IGCSE Biology Chapter 14- Reproduction in Plants.pdfIGCSE Biology Chapter 14- Reproduction in Plants.pdf
IGCSE Biology Chapter 14- Reproduction in Plants.pdf
 
clinical examination of hip joint (1).pdf
clinical examination of hip joint (1).pdfclinical examination of hip joint (1).pdf
clinical examination of hip joint (1).pdf
 
LAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UP
LAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UPLAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UP
LAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UP
 
The History of Stoke Newington Street Names
The History of Stoke Newington Street NamesThe History of Stoke Newington Street Names
The History of Stoke Newington Street Names
 
Liberal Approach to the Study of Indian Politics.pdf
Liberal Approach to the Study of Indian Politics.pdfLiberal Approach to the Study of Indian Politics.pdf
Liberal Approach to the Study of Indian Politics.pdf
 
How to Setup Warehouse & Location in Odoo 17 Inventory
How to Setup Warehouse & Location in Odoo 17 InventoryHow to Setup Warehouse & Location in Odoo 17 Inventory
How to Setup Warehouse & Location in Odoo 17 Inventory
 
math operations ued in python and all used
math operations ued in python and all usedmath operations ued in python and all used
math operations ued in python and all used
 
How to Make a Field Mandatory in Odoo 17
How to Make a Field Mandatory in Odoo 17How to Make a Field Mandatory in Odoo 17
How to Make a Field Mandatory in Odoo 17
 
Beyond Degrees - Empowering the Workforce in the Context of Skills-First.pptx
Beyond Degrees - Empowering the Workforce in the Context of Skills-First.pptxBeyond Degrees - Empowering the Workforce in the Context of Skills-First.pptx
Beyond Degrees - Empowering the Workforce in the Context of Skills-First.pptx
 
Mule event processing models | MuleSoft Mysore Meetup #47
Mule event processing models | MuleSoft Mysore Meetup #47Mule event processing models | MuleSoft Mysore Meetup #47
Mule event processing models | MuleSoft Mysore Meetup #47
 
Chapter wise All Notes of First year Basic Civil Engineering.pptx
Chapter wise All Notes of First year Basic Civil Engineering.pptxChapter wise All Notes of First year Basic Civil Engineering.pptx
Chapter wise All Notes of First year Basic Civil Engineering.pptx
 
বাংলাদেশ অর্থনৈতিক সমীক্ষা (Economic Review) ২০২৪ UJS App.pdf
বাংলাদেশ অর্থনৈতিক সমীক্ষা (Economic Review) ২০২৪ UJS App.pdfবাংলাদেশ অর্থনৈতিক সমীক্ষা (Economic Review) ২০২৪ UJS App.pdf
বাংলাদেশ অর্থনৈতিক সমীক্ষা (Economic Review) ২০২৪ UJS App.pdf
 
writing about opinions about Australia the movie
writing about opinions about Australia the moviewriting about opinions about Australia the movie
writing about opinions about Australia the movie
 

Consistent Modeling Technique for Accurate Transaction Level Models

  • 1. Consistent Modeling Technique for Accurate Transaction Level Models (Master Thesis) Hui Chen Professor : Prof. Dr.-Ing. Ulf Schlichtmann Advisors Prof. Dr Ing Ad isors : Prof Dr.-Ing. Wolfgang Ecker Ecker, Dipl.-Ing. Michael Velten April 22, 2008 COM BTS MT SD Institute for EDA
  • 2. Motivation Complex SoC design, but limited time to market Start software development and validation before RTL is available Raise design to higher abstraction levels: Transaction Level (TL) Early availability of TL Models due to high degree of abstraction Existent RTL legacy in new SoCs => Need to be modeled at TL too Not only functional but also timing accurate TL models: To ensure the order of interrupts, to analyze the system performance, … Obtaining TL models .... switch(base_addr) { case 2: pbus_read(...); break; case 1: ... ... } TL TL TL ... Functional Model TL Component TL TL RTL A Complete TL SoC Design Component April 22, 2008 Consistent Modeling Technique for Accurate Transaction Level Models Page 2
  • 3. Task Description Free IP "Plasma" F "Pl " enhancement / Plasma VHDL Model Plasma C Model bug fixes alignment restructure SPINNI VHDL Model SPINNI C Model refinement .... switch(base_addr) { it h(b dd ) case 2: pbus_read(...); break; case 1: ... ... } ... functional comparison f ti l i SPINNI TL Model timing comparison SPINNI Timed TL Model Presentation Part April 22, 2008 Consistent Modeling Technique for Accurate Transaction Level Models Page 3
  • 4. Outline 1. Principles of TL Modeling 2. SPINNI VHDL & C Models 3. Refinement from C to TL 4. Timing Accuracy 5. Validation of Concept 6. Conclusion & Outlook April 22, 2008 Consistent Modeling Technique for Accurate Transaction Level Models Page 4
  • 5. Outline 1. Principles of TL Modeling 2. SPINNI VHDL & C Models 3. Refinement from C to TL 4. Timing Accuracy 5. Validation of Concept 6. Conclusion & Outlook April 22, 2008 Consistent Modeling Technique for Accurate Transaction Level Models Page 5
  • 6. Principles of TL Modeling Initiator Target initiator_port target_port implements a remote function call function Transactions : communication between modules via function calls Synchronization : no toggling clock, time-based or event-based Modules : basic building blocks Ports : bind modules and channels April 22, 2008 Consistent Modeling Technique for Accurate Transaction Level Models Page 6
  • 7. Outline 1. Principles of TL Modeling 2. SPINNI VHDL & C Models 3. Refinement from C to TL 4. Timing Accuracy 5. Validation of Concept 6. Conclusion & Outlook April 22, 2008 Consistent Modeling Technique for Accurate Transaction Level Models Page 7
  • 8. SPINNI VHDL & C Models SPINNI: Restructure Plasma Get a clear architecture Plasma Model SPINNI Model restructure Make the modules traceable and comparable Make the model extensible April 22, 2008 Consistent Modeling Technique for Accurate Transaction Level Models Page 8
  • 9. SPINNI VHDL & C Models SPINNI VHDL Model irq_sig CPU gpio_irq timer_irq Main_Bus ICU 4 uart_irq 2 GPIO 2 Timer Periph_Bus UART RAM XRAM TBE1 TBE2 Fig. 2.1: Block Diagram of the SPINNI VHDL Model April 22, 2008 Consistent Modeling Technique for Accurate Transaction Level Models Page 9
  • 10. SPINNI VHDL & C Models SPINNI C Model irq_sig CPU cpu_run gpio_irq timer_irq Main_Bus ICU 4 uart_irq 2 GPIO 2 Timer Ti Periph_Bus main_bus_write UART main_bus_read RAM XRAM TBE1 TBE2 ram_write xram_write periph_bus_write ram_read xram_read periph_bus_read uart_write gpio_write uart_read t d gpio_read i d Fig. 2.2: Hierarchical Function Calls April 22, 2008 Consistent Modeling Technique for Accurate Transaction Level Models Page 10
  • 11. Outline 1. Principles of TL Modeling 2. SPINNI VHDL & C Models 3. Refinement from C to TL 4. Timing Accuracy 5. Validation of Concept 6. Conclusion & Outlook April 22, 2008 Consistent Modeling Technique for Accurate Transaction Level Models Page 11
  • 12. Refinement from C to TL Structure Based Refinement SPINNI C Model Module Access Type uart_read uart_write uart write ram_read ... ... Module SPINNI TL UART Module Access April 22, 2008 Consistent Modeling Technique for Accurate Transaction Level Models Page 12
  • 13. Refinement from C to TL Combining Created TL Modules irq_sig CPU gpio_irq ICU timer_irq Main_Bus 4 uart_irq 2 GPIO 2 Timer Periph_Bus RAM XRAM UART : sc_port : sc_export TBE1 TBE2 Fig. 3.1: Block Diagram of the SPINNI TL Model April 22, 2008 Consistent Modeling Technique for Accurate Transaction Level Models Page 13
  • 14. Refinement from C to TL Implementation of C Functions in Module Interfaces irq_sig CPU periph_bus_read main_bus_read gpio_irq ICU timer_irq Main_Bus 4 uart_irq ead 2 gpio_re GPIO 2 ram_read xram_read Timer Periph_Bus uart_read RAM XRAM UART : sc_port sc port : sc_export sc export TBE1 TBE2 April 22, 2008 Consistent Modeling Technique for Accurate Transaction Level Models Page 14
  • 15. Refinement from C to TL SPINNI TL Model Reflects the functionality of the SPINNI VHDL model Enables SW development, co-simulation of HW and SW No timing information no prediction for the overall performance of the system April 22, 2008 Consistent Modeling Technique for Accurate Transaction Level Models Page 15
  • 16. Outline 1. Principles of TL Modeling 2. SPINNI VHDL & C Models 3. Refinement from C to TL 4. Timing Accuracy 5. Validation of Concept 6. Conclusion & Outlook April 22, 2008 Consistent Modeling Technique for Accurate Transaction Level Models Page 16
  • 17. Timing Accuracy Measure & add timing information VHDL RTL Model TL Model Timing Information time time Basic ways to add timing y g ¬ Time-based: wait(time) ¬ Event-based: event_name.notify(time) ¬ … April 22, 2008 Consistent Modeling Technique for Accurate Transaction Level Models Page 17
  • 18. Timing Accuracy Selected Problem Cases 1. How to align timing after reset ? 2. How to align instruction processing timing ? April 22, 2008 Consistent Modeling Technique for Accurate Transaction Level Models Page 18
  • 19. Timing Accuracy Align Timing after Reset n cycles l reset register1 0 i t 1 4 (a) In the SPINNI VHDL Model void initialize() { trigger register1 = 0; // notify event void module_run() { // after n cycles register1 = 4; } } register1 0 4 (b) In the SPINNI TL Model * assuming the reset lasts n clock cycles in the SPINNI VHDL model April 22, 2008 Consistent Modeling Technique for Accurate Transaction Level Models Page 19
  • 20. Timing Accuracy Align Instruction Processing Timing Clock Cycle # 0 1 2 3 4 5 Stage 1: Instruction Fetch Stage 2: Execution (a) Two Pipeline Stages in the SPINNI VHDL Model wait (time) (b) No Pipeline Stage in the SPINNI TL Model Note: “time” in “wait (time)” equals to 1 clock period of the SPINNI VHDL Model April 22, 2008 Consistent Modeling Technique for Accurate Transaction Level Models Page 20
  • 21. Outline 1. Principles of TL Modeling 2. SPINNI VHDL & C Models 3. Refinement from C to TL 4. Timing Accuracy 5. Validation of Concept 6. Conclusion & Outlook April 22, 2008 Consistent Modeling Technique for Accurate Transaction Level Models Page 21
  • 22. Validation of Concept Regression Automation for Functional Comparison 50 test cases k-th Test Case VHDL Model C Model TL Models New VHDL E N Execution ti New C Execution New TL E N Execution ti Instruction Memory Instruction Memory Instruction Memory Trace Dumps Trace Dumps Trace Dumps Golden Reference Instruction Memory Trace T Dumps D April 22, 2008 Consistent Modeling Technique for Accurate Transaction Level Models Page 22
  • 23. Validation of Concept Selected Test Simulation Time VHDL (ns) Simulation Time TL (ns) Algorithmic Test 42942800 42942800 I/O Test 5441500 5441500 IRQ Test 7331400 7331400 Fig. 5.1: Simulation Time Comparison between VHDL & Timed TL Models 50 User CPU Time VHDL (s) 45 User CPU Time TL (s) 40 35 Selected User CPU User CPU Factor 30 Test Time VHDL Time TL (sec.) (sec.) 25 20 g Algorithmic 0.87 40.87 2.87 .87 14 15 Test 10 I/O Test 14.40 1.25 12 5 IRQ Test 18.21 1.51 12 0 Test case 1 Test case 2 Test case 3 Fig. 5.2: User CPU Time Comparison between VHDL & Timed TL Models April 22, 2008 Consistent Modeling Technique for Accurate Transaction Level Models Page 23
  • 24. Outline 1. Principles of TL Modeling 2. SPINNI VHDL & C Models 3. Refinement from C to TL 4. Timing Accuracy 5. Validation of Concept 6. Conclusion & Outlook April 22, 2008 Consistent Modeling Technique for Accurate Transaction Level Models Page 24
  • 25. Conclusion & Outlook Conclusion SPINNI system with a clear architecture Shown how to refine C to TL model Ways for adding timing information to the TL model Cases to make the timing accurate using RTL model Method for functional comparison, results of timing comparison comparison Outlook Adopt the forthcoming TLM standard v2.0 for further improvement of performance Develop a methodology for fully automatic timing integration April 22, 2008 Consistent Modeling Technique for Accurate Transaction Level Models Page 25
  • 26. Thank You! Any Question? Contact: Hui Chen hui.chen@ieee.org April 22, 2008 Consistent Modeling Technique for Accurate Transaction Level Models Page 26