以下是一个基于SV的Function函数,用于计算CRC16-CCITT校验和:
FUNCTION CRC16_CCITT(
data: STRING
) : UINT
// CRC16-CCITT polynomial (x^16 + x^12 + x^5 + 1) in binary
CONSTANT poly : UINT := 40961;
// Initial CRC value
CONSTANT initial_value : UINT := 65535;
VAR crc : UINT := initial_value;