Skip to content
Morard Dany edited this page Mar 8, 2018 · 3 revisions

Overview

A cyclic redundancy check (CRC) is used for decteting error in a transmission.

CRC

Core available

  • CRCCombinational currently tested only with crc8, crc16 and crc32

Interface

Interface Signal Description
cmd Flow valid Bool valid
data Bits Message
mode CRCCombinationalCmdMode INIT, UPDATE
crc Bits crc Bits CRC result

Timing

CRC_Timing

Measure

Core Target Performance Aera RAM
Combinational Altera Cyclone V (C6) - - -

Example

import spinal.crypto.checksum._

val crcConfig = CRCCombinationalConfig(
	crcConfig = CRC32.Standard,
	dataWidth = 8 bits
)

val crc = new CRCCombinational(config)
crc.io.cmd.valid := ...
crc.io.cmd.data  := ...
crc.io.cmd.mode  := CRCCombinationalCmdMode.INIT

val result = crc.io.crc
Clone this wiki locally