PDA

Επιστροφή στο Forum : Hamming SEC-DEC 32bit



manos_3
06-12-11, 12:42
Γεια σας.Έχω φτιάξει έναν κωδικοποιητή-αποκωδικοποιητή Hamming 32 bit πληροφορίας SEC-DED. Θα ήθελα στη μεριά του αποκωδικοποιητή να πέρνω ττις παρακάτω ενδήξεις:


Όταν η ισοτιμία είναι άρτια και το σύνδρομο είναι 0 τότε δεν έχω λάθη
Όταν η ισοτιμία είναι περιττή και το σύνδρομο είναι 0 τότε το λάθος βρίσκεται στο Bit ισοτιμίας
Όταν η ισοτιμία είναι περιττή και το σύνδρομο είναι διάφορο του 0 τότε υπάρχει λάθος bit στα bits εκτός του Parity bit και η λέξη διορθώνεται
Όταν η ισοτιμία είναι άρτια και το σύνδρομο διάφορο του 0 τότε έχουμε διπλό λάθος και δεν διορθώνεται.

Αυτά θέλω να τα έχω σαν ενδείξεις( No Error, Parity Bit Error, Ανίχνευση διπλού λάθους). Γίνεται με κάποιο συνδυασμό πυλών;Ευχαριστώ πολύ!

FILMAN
06-12-11, 16:54
Εφόσον οι ανωτέρω καταστάσεις αναπαριστώνται με λογικά 0 και 1 σε φυσικό επίπεδο, ασφαλώς. Με κάποιον αποκωδικοποιητή από 2 σε 4 γραμμές γίνεται αυτό που θες. Στην πραγματικότητα και επειδή δεν υπάρχει μονός τέτοιος αποκωδικοποιητής (υπάρχει διπλός αλλά κι αυτός είναι δύσκολο να βρεθεί), μπορείς να χρησιμοποιήσεις έναν αποκωδικοποιητή από 3 σε 8 γραμμές, όπως είναι τα 74HC138, 74HC238, κ.ά.

manos_3
07-12-11, 15:20
FILMAN ευχαριστώ κατ'αρχάς για την απάντηση σου.Η σχεδίαση του κώδικα Hamming που έκανα την έχω σχεδιάσει με το Xilinx 13.1 σε σχηματικό.Δεν την έχω σε πλακέτα.Αλλά μόνο για προσωμοίωση.Θέλω να βρω έναν τρόπο να ειδοποιούμε όποτε έχω τις ενδείξεις που περιέγραψα.Δηλαδή να οδηγώ κάποιες πύλες(υποθέτω) με κάποια bits της σχεδίασης και στην προσωμοίωση να μου εμφανίζει 1 όταν για παράδειγμα δεν έχω λάθος.Να μου βγάζει άλλο 1 όταν έχω μονό λαθος,κτλ. Ελπίζω να έγινα κατανοητός!

FILMAN
07-12-11, 16:29
Ωραία, το CPLD δεν σου δίνει έτοιμους decoders;

manos_3
08-12-11, 16:20
Μου δίνει αλλά με ποια bits θα οδηγήσω τους αποκωδικοποιητές;

FILMAN
08-12-11, 17:22
Μα φυσικά με τα bits της "ισοτιμίας" και του "σύνδρομου".

manos_3
09-12-11, 12:25
Ευχαριστώ πολύ!Οπότε έχουμε το σύνδρομο που στην περίπτωση μου είναι 6 bits και ένα ακόμα bit της ισοτιμίας.Με τι θα οδηγήσω τον αποκωδικοποιητή;Ευχαριστώ πάρα πολύ για την πολύτιμη βοήθεια σου!

FILMAN
09-12-11, 12:45
Θα περάσεις τα 6 bits του σύνδρομου από μια πύλη OR ή NOR των 6 εισόδων, ώστε στην έξοδό της να έχεις 1 bit που να σου δείχνει αν και τα 6 bits είναι όλα 0, ή όχι. Η έξοδος της πύλης αυτής μαζί με το bit της ισοτιμίας θα πάνε ως είσοδοι στον αποκωδικοποιητή από 2 σε 4.

manos_3
09-12-11, 12:58
Αρα όταν το σύνδρομο είναι 0 και το Parity Bit επείσης 0, θα ενεργοποιείται η πρώτη έξοδος του αποκωδικοποιητή και όλες οι άλλες θα είναι στο 0 κ.ο.κ. Άρτια ισοτιμία έχουμε όταν το Parity bit είναι 0;

FILMAN
09-12-11, 13:01
Αρα όταν το σύνδρομο είναι 0 και το Parity Bit επείσης 0, θα ενεργοποιείται η πρώτη έξοδος του αποκωδικοποιητή και όλες οι άλλες θα είναι στο 0 κ.ο.κ.

Ακριβώς!


Άρτια ισοτιμία έχουμε όταν το Parity bit είναι 0;

Αυτό το ξέρεις εσύ!

manos_3
09-12-11, 13:05
Καλώς!!!!Σ' ευχαριστώ για το χρόνο που σπατάλησες για να με βοηθήσεις. Να σαι καλά!!!:001_smile::001_smile::001_smile:

FILMAN
09-12-11, 13:07
Σιγά βρε!