Verifying Performance of a HDL design block

Slides:



Advertisements
Similar presentations
Chapter 8 Interfacing Processors and Peripherals.
Advertisements

Bus Specification Embedded Systems Design and Implementation Witawas Srisa-an.
6-April 06 by Nathan Chien. PCI System Block Diagram.
3D Graphics Content Over OCP Martti Venell Sr. Verification Engineer Bitboys.
Presenter : Cheng-Ta Wu Kenichiro Anjo, Member, IEEE, Atsushi Okamura, and Masato Motomura IEEE JOURNAL OF SOLID-STATE CIRCUITS, VOL. 39,NO. 5, MAY 2004.
Main MemoryCS510 Computer ArchitecturesLecture Lecture 15 Main Memory.
Outline Memory characteristics SRAM Content-addressable memory details DRAM © Derek Chiou & Mattan Erez 1.
Using emulation for RTL performance verification
ARCHITECTURE OF APPLE’S G4 PROCESSOR BY RON WEINWURZEL MICROPROCESSORS PROFESSOR DEWAR SPRING 2002.
Miss Penalty Reduction Techniques (Sec. 5.4) Multilevel Caches: A second level cache (L2) is added between the original Level-1 cache and main memory.
Performance Modeling and Validation of C66x DSP multilevel cache memory system Rama Venkatasubramanian, Pete Hippleheuser, Oluleye Olorode, Abhijeet Chachad,
by Adiel Khan Staff CAE Synopsys
Anshul Kumar, CSE IITD CSL718 : Main Memory 6th Mar, 2006.
Main Mem.. CSE 471 Autumn 011 Main Memory The last level in the cache – main memory hierarchy is the main memory made of DRAM chips DRAM parameters (memory.
DIRECT MEMORY ACCESS CS 147 Thursday July 5,2001 SEEMA RAI.
Double buffer SDRAM Memory Controller Presented by: Yael Dresner Andre Steiner Instructed by: Michael Levilov Project Number: D0713.
Vinodh Cuppu and Bruce Jacob, University of Maryland Concurrency, Latency, or System Overhead: which Has the Largest Impact on Uniprocessor DRAM- System.
IT Systems Memory EN230-1 Justin Champion C208 –
Chapter 8: Part II Storage, Network and Other Peripherals.
1 COMP 206: Computer Architecture and Implementation Montek Singh Mon., Nov. 18, 2002 Topic: Main Memory (DRAM) Organization – contd.
CPU Chips The logical pinout of a generic CPU. The arrows indicate input signals and output signals. The short diagonal lines indicate that multiple pins.
Technion Digital Lab Project Performance evaluation of Virtex-II-Pro embedded solution of Xilinx Students: Tsimerman Igor Firdman Leonid Firdman.
Principle of Functional Verification Chapter 1~3 Presenter : Fu-Ching Yang.
* Definition of -RAM (random access memory) :- -RAM is the place in a computer where the operating system, application programs & data in current use.
General Purpose FIFO on Virtex-6 FPGA ML605 board midterm presentation
Computer Architecture Lecture 08 Fasih ur Rehman.
Students: Oleg Korenev Eugene Reznik Supervisor: Rolf Hilgendorf
CPU Cache Prefetching Timing Evaluations of Hardware Implementation Ravikiran Channagire & Ramandeep Buttar ECE7995 : Presentation.
Survey of Existing Memory Devices Renee Gayle M. Chua.
SystemC: A Complete Digital System Modeling Language: A Case Study Reni Rambus Inc.
Introduction of Intel Processors
1 Extending FPGA Verification Through The PLI Charles Howard Senior Research Engineer Southwest Research Institute San Antonio, Texas (210)
Main Memory CS448.
PROCStar III Performance Charactarization Instructor : Ina Rivkin Performed by: Idan Steinberg Evgeni Riaboy Semestrial Project Winter 2010.
BUS IN MICROPROCESSOR. Topics to discuss Bus Interface ISA VESA local PCI Plug and Play.
Parallel Programming on the SGI Origin2000 With thanks to Igor Zacharov / Benoit Marchand, SGI Taub Computer Center Technion Moshe Goldberg,
August 1, 2001Systems Architecture II1 Systems Architecture II (CS ) Lecture 9: I/O Devices and Communication Buses * Jeremy R. Johnson Wednesday,
OPERATING SYSTEMS CS 3530 Summer 2014 Systems with Multi-programming Chapter 4.
Memory Subsystem verification – Can it be taken for granted ?
1 Extending FPGA Verification Through The PLI Charles Howard Senior Research Engineer Southwest Research Institute San Antonio, Texas (210)
1 Presented By: Michael Bieniek. Embedded systems are increasingly using chip multiprocessors (CMPs) due to their low power and high performance capabilities.
AT91 Memory Interface. 2 Features –Up to 8 programmable chip select lines –Remap Command allows dynamic exception vectors –Glue-less for both 8-bit and.
Dynamic Random Access Memory (DRAM) CS 350 Computer Organization Spring 2004 Aaron Bowman Scott Jones Darrell Hall.
Computer Architecture Lecture 24 Fasih ur Rehman.
Different Microprocessors Tamanna Haque Nipa Lecturer Dept. of Computer Science Stamford University Bangladesh.
80386DX functional Block Diagram PIN Description Register set Flags Physical address space Data types.
Chapter 4 Memory Design: SOC and Board-Based Systems
UltraSPARC III Hari P. Ananthanarayanan Anand S. Rajan.
Part A Final Dor Obstbaum Kami Elbaz Advisor: Moshe Porian August 2012 FPGA S ETTING U SING F LASH.
Multi-objective Topology Synthesis and FPGA Prototyping Framework of Application Specific Network-on-Chip m Akram Ben Ahmed Xinyu LI, Omar Hammami.
2016/2/ “Formal verification of a public-domain DDR2 controller design”, VLSI Design Author: Abhishek Datta, Vigyan Singhal Speaker: Chia-Wei.
Different Microprocessors Tamanna Haque Nipa Lecturer Dept. of Computer Science Stamford University Bangladesh.
Fundamentals of Programming Languages-II
1 Adapted from UC Berkeley CS252 S01 Lecture 18: Reducing Cache Hit Time and Main Memory Design Virtucal Cache, pipelined cache, cache summary, main memory.
DDRIII BASED GENERAL PURPOSE FIFO ON VIRTEX-6 FPGA ML605 BOARD PART B PRESENTATION STUDENTS: OLEG KORENEV EUGENE REZNIK SUPERVISOR: ROLF HILGENDORF 1 Semester:
Sunpyo Hong, Hyesoon Kim
Computer Organization CS224 Fall 2012 Lessons 39 & 40.
Mohamed Younis CMCS 411, Computer Architecture 1 CMCS Computer Architecture Lecture 26 Bus Interconnect May 7,
Contemporary DRAM memories and optimization of their usage Nebojša Milenković and Vladimir Stanković, Faculty of Electronic Engineering, Niš.
“With 1 MB RAM, we had a memory capacity which will NEVER be fully utilized” - Bill Gates.
1 load [2], [9] Transfer contents of memory location 9 to memory location 2. Illegal instruction.
CS 1251 Computer Organization N.Sundararajan
SystemC Simulation Based Memory Controller Optimization
Cache Memory Presentation I
Israel Cidon, Ran Ginosar and Avinoam Kolodny
Efficient Communication Between Custom IPs and PS.
Srinivas Aluri Jaimin Mehta
DRAM Hwansoo Han.
Haonan Wang, Adwait Jog College of William & Mary
Presentation transcript:

Verifying Performance of a HDL design block Chhavi Patni Maninder Singh

Agenda Objective Performance parameters Application Scenario 1 Bus Probes Application Scenario 2 Conclusions

Objective Verification and Analysis of performance parameters of a Design Block Data Bandwidth Latency Efficiency Pipeline Protocol specific parameters Bus interface plugs requirement DUV

Performance Parameters Bandwidth : Rate of data transfer. Usually specified as KB/s, MB/s or Mb/s. Theoretical maximum bandwidth = (Data width) x (Bus Freq.) Actual Bandwidth = Amount of data transferred / Total clock cycles Example: Clock Freq: 200 MHz , Data Bus: 4 bytes Theoretical Max Bandwidth = 200 x 4 = 800 MB/s Efficiency : number of clock cycles transferring data divided by the total number of clock cycles. Efficiency (%) = Clock cycles transferring data Total Clock cycles x 100

Performance Parameters cont. Latency Requirements : Requests should be granted within certain cycles Request to response latency. Pipeline Features: Max. or Average Pending request transfers Protocol specific parameters : DDR Bus : bank BW analysis, ACT / PRECHARGE with no read/write cycles Bus Interface plugs requirements : Capable of accepting back to back requests. Capable of providing back to back responses.

Application Scenario 1 Cache IP Functional Specifications : Bandwidth Supported : Allegro streams : Max / Avg BW (MB/s) = 809 / 487 DVD streams : Max / Avg BW (MB/s) = 474 / 245 Efficiency : Reduction in number of Memory accesses = 30% Other requirements : request can be read every clock cycle data can be sent by IP every clock cycle

Verification Environment Reference Model checker checker Initiator BFM Target BFM Cache IP Bus Probe

Bus Probe Internal tool - Bus probes – on STBus, AXI, DDR3 "Probes" are transaction monitors, that observe the transitions of RTL signals, recognize transactions and record them in a transaction database Purpose : Monitor for Bus protocol compliance. Provides all transactions for scoreboarding/checking. Provides summary of transaction types along with start and end time for analysis. Provides latency, bandwidth figures.

Bus Probe Non-intrusive probing of the simulation Usage : A probing file defines each probe and the paths of the signals to monitor Usage : Static Mode: Need vcd/ shm database of simulation. Dynamic Mode: Reports generated on the fly during simulation run. Axi_probe <probe_name> .data_size(_value_of_attribute_data_size_) .*("_common_path_and_signal_root_*_suffix_") …….. OR .data_size((_value_of_attribute_data_size_) .AWVALID(“testbench.awvalid") .AWREADY(CONSTANT(1)) …………

Bus Probe Output Example Output :

Application Scenario 2 DDR Traffic Sequencer SoC Traffic BFM #N Model BW, η, Latency SoC Traffic Sequencer RTL Sequencer Architecture Model BFM #N #3 Memory #2 Traffic Generator #1 RTL BW, η, Latency Bus Probe

Conclusions Performance Verification of IP Performance Analysis of architecture models RTL v/s Architecture Model Comparison Tuning third Party IP for maximum performance

DDR Probe Efficiency of the memory Bank access analysis Compute the percentage of the maximum available bandwidth that is actually used by the DDR. global bandwidth, read / write bandwidth bandwidth per bank, read bandwidth per bank, write bandwidth per bank Bank access analysis number of pages accessed in each bank (different row addresses) number of ACT commands per bank Bus turnarounds Bus turnarounds between read transactions and write transactions, or the opposite. Sub-optimal usage of the memory banks ACT followed by a PRE on the same bank, without READ nor WRITE transactions continuous use of a single bank (as the efficient usage of the ddr is based on alternate bank accesses)