1.简介
本文所述的Reed Solomon编译码器编译器能够产生多种代码形式的Reed Solomon的宏编码器和译码器,这些代码形式在参数部分详细说明,一旦确定了代码,可以对顶层HDL代码以Altera 10K器件进行编译。通常,编码器编译包括装配和布线不超过一分钟,而译码器编译也只要五分钟。这个应用程序也能够产生测试代码,可以验证所生成内核的功能。
有三种Reed Solomon 编译码器的宏单元,一个是编码器,另两个是译码器它们是为不同规模/性能要求而优化的。性能较低的译码器,也依据分立译码器,接收一个码字,计算差错位置和值,写回纠正后的码字。性能较高的译码器,或流译码器,连续读取和写回码字。流译码器或多或少地多使用一些逻辑,但需要更多的存储空间,由于译码模块之间进行流水线作业因此性能有很大程度的改善。
2.参数
以下参数定义了Reed Solomon码字。
A.每个码字的符号总数
每个码字有多达2m-1个符号,也就是N。对Reed Solomon编译器,N必须大于3,受最小的R+1限制。
B.校验符号数目
编译器支持4到40个校验符号,或者R,受最大N-1校验符号限制。
C.每个符号的位数
虽然Reed Solomon码字可以为每个符号定义任意位数m,但编译器的有效范围从4到8比特。
D.不可约域多项式
域多项式,或域(field),指定了有限域中元素的级数。域的大于由m给定,每个域大小仅受限于有效域多项式数目。域多项式通常由系统规范确定,但是对于给定的m,编译器能够使用任何有效的域多项式。另外FIELD.EXE应用程序可以根据任意m计算所有有效的域。
E.生成多项式的第一个根
域多项式描述的符号内各位之间的关系,而生成多项式则描述了符号之间的关系。生成多项式在编码期间生成校验符号。编译器支持0到2m-1-R之间的genstart。
3.设计流程
使用第二节中描述的参数,DOS应用程序将生成用于HDL结构框架设计的插件。用于生成编码器的应用程序是ENCRSV3,生成译码器的应用程序是DECRSV3。可以按第二节所列的参数顺序调用这两个应用程序。应用程序会检验并确认参数处于有效范围内,确认这些参数组合能够生成有效的RS码。应用程序还可以为这个RS编译码产生测试代码,马上就可以进行功能测试了。
程序运行之后,就能够以独立的设计或作为更大系统设计的一部分编译所需功能的顶层HDL。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