Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > VHDL > FPGA/VHDL Matrix Multiply

Thread Tools

FPGA/VHDL Matrix Multiply

fiofury1 fiofury1 is offline
Junior Member
Join Date: Aug 2007
Posts: 1
I have been assigned the task of implementing a filter that utilizes the following update equation in MATLAB:

P = (1 / lambda) * (P - ((P * u * u' * P) / (lambda + u' * P * u)));

In this equation, ‘P’ is a [5x5] matrix, ‘u’ is a [5x1] matrix, and ‘lambda’ is a constant. P must be computed every 10uS (100kHz), and the implementation can utilized either fixed-point or floating point numbers. Can anyone give me any suggestions as to how to implement this equation in VHDL. I am using an Altera Dev. Board with a Startix II EP2S60 FPGA. I have attempted instantiating a NIOSII processor into the FPGA and running a C program to compute P, but this option was too slow. I also realize that I might have to tough it out and simply expand the equations and “code away” or develop a solution using matrix multiplication modules.


Reply With Quote
scottcarl scottcarl is offline
Join Date: May 2007
Location: USA
Posts: 51

I've built one of these and there is no other way to do it but slog through all the calculations. Mine was an [8x8] complex matrix, ugh. So for a [5x5]x[5x1] you'll have 25 multiplications with 5 results stored into a [5x1] matrix. However, the u'P multiply is seen twice in your equation and therefore should only calcualate it once, saving some time. Here is the attachment of the rendition of what you should build.

Attached Images
File Type: bmp matrix_multiply.bmp (12.9 KB, 34 views)
Reply With Quote

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off

Similar Threads
Thread Thread Starter Forum Replies Last Post
Matrix*Vector and Vector*Matrix Holgerson C++ 3 10-26-2007 07:38 AM
Matrix composed by two matrix lvcargnini VHDL 3 07-05-2006 07:21 AM
Matrix multiply code christopher diggins C++ 15 05-16-2005 10:12 AM
coding problem (matrix multiply) George C++ 1 03-21-2005 03:18 PM
Re: Matrix DTS and Matrix 2 DTS? PeterTHX DVD Video 0 08-03-2003 05:46 AM