problema de cálculo del CRC

K

klop

Guest
Mi tarea consiste en el diseño de hardware cálculo del CRC de acuerdo con el programa dado.
La versión anterior del software de contener la siguiente tabla para el cálculo del CRC:

crc_tabccitt unsigned int [256] = (0x0000, 0x1021, 0x2042, 0x3063, ...

He descubierto que ese cuadro se corresponde con el polinomio: x ^ 16 x ^ 12 x ^ 5 1

Me generados H cálculo del CRC / W en h ** p: / / * w w.easics.com / webtools / crctool y funcionó perfecto.

Ahora el cuadro se
fcstab static int [256 *] = (0x0000, 0x1189, 0x2312, 0x329b, 0x4624, 0x57ad, ...

He descubierto que ese cuadro se corresponde con el polinomio: x ^ 16 x ^ 11 x ^ 4 1
(Los llamados invertido CCITT)

Me generados cálculo del CRC H / W en http://www.easics.com/webtools/crctool y
no funciona correctamente (H / W y S / W de buceo de los diferentes resultados).Traté de complementar y de intercambio octetos pero tal operaciones no no ayuda.

¿Podría alguien por favor me ayude?

klop.

 
que esta ayuda ----> http://www.easics.be/webtools/crctool .. no sé ..

 
puede referirse a la papar llamado "Paralelo CRC realización"Alta después de 40 segundos:puede consultar el papar llamado "Paralelo CRC realización"

 
Hola,
la aplicación de serie simple de la Convención en el hardware no será más que lineal de registro de cambio de votos.pero, ll tomar el mismo no.de ciclos de reloj como sus datos de anchura y el ancho de registro de cambio será el grado de polinomio irreducible que se utiliza.

 
He trabajado en los métodos CRC recientemente.
Yo recomendaría lo siguiente:

empezar con los datos, que contiene un solo '1 ', todos los demás 0.
Esto debería dar una pista de lo que va mal.
Usted debe considerar, que los dos métodos que se describen, SW y HW de trabajo
con el mismo principio (régimen de Horner).

Si utiliza una aplicación HW de 32-bits de ancho, tiene que ejecutar la versión de SW -
cuatro pasos, ya que sólo se ocupa de 8 bits a la vez.
Con la única '1 'método que debería ver fácilmente lo que va mal.
Si puedes, imprime cada byte intermedios en ambas versiones.
Un problema típico es un "cambio" de un solo paso.

Andreas

 
¡Hola a todos
Estoy buscando una calculadora CRC32 confiable para verificar mi trabajo

¿Puede alguien ayudarme?

Gracias
Mohammad

 
hi Mohammad
CRC32 ur cálculo es el bit de serie es de un solo bit
que u USNG el LFSRAlta después de 28 segundos:Vamsi

 
Hola
Mi código implementa la crc32 paralelo donde el ancho de datos es un nibble (4 bits) que se aplica para Ethernet

Ahora bien, he hecho un banco de pruebas que examina el valor de la CRC generado y cuenta el número de relojes para conseguirlo

Se examina el valor de la Convención mediante la comparación con un valor que obtuve por la calculadora de http://www.zorc.breitbandkatze.de/crc.html

por ejemplo:
utilizar esta calculadora para un mensaje de datos = U (que es 8'h55) nos pondremos CRC = C9034AF6

para comprobar mi trabajo he hecho este banco de pruebas
/ / EB1 1
siempre @ (posedge clk)
empezar
De datos = 4'b0101;
if (CRC [31:0] == 32'hc9034af6) comienzan
mostrar $ ( "la Convención se da después", Clk_Counter, "Clocks");
# 5 $ final;
final
final

cuando se ejecuta el simulador y hacer un punto de ruptura en la línea de la pantalla $ encontré no se detiene y continuará funcionando para siempre

¿Cree usted que hay un error con mi trabajo?
¿Cree usted que el resultado de esta calculadora no tiene la razón?

Agradezco ur help

Gracias

 
Además, quiero añadir algo
El núcleo de prueba compara el valor de CRC con el número mágico de 32'hc704dd7b por esta línea
asignar CrcError = CRC [31:0]! = 32'hc704dd7b;

y cuando traté de simular que he encontrado la señal de CrcError siempre es alto

Yo no sé dónde está el error?

¿podría ayudar por favor?

 

Welcome to EDABoard.com

Sponsor

Back
Top