[CRC en VHDL] probleme avec des equations
LeBr3toN
-
hg -
hg -
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
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
A voir également:
- [CRC en VHDL] probleme avec des equations
- Echec de crc - Forum Windows
- Marre des erreurs CRC !!! - Forum Réseaux sociaux
- Comment numéroter les équations dans word - Forum Word
- Problème éditeur d'équations ✓ - Forum Word
- CRC - Forum CISCO
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
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
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
merci de me rendre ce servie
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)
voilà mon adresse email fifiwarrior@hotmail.com
merci pour ta réponse
j'attend ça avec impatience
aplus
j'ai besoin du bloc crc16 et crc5 s'il vous plait envoyé moi votre algo.
aydi
merci d'avance
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
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