PDA

Επιστροφή στο Forum : noob asks for vhdl!



exxa
21-06-09, 14:01
Καλημέρα.
Θα ήθελα να ρωτήσω πώς γίνεται να απλοποιήσω έναν κώδικα.

Έχω 1 λέξη που αποτελείται από 127bit (0 to 126)
Και θέλω να κάνω ανακατανομή των bit, βάση του παρακάτω πίνακα.

...
entity temp is
port ( x:in std_logic_vector (0 to 126) ;
f:out std_logic_vector (0 to 126) );
end;

architecture main of temp is
begin
f(0) <= x(3);
f(1) <= x(8 );
f(2) <= x(15);
f(3) <= x(1);
f(4) <= x(10);
f(5) <= x(6);
f(6) <= x(5);
f(7) <= x(11);
f(8 ) <= x(14);
f(9) <= x(13);
f(10) <= x(4);
f(11) <= x(2);
f(12) <= x(7);
f(13) <= x(0);
f(14) <= x(9);
f(15) <= x(12); ----
end;

αυτό θα γίνει 8 φορές για να ανακατανεμηθούν και τα 127bit.
Η “μπακάλικη” τεχνική είναι να συνεχίσω
f(16) <= x(19)
f(17)<= x(24)
..και πάει λέγοντας μέχρι f(126)

Ευχαριστώ.

lordi
21-06-09, 18:23
Αν δεν υπάρχει κάποια λογική με την οποία γίνεται αυτή η αντιστοίχιση μάλλον δύσκολα να συμμαζευτεί! Βέβαια δεν είμαι και ο πλέον κατάλληλος να σου πει για VHDL αλλά αν μπορέσεις να βρεις μια σχέση ανάμεσα στους δείκτες μπορείς να το κάνεις με ένα behavioral μοντέλο πιο συμμαζεμένα!!

kaveirious
02-09-09, 09:42
Γειά σου exxa

προσπαθείς να υλοποιήσεις τα bit permutations που απαιτεί κάποιος μετασχηματισμός, όπως μάλλον ο FFT? Αν ναι, πως προκύπτουν τα απαιτούμενα 127 bit και δεν είναι 128 bit?

Αν θες, μπορείς να δώσεις περισσότερες λεπτομέρειες για το τι θες να πετύχεις. Ίσως να είναι κάτι άλλο.

Θέτοντας περισσότερο αλγοριθμικά αυτό που θέλεις να κάνεις, είναι εφικτό να δοθεί παραμετρική περιγραφή του "μετασχηματισμού" που προσπαθείς να περιγράψεις.

- kaveirious