System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及信息编码,特别是涉及csd编码器及其编码方法。
技术介绍
1、csd(canonical signed digit)是一种数值表示方法,又称naf(non-adjacentform,不相邻形式)。csd使用“平衡二进制(balanced binary)”数值表示系统,每一位的可能取值是“0,1”(顶部横线表示负数,表示-1,表示-2,后同),第n位的权重是2n(n从0开始增加),且在计算时“逢2进1”,或“逢进”。
2、csd具备两种特性:(a)非0位不相邻,即任意两个非0位都被至少一个0隔开;(b)相较同一数值的其他平衡二进制表示方法,csd具有最少数量的非0位。同一数值的平衡二进制表示可能不唯一,“二型补码(2’s complement)”和“符号-幅值(sign-magnitude)”等都是平衡二进制的特例。例如,十进制数-23的平衡二进制表示包括等,其中是csd表示。特性(b)保证csd具备最强的位级稀疏性,信息传输、数字集成电路设计、稀疏性加速运算等方面青睐该特性而使用csd表示数值。
3、计算机和数字电路中只能使用二进制保存和处理信息,平衡二进制的csd的每一位都需要两个比特来存储。目前有两种常用的csd的二进制表示方案。第一种方案使用n比特“正标记”(1表示该位是1,0表示该位不是1)和n比特“负标记”(1表示该位是-1,0表示该位不是-1)分别记录1位和位的信息。第二种方案使用n比特“符号标记”(1为负,0为正)和n比特“非零标记”(1为非零,0为零值)分别记录每一位的符号和值。
4、表1:csd编码器的二进制表示
5、
6、从二型补码转换到csd的软件算法。从二型补码转换到两种csd二进制表示方案的算法流程图如下。图1a的算法转换到第一种二进制表示方案,输出的p是“正标记”,n是“负标记”。图1b的算法转换到第二种二进制表示方案,输出的d是“非零标记”,s是“符号标记”。
7、从二型补码转换到csd的电路实现可采用“行波进位”进位链的csd编码器,csd编码器电路结构如图2所示。以6位数据为例,使用csd编码器的第二种二进制表示方案。
8、一种采用“先行进位”进位链的csd编码器电路结构如图3a所示,以16位数据为例,使用csd的第二种二进制表示方案。其中,采用“先行进位”进位链的csd编码器电路结构主要包括csd首模块(first csd module)、3个四比特csd模块(4-bit csd module)及csd末模块(last csd module)。其中,图3b、3c及3d分别是csd首模块(first csd module)、四比特csd模块(4-bit csd module)及csd末模块(last csd module)的结构示意图。
9、一种采用“并行前缀”进位链的csd编码器电路结构如图4所示,以16位数据为例,使用csd的第二种二进制表示方案,其中所使用的子模块,csd首模块(first csd module)、四比特csd模块(4-bit csd module)及csd末模块(last csd module)的结构与上图3中所展示的子模块一致。
10、但是,目前的csd编码仍存在如下问题和缺陷:n位csd编码器的进位链长度是n,且逻辑十分复杂,对基于标准单元库的实现不友好,且对实际应用中的具体实现不友好。
技术实现思路
1、鉴于以上所述现有技术的缺点,本申请的目的在于提供csd编码器及其编码方法,用于解决n位csd编码器的进位链长度是n,且逻辑十分复杂,对基于标准单元库的实现不友好,且对实际应用中的具体实现不友好的技术问题。
2、为实现上述目的及其他相关目的,本申请的第一方面提供一种csd编码器,包括:进位生成与传播逻辑模块,其输入2n比特的二型补码,用于执行进位生成与传播逻辑的位运算后输出n个进位传播标志和(n-1)个进位生成标志;进位链逻辑模块,其输入所述进位生成与传播逻辑模块所输出的n个进位传播标志和(n-1)个进位生成标志,用于执行进位链逻辑的位运算后输出n个进位值;编码产生逻辑模块,其输入2n比特的二型补码、1比特的额外符号、进位生成与传播逻辑模块的输出结果及进位链逻辑模块的输出结果,用于执行编码产生逻辑的位运算后输出2n组csd编码的二进制表示;每组csd编码的二进制表示包括两个标志;其中,采用符号数值表示来产生csd编码的编码产生逻辑,产生的二进制表示共包括2n个符号标志和2n个数值标志;采用正数负数表示来产生csd编码的编码产生逻辑,产生的二进制表示共包括2n个正数标志和2n个负数标志。
3、于本申请的第一方面的一些实施例中,所述采用符号数值表示来产生csd编码的编码产生逻辑,包括:
4、
5、其中,和分别是csd编码的二进制表示的第i个符号标志和第i个数值标志,s是额外符号;xi是输入的二型补码x的第i比特;cn表示第n个进位值;pn表示第n个进位传播信号;符号表示异或逻辑运算;符号&表示与逻辑运算;表示第n个进位值cn的取反。
6、于本申请的第一方面的一些实施例中,所述采用正数负数表示来产生csd编码的编码产生逻辑,包括:
7、
8、其中,xi是输入的二型补码x的第i比特;cn表示第n个进位值;pn表示第n个进位传播信号;和分别是csd编码的二进制表示的第i个正数标志和负数标志;s是额外符号;符号表示异或逻辑运算;符号&表示与逻辑运算;表示第n个进位值cn的取反。
9、于本申请的第一方面的一些实施例中,所述进位生成与传播逻辑模块包括n个进位生成与传播逻辑单元,每个进位生成与传播逻辑单元包括:一个同或逻辑门和一个异或逻辑门;同或逻辑门的两个输入端分别输入二型补码x的第(2n+2)比特x2n+2以及第(2n+1)比特x2n+1,输出第n个进位生成信号gn;异或逻辑门的两个输入端分别输入二型补码x的第(2n+1)比特x2n+1以及第(2n+0)比特x2n+0,输出第n个进位传播信号pn。
10、于本申请的第一方面的一些实施例中,所述进位生成与传播逻辑模块的位运算方式包括:
11、
12、其中,xi是输入的二型补码x的第i比特;pn是第n个进位传播信号;gn是第n个进位生成信号;符号表示异或逻辑运算;符号⊙表示同或逻辑运算。
13、于本申请的第一方面的一些实施例中,所述进位链逻辑模块由初始进位逻辑单元和(n-1)个级联的行波进位逻辑单元构成;初始进位逻辑单元包括一个用于生成初始进位的反相器,每个级联的行波进位逻辑单元包括一个与逻辑门和一个或逻辑门;与逻辑门的两个输入端分别输入第n个进位传播信号pn、第n个进位值cn;或逻辑门的两个输入端分别输入第n个进位生成信号gn及与逻辑门的逻辑运算结果,输出端输出第(n本文档来自技高网...
【技术保护点】
1.一种CSD编码器,其特征在于,包括:
2.根据权利要求1所述的一种CSD编码器,其特征在于,所述采用符号数值表示来产生CSD编码的编码产生逻辑,包括:
3.根据权利要求1所述的一种CSD编码器,其特征在于,所述采用正数负数表示来产生CSD编码的编码产生逻辑,包括:
4.根据权利要求1所述的一种CSD编码器,其特征在于,所述进位生成与传播逻辑模块包括N个进位生成与传播逻辑单元,每个进位生成与传播逻辑单元包括:一个同或逻辑门和一个异或逻辑门;同或逻辑门的两个输入端分别输入二型补码x的第(2n+2)比特x2n+2以及第(2n+1)比特x2n+1,输出第n个进位生成信号Gn;异或逻辑门的两个输入端分别输入二型补码x的第(2n+1)比特x2n+1以及第(2n+0)比特x2n+0,输出第n个进位传播信号Pn。
5.根据权利要求4所述的一种CSD编码器,其特征在于,所述进位生成与传播逻辑模块的位运算方式包括:
6.根据权利要求1所述的一种CSD编码器,其特征在于,所述进位链逻辑模块由初始进位逻辑单元和(N-1)个级联的行波进位逻辑
7.根据权利要求6所述的一种CSD编码器,其特征在于,所述进位链逻辑模块的位运算方式包括:
8.根据权利要求1所述的一种CSD编码器,其特征在于,所述编码产生逻辑模块包括N个编码产生逻辑单元;若采用符号数值表示来产生CSD编码的编码产生逻辑,则每个所述编码产生逻辑单元包括两个异或逻辑门、一个反相器逻辑门、一个与逻辑门;
9.根据权利要求1所述的一种CSD编码器,其特征在于,所述编码产生逻辑模块包括N个编码产生逻辑单元;若采用正数负数表示来产生CSD编码的编码产生逻辑,则每个所述编码产生逻辑单元包括两个异或逻辑门及五个存在或不存在输入取反的与逻辑门;两个异或逻辑门分别是第一异或逻辑门和第二异或逻辑门,五个与逻辑门分别是第一与逻辑门、第二与逻辑门、第三与逻辑门、第四与逻辑门和第五与逻辑门;
10.一种CSD编码方法,其特征在于,应用于如权利要求1所述的CSD编码器;所述编码方法包括:
...【技术特征摘要】
1.一种csd编码器,其特征在于,包括:
2.根据权利要求1所述的一种csd编码器,其特征在于,所述采用符号数值表示来产生csd编码的编码产生逻辑,包括:
3.根据权利要求1所述的一种csd编码器,其特征在于,所述采用正数负数表示来产生csd编码的编码产生逻辑,包括:
4.根据权利要求1所述的一种csd编码器,其特征在于,所述进位生成与传播逻辑模块包括n个进位生成与传播逻辑单元,每个进位生成与传播逻辑单元包括:一个同或逻辑门和一个异或逻辑门;同或逻辑门的两个输入端分别输入二型补码x的第(2n+2)比特x2n+2以及第(2n+1)比特x2n+1,输出第n个进位生成信号gn;异或逻辑门的两个输入端分别输入二型补码x的第(2n+1)比特x2n+1以及第(2n+0)比特x2n+0,输出第n个进位传播信号pn。
5.根据权利要求4所述的一种csd编码器,其特征在于,所述进位生成与传播逻辑模块的位运算方式包括:
6.根据权利要求1所述的一种csd编码器,其特征在于,所述进位链逻辑模块由初始进位逻辑单元和(n-1)个级联的行波进位逻辑单元构成;初始进位逻辑单元包括一个用于生成初始进位的反相器,每个级联的行波进...
【专利技术属性】
技术研发人员:田犁,竹子轩,汪辉,
申请(专利权)人:中国科学院上海高等研究院,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。