22
PROCStar III Performance Charactarization Midterm Presentation Instructor : Ina Rivkin Performed by: Idan Steinberg Evgeni Riaboy Semestrial Project Winter 2010

PROCStar III Performance Charactarization Instructor : Ina Rivkin Performed by: Idan Steinberg Evgeni Riaboy Semestrial Project Winter 2010

Embed Size (px)

Citation preview

Page 1: PROCStar III Performance Charactarization Instructor : Ina Rivkin Performed by: Idan Steinberg Evgeni Riaboy Semestrial Project Winter 2010

PROCStar III Performance Charactarization

Midterm Presentation

Instructor : Ina Rivkin Performed by: Idan Steinberg

Evgeni Riaboy

Semestrial ProjectWinter 2010

Page 2: PROCStar III Performance Charactarization Instructor : Ina Rivkin Performed by: Idan Steinberg Evgeni Riaboy Semestrial Project Winter 2010

Agenda

• Project Overview• Project Goals• Progress• Tests Overview• Example exercise• Timeline

Page 3: PROCStar III Performance Charactarization Instructor : Ina Rivkin Performed by: Idan Steinberg Evgeni Riaboy Semestrial Project Winter 2010

Project Overview

• With the introduction of a new FPGA based board, we have to devise a series of tests to examine the devices max practical performance, allowing the students that use these boards for future projects, to plan optimal design based on the concluded tested performance.

• All the tests are intended to determine maximal frequency that ensure correct results (this is why we check all the data for correctness).

Page 4: PROCStar III Performance Charactarization Instructor : Ina Rivkin Performed by: Idan Steinberg Evgeni Riaboy Semestrial Project Winter 2010

Gidel PROCstar III Stratix III 260E

• 4 Altera Stratix III 260E FPGA’s, with 256 MB on chip memory• 8 Lane PCIe host interface• 8 DDR2 Banks, with 2*2GB on first FPGA, and 1*2GB on the other FPGA’s• ~2MB FPGA Internal RAM• 255K Logic Elements (per FPGA)

Page 5: PROCStar III Performance Charactarization Instructor : Ina Rivkin Performed by: Idan Steinberg Evgeni Riaboy Semestrial Project Winter 2010

The PROCStar III Processing Unit

Page 6: PROCStar III Performance Charactarization Instructor : Ina Rivkin Performed by: Idan Steinberg Evgeni Riaboy Semestrial Project Winter 2010

Project Goals

Testing Procstar III board for:• Maximum frequency of reading/writing

between the FPGA and Memory Banks• Maximum communication speed between

FPGA’s, both on their adjacent connection and on their shared BUS.

• Highest possible performance of the internal logic in Add, Subtract, Multiply, Divide and sqrt configurations.

Page 7: PROCStar III Performance Charactarization Instructor : Ina Rivkin Performed by: Idan Steinberg Evgeni Riaboy Semestrial Project Winter 2010

Progress Learning different tools for the FPGA environment Preparing several exercises

• implementing work with different memory configurations – in both FIFO and Multiport

• work between two separate FIFO’s on different DDR’s• Counter unit (for performance measurement)

Preparing a C code that interacts with the Proc board, to serve as a user interface

Preparing a general example• Preparing the required tests• Concluding performance results

Page 8: PROCStar III Performance Charactarization Instructor : Ina Rivkin Performed by: Idan Steinberg Evgeni Riaboy Semestrial Project Winter 2010

Project PlanTest 1: External Memories Transfer Rate:• We will fill the memory with data (from the PCI) , and

test it by reading/writing the data between the memory and the FPGA, thus determining the transfer rate (between the FPGA and the Memory bank), both in Multi FIFO and Multi Port Configurations. We will Perform the test at different frequencies to determine the maximal

frequency of data transfer between

Memory bank and FPGA. Memory Bank

Procstar III

FPGA

Page 9: PROCStar III Performance Charactarization Instructor : Ina Rivkin Performed by: Idan Steinberg Evgeni Riaboy Semestrial Project Winter 2010

Project PlanTest 1:• Firstly, the data will be transferred from the PC

to the Memory bank by a C code program• The test will be performed at increasing

frequencies, to determine maximal frequency • Then, the data will be read by the FPGA from the

memory bank and checked for correctness • The measuring will be done by a counter unit on

the FPGA, which sums the clock cycles during the test, which will start at the same time with the FPGA reading

Page 10: PROCStar III Performance Charactarization Instructor : Ina Rivkin Performed by: Idan Steinberg Evgeni Riaboy Semestrial Project Winter 2010

Project Plan

Tests 2,3: FPGA Communication:We will test the communication between the FPGA’s,

both on their adjacent connection and their shared BUS.

Page 11: PROCStar III Performance Charactarization Instructor : Ina Rivkin Performed by: Idan Steinberg Evgeni Riaboy Semestrial Project Winter 2010

Project Plan

Test 2: FPGA Communication:We will build a state machine that creates 3-4 different outputs on

