Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Matrix multiply as a custom IP

Status
Not open for further replies.

Alex02

Newbie level 6
Joined
Feb 18, 2011
Messages
11
Helped
1
Reputation
2
Reaction score
1
Trophy points
1,283
Activity points
1,368
Hello everyone!

I'm using Microblaze to run an application which involves matrix multiplication. At this moment the application is very slow and the code is executed from the DDR SRAM (because the it's too long) and most of the operations are matrix multiply (27 by 27) and matrix inverse (6 by 6). So I'm implementing a custom IP in VHDL for the matrix multiply in order to accelerate the application.

I've attached some custom IPs to the PLB. I've also read that FSL presents a good performace , however I have no experience with this bus. Is it suitable for this case?

Regarding the VHDL design, I think that if I had a group of dual-port ram for every column of the matrix it would be ideal to achieve the matrix multiplication. The problem I see with this approach is related to store data in these memories. So I'm wondering if there is a way to store matrix data efficiently so that it can also allow to access different addresses at the same time.
I have doubts about how to store data in these dual-port memories efficiently (I attached the basic matrix multiply scheme that that I'm doing -> matrix A -1 row, matrix B -1 column ).

Thanks in advance.
Alex
 

Attachments

  • mult.jpg
    mult.jpg
    82.8 KB · Views: 100

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top