并行CRC实现介绍文献翻译
[关键词:并行,CRC] [热度 ]提示:此作品编号wxfy0134,word完整版包含【英文文献,中文翻译】 |
通信工程文献翻译——摘要—本文提出了在高速硬件运行的环境下实现并行CRC校验和的理论结果。从串行实现在文献中广泛的被报导开始,我们已经证实了并行实现的递归公式。与之前的工作相比,新的计划更快和更紧凑并且不依赖于它本身的技术实现。在我们看来,并行处理的比特数不同于多项式的次数。最后,我们还开发了高阶参数编码,当有多项式时该编码能够自动生成电路。
关键词—并行CRC,LFSR,错误检测,VLSI, FPGA, VHDL,数字逻辑。
1.引言
循环冗余校验(CRC)[1],[2],[3],[4],[5]作为一种有力的方法来处理数据错误而广泛应用于数据通信和存储设备中。它也适用于许多其他领域,如集成电路的测试和逻辑故障的检测[6]。在CRC计算中更成熟的硬件方案之一是线性反馈移位寄存器(LFSR),由几个触发器(FFs)和逻辑门组成。这种简单的位串行进程。在某些情况下,例如高速数据通信,这种串行实现的速度是绝对不够的。在这些情况下,CRC的并行计算是必要的,其中w位的连续单元被同时处理。
像任何其他组合电路一样,并行CRC硬件可以仅用两级门电路组成。这是由数字逻辑规律决定的。可惜的是,这意味着需要大量的门电路。此外,门电路数目的最小限度是一个困难的优化问题。因此,当必须实现复杂电路时,通常使用启发式或寻求定制的解决方案。
本文介绍了一种自定义的,优雅的,简明的正式解决方案用于构建并行CRC硬件。新方案概括和改进了以前的方案。通过一些数学原理,我们将得到可用于推导并行CRC电路的递归公式。此外,我们将演示如何应用此公式自动生成CRC电路在现代综合工具中,它可以指定加法器的输入数量并自动生成必要的逻辑,我们开发了必要的参数代码,以便利用并行CRC电路执行相同的任务。在新方案中提出的紧凑表示与先前的工作相比更加节省硬件并且可能达到更高的频率。最后,在我们的解决方案中,多项式发生器的次数m和并行处理的位数w可以不同。
本文的结构如下:第2章介绍了CRC的关键要素。 在第3章中,我们总结了以前的并行CRC的研究结果来提供适当的背景。在第4章中,我们得出逻辑方程并呈现并联电路。 此外,我们通过一些例子来说明性能。 最后,在第5章中,我们通过将它们与以前的研究进行比较来评估我们的结果。 实现的代码在附录中。
2. 循环冗余校验
如引言中所述,CRC是最强大的错误检测码之一。简言之,CRC可以描述如下:假设发射机T向接收机R发送k个比特的序列S1。同时,T产生m位的另一序列S2,以允许接收机检测可能的错误。序列S2通常被称为帧校验序列(FCS)。它是通过考虑以下事实产生的:通过S1和S2的级联获得的完整序列S = S1 [S2,具有可由某个预定序列P(fp0)整除(遵循特定算术)的性质;{p0,p1,...pm}, m + 1比特。在T将S发送到R之后,R在消息之后使用相同的特定算术将S(即,消息和FCS)除以P. 如果没有余数,R假定没有错误。 该机制如何工作如图1所示。
Abstract—This paper presents a theoretical result in the context of realizing high-speed hardware for parallel CRC checksums. Starting from the serial implementation widely reported in the literature, we have identified a recursive formula from which our parallel implementation is derived. In comparison with previous works, the new scheme is faster and more compact and is independent of the technology used in its realization. In our solution, the number of bits processed in parallel can be different from the degree of the polynomial generator. Last, we have also developed high-level parametric codes that are capable of generating the circuits autonomously when only the polyonomial is given.
Index Terms —Parallel CRC, LFSR, error-detection, VLSI, FPGA, VHDL, digital logic.
1 INTRODUCTION
CYCLIC Redundancy Check (CRC) [1], [2], [3], [4], [5] is widely used in data communications and storage devices as a powerful method for dealing with data errors. It is also applied to many other fields such as the testing of integrated circuits and the detection of logical faults [6]. One of the more established hardware solutions for CRC calculation is the Linear Feedback Shift Register (LFSR), consisting of a few flip-flops (FFs) and logic gates. This simple architecture processes bits serially. In some situations, such as high-speed data communications, the speed of this serial implementation is absolutely inadequate. In these cases, a parallel computation of the CRC, where successive units of w bits are handled simultaneously, is necessary or desirable.
Like any other combinatorial circuit, parallel CRC hardware could be synthetized with only two levels of gates. This is defined by laws governing digital logic. Unfortunately, this implies a huge number of gates. Furthermore, the minimization of the number of gates is an NP-hard optimization problem. Therefore, when com- plex circuits must be realized, one generally uses heuristics or seeks customized solutions.......
本文献翻译作品由 毕业论文设计参考 [http://www.qflunwen.com] 征集整理——并行CRC实现介绍文献翻译!