Matrix Mutiplication.

N

N!

Guest
Hi alll ...

Any1 μπορεί να με βοηθήσει,, πώς να γράφουν κώδικα για Matrix Πολλαπλασιασμός 3 * 3 ...
Μήπως πρέπει να χρησιμοποιείται Array; ...

ελπίζω να με βοηθήσει σύντομα ...

thanks ..:

<img src="http://www.edaboard.com/images/smiles/icon_biggrin.gif" alt="Πολύ Καλή" border="0" />
 
Γιατί το χρειάζεστε σε ένα FPGA;
Είναι πολύ σπατάλη πόρων, εάν έχετε ένα uc στο διοικητικό συμβούλιο είναι πιο conveniente ότι κάνει την καταμέτρηση.
Έχετε να implent τον κώδικα και σε ένα FPGA θα πρέπει να λάβει υπόψη σε πόσους κύκλους ρολογιού που θέλετε να το κάνετε ή πόσοι πόροι που θέλετε να χρησιμοποιήσετε για αυτό.

Για να δείτε το alghoritm δείτε:
http://en.wikipedia.org/wiki/Matrix_multiplication

Όπως μπορείτε να δείτε για τον πολλαπλασιασμό των δύο 3x3 μήτρα (κλήση ενός Α και το άλλο Β) θα πρέπει να υπολογίσει 9 συντελεστή.
C = A x Β

C11 = A11xB11 A12 * B21 A13 * B31

Έτσι, η αργή λειτουργία και πιο αποτελεσματική χρήση των πόρων θα πρέπει να χρησιμοποιήσετε ένα MAC (πολλαπλασιάζονται και συσσωρευτής), στο οποίο κάθε ωρολογιακό κύκλο περνάτε ένα ζευγάρι από το συντελεστή 2 και περιμένετε την resoult (έτσι τουλάχιστον 4 κύκλος clk για να έχουν την έξοδο)

Ή μπορείτε να parallelize τη λειτουργία έχοντας 3 multiplyer και να περάσει στην κατά το ίδιο χρονικό διάστημα των 3 ζευγάρι του συντελεστή και για τον επόμενο κύκλο CLK λαμβάνουν τα mult εξόδου και εισόδου ότι σε μια προσθήκη (αλλά και πάλι εξαρτάται από το πώς γίνεται προσθήκη σας, έχετε shalmaybe έχει 2 προσθήκη εισόδου - αυτό είναι το κανονικό)

Ο απλός τρόπος για την αποθήκευση του συντελεστή του καθενός από τα 3 matrixs σε 9 μητρώο.

Όπως μπορείτε να δείτε ότι δεν είναι μια απλή δουλειά, άλλωστε έχω τον τρόπο που περιγράφεται μόνο που έχετε να κάνετε ένα από τα 9 συντελεστή του πίνακα εξόδου.

Ο εναλλακτικός τρόπος είναι να κάνουμε όλες αυτές τις υπολογισμού με μία CPU που μπορεί να διαβάσει μια μνήμη που βάζετε όλα τα εισόδου συντελεστή και να γράψετε τα αποτελέσματα σε 9 βιβλία (ή άλλη μνήμη).

Εξαρτάται ποιο είναι το καθήκον σας.
Αν είστε σχεδιασμό ενός επεξεργαστή που έχει να χειραγωγήσουν το 3x3 πολλαπλασιασμό μήτρα τον τρόπο είναι το πρώτο που έχω περιγράφονται, αλλά έχετε να έχουμε κατά νου και τι θέλετε να κάνετε.έτσι ώστε για κάθε συντελεστή χρειάζεστε ένα minumum του 1 πολλαπλασιαστικό και 1 προσθήκη (στην οποία να περιμένετε το αποτέλεσμα

 
Xilinx σχεδιασμό refrence για Matric πολλαπλασιασμού 3 * 3 ματ

 

Welcome to EDABoard.com

Sponsor

Back
Top