[CRC en VHDL] probleme avec des equations

Fermé
LeBr3toN - 4 avril 2006 à 14:38
 hg - 30 juin 2008 à 09:27
Bonjour,

Voila je dois écrire un programme en VHDL pour vérifier les données qui me sont transmisses faisant appel au CRC. Alors je me suis renseigné sur le net pour savoir comment sa marché... et je pense avoir bien compris le fonctionnement du CRC.
J'ai trouvé plusieurs programmes qui génère des CRC en fonctions de la taille des données et du CRC que l'on veut mais j'ai pas compris les équations qu'ils utilisaient(cf le prog en vhdl).

******************************************************

library IEEE;
use IEEE.std_logic_1164.all;

package body PCK_CRC8_D8 is

-- polynomial: (0 1 2 8)
-- data width: 8
-- convention: the first serial data bit is D(7)
function nextCRC8_D8
( Data: std_logic_vector(7 downto 0);
CRC: std_logic_vector(7 downto 0) )
return std_logic_vector is

variable D: std_logic_vector(7 downto 0);
variable C: std_logic_vector(7 downto 0);
variable NewCRC: std_logic_vector(7 downto 0);

begin

D := Data;
C := CRC;

NewCRC(0) := D(7) xor D(6) xor D(0) xor C(0) xor C(6) xor C(7);
NewCRC(1) := D(6) xor D(1) xor D(0) xor C(0) xor C(1) xor C(6);
NewCRC(2) := D(6) xor D(2) xor D(1) xor D(0) xor C(0) xor C(1) xor
C(2) xor C(6);
NewCRC(3) := D(7) xor D(3) xor D(2) xor D(1) xor C(1) xor C(2) xor
C(3) xor C(7);
NewCRC(4) := D(4) xor D(3) xor D(2) xor C(2) xor C(3) xor C(4);
NewCRC(5) := D(5) xor D(4) xor D(3) xor C(3) xor C(4) xor C(5);
NewCRC(6) := D(6) xor D(5) xor D(4) xor C(4) xor C(5) xor C(6);
NewCRC(7) := D(7) xor D(6) xor D(5) xor C(5) xor C(6) xor C(7);

return NewCRC;

end nextCRC8_D8;

end PCK_CRC8_D8;

******************************************************


Voila c les equations NewCRC(0):= ....

Je comprend pas comment ils ont fait pour trouver ces equations je pense que sa viens de la division dans le CRC mais bon j'y arrive pas merci pour votre aide

4 réponses

salut !
je suis confronté au meme pb ke toi, j'aimerais bien comprendre ce code pour le faire pour le CRC32 !

tu l'as compris depuis le tps ?

merci
0
Salut !
Alors pour repondre a ta question oui j'ai resolu le probleme.
En realité je n'ai pas utilisé les equations données ci dessus car je sais pas si celles ci marchees ,donc j'ai code le CRC en vdhl comme un algorithme.
Envois moi ton adresse mail pour que je t'envois l'algo que j'ai utilise (une fois que ta compris l'algo du crc16 que j'ai fait t'aura pas trop de difficulte a faire le tien)
0
bobby > Rémy
31 janv. 2007 à 11:42
Slt rémy!

voilà mon adresse email fifiwarrior@hotmail.com
merci pour ta réponse
j'attend ça avec impatience
aplus
0
aydi > Rémy
7 juin 2008 à 11:20
salut remy
j'ai besoin du bloc crc16 et crc5 s'il vous plait envoyé moi votre algo.
aydi
merci d'avance
0
salut remy

je suis en stage et je dois faire une interface en vhdl ethernet et j'ai des problémes pour comprendre ceux que je trouve, peux tu m'envoyer le tiens que j'essais de le comprender merci d'avance.

hg
0
salut remy

je suis en stage et je dois faire une interface en vhdl ethernet et j'ai des problémes pour comprendre ceux que je trouve, peux tu m'envoyer le tiens que j'essais de le comprender merci d'avance.

hg
0
Salut remy, je suis nouveau dans ce forum et je suis confronté au meme probleme que toi. en lisant les phrases ci dessus, j'ai jugé utile de t'ecrire afin que tu me passe ton algo. Je te serais tres reconnaissant. voici mon email. moussatamou@yahoo.fr

merci de me rendre ce servie
0
salut rémy, de même pour moi j'ai trouver le même alogo que toi et évidement impossible de le comprendre. peut tu me transférer ton algo. mon mail:flo.delclaux@hotmail.fr

merci
0
cloclo_toulouse
15 oct. 2007 à 15:32
En visitant le site, j'ai trouve trace de vos dicussions d'il y a 6mois. Pourriez vous m'envoyer aussi l'algorihtme crc en vhdl, car je recherche une solution de ce type pour des tp . merci d'avance
basque.c@free.fr
0