Download presentation
Presentation is loading. Please wait.
Published byPhyllis Wheeler Modified over 9 years ago
1
Matrix Multiplication on FPGA Final presentation One semester – winter 2014/15 By : Dana Abergel and Alex Fonariov Supervisor : Mony Orbach High Speed Digital System Laboratory
2
Motivation and Background Matrix multiplication is a complex mathematical operation. Naive implementation of the common algorithm may cost a lot of resources and time. An efficient matrix multiplication implementation is needed.
3
Project Goals Implementation of an efficient algorithm and Infrastructure Minimum FPGA resources. Minimum run time. Maximum throughput Examine the trade off Working with memory interfaces (DDR)
4
Development Platform VHDL Simulation – ModelSim/Vivado Xillinx – vc709 Evaluation Board FPGA - Virtex 7 Synthesis - Vivado
5
Algorithm and Specifications
6
Block Diagram Two time domains. Read FIFO: write width- 512bit read width- 1024bit Write FIFO: write width- 64bit read width- 32bit
7
Consist of 129 multipliers. Multiplier’s input width is 8 bit. Multiplier’s output width is 16 bit. The multipliers are DSP slices. An additional multiplier for the valid bit.
8
Consists of 127 adders. The adder’s width increases by 1 as the data advances through the pipeline. Pipeline implementation.
9
DDR_Interconnect (IP Integrator) Contains the following IP’s: Axi_data_mover Axi_interconnect mig
10
Memory Organization
11
Flow Chart
12
Design Verification BIST (Built-In Self Test) Memory tests (C code of the microblaze) were adjusted to our purposes: Loading the matrixes to the DDR. Reading the result matrix from the DDR.
13
Verification Process Three bit-stream files are involved in the process: 1.Bist that was modified to write the matrixes to the DDRs. 2.Our design, which reads the matrixes, does the arithmetic calculation and writes the result matrix to the DDR. 3.Bist that was modified to read the result matrix and print it on the screen.
14
Performance Total run time: 1.1 sec (220,940,637 clock cycles in 200 Mhz) Throughput: Total FPGA utilization:
15
Summery and conclusions
16
Thank you!
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.