CN104320142A - 一种易扩展制约竞争码的生成电路、扩展方法及扩展电路 - Google Patents
一种易扩展制约竞争码的生成电路、扩展方法及扩展电路 Download PDFInfo
- Publication number
- CN104320142A CN104320142A CN201410560022.3A CN201410560022A CN104320142A CN 104320142 A CN104320142 A CN 104320142A CN 201410560022 A CN201410560022 A CN 201410560022A CN 104320142 A CN104320142 A CN 104320142A
- Authority
- CN
- China
- Prior art keywords
- rrc
- sequence
- register
- restriction
- output
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Logic Circuits (AREA)
Abstract
本发明公开一种易扩展改进型制约竞争码的生成电路、扩展及扩展电路,解决了RRC由3扩展至N位的问题,具有生成电路简单、错误节点定位和纠错的速度更快和易于位数扩展的特点。这种RRC从3位开始扩展,经过RRC序列逆序排列,在原RRC序列前均扩展一位0,逆序序列前均扩展一位1,以此类推可以扩展至N位。典型生成电路包含存储特征值CV序列的两个8位移位寄存器A、B,输出改进型4位RRC的寄存器C、4个反相器D、E、F、G。反相旋转CV,生成RRC的逆序排列。该改进型RRC具有RRC典型的双环特征值生成机制,可以对特征序列错误节点进行快速定位和纠错,对于16位的特征序列,仅需检测前四个RRC码。
Description
技术领域
本发明涉及编码领域,尤其涉及一种制约竞争码。
背景技术
目前,公知的16进制编码是8421码,这是一种自然二进制基础上的权重码,8421码是数据中的半字节,可以方便的组成(Byte)、字(Word)等现代信息技术的基础数据格式,可以方便的用于逻辑电路的计数、计算、存储和交换。但是,8421码是一组16进制循环码,其编码相邻位间转换时,有两位以上的数据需要同时发生变化的情况。用在计数方式时,在某些时候,例如下表从16进制数的7(对应的8421码为0111)变为8(对应的8421码为1000)时,8421码的4位二进制数据均发生跳变,多位同时变化带来的竞争对数据的可靠性有影响,增加了数据出错的可能性。由下表可以发现8421码发生2位以上同时变化的相邻码字共计8次,分别为1-2,3-4,5-6,7-8,9-A,B-C,D-E,F-0。多位同时变化带来的竞争,有可能导致数据的不确定。
表1现有制约竞争码对比
16进制数 | 8421码 | 格雷码 |
bit3 bit2 bit1 bit0 | bit3 bit2 bit1 bit0 | |
0 | 0000 | 0000 |
1 | 0001 | 0001 |
2 | 0010 | 0011 |
3 | 0011 | 0010 |
4 | 0100 | 0110 |
5 | 0101 | 0111 |
6 | 0110 | 0101 |
7 | 0111 | 0100 |
8 | 1000 | 1100 |
9 | 1001 | 1101 |
A | 1010 | 1111 |
B | 1011 | 1110 |
C | 1100 | 1010 |
D | 1101 | 1011 |
E | 1110 | 1001 |
F | 1111 | 1000 |
现有技术中的格雷码,主要是一种制约竞争码,约束了每个码字之间每次只允许一位发生变化,但是,由于格雷码不是一种权重码,在用于计数时很不方便,没有规律性,即缺乏特征序列。若用于计数,对四个序列均要设置相应的寄存器,所以实现的电路比较复杂。申请人于2006年申请的专利:同相移位方式的制约竞争计数码电路(专利号ZL200610041210.0)中首次提出了制约竞争码(RRC)这一概念并发明了一种RRC,其具有特征序列及独特的双环形结构,易于生成,并可用于快速查找和纠错。但是该RRC需要两个16位移位寄存器才可以生成,且位数扩展复杂。
发明内容
本发明的目的在于提供了一种易扩展制约竞争码RRC的生成电路及其扩展方法和扩展电路,通过设计适合扩展的特征值CV序列进行码字生成和扩展,使本发明的易扩展制约竞争码RRC具有更简单的生成电路以及更好的可扩展性,并能够限制两个相邻编码组之间转换时两位以上的数据跳变,提高数据的可靠性。本发明提供的易扩展制约竞争码RRC还可根据相邻码字之间的汉明距离判断特征序列的错误节点位置。
本发明采用如下技术方案:
一种易扩展制约竞争码的生成电路,其特征在于包括8位的移位寄存器A、8位的移位寄存器B、4位的码输出寄存器C,反相器D、反相器E、反相器F、反相器G,移位寄存器A的最低位和最高位由反相器D相接,移位寄存器B的最低位和最高位由反相器G相接,时钟信号CLK分别接移位寄存器A和移位寄存器B的移位控制端口,移位寄存器A被初始化信号Reset预置为特征序列CV0,特征序列CV0取值为10011100,移位寄存器B被初始化信号Reset预置为特征序列CV1,特征序列CV1取值为11110000,移位寄存器B并行输出的由低到高的第4位经反相器F连接至码输出寄存器C的数据最高位,移位寄存器A并行输出的由低到高的第4位经反相器E连接至码输出寄存器C的数据次高位,移位寄存器B并行输出的由低到高的第0位连接至码输出寄存器C的数据次低位,移位寄存器A并行输出的由低到高的第0位连接至码输出寄存器C的数据最低位,码输出寄存器C在其输出控制端控制下输出由最高位到最低位的4位制约竞争码。
其中,8位的移位寄存器A由第一~第八D触发器构成,8位的移位寄存器B由第九~第十六D触发器构成,电路还包括16个逻辑门、第一反相器和第二反相器,其中第一、第四~第六、第九~第十二逻辑门为或门,第一、第九逻辑门分别带有一个反相输入端,第二、第三、第七、第八、第十三~第十六逻辑门分别为带有一个反相输入端的与门,具体电路连接方式如下:所有D触发器的时钟clk端连接移位控制端口,第一~第八逻辑门中每个逻辑门的两个输入端分别连接初始化信号Reset和上一位D触发器的Q端,输出端分别连接第一~第八D触发器的D端,为移位寄存器A置位,当初始化信号Reset置1时,第一、第四~第六逻辑门输出为1,第二、第三、第七、第八逻辑门输出为0,将移位寄存器A置为10011100;第九~第十六逻辑门中每个逻辑门的两个输入端分别连接置位信号Reset和上一位D触发器的Q端,输出端分别连接第九~第十六D触发器的D端,为移位寄存器B置位,当初始化信号Reset置1时,第九~第十二逻辑门输出为1,第十三~第十六逻辑门输出为0,将移位寄存器B置为11110000;当置位信号Reset为0时,随着移位控制端口CLK完成移位寄存器的移位操作,第一、第九逻辑门带有反相功能,使移位寄存器的最高位反相后移至最低位;第八D触发器的输出即为制约竞争码的最低位d0,第十六D触发器的输出即为制约竞争码的次低位d1,第四D触发器的输出经第一反相器后即为制约竞争码的次高位d2,第十二D触发器经第二反相器后即为制约竞争码的最高位d3。
易扩展制约竞争码RRC的扩展方法如下:从3位制约竞争码RRC开始,每扩展1位都按如下步骤进行:原序列Y1为n位制约竞争码RRC,即满足制约竞争特点的2n个数,n≥3;将原序列Y1逆序排列,变为逆序序列Y2,将逆序序列Y2中从大到小的各数依次排列在原序列Y1的最大数后面,组合成新序列Z’;在新序列Z’中原序列Y1的每个数的前一位分别加0,在原逆序序列Y2每个数的前一位分别加1,形成(n+1)位的序列Z,完成一位扩展;重复以上步骤实现制约竞争码RRC任意位数的扩展。
实现上述扩展方法的扩展电路,其特征在于对应于将n位制约竞争码扩展为n+1位,扩展电路包括n+1位的寄存器L、寄存器M、寄存器N,还包括计数器Counter、1选2n选择器P、2n选1选择器Q和2n列的n+1位寄存器组R,其中计数器Counter的计数范围为0至2n,计数器Counter连接时钟信号CLK,时钟信号CLK上升沿时,寄存器M和寄存器N的低n位接收原n位易扩展制约竞争码的输出值,寄存器M的最高位接低电平,寄存器N的最高位接高电平,1选2n选择器P将寄存器N的值存入计数器Counter计数值x对应的倒数第x列,成为n+1位易扩展制约竞争码的倒数第x个序列,2n选1选择器Q分别连接寄存器组R和寄存器L,寄存器L接收寄存器M的输出作为n+1位易扩展制约竞争码的0至2n个序列,接收2n选1选择器Q的输出作为n+1位易扩展制约竞争码的2n至2n+1个序列。
下面详细介绍本发明涉及易扩展制约竞争码RRC的特点。
2006年申请的专利:同相移位方式的制约竞争计数码电路(专利号ZL200610041210.0)中制约竞争码的编码表如下:
表2原制约竞争码编码表
由此表可以看出原RRC编码的特点:制约竞争码从高位到低位的排列为bit3-bit0,并且由0~F构成循环计数、制约竞争码的bit0、bit1是基本序列,从0~F的bit0序列为{0111,1111,1000,0000},bit1序列为{0001,1100,1110,0011},bit2序列由bit0按0~F循环下移4位构成,bit3序列由bit1序列按0~F循环下移4位构成。因此,bit0和bit1序列是本制约竞争码的特征序列。然而,该制约竞争码主要是针对4位即16进制的应用的,并没有考虑其他进制的应用。例如bit2bit1bit0构成的3位8进制RRC就是错误的,而对其进行扩展也是很难实现的。并且其特征序列为CV0=011111110000000,CV1=0001110011100011,需要两个十六位的存储器件对其进行存储,才能通过移位的方式生成RRC。
基于以上RRC编码的缺陷,对编码进行研究,发现了一种易扩展4位制约竞争计数码,从高到低位的排列为bit3bit2bit1bit0,构成十六进制数0~F的循环计数,从0~F的bit0序列为[bit0]={0011,1001,1100,0110}(以下简称B0),bit1序列为[bit1]={0000,1111,1111,0000}(以下简称B1),bit2序列由bit0按0~F顺序循环下移4位构成[bit2]={0110,0011,1001,1100}(以下简称B2),bit3序列由bit1按0~F顺序循环下移4位构成[bit3]={0000,0000,1111,1111}(以下简称B3),而B0~B3的前八位与后八位是反相的关系。该改进型RRC与8421码的比较如下表所示:
表3本发明改进型RRC与8421码的比较表
16进制数 | 8421码 | RRC |
B3 B2 B1 B0 | B3 B2 B1 B0 | |
0 | 0000 | 0000 |
1 | 0001 | 0100 |
2 | 0010 | 0101 |
3 | 0011 | 0001 |
4 | 0100 | 0011 |
5 | 0101 | 0010 |
6 | 0110 | 0110 |
7 | 0111 | 0111 |
8 | 1000 | 1111 |
9 | 1001 | 1011 |
A | 1010 | 1010 |
B | 1011 | 1110 |
C | 1100 | 1100 |
D | 1101 | 1101 |
E | 1110 | 1001 |
F | 1111 | 1000 |
本编码特征序列为CV0=00111001,CV1=00001111,特征序列从左到右分别按照第0位到第7位的从低位到高位的排列。
复位后,对应RRC为0000,在CLK的驱动下经反相器左移一位后CV0=01110011,CV1=00011111,则此时取CV0[4]=0,CV1[4]=1,CV1[0]=0,CV0[0]=[0]。
上述改进型RRC与原RRC(200610041210.0)的比较如下表所示:
表4本发明改进型RRC与原专利对比表
16进制数 | 原RRC | 改进型RRC |
B3 B2 B1 B0 | B3 B2 B1 B0 | |
0 | 0000 | 0000 |
1 | 0001 | 0100 |
2 | 1001 | 0101 |
3 | 1011 | 0001 |
4 | 0011 | 0011 |
5 | 0111 | 0010 |
6 | 0101 | 0110 |
7 | 1101 | 0111 |
8 | 1111 | 1111 |
9 | 1110 | 1011 |
A | 0110 | 1010 |
B | 0100 | 1110 |
C | 1100 | 1100 |
D | 1000 | 1101 |
E | 1010 | 1001 |
F | 0010 | 1000 |
由以上比较可以看出,改进型RRC的生成机制由原RRC的两个16位特征序列变为两个8位特征序列。生成方式更简单。且具有更好的可扩展性。
下面对改进型RRC的扩展进行研究。
首先构造一组制约竞争码,其次根据计数码的特点,构造其特征序列,依次可以简化电路的设计,3位为该易扩展序列的基础序列,该3位易扩展RRC,从高到低位的排列为bit2bit1bit0,构成八进制数0~7的循环计数,如下表所示
表53位易扩展RRC值
该易扩展RRC的扩展机制由下表示出,3位RRC(8进制)与其逆序序列便可以组成4位RRC的B2B1B0序列,而B3序列则为前八位置0,后八位置1生成,依次便可由3位RRC扩展为4位RRC。同理,4位RRC及其逆序序列连接便可以组成5位RRC的B3B2B1B0序列,B4序列则为前16位置0,后八位置1生成。按照此机制类推,可以简单的扩展至N位。
表6扩展RRC对照表
32进制数 | 3位RRC | 4位RRC | 5位RRC |
B2 B1 B0 | B3 B2 B1 B0 | B4 B3 B2 B1 B0 | |
0 | 000 | 0000 | 00000 |
1 | 100 | 0100 | 00100 |
2 | 101 | 0101 | 00101 |
3 | 001 | 0001 | 00001 |
4 | 011 | 0011 | 00011 |
5 | 010 | 0010 | 00010 |
6 | 110 | 0110 | 00110 |
7 | 111 | 0111 | 00111 |
8 | 1111 | 01111 | |
9 | 1011 | 01011 | |
10 | 1010 | 01010 | |
11 | 1110 | 01110 | |
12 | 1100 | 01100 | |
13 | 1101 | 01101 | |
14 | 1001 | 01001 | |
15 | 1000 | 01000 | |
16 | 11000 | ||
17 | 11001 | ||
18 | 11101 | ||
19 | 11100 | ||
20 | 11110 | ||
21 | 11010 | ||
22 | 11011 |
23 | 11111 | ||
24 | 10111 | ||
25 | 10110 | ||
26 | 10010 | ||
27 | 10011 | ||
28 | 10001 | ||
29 | 10101 | ||
30 | 10100 | ||
31 | 10000 |
由上表可知,本发明的改进型RRC的显著特点是对计数方式加以约束,每次计数只允许1bit发生变化(零竞争),从根本上限制了多位同时变化有可能带来的数据的不确定性。同时该RRC的特征序列更特殊,更简单。此制约竞争码构造了两组特征序列,即B0序列的前八位和B1序列的前八位,经过反相和顺序移位可以得到固定顺序关系的RRC编码,适合运用循环移位特征序列的方式来实现计数,并由特征序列得到完整编码。
根据该改进型RRC的基本特性,其对于特征序列错误节点的定位与纠错机制为:在RRC的主要特性之中,相邻码字间明距离为1,以及特征值生成方式是其最基础的特性,此特性决定了其一系列特殊的应用。由于其特征生成方式是通过环形移位寄存器实现的,因此出现了如图4所示的双环形结构,左侧的序列均为正确的特征序列。只要是正确的特征序列,通过该RRC环形电路生成的RRC都是正确的,即符合RRC的所有属性。因此,可以通过一种固定的检测机制或检测电路来检测所有的RRC特征值,即左侧的所有特征序列(实际上还存在其他的特征序列)。通过检测生成码字的RRC属性,便可以实现快速发现、快速定位特征值中的错误节点,起到纠错的目的。若特征值CV=0011100100001111出现错误变为CV`=1011100100001111,由图6可以看出,带有下划线的错误节点由于特征序列的循环移位逐渐传播,在对应的RRC中每隔三个序列出现一次。因此,特征值中的错误节点在RRC中的检测便具有以下特点:1.由于其特殊的生成机制,如图1所示,特征序列的每个节点每经过三个时钟便会在RRC中出现一次,因此特征序列中的错误节点在前四个RRC序列中便会出现,之后该错误节点每隔三个序列便会出现一次,因此通过检测所生成的RRC序列的前四个序列便可以完成整个特征序列的检测。2.根据生成RRC的相邻码字间汉明距离为1的特性判断出错的RRC序列,若第一行RRC序列出错,则会在5、9、13行出现同样的错误节点,则对应的特征序列错误节点便为CV0[7]、CV0[3]、CV1[7]、CV1[3]中的一个。若如图6所示为RRC[0]出错,则对应的特征序列出错节点为CV0[7],若RRC[1]出错,则对应的特征序列出错节点为CV1[7],若RRC[2]出错,则对应的特征序列出错节点为CV0[3],若RRC[3]出错,则对应的特征序列出错节点为CV1[3]。同样的,若第二行RRC序列出错,RRC出错节点RRC[0]、RRC[1]、RRC[2]、RRC[3]对应的特征序列出错节点为CV0[6]、CV1[6]、CV0[2]、CV1[2]。同样的,若第三行RRC序列出错,RRC出错节点RRC[0]、RRC[1]、RRC[2]、RRC[3]对应的特征序列出错节点为CV0[5]、CV1[5]、CV0[1]、CV1[1]。若第四行RRC序列出错,RRC出错节点RRC[0]、RRC[1]、RRC[2]、RRC[3]对应的特征序列出错节点为CV0[4]、CV1[4]、CV0[0]、CV1[0]。由此便可以完成整个特征序列的错误检测和快速定位。该检测方法是针对16位特征序列和16进制应用的。
有益效果
与现有技术相比,本发明具有以下优点:
由上述改进型RRC与原RRC的比较结果可知,改进型RRC由CV0和CV1的两个8位特征序列组成,相较于之前版本的4位RRC生成电路需要两个16位移位寄存器,此处的电路实际上是原RRC电路的折叠,本发明中的特征码生成电路较于原RRC编码具有更简单的电路结构和更特殊的自身结构,更利于进行位数的扩展。并且经过简单的改变,便可以实现反相的循环生成RRC电路。
与一般的触发器组成的移位寄存器相对比,该电路将置位Reset信号与触发器的移位信号线通过逻辑与门与或门结合起来,直接接入触发器的数据输入端。不需要再设计专门的置位端和置位电路。在Reset置位时,或门输出“1”,与门输出“0”,完成置位,Reset无效时,逻辑门的功能便相当于传输门,电路进行正常的移位操作,因此电路更简单。
本发明制约竞争码RRC还具有以下优势:1.相邻码字之间只有1bit的变化,即汉明距离为1。因此可根据生成RRC的相邻码字间汉明距离是否为1的特性判断出错的RRC序列错误节点的位置。2.RRC是环形的,即是一种循环码。由于其特殊的生成机制,特征序列的每个节点每经过三个时钟便会在RRC中出现一次,因此特征序列中的错误节点在前四个RRC序列中便会出现,之后该错误节点每隔三个序列便会出现一次,因此通过检测所生成的RRC序列的前四个序列便可以完成整个特征序列的检测。3.RRC从4位开始是一种映射码,通过映射关系易于实现扩展。其第三位并不具有映射性质。4.RRC具有鲜明的特征值(CV)生成方式。5.RRC具有双环形结构。
附图说明
图1是易扩展改进型4位RRC生成电路原理框图。
图2是易扩展RRC的扩展机制(以3位扩展为4位为例)。
图3是改进型4位RRC生成电路的寄存器级实现方式的电路图。
图4是改进型RRC的双环结构。
图5是改进型4位RRC反相循环生成电路。
图6是改进型RRC双环结构的错误节点定位与纠错
图7是易扩展RRC扩展电路的实施例(以4位扩展为5位为例)。
具体实施方式
如图1所示,一种易扩展制约竞争码的生成电路,包括8位的移位寄存器A、8位的移位寄存器B、4位的码输出寄存器C,反相器D、反相器E、反相器F、反相器G,移位寄存器A的最低位和最高位由反相器D相接,移位寄存器B的最低位和最高位由反相器G相接,时钟信号CLK分别接移位寄存器A和移位寄存器B的移位控制端口,移位寄存器A被初始化信号Reset预置为特征序列CV0,特征序列CV0取值为10011100,移位寄存器B被初始化信号Reset预置为特征序列CV1,特征序列CV1取值为11110000,移位寄存器B并行输出的由低到高的第4位经反相器F连接至码输出寄存器C的数据最高位,移位寄存器A并行输出的由低到高的第4位经反相器E连接至码输出寄存器C的数据次高位,移位寄存器B并行输出的由低到高的第0位连接至码输出寄存器C的数据次低位,移位寄存器A并行输出的由低到高的第0位连接至码输出寄存器C的数据最低位,码输出寄存器C在其输出控制端控制下输出由最高位到最低位的4位制约竞争码。
如图3所示,上述易扩展制约竞争码的生成电路具体结构式:
8位的移位寄存器A由第一~第八D触发器9~16构成,8位的移位寄存器B由第九~第十六D触发器25~32构成,电路还包括16个逻辑门、第一反相器33和第二反相器34(对应图1中反相器E、F),其中第一、第四~第六、第九~第十二逻辑门1、4~6、17~20为或门,第一、第九逻辑门1、17带有一个反相输入端,第二、第三、第七、第八、第十三~第十六逻辑门2、3、7、8、21~24为带有一个反相输入端的与门,具体电路连接方式如下:所有D触发器的时钟clk端连接移位控制端口CLK,第一~第八逻辑门1~8中每个逻辑门的两个输入端分别连接初始化信号Reset和上一位D触发器的Q端,输出端分别连接第一~第八D触发器9~16的D端,为移位寄存器A置位,当初始化信号Reset置1时,第一、第四~第六逻辑门1、4、5、6输出为1,第二、第三、第七、第八逻辑门2、3、7、8输出为0,将移位寄存器A置为10011100;第九~第十六逻辑门17~24中每个逻辑门的两个输入端分别连接置位信号Reset和上一位D触发器的Q端,输出端分别连接第九~第十六D触发器17~24的D端,为移位寄存器B置位,当初始化信号Reset置1时,第九~第十二逻辑门17~20输出为1,第十三~第十六逻辑门21~24输出为0,将移位寄存器B置为11110000;当置位信号Reset为0时,随着移位控制端口CLK完成移位寄存器的移位操作,第一、第九逻辑门1、17带有反相功能(对应图1中反相器D、G),使移位寄存器的最高位反相后移至最低位;第八D触发器16的输出即为制约竞争码的最低位d0,第十六D触发器32的输出即为制约竞争码的次低位d1,第四D触发器12的输出经第一反相器33后即为制约竞争码的次高位d2,第十二D触发器28经第二反相器34后即为制约竞争码的最高位d3。
本发明的改进型4位RRC生成电路,是通过时钟驱动的顺时钟正向旋转完成RRC码字生成的。类似的,逆序旋转仍然可以生成完整的RRC,其生成机制与上述机制相同。将正向生成RRC的特征序列CV0逆序排列为CV0’,CV1逆序排列为CV1’,则以CV0’、CV1’为特征序列便可以生成逆序的RRC。如图3、图5所示,电路图的区别在于将图3中的第一~第八逻辑门1、2、3、4、5、6、7、8逆序排列,即依次替换为与门、与门、或门、或门、或门、与门、与门、或门,生成特征序列CV0’,相同的,第九~第十六逻辑门17、18、19、20、21、22、23、24按照相同的方法处理,即依次替换为与门,与门,与门,与门,或门,或门,或门,或门,生成特征序列CV1’,其中第一~第三、第七~第九、第十三~第十六逻辑门(1~3、7、8、19、21~24)分别带一个反相输入端。第一触发器9的输出为逆序RRC的最低位d0,触发器25的输出为逆序RRC的次低位d1,触发器13的输出经第一反相器33后为逆序RRC的次高位d2,触发器29的输出经第二反相器34为逆序RRC的最高位d3。即CV0=00111001,CV1=00001111,但是与图1中的循环方向相反。在时钟的驱动下,图5电路便可以生成完整的RRC逆序列。所不同的是,生成的RRC为逆序排列,因为RRC的环形结构,因此并无显著差别。
如图2所示,一种易扩展RRC的扩展方式包含原序列Y1、逆序序列Y2、扩展序列Z,其特征在于,该RRC序列扩展从3位开始,可至任意N位,以3位RRC扩展为4位为例说明。原序列Y1为3位RRC,即八进制数,序列000,100,101,001,011,010,110,111分别代表八进制数0-7,满足RRC的制约竞争的特点。将原序列Y1逆序排列,变为逆序序列Y2,即变为7-0排列,将序列Y2从111开始依次接在序列Y1的111后面,即组成0-7,7-0排列的序列Z’,在该序列Z’的原序列Y1的0-7前分别加0,在逆序序列前加1,由此便可以组成4位RRC的完整序列,即序列Z(16进制0-F)。以此方法可以实现任意位的位数扩展。
如图7所示,以4位RRC扩展为5位电路为例。扩展电路由5位寄存器M,寄存器N,寄存器L,计数器Counter,1-16选择器P,16-1选择器Q,反相器I及5位寄存器组R组成。该电路以时钟CLK驱动,4位RRC以图4中的顺序依次输入(以时钟时序),计数器Counter在第一个RRC输入时从0开始计数,1-16选择器P在计数器计数值为0-15时根据计数器的输出将寄存器N中的内容存入寄存器F中一行。16-1选择器Q在计数器计数值为16-31时根据计数器的输出将寄存器F中的一行输出至寄存器L。以实例说明其工作时序:4位RRC0000在时钟上升沿输入至寄存器M与寄存器N的低四位,高电平VDD经过反相器I输入寄存器M的最高位,高电平VDD直接接入寄存器N的最高位。寄存器M直接输出至寄存器L,便为5位RRC的第一个序列00000,此时计数器的内容为0,因此寄存器N的内容10000经过选择器P输入至寄存器组R的最后一列,这便为5位RRC的第32个序列,将会在计数器内容为31时经选择器Q输出至输出寄存器L。下一时钟上升沿时,寄存器M、寄存器N低四位分别输入4位RRC 0 1 0 0,加上寄存器M最高位0,输入至5位寄存器L的值为0 0 1 0 0;寄存器N的最高位为1,加上低4位RRC的值,寄存器N的值为1 0 1 0 0,将寄存器N的值通过选择器P输出至寄存器组R的倒数第二列,成为5位RRC的第32个序列。当计数器内容为30时由选择器Q输出至寄存器L。以此时序逐渐完成整个5位RRC的逐行输出。
下面结合实施例对本发明进一步说明。下表7是该改进型RRC的编码表。
表7本发明改进型RRC编码表
由此表可以总结出本编码的特点:RRC从高位到低位的排列为bit3-bit0,并且由0~F构成循环编码。RRC的CV0、CV1是基本序列,CV0=01110011,CV1=00011111,bit0序列由CV0构成前八位,CV0的非运算结果构成后八位,即bit0=0011100111000110,bit1序列由CV1构成前八位,CV0的非运算结果构成后八位,即bit1=0000111111110000,bit2序列由bit0按0-F顺序循环下移4位构成bit2=0110110001100011,bit3序列由bit1按0-F顺序循环下移4位构成bit3=0000000011111111。因此CV0和CV1序列是本改进RRC的特征序列。
下表8是该改进RRC的初始值表,由此表的初始值通过电路预制信号Reset设置电路寄存器的特征序列值:CV0和CV1分别对应两个8位寄存器的特定序列设定值。
表8改进型RRC的初始值表
下表9是该改进RRC生成电路原理表,由此表的寄存器SHTR-CV0和SHTR-CV1按时钟CLK每次同时循环左移一位来生成RRC,由SHTR的CV1[3]CV0[3]CV1[7]CV0[7]构成该RRC的输出结果。
表9改进RRC生成电路原理表
在用于RRC生成电路时,其由该改进RRC特征序列对应的两组8位移位寄存器构成,分别为SHTR-CV0和SHTR-CV1,两组移位寄存器(SHTR)初始值分别置为SHTR-CV0=00111001,SHTR-CV1=00001111。每一个时钟脉冲,SHTR-CV0和SHTR-CV1同步循环左移一位(最高位循环至最低位时应反相)。
在图1中,表8和表9中的SHTR-CV0和SHTR-CV1对应图1中的移位寄存器A和移位寄存器B,其初始值就是特征序列,通过Reset信号完成。
在图3中,表8和表9中的SHTR-CV0和SHTR-CV1对应图3中的所有触发器,其中表3中的SHTR-CV0[0]对应图3中的第八D触发器16,SHTR-CV0[1]对应图3中的第七D触发器15,SHTR-CV0[2]对应图3中的第六D触发器14,SHTR-CV0[3]对应图3中的第五D触发器13,SHTR-CV0[4]对应图3中的第四D触发器12,SHTR-CV0[5]对应图3中的第三D触发器11,SHTR-CV0[6]对应图3中的第二D触发器10,SHTR-CV0[7]对应图3中的第一D触发器9,SHTR-CV1[0]对应图3中的第十六D触发器32,SHTR-CV1[1]对应图3中的第十五D触发器31,SHTR-CV1[2]对应图3中的第十四D触发器30,SHTR-CV1[3]对应图3中的第十三D触发器29,SHTR-CV1[4]对应图3中的第十二D触发器28,SHTR-CV1[5]对应图3中的第十一D触发器27,SHTR-CV1[6]对应图3中的第十D触发器26,SHTR-CV1[7]对应图3中的第九D触发器25。而置位通过逻辑门完成。
输出RRC则为分别取CV1[3]CV0[3]CV1[7]CV0[7]构成RRC的bit3、bit2、bit1、bit0。
在图1中,表9中的SHTR-CV1[3]、SHTR-CV0[3]、SHTR-CV1[7]、SHTR-CV0[7]对应图1中的码输出寄存器C的码输出d3、d2、d1、d0。
在图3中,表9中的SHTR-CV1[3]、SHTR-CV0[3]、SHTR-CV1[7]、SHTR-CV0[7]对应图3中的第十二D触发器28的第四D触发器12的第十六D触发器32的Q、第八D触发器16的Q。
实施例1
如图3所示,Reset置1后,电路中的或门和与门进行计算,或门的输出均为1,与门的输出均为0,则完成图3中所有D触发器的置位,对应于图1,即为第一~第八D触发器组成的移位寄存器A被置为00111001,第九~第十六D触发器组成的移位寄存器B被置为00001111,则此时第十二D触发器28的输出为1,经第二反相器34后为0,第四D触发器12的输出为1,经第一反相器33后为0,第十六D触发器32的输出为0,第八D触发器16的输出为0,即输出RRC为0000。Reset置0,或门以及与门电路变为通路,在时钟的驱动下,第一~第九D触发器9,10,11,12,13,14,15,16,17依次序移位,第九D触发器17的输出经反相后输入第一D触发器9,则对应图1中移位寄存器A变为01110011,同理,对应图1中移位寄存器B变为00011111,则此时第十二D触发器28的输出为1,经第二反相器34后为0,第四D触发器12的输出为0,经第一反相器33后为1,第十六D触发器32的输出为0,第八D触发器16的输出为0,则此时RRC输出为0100。依次进行下去,每当时钟出现第15个脉冲时,完成一组RRC的输出,第16个脉冲时便会重新变为:寄存器A为10011100,寄存器B为11110000,与置位数值相同,开始进行新一轮的RRC输出。
如图4所示,为双环特征序列生成机制,与上文叙述相同,在4位RRC生成时,只需要将两个8位的特征值序列CV0,CV1移位循环,便可以生成完整的4位RRC环,即16进制计数。在生成过程中RRC与CV的循环式一一对应的,因此通过检测RRC环的完整性,便可以完成CV的正确性检测。
易扩展制约竞争码RRC的纠错方法在于,通过一种固定的检测机制或检测电路来检测所有的RRC特征值,即左侧的所有特征序列(实际上还存在其他的特征序列)。通过检测生成码字的RRC属性,便可以实现快速发现、快速定位特征值中的错误节点,起到纠错的目的。若特征值CV=0011100100001111出现错误变为CV`=1011100100001111,由图6可以看出,带有下划线的错误节点由于特征序列的循环移位逐渐传播,在对应的RRC中每隔三个序列出现一次。因此,特征值中的错误节点在RRC中的检测便具有以下特点:1.特征序列中的错误节点在前四个RRC序列中便会出现,之后该错误节点每隔三个序列便会出现一次,因此通过检测所生成的RRC序列的前四个序列便可以完成整个特征序列的检测。2.根据生成RRC的相邻码字间汉明距离为1的特性判断出错的RRC序列,若第一行RRC序列出错,则会在5、9、13行出现同样的错误节点,则对应的特征序列错误节点便为CV0[7]、CV0[3]、CV1[7]、CV1[3]中的一个。若如图6所示为RRC[0]出错,则对应的特征序列出错节点为CV0[7],若RRC[1]出错,则对应的特征序列出错节点为CV1[7],若RRC[2]出错,则对应的特征序列出错节点为CV0[3],若RRC[3]出错,则对应的特征序列出错节点为CV1[3]。同样的,若第二行RRC序列出错,RRC出错节点RRC[0]、RRC[1]、RRC[2]、RRC[3]对应的特征序列出错节点为CV0[6]、CV1[6]、CV0[2]、CV1[2]。同样的,若第三行RRC序列出错,RRC出错节点RRC[0]、RRC[1]、RRC[2]、RRC[3]对应的特征序列出错节点为CV0[5]、CV1[5]、CV0[1]、CV1[1]。若第四行RRC序列出错,RRC出错节点RRC[0]、RRC[1]、RRC[2]、RRC[3]对应的特征序列出错节点为CV0[4]、CV1[4]、CV0[0]、CV1[0]。由此便可以完成整个特征序列的错误检测和快速定位。该检测方法主要针对16位二进制序列的检测,适用于16进制的应用。
以上是一种易扩展RRC扩展机制以及生成电路的技术方案。
该可扩展RRC的扩展机制的思路是,原序列前加0,逆序序列前加1,两者连接便可以生成扩展序列,以此类推可至任意N位。
该改进RRC生成电路的核心思想是构造更特殊的RRC特征序列,实现更简单的生成电路,具有双环形结构,可以用来快速准确的纠错,并且具有更好的可扩展性。
Claims (5)
1.一种易扩展制约竞争码的生成电路,其特征在于包括8位的移位寄存器A、8位的移位寄存器B、4位的码输出寄存器C,反相器D、反相器E、反相器F、反相器G,移位寄存器A的最低位和最高位由反相器D相接,移位寄存器B的最低位和最高位由反相器G相接,时钟信号CLK分别接移位寄存器A和移位寄存器B的移位控制端口,移位寄存器A被初始化信号Reset预置为特征序列CV0,特征序列CV0取值为10011100,移位寄存器B被初始化信号Reset预置为特征序列CV1,特征序列CV1取值为11110000,移位寄存器B并行输出的由低到高的第4位经反相器F连接至码输出寄存器C的数据最高位,移位寄存器A并行输出的由低到高的第4位经反相器E连接至码输出寄存器C的数据次高位,移位寄存器B并行输出的由低到高的第0位连接至码输出寄存器C的数据次低位,移位寄存器A并行输出的由低到高的第0位连接至码输出寄存器C的数据最低位,码输出寄存器C在其输出控制端控制下输出由最高位到最低位的4位制约竞争码。
2.根据权利要求1所述的易扩展制约竞争码的生成电路,其特征在于,8位的移位寄存器A由第一~第八D触发器(9~16)构成,8位的移位寄存器B由第九~第十六D触发器(25~32)构成,电路还包括16个逻辑门、第一反相器(33)和第二反相器(34),其中第一、第四~第六、第九~第十二逻辑门(1、4~6、17~20)为或门,第一、第九逻辑门(1、17)分别带有一个反相输入端,第二、第三、第七、第八、第十三~第十六逻辑门(2、3、7、8、21~24)分别为带有一个反相输入端的与门,具体电路连接方式如下:所有D触发器的时钟clk端连接移位控制端口,第一~第八逻辑门(1~8)中每个逻辑门的两个输入端分别连接初始化信号Reset和上一位D触发器的Q端,输出端分别连接第一~第八D触发器(9~16)的D端,为移位寄存器A置位,当初始化信号Reset置1时,第一、第四~第六逻辑门(1、4、5、6)输出为1,第二、第三、第七、第八逻辑门(2、3、7、8)输出为0,将移位寄存器A置为10011100;第九~第十六逻辑门(17~24)中每个逻辑门的两个输入端分别连接置位信号Reset和上一位D触发器的Q端,输出端分别连接第九~第十六D触发器(17~24)的D端,为移位寄存器B置位,当初始化信号Reset置1时,第九~第十二逻辑门(17~20)输出为1,第十三~第十六逻辑门(21~24)输出为0,将移位寄存器B置为11110000;当置位信号Reset为0时,随着移位控制端口CLK完成移位寄存器的移位操作,第一、第九逻辑门(1、17)带有反相功能,使移位寄存器的最高位反相后移至最低位;第八D触发器(16)的输出即为制约竞争码的最低位d0,第十六D触发器(32)的输出即为制约竞争码的次低位d1,第四D触发器(12)的输出经第一反相器(33)后即为制约竞争码的次高位d2,第十二D触发器(28)经第二反相器(34)后即为制约竞争码的最高位d3。
3.根据权利要求1或2所述的易扩展制约竞争码的生成电路,其特征在于,将原特征序列CV0逆序排列为CV0’=00111001,将原特征序列CV1逆序排列为CV1’=00001111,以CV0’、CV1’为新特征序列生成逆序制约竞争码;逆序制约竞争码的生成电路是在所述制约竞争码生成电路的基础上,将第一~第八逻辑门(1~8)分别替换为与门、与门、或门、或门、或门、与门、与门、或门,用于生成新特征序列CV0’;并将第九~第十六逻辑门(17~24)分别替换为与门,与门,与门,与门,或门,或门,或门,或门,用于生成新特征序列CV1’,其中第一~第三、第七~第九、第十三~第十六逻辑门(1~3、7、8、19、21~24)分别带一个反相输入端;第一D触发器(9)的输出为逆序制约竞争码的最低位d0,第九D触发器(25)的输出为逆序制约竞争码的次低位d1,第五D触发器(13)的输出经第一反相器(33)后为逆序制约竞争码的次高位d2,第十三D触发器(29)的输出经第二反相器(34)后为逆序制约竞争码的最高位d3。
4.一种易扩展制约竞争码的扩展方法,其特征在于所述制约竞争码编码如下,
其扩展方法是:从3位制约竞争码开始,每扩展1位都按如下步骤进行:原序列Y1为n位制约竞争码,即满足制约竞争特点的2n个数,n≥3;将原序列Y1逆序排列,变为逆序序列Y2,将逆序序列Y2中从大到小的各数依次排列在原序列Y1的最大数后面,组合成新序列Z’;在新序列Z’中原序列Y1每个数的前一位分别加0,在原逆序序列Y2每个数的前一位分别加1,形成n+1位的序列Z,完成一位扩展;重复以上步骤实现制约竞争码任意位数的扩展。
5.实现权利要求4所述扩展方法的一种易扩展制约竞争码的扩展电路,其特征在于对应于将n位制约竞争码扩展为n+1位,扩展电路包括n+1位的寄存器L、寄存器M、寄存器N,还包括计数器Counter、1选2n选择器P、2n选1选择器Q和2n列的n+1位寄存器组R,其中计数器Counter的计数范围为0至2n,计数器Counter连接时钟信号CLK,时钟信号CLK上升沿时,寄存器M和寄存器N的低n位接收原n位易扩展制约竞争码的输出值,寄存器M的最高位接低电平,寄存器N的最高位接高电平,1选2n选择器P将寄存器N的值存入计数器Counter计数值x对应的倒数第x列,成为n+1位易扩展制约竞争码的倒数第x个序列,2n选1选择器Q分别连接寄存器组R和寄存器L,寄存器L接收寄存器M的输出作为n+1位易扩展制约竞争码的0至2n个序列,接收2n选1选择器Q的输出作为n+1位易扩展制约竞争码的2n至2n+1个序列。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410560022.3A CN104320142A (zh) | 2014-10-20 | 2014-10-20 | 一种易扩展制约竞争码的生成电路、扩展方法及扩展电路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410560022.3A CN104320142A (zh) | 2014-10-20 | 2014-10-20 | 一种易扩展制约竞争码的生成电路、扩展方法及扩展电路 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104320142A true CN104320142A (zh) | 2015-01-28 |
Family
ID=52375338
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410560022.3A Pending CN104320142A (zh) | 2014-10-20 | 2014-10-20 | 一种易扩展制约竞争码的生成电路、扩展方法及扩展电路 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104320142A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6836525B1 (en) * | 2003-07-21 | 2004-12-28 | Realtek Semiconductor Corp. | Method for establishing a gray code and related counter circuit |
CN1921316A (zh) * | 2006-07-28 | 2007-02-28 | 东南大学 | 同相移位方式的制约竞争计数码电路 |
CN1972131A (zh) * | 2006-07-28 | 2007-05-30 | 东南大学 | 反相移位方式的制约竞争计数码电路 |
CN102799410A (zh) * | 2012-06-19 | 2012-11-28 | 东南大学 | 基于李氏制约竞争计数编码的异步fifo地址转换电路 |
CN103885527A (zh) * | 2014-04-15 | 2014-06-25 | 东南大学 | 一种基于rrc编码的时钟偏差补偿装置 |
-
2014
- 2014-10-20 CN CN201410560022.3A patent/CN104320142A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6836525B1 (en) * | 2003-07-21 | 2004-12-28 | Realtek Semiconductor Corp. | Method for establishing a gray code and related counter circuit |
CN1921316A (zh) * | 2006-07-28 | 2007-02-28 | 东南大学 | 同相移位方式的制约竞争计数码电路 |
CN1972131A (zh) * | 2006-07-28 | 2007-05-30 | 东南大学 | 反相移位方式的制约竞争计数码电路 |
CN102799410A (zh) * | 2012-06-19 | 2012-11-28 | 东南大学 | 基于李氏制约竞争计数编码的异步fifo地址转换电路 |
CN103885527A (zh) * | 2014-04-15 | 2014-06-25 | 东南大学 | 一种基于rrc编码的时钟偏差补偿装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Jiang et al. | Correcting charge-constrained errors in the rank-modulation scheme | |
CA1075817A (en) | Sequential encoding and decoding of variable word length fixed rate data codes | |
CN100495929C (zh) | 同相移位方式的制约竞争计数码电路 | |
CN108540139A (zh) | 一种通用的准循环ldpc码编码器的fpga实现方法及装置 | |
CN102820892B (zh) | 一种用于并行bch编码的电路、编码器及方法 | |
CN110188415A (zh) | 一种通用循环冗余校验电路ip核实现方法及系统 | |
CN100472969C (zh) | 反相移位方式的制约竞争计数码电路 | |
CN102799410B (zh) | 基于李氏制约竞争计数编码的异步fifo地址转换电路 | |
CN102882532B (zh) | 循环右移累加基的cmmb中ldpc编码器和编码方法 | |
CN106708654A (zh) | 一种用于NANDflash的BCH纠错码的电路结构 | |
CN105631062B (zh) | 一种检查集成电路线网连通关系的方法 | |
JP5204186B2 (ja) | メモリシステム | |
CN104320142A (zh) | 一种易扩展制约竞争码的生成电路、扩展方法及扩展电路 | |
CN108880531A (zh) | 一种偶数次格雷码计数器电路 | |
CN102497198B (zh) | 一种格雷码双边沿触发计数器 | |
Stanley et al. | A study of Varshamov codes for asymmetric channels | |
CN200976579Y (zh) | 反相移位制约竞争计数码电路 | |
CN104836634B (zh) | 码长n最小距离n‑1的置换码构造方法和码字序列发生器 | |
CN105207681B (zh) | 一种基于有限域乘群中循环子群生成元的ldpc码构造方法 | |
CN102891687B (zh) | 基于求和阵列的qc-ldpc并行编码器和编码方法 | |
Schwartz | Constant-weight Gray codes for local rank modulation | |
CN204347817U (zh) | 集成crc校验电路的伪随机数发生器 | |
Jha | 1-perfect codes over the quad-cube | |
KR20120062247A (ko) | 오류코드 패턴 형성 회로 및 이를 포함하는 메모리 장치 | |
CN103297063B (zh) | 格雷码转李氏制约竞争计数编码的码制转换电路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150128 |
|
WD01 | Invention patent application deemed withdrawn after publication |