Hallo nochmal von neuem (beitrag gelöscht und editiert)
So hab nochmal drüber nachgedacht hab totalen murks gemacht stimmt hinten und vorne nicht also nochmal :
so möchte also in VHDL den Hamming code realiseren :
dazu brauche ich einen Codierer und einen Decodierer
folgendes hab ich nun gemacht :
der codierer:
nopaste.info/5cda9ba637.html
hier muss ich ja eigentlich nur meine prüfbits berechnen und diese weiterschicken !
so nun 2. Fragen
1. Wie berechne ich meine prüfbits ??
denn die prüfbits berechne ich ja normaler weiße in dem ich meine Datenbits mit XOR verknüpfe hier habe ich allerdings nur Schalter über die ich mein Datenwort eingebe habe nun diese
mit XOR verknüpft denke aber das ist falsch da ich ja eben z.b nicht in c1 alle datenbits haben darf sondern nur die ungeraden also folgt daraus ich muss herausfinden welche datenbits ich habe wie mache ich das ????
2. wenn ich diese berechnet habe wie leite ich diese dann weiter und wohin ???
c0-c8 sind meine prüfbits !
als nächstes der Decodierer :
nopaste.info/e1ca11e83d.html
c1neu bis c8neu sind meine neuberechneden prüfbits c0empf-c8empf meine empfangenen
p0-p3 ist mein pointerwort
hier zu folgendes ich muss ja nun meine prüfbits neu berechnen und diese mit den empfangen mit XOR vergleichen 0 ist richtig 1 bedeutet fehler
so nun folgende fragen wie fange ich die vom codierer gesendeten bits ab und wie bzw mit was berechne ich hier meine neuen prüfbits denn hier habe ich auch wieder nur inbus (6 DOWNTO 0) den ich hier nun vermutlich fälschlicher weiße zur berechnung verwende .
nun wenn ich mein Pointerwort habe muss ich mit if abfragen ob 0 (richtig ) oder 1(falsch)
doch wie korriegiere ich das ganze dann denn wenn z.B c2 und c4 falsch ist berechne ich ja 2+4 dann weiß ich datenbit d6 ist falsch dieses invertiere ich dann und fertisch
aber wie setz ich das in VHDL um ??????
und wie realieser ich das der code eben nur 1 bit korriegiert wie es der hamming code ursprünglich eben tut !!! es sei denn es ist der erweiterte aber ist er hier nicht
und wie bzw was gebe ich dann weiter wenn ich fertig bin weil eigentlich wars das dann ja mit hamming nun muss ich ja nur noch mein Datenwort weitergeben ????
außerdem ist if nicht schon ein Prozess???
Übrigens die enity ist vorgegeben und darf nicht verändert werden es soll nur die architecture realisiert werden und nur mit einfachen Verknüpfungen wie AND OR XOR prozesse sind nicht erlaubt !
für die die denn hamming code nicht kennen :
de.wikipedia.org/wiki/Hamming-Code
Wie ihr seht viele Fragen habe noch nie in VHDL gearbeitet und hoffe ihr könnt mir helfen
Bitte um schnelle Antwort da ich das ding bald brauche und in der praxis auf ein FPGA spielen soll !!!!!!
Danke im Vorraus
Mit freundlichen Grüßen
So hab nochmal drüber nachgedacht hab totalen murks gemacht stimmt hinten und vorne nicht also nochmal :
so möchte also in VHDL den Hamming code realiseren :
dazu brauche ich einen Codierer und einen Decodierer
folgendes hab ich nun gemacht :
der codierer:
nopaste.info/5cda9ba637.html
hier muss ich ja eigentlich nur meine prüfbits berechnen und diese weiterschicken !
so nun 2. Fragen
1. Wie berechne ich meine prüfbits ??
denn die prüfbits berechne ich ja normaler weiße in dem ich meine Datenbits mit XOR verknüpfe hier habe ich allerdings nur Schalter über die ich mein Datenwort eingebe habe nun diese
mit XOR verknüpft denke aber das ist falsch da ich ja eben z.b nicht in c1 alle datenbits haben darf sondern nur die ungeraden also folgt daraus ich muss herausfinden welche datenbits ich habe wie mache ich das ????
2. wenn ich diese berechnet habe wie leite ich diese dann weiter und wohin ???
c0-c8 sind meine prüfbits !
als nächstes der Decodierer :
nopaste.info/e1ca11e83d.html
c1neu bis c8neu sind meine neuberechneden prüfbits c0empf-c8empf meine empfangenen
p0-p3 ist mein pointerwort
hier zu folgendes ich muss ja nun meine prüfbits neu berechnen und diese mit den empfangen mit XOR vergleichen 0 ist richtig 1 bedeutet fehler
so nun folgende fragen wie fange ich die vom codierer gesendeten bits ab und wie bzw mit was berechne ich hier meine neuen prüfbits denn hier habe ich auch wieder nur inbus (6 DOWNTO 0) den ich hier nun vermutlich fälschlicher weiße zur berechnung verwende .
nun wenn ich mein Pointerwort habe muss ich mit if abfragen ob 0 (richtig ) oder 1(falsch)
doch wie korriegiere ich das ganze dann denn wenn z.B c2 und c4 falsch ist berechne ich ja 2+4 dann weiß ich datenbit d6 ist falsch dieses invertiere ich dann und fertisch
aber wie setz ich das in VHDL um ??????
und wie realieser ich das der code eben nur 1 bit korriegiert wie es der hamming code ursprünglich eben tut !!! es sei denn es ist der erweiterte aber ist er hier nicht
und wie bzw was gebe ich dann weiter wenn ich fertig bin weil eigentlich wars das dann ja mit hamming nun muss ich ja nur noch mein Datenwort weitergeben ????
außerdem ist if nicht schon ein Prozess???
Übrigens die enity ist vorgegeben und darf nicht verändert werden es soll nur die architecture realisiert werden und nur mit einfachen Verknüpfungen wie AND OR XOR prozesse sind nicht erlaubt !
für die die denn hamming code nicht kennen :
de.wikipedia.org/wiki/Hamming-Code
Wie ihr seht viele Fragen habe noch nie in VHDL gearbeitet und hoffe ihr könnt mir helfen
Bitte um schnelle Antwort da ich das ding bald brauche und in der praxis auf ein FPGA spielen soll !!!!!!
Danke im Vorraus
Mit freundlichen Grüßen
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von the_old_Pirate ()