one embodiment relates to a method of generating an n - bit checksum for variable - length data . an n - bit data word of the variable - length data is received by data input circuitry , and an n - bit input checksum generator is used to calculate an updated value of the n - bit checksum for n - bit data words . a plurality of smaller checksum generators and the n - bit input checksum generator are each used to calculate a last value of the n - bit checksum for the last data word of the variable - length data . control signals are used to controllably select the last value of the n - bit checksum from outputs of said checksum generators . other embodiments and features are also disclosed .