所有提交的电磁系统将被重定向到在线手稿提交系统。作者请直接提交文章在线手稿提交系统各自的杂志。

设计和验证的自动化用VERILOG HDL CRC引擎

教授Dhiraj耆那教徒的1,Hiren g·帕特尔先生2
  1. 教授,ECE称,I.T.M.工程学院,地处印度拉贾斯坦邦
  2. PG学生(VLSI),部门的ECE I.T.M.工程学院,地处印度拉贾斯坦邦
相关文章Pubmed,谷歌学者

访问更多的相关文章国际先进研究期刊》的研究在电子、电子、仪表工程

文摘

的CRC循环冗余校验错误检查是一种广泛使用的技术在许多数据传输中使用的协议。这个项目的目标是设计CRC RTL生成器或工具,对于给定的CRC计算CRC方程多项式和生成Verilog RTL代码。块处理像CRC-4多项式方程的计算标准,CRC-8, CRC-16 CRC和CRC-48 32 CRC - 64和用户定义的专有多项式。使用PERL作为平台也旨在在一个简单的用户界面。为任何数据生成RTLs宽度和任何标准多项式或用户定义的多项式,这种设计的目标是完全通用的。RTLs这个工具验证了系统生成的Verilog约束随机测试更健壮和可靠的。

关键字

高密度脂蛋白,CRC-tools、PERL RTL。

I.INTRODUCTION

CRC(循环冗余校验)[1]是一个流行的错误检测码通过二元多项式除法计算。生成一个CRC, sender将二进制数据视为一个二元多项式和执行模2部门多项式的一个标准的发电机(例如,CRC [2] 32)。本部门变成了CRC的其余部分的数据,并附加到原始数据,并传输到接收器。接收数据和CRC,接收方还执行模- 2部门接收的数据和相同的发电机多项式。被比较的计算CRC错误收到一个。CRC算法只会增加一个小的比特数(32位的CRC) 32到消息不管原始数据的长度,并显示了良好的性能在检测一个错误以及错误破裂。因为CRC算法擅长发现错误和简单实现在硬件,CRC今天被广泛使用在数字数据检测腐败这可能发生在生产、传输或存储。和crc最近发现了一个新的应用程序的通用移动通信系统标准消息长度检测变长消息通信[3]。
传统上,LFSR电路(线性反馈移位寄存器)实现的VLSI(超大规模集成)进行CRC计算也只能处理一个比特/周期[4]。在这个项目中CRC的生成多项式的方法是基于LFSR CRC实现,在CRC计算通过每一比特的数据每一辆自行车,喂养首先最重要的一点。根据LFSR MSB寄存器的数据,转移和XOR操作发生。这个连环LFSR实现转换为一枪或单周期操作,实现组合电路。基于该方法的CRC生成多项式。

二世。循环REDUDANCY校验

CRC是错误检测代码。其计算类似于多项式长除法操作商的丢弃,成为结果,其余部分的重要区别多项式系数计算根据减少有限域的算法。剩余的长度总是小于除数的长度(称为发电机多项式),因此决定结果多长时间可以。的定义一个特定的CRC指定要使用的因子,等等。
CRC是基于多项式算法,特别是在计算的剩余部分划分一个多项式GF(2)(伽罗瓦域两个元素)。这有点儿像将消息作为一个非常大的二进制数,并计算其余除以一个相当大的'比如2 ^ 32-5。直观地说,一个希望给一个可靠的校验和。一个多项式在GF(2)是一个变量x的多项式的系数是0或1。
加法和减法做模2 -也就是说,它们是一样的异或运算符。例如,多项式之和:
x3 + x + 1
x4 + x3 + x2 + x
x4 + x2 + 1,因为是他们的区别。这些多项式不是通常用负号,但他们可能是,因为一个系数1相当于系数1。多项式乘法的很简单。产品的一个系数,另一个是一样的逻辑组合,运营商和部分产品使用异或总结。不需要乘法计算CRC校验和。分工GF(2)上的多项式在一样可以做长除法多项式的整数。下面是一个例子[5]。
读者想要验证的商x4 + x3 + 1乘以x3 + x + 1的因子,再加上其余的x2 + 1,等于股息。
图像
CRC的方法将消息作为一个多项式GF (2)。例如,11001001的消息,传播从左到右的顺序(110…)被视为多项式的表示x7 + x6 + x3 + 1。
图像
开发硬件电路计算CRC校验和,我们减少了多项式除法过程其本质。
这个过程采用移位寄存器,我们通过CRC表示。这是长度的r (G)的程度,而不是与您预期的一样。当减法(异或)完成,没有必要代表高阶位,因为G的高阶位和数量都是1减去。非正式描述的细胞分裂过程可能如下[5]:
图像

三世。CRC RTL生成器的实现

CRC发电机是一个命令行应用程序,生成verilog代码CRC的任何数据宽度从1开始,没有任何固有的上限和标准多项式或用户定义的多项式。代码是用Perl编写的,跨平台兼容。可以使用该工具提供CRC RTL发生器,在CRC校验和代发射机和接收机的验证。
CRC生成模块synthesizable verilog RTL。CRC的生成多项式的方法是基于LFSR CRC实现,在CRC计算通过每一比特的数据每一辆自行车,喂养首先最重要的一点。
图像
根据LFSR MSB寄存器的数据,转移和XOR操作发生。这个连环LFSR实现转换为一枪或单周期操作,实现组合电路。基于该方法的CRC生成多项式。一旦所有不同生成多项式的RTL的用户可以使用这些RTL计算CRC的完整的包。

