calculate Y Y = A * X * At

V

VHDL_HELP

Guest
hi every body ,
my problem is how to calculate Y = A * X * At , Y,A,At are matrix of
N*N dimension At is the transpose of A
please help me
 
On 11 Mar 2007 03:43:30 -0700, "VHDL_HELP" <abaidik@gmail.com> wrote:

hi every body ,
my problem is how to calculate Y = A * X * At , Y,A,At are matrix of
N*N dimension At is the transpose of A
please help me
With which part of this? Matrix multiplication? The transpose
operation? Coding arithmetic in VHDL?

My suggestions to you:

(1) To clarify your own thinking, take a rather small value of N
such as N=3, and then write out the calculations long-hand.
The result Y then has only 9 elements, so you should be able
to see how each element of Y is calculated as a function of the
elements of A and X. Once you have seen the way this works
for small N, you should be able to generalise it for any N
in the form of sums of products that will then map on to
"for" loops in any reasonable programming language.

(2) Now, decide what your VHDL module is expected to do.
Will you see all N^2 elements of A, and all N elements of X,
simultaneously on a large set of inputs? Or must you fetch
these values from some memory where they have previously
been saved? Or, perhaps, A is a constant matrix and it's only
the values of X that change. All these questions dramatically
affect the overall shape of your design, and the techniques
you must use to implement it. No VHDL coding yet!

(3) Next, think about speed/area trade-offs. For any of these
matrix-manipulation tasks, you have a choice: do all the
calculations simultaneously using a large number of arithmetic
units (adders and multipliers), or use a smaller number of
arithmetic units - possibly as few as one - and perform the
calculation iteratively over many clock cycles, using some
memory element to store the intermediate results.

(4) Finally, when you know what you are trying to achieve,
you should be able to start writing the VHDL without too
much trouble.

It would have been a courtesy to this newsgroup if you had
taken the trouble to do (1), and at least some of (2), and
think about (3), before asking for help on VHDL which
affects only part (4). I do not intend to do your algebra
homework for you, and I doubt anyone else does either.
--
Jonathan Bromley, Consultant

DOULOS - Developing Design Know-how
VHDL * Verilog * SystemC * e * Perl * Tcl/Tk * Project Services

Doulos Ltd., 22 Market Place, Ringwood, BH24 1AW, UK
jonathan.bromley@MYCOMPANY.com
http://www.MYCOMPANY.com

The contents of this message may contain personal views which
are not the views of Doulos Ltd., unless specifically stated.
 

Welcome to EDABoard.com

Sponsor

Back
Top