one FPGA, transfer the data to an adjacent FPGA on their direct connection, and check the data correctness (running at increasing frequencies on the data channel).

Procstar III

FPGA 1 FPGA 2

Page 12: PROCStar III Performance Charactarization Instructor : Ina Rivkin Performed by: Idan Steinberg Evgeni Riaboy Semestrial Project Winter 2010

Project Plan

Test 2: FPGA Communication:• To establish connection between two FPGA’s, we will use

a basic protocol on the communication channel of the adjacent FPGA’s.

• It will be based on a simple control channel that indicates valid data on the shared channel between the FPGA’s.

• The test will be complied from creating several outputs on one FPGA, transferring it to the Adjacent FPGA and checking it (running at increasing frequencies on the data channel).

• The measuring will be done by a counter unit on the second FPGA, which will count the cycles from the beginning of data transfer till the end of it.

Page 13: PROCStar III Performance Charactarization Instructor : Ina Rivkin Performed by: Idan Steinberg Evgeni Riaboy Semestrial Project Winter 2010

Project Plan

Test 3: FPGA Communication:We will build a state machine that creates 3-4 different outputs on one FPGA,

transfer the data to the other FPGA’s on their BUS connection, and check the data correctness.

Procstar III

FPGA 1 FPGA 2 FPGA 3 FPGA 4

BUS

Page 14: PROCStar III Performance Charactarization Instructor : Ina Rivkin Performed by: Idan Steinberg Evgeni Riaboy Semestrial Project Winter 2010

Project PlanTest 3: FPGA Communication:• This test will be executed the same way as test 2,

only using different data and control channels (connecting all 4 FPGA units).

Page 15: PROCStar III Performance Charactarization Instructor : Ina Rivkin Performed by: Idan Steinberg Evgeni Riaboy Semestrial Project Winter 2010

Project PlanTest 4: Internal Functions Testing:We will perform different mathematical operations:• Add• Subtract• Multiply – both in LE and in DSP blocks• Divide• SqrtFor fixed point and floating point operations,

determining the DSP and LE performance.

Page 16: PROCStar III Performance Charactarization Instructor : Ina Rivkin Performed by: Idan Steinberg Evgeni Riaboy Semestrial Project Winter 2010

Project PlanTest 4: Internal Functions Testing:• The testing will be performed by creating data from a

state machine on the FPGA and performing the tested operation.

• The Add, Subtract, Divide and sqrt will be performed in VHDL code.

• The Multiply operation will be performed by the Altera library components in LE and DSP blocks.

• The counter unit will sum up the clock cycles from the beginning of the operation till its end.

• The tests will be performed at different frequencies, determining the maximal working frequency.

Page 17: PROCStar III Performance Charactarization Instructor : Ina Rivkin Performed by: Idan Steinberg Evgeni Riaboy Semestrial Project Winter 2010

Project PlanTest 5: PC to Memories Transfer Rate:• We will fill a memory bank with data from the PCI, and read

it back, thus determining the transfer rate from the PC to the Memory bank on Proc Board. Then we will be able to compare the result with test 1, where we have tested the FPGA to memory transfer rate.

PCIe

Procstar III

Stratix IIIPCIe

Controller (DMA Mode)

Memory Bank

Page 18: PROCStar III Performance Charactarization Instructor : Ina Rivkin Performed by: Idan Steinberg Evgeni Riaboy Semestrial Project Winter 2010

An example exercise was prepared:

An example with the usage of the required resources for the main project plan – taking data from the PCI, performing mathematical operation and writing it to a DDR:

X2

DDR in Multi Port Memory

PCIe

PCIe

Page 19: PROCStar III Performance Charactarization Instructor : Ina Rivkin Performed by: Idan Steinberg Evgeni Riaboy Semestrial Project Winter 2010

Example exercise:

Page 20: PROCStar III Performance Charactarization Instructor : Ina Rivkin Performed by: Idan Steinberg Evgeni Riaboy Semestrial Project Winter 2010

Example exercise:We have measured the time it takes from the moment the data is being sent to the Proc board till it has been read on the PC.

Transferring 10 buffers, each buffer of 128 bits, at frequency of main clock = 125 MHz

Page 21: PROCStar III Performance Charactarization Instructor : Ina Rivkin Performed by: Idan Steinberg Evgeni Riaboy Semestrial Project Winter 2010

Example exercise:Transferring 1000 buffers, each buffer of 128 bits, at frequency of main clock = 125 MHz

Page 22: PROCStar III Performance Charactarization Instructor : Ina Rivkin Performed by: Idan Steinberg Evgeni Riaboy Semestrial Project Winter 2010

Project Scheduleאוגוסט

יולי יוני מאי אפריל מרץ

Learning Gidel Environment

Charactarization Presentation

Preparing Midterm example

Midterm Presentation

Test 1 Preparation

Test 2 Preparation

Test 3 Preparation

Test 4 Preparation

Test 5 Preparation

Final Conclusions

Final Presentation

Exams