IV.CRC参数

数据宽度:宽度的数据范围从1位,没有内在的上限。
保利:标准或任何用户定义的多项式。
方程:其余方程,这些功能的数据输入和初始状态余数。
数据:输入数据verilog代码。
Crc_ini:输入初始剩余verilog代码。
RTL引擎:RTL引擎产生的CRC位。
Inputs-Polynomial:这是一个在上述标准多项式或一个用户定义的专有的多项式。
从1位数据宽度:都没有固有的上限。
输出-Verilog RTL代码从而有其输入部分,剩余部分数据(具有相同宽度的计算块)和输出最终的剩余部分。
RTL引擎——RTL引擎需要数据流,初始剩余部分作为输入,并生成RTL代码使用方程直接从程序模块输出。
程序块——程序块是主要的块的设计。计算多项式方程,帮助构建XOR树。

V。平台使用

PERL(实用精练与报告语言):PERL解释器的主要内部数据结构表示PERL语言元素。之前我们器质问Perl内部Perl脚本的执行阶段。在那一刻的内部数据结构可以用于提取。Perl是一个编译解释器。而不是逐行解释脚本文件,读取整个脚本文件,将其转化为内部表示,然后执行指令[18]。
PERL(实际提取和报告语言)作为平台生成RTL代码,因为可用的构造.Perl有用的数据结构,像散列数组,数组的哈希表,哈希的数组,这是非常有用的在生成多项式方程。

VI.SIMULATION和结果

图像
图像

VI.CONCLUSION

这份报告的目标是设计一个工具,生成一个verilog RTL,计算了给定数据多项式和CRC校验和多项式在Perl和生成RTL任何数据宽度和多项式。
CRC计算给定CRC多项式方程设计了一个工具,生成任何标准多项式的verilog代码像CRC8 CRC16, CRC24 CRC32以及任何用户定义的多项式和数据宽度。RTLs这个工具验证了系统生成的verilog约束随机验证更健壮和可靠的。因此,CRC应用程序成功地设计和验证。

引用

  1. 燕太阳和最小Sik金”,一个表格管线式CRC算法计算,“IEEE国际会议通信(icc)。1 - 5页,2010年出版。
  2. 轧k机和j·j·l·哈蒙德,”评估错误检测多项式表现自动电话网络频道,“全国电信会议会议记录,1卷,8-25 8至21页。。1975年。
  3. s . l . Shieh p . n . Chen和y s .汉“翻转CRC修改消息长度检测,IEEE通信,卷。55岁,没有。9日,第1756 - 1747页,2007年出版。
  4. g . Campobello m . Russo, g . Patane“并行CRC实现”,IEEE反式。第一版。,vol. 52, no.10, pp. 1312–1319, Oct. 2003.
  5. 访问http://www.hackersdelight.org/crc.pdf - 2009-07-28 8月/ 2012。
  6. Qiaoyan Yu和保罗Ampadu”,自适应误差控制系统(ss7) NoC链接在一个变量中噪声环境中,“sIEEE国际研讨会上的缺陷和故障tolerenceof vlsi系统,第352 - 360页。2008年出版。
  7. 书林,丹尼尔·j·科斯特洛小错误控制编码:基本面和应用程序。普伦蒂斯霍尔。0 - 13 - 283796 x.1983 ISBN。
  8. 2012年9月/ http://www.interlakenalliance.com/Interlaken_Protocol_Definition_v1.2.pdf访问。
  9. http://en.wikipedia.org/wiki/Error_detection_and_correctin。
  10. Heidi Joki Jarkko Paavola和瓦莱里·Ipatov”分析Reed-Solomon编码结合的循环冗余校验在dvb - h链路层,“第二国际symopsium在无线通信系统中,页面(s) 313 - 317出版年:2005。
  11. 电视;Gaitonde轮;微一个¢€•Ramabadran教程CRC计算,“微IEEE,卷。问题::8日4:页面(s): 62 - 75。1988年。
  12. 2012年7月/ http://en.wikipedia.org/wiki/Cyclic_redundancy_check访问。
  13. 罗斯·n·威廉姆斯,一个¢€•无痛指南CRC错误检测algorithmsA¢€–版本:3,日期:1993年8月19日。
  14. /链接/ F_crc_ http://www.repairfaq.org/filipg v32。2012年8月/ html访问。
  15. http://en.wikipedia.org/wiki/Mathematics_of_CRC Bitfilters。在August2012访问。
  16. 丹尼尔·L。莫伊兹KennyWong,“从Perl代码中提取事实”,逆向工程WCRE’06, 13日IEEE会议,页1 - 10,2006年出版。
  17. www.testbench.in CR_01_constrained_random_verification.html。2011年4月通过。
  18. http://en.wikipedia.org/wiki/Error_detection_and_correction Cryptographic_hash_functions。2012年8月通过。
  19. Tsonka s Baicheva A¢€•确定最好的CRC码10位冗余。