#include "xf_security/crc32c.hpp"
template <int W> void crc32c ( hls::stream <ap_uint <32>>& crcInitStrm, hls::stream <ap_uint <8*W>>& inStrm, hls::stream <ap_uint <7>>& inPackLenStrm, hls::stream <bool>& endInPackLenStrm, hls::stream <ap_uint <32>>& outStrm, hls::stream <bool>& endOutStrm )
crc32c computes the CRC32 (Castagnoli) check value of an input data.
Parameters:
W | byte number of input data, the value of W includes 1, 2, 4, 8, 16, 32, 64. |
crcInitStrm | initialize crc32 value |
inStrm | input messages to be checked |
inPackLenStrm | effetive lengths of input message pack, 1~W. 0 means end of message |
endInPackLenStrm | end flag of inPackLenStrm, 1 “false” for 1 message, 1 “true” means no message anymore. |
outStrm | crc32 result to output |
endOutStrm | end flag of outStrm |