CN111464189A - 一种斐波那契进制译码装置、方法 - Google Patents
一种斐波那契进制译码装置、方法 Download PDFInfo
- Publication number
- CN111464189A CN111464189A CN202010244700.0A CN202010244700A CN111464189A CN 111464189 A CN111464189 A CN 111464189A CN 202010244700 A CN202010244700 A CN 202010244700A CN 111464189 A CN111464189 A CN 111464189A
- Authority
- CN
- China
- Prior art keywords
- fibonacci
- binary
- module
- state
- binary number
- 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
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Semiconductor Integrated Circuits (AREA)
Abstract
本申请实施例公开了一种斐波那契进制译码装置、方法,包括:接收模块,用于获取斐波那契进制数据;调用模块,用于将斐波那契进制数据中的每一位斐波那契进制数逐位输入至斐波那契计算模块;斐波那契计算模块,用于在工作状态下,针对斐波那契进制数据中的每一位斐波那契进制数,斐波那契计算模块将斐波那契进制数转换为二进制数,并输出二进制数;累加模块,用于在计算状态下,对斐波那契计算模块输出的二进制数进行累加;其中,斐波那契计算模块和累加模块交替执行工作状态下的操作和计算状态下的操作,直至斐波那契进制数据中的全部斐波那契进制数对应的二进制数均进行了累加;输出模块,用于输出累加后的二进制数据。
Description
技术领域
本申请涉及集成电路技术领域,尤其涉及一种斐波那契进制译码装置、方法。
背景技术
在数字系统中,经常需要将一种代码转换为另一种代码,以满足特定的需要,完成这种功能的电路称为码转换电路。码转换电路包括编码器和译码器。
斐波那契数为满足规律F0=0,F1=1,Fn=Fn-1+Fn-2的数,其中,n≥2,n为正整数。一个自然数M的斐波拉契表示是指把M表示为互异的r个斐波拉契数之和,换句话说,就是把M表示为:M=Fk1+Fk2+...+Fkr。我们将一个自然数M的斐波拉契表示中的所有斐波拉契数按位置映射到0,1组成的比特串(Binary Sequence)中,即将比特串第k1,k1,…,kr位置1,其余位置0,这种数字表达方式称之为斐波拉契进制。斐波拉契进制表达具有不唯一性和混淆特性,并且其抗干扰性性较强,可用作检错校验码,可用在物联网安全等特定场景上,通常可以以现场可编程门阵列(Field-Programmable Gate Array,FPGA)或专用集成电路(Application Specific Integrated Circuit,ASIC)的形式使用。对于以斐波拉契进制进行存储和传输的特定场景,如何实现斐波拉契进制译码是亟待解决的问题。
发明内容
有鉴于此,本申请实施例为解决现有技术中存在的至少一个问题而提供一种斐波那契进制译码装置、方法。
为达到上述目的,本申请实施例的技术方案是这样实现的:
第一方面,本申请实施例提供一种斐波那契进制译码装置,包括:
接收模块,用于获取斐波那契进制数据;
调用模块,用于将所述斐波那契进制数据中的每一位斐波那契进制数逐位输入至斐波那契计算模块;
所述斐波那契计算模块,用于在工作状态下,针对所述斐波那契进制数据中的每一位斐波那契进制数,所述斐波那契计算模块将所述斐波那契进制数转换为二进制数,并输出所述二进制数;
累加模块,用于在计算状态下,对所述斐波那契计算模块输出的二进制数进行累加;
其中,所述斐波那契计算模块和所述累加模块交替执行所述工作状态下的操作和所述计算状态下的操作,直至所述斐波那契进制数据中的全部斐波那契进制数对应的二进制数均进行了累加;
输出模块,用于输出累加后的二进制数据。
在一种可选的实施方式中,所述斐波那契进制数据的长度和所述累加后的二进制数据的长度均小于等于预设长度。
在一种可选的实施方式中,所述装置还包括:
使能模块,用于在空闲状态下,若接收到使能信号,则从所述空闲状态转移至所述工作状态。
在一种可选的实施方式中,所述装置还包括:工作模块,用于在工作状态下,输出转换结束信号,并在输出所述转换结束信号后从所述工作状态转移至空闲状态;其中,所述转换结束信号用于指示译码结束或者指示所述斐波那契进制数据中的全部斐波那契进制数对应的二进制数均进行了累加。
在一种可选的实施方式中,所述斐波那契进制数据包括N位斐波那契进制数,N为正整数;所述斐波那契计算模块输出的二进制数为所述N位斐波那契进制数中的第i位斐波那契进制数对应的二进制数,i为大于等于2且小于等于N的整数;
所述累加模块,具体用于对所述第i位斐波那契进制数对应的二进制数和前一次的累加结果进行一次加法运算。
在一种可选的实施方式中,所述累加模块,还用于将所述斐波那契计算模块输出的二进制数写入寄存器;
在所述计算状态下,从所述寄存器获取所述斐波那契计算模块输出的二进制数,并对获取的所述二进制数和前一次的累加结果进行加法运算。
在一种可选的实施方式中,所述装置还包括:
复位模块,用于在所述工作状态下或在所述计算状态下,若接收到系统复位信号,则从所述工作状态或者所述计算状态转移至空闲状态。
第二方面,本申请实施例提供一种斐波那契进制译码方法,所述方法包括:
获取斐波那契进制数据,将所述斐波那契进制数据中的每一位斐波那契进制数逐位输入至斐波那契计算模块;
在工作状态下,针对所述斐波那契进制数据中的每一位斐波那契进制数,将所述斐波那契进制数转换为二进制数,并输出所述二进制数;
在计算状态下,对所述斐波那契计算模块输出的二进制数进行累加;
交替执行所述工作状态下的操作和所述计算状态下的操作,直至所述斐波那契进制数据中的全部斐波那契进制数对应的二进制数均进行了累加,输出累加后的二进制数据。
第三方面,本申请实施例提供一种斐波那契进制译码装置,所述装置包括处理器和存储器,所述处理器与所述存储器通过总线连接;
所述存储器用于存储计算机执行指令,当所述装置运行时,所述处理器读取所述存储器存储的所述计算机执行指令,以使所述装置执行第二方面所述的斐波那契进制译码方法。
本申请实施例提供了一种斐波那契进制译码装置、方法,包括:接收模块,用于获取斐波那契进制数据;调用模块,用于将所述斐波那契进制数据中的每一位斐波那契进制数逐位输入至斐波那契计算模块;所述斐波那契计算模块,用于在工作状态下,针对所述斐波那契进制数据中的每一位斐波那契进制数,所述斐波那契计算模块将所述斐波那契进制数转换为二进制数,并输出所述二进制数;累加模块,用于在计算状态下,对所述斐波那契计算模块输出的二进制数进行累加;其中,所述斐波那契计算模块和所述累加模块交替执行所述工作状态下的操作和所述计算状态下的操作,直至所述斐波那契进制数据中的全部斐波那契进制数对应的二进制数均进行了累加;输出模块,用于输出累加后的二进制数据。通过本申请实施例提供的斐波那契进制译码装置实现了将斐波那契进制数据转换为二进制数据。
附图说明
图1为本申请实施例提供的一种斐波那契进制译码方法的实现流程示意图;
图2为本申请实施例提供的斐波那契进制译码装置的模块结构图;
图3a-图3c为本申请实施例提供的斐波那契进制译码装置的RTL级硬件描述电路图;
图4a-图4e为本申请实施例提供的斐波那契计算模块的RTL级硬件描述电路图;
图5为本申请实施例提供的一种斐波那契进制译码装置的结构示意图;
图6为本申请实施例提供的一种斐波那契进制译码装置的具体硬件结构。
具体实施方式
下面将参照附图更详细地描述本申请公开的示例性实施方式。虽然附图中显示了本申请的示例性实施方式,然而应当理解,可以以各种形式实现本申请,而不应被这里阐述的具体实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本申请,并且能够将本申请公开的范围完整的传达给本领域的技术人员。
在下文的描述中,给出了大量具体的细节以便提供对本申请更为彻底的理解。然而,对于本领域技术人员而言显而易见的是,本申请可以无需一个或多个这些细节而得以实施。在其他的例子中,为了避免与本申请发生混淆,对于本领域公知的一些技术特征未进行描述;即,这里不描述实际实施例的全部特征,不详细描述公知的功能和结构。
在附图中,为了清楚,层、区、元件的尺寸以及其相对尺寸可能被夸大。自始至终相同附图标记表示相同的元件。
应当明白,空间关系术语例如“在……下”、“在……下面”、“下面的”、“在……之下”、“在……之上”、“上面的”等,在这里可为了方便描述而被使用从而描述图中所示的一个元件或特征与其它元件或特征的关系。应当明白,除了图中所示的取向以外,空间关系术语意图还包括使用和操作中的器件的不同取向。例如,如果附图中的器件翻转,然后,描述为“在其它元件下面”或“在其之下”或“在其下”元件或特征将取向为在其它元件或特征“上”。因此,示例性术语“在……下面”和“在……下”可包括上和下两个取向。器件可以另外地取向(旋转90度或其它取向)并且在此使用的空间描述语相应地被解释。
在此使用的术语的目的仅在于描述具体实施例并且不作为本申请的限制。在此使用时,单数形式的“一”、“一个”和“所述/该”也意图包括复数形式,除非上下文清楚指出另外的方式。还应明白术语“组成”和/或“包括”,当在该说明书中使用时,确定所述特征、整数、步骤、操作、元件和/或部件的存在,但不排除一个或更多其它的特征、整数、步骤、操作、元件、部件和/或组的存在或添加。在此使用时,术语“和/或”包括相关所列项目的任何及所有组合。
本申请实施例提供了一种斐波那契进制译码方法,图1为本申请实施例提供的一种斐波那契进制译码方法的实现流程示意图,该方法主要包括以下步骤:
步骤101:获取斐波那契进制数据,将所述斐波那契进制数据中的每一位斐波那契进制数逐位输入至斐波那契计算模块。
在本申请实施例中,在空闲状态下,对系统参数进行初始化操作,若接收到使能信号,则从所述空闲状态转移至工作状态。其中,所述系统参数包括:使能信号、转换结束信号、输出信号和中间参数。所述中间参数可以为寄存器内存储的数据。所述初始化操作为将系统参数置0。
在本申请实施例中,在工作状态下,获取斐波那契进制数据,将所述斐波那契进制数据中的每一位斐波那契进制数逐位输入至斐波那契计算模块。需要说明的是,所述斐波那契进制数据的长度小于等于预设长度。在实际应用时,所述预设长度可以为32位(bit),也就是说,所述斐波那契进制数据包括32位斐波那契进制数。
需要说明的是,斐波那契数为满足规律F0=0,F1=1,Fn=Fn-1+Fn-2的数,其中,n≥2,n为正整数。一个自然数M的斐波拉契表示是指把M表示为互异的r个斐波拉契数之和,换句话说,就是把M表示为:M=Fk1+Fk2+...+Fkr。我们将一个自然数M的斐波拉契表示中的所有斐波拉契数按位置映射到0,1组成的比特串(Binary Sequence)中,即将比特串第k1,k1,…,kr位置1,其余位置0,这种数字表达方式称之为斐波拉契进制。
步骤102:在工作状态下,针对所述斐波那契进制数据中的每一位斐波那契进制数,所述斐波那契计算模块将所述斐波那契进制数转换为二进制数,并输出所述二进制数。
在本申请实施例中,在工作状态下,调用所述斐波那契计算模块对所述斐波那契进制数据进行二进制转换;针对所述斐波那契进制数据中的每一位斐波那契进制数,所述斐波那契计算模块将所述斐波那契进制数转换为二进制数,并输出所述二进制数。举个例子,若获取的斐波那契进制数据为100101010,则将斐波那契进制数据100101010整体转化为二进制数据的计算过程为:0f100101010=0×F0+1×F1+0×F2+1×F3+0×F4+1×F5+0×F6+0×F7+1×F8=29=0b11101。
步骤103:在计算状态下,对所述斐波那契计算模块输出的二进制数进行累加。
在本申请实施例中,若所述斐波那契计算模块输出所述二进制数,则从所述工作状态转移至所述计算状态,在计算状态下,对所述斐波那契计算模块输出的二进制数进行累加。若所述斐波那契进制数据包括N位斐波那契进制数,N为正整数;所述斐波那契计算模块输出的二进制数为所述N位斐波那契进制数中的第i位斐波那契进制数对应的二进制数,i为大于等于2且小于等于N的整数;则对所述斐波那契计算模块输出的二进制数进行累加的过程为:对所述第i位斐波那契进制数对应的二进制数和前一次的累加结果进行一次加法运算。
步骤104:交替执行所述工作状态下的操作和所述计算状态下的操作,直至所述斐波那契进制数据中的全部斐波那契进制数对应的二进制数均进行了累加,输出累加后的二进制数据。
在本申请实施例中,交替执行所述工作状态下的操作和所述计算状态下的操作,直至所述斐波那契进制数据中的全部斐波那契进制数对应的二进制数均进行了累加,最后从所述计算状态转移至所述工作状态,输出转换结束信号,并输出累加后的二进制数据,在输出所述转换结束信号后从所述工作状态转移至空闲状态。其中,所述转换结束信号用于指示译码结束或者指示所述斐波那契进制数据中的全部斐波那契进制数对应的二进制数均进行了累加。举个例子,若获取的斐波那契进制数据为100101010,则将斐波那契进制数据100101010逐位转化为二进制数据的计算过程为:在工作状态下,将所述斐波那契进制数据中的第一位斐波那契进制数0输入至斐波那契计算模块,由于该数值为0,则对应的二进制数也为0,所述斐波那契计算模块输出0,转移至计算状态,对所述斐波那契计算模块输出的二进制数进行累加,由于此时所述斐波那契计算模块输出的二进制数仅有一个(且为0),因此累加后的二进制数也为0;累加后,转移至工作状态,将所述斐波那契进制数据中的第二位斐波那契进制数1输入至斐波那契计算模块,斐波那契计算模块将1×F1(十进制1)转换为二进制数1,输出二进制数1,转移至计算状态,对所述斐波那契计算模块输出的二进制数和前一次的累加结果进行加法运算,即0+1,因此累加后的二进制数为1;(由于所述斐波那契进制数据中的0对应的斐波那契进制数为0,其对应的二进制数也为0,因此本申请实施例中对所述斐波那契进制数据中的置0位的计算过程不做过多的赘述,以下描述中仅针对置1位进行描述)…,累加后,转移至工作状态,将所述斐波那契进制数据中的第四位斐波那契进制数1输入至斐波那契计算模块,斐波那契计算模块将1×F3(十进制2)转换为二进制数10,输出二进制数10,转移至计算状态,对所述斐波那契计算模块输出的二进制数和前一次的累加结果进行加法运算,即10+1,因此累加后的二进制数为11;…,累加后,转移至工作状态,将所述斐波那契进制数据中的第六位斐波那契进制数1输入至斐波那契计算模块,斐波那契计算模块将1×F5(十进制5)转换为二进制数101,输出二进制数101,转移至计算状态,对所述斐波那契计算模块输出的二进制数和前一次的累加结果进行加法运算,即101+11,因此累加后的二进制数为1000;…,累加后,转移至工作状态,将所述斐波那契进制数据中的第九位斐波那契进制数1输入至斐波那契计算模块,斐波那契计算模块将1×F8(十进制21)转换为二进制数10101,输出二进制数10101,转移至计算状态,对所述斐波那契计算模块输出的二进制数和前一次的累加结果进行加法运算,即10101+1000,因此累加后的二进制数为11101;此时所述斐波那契进制数据中的全部斐波那契进制数对应的二进制数均进行了累加,从所述计算状态转移至所述工作状态,输出转换结束信号,并输出累加后的二进制数据11101,在输出所述转换结束信号后从所述工作状态转移至空闲状态。
在本申请实施例中,在所述工作状态下或在所述计算状态下,若接收到系统复位信号,则从所述工作状态或者所述计算状态转移至空闲状态。需要说明的是,本申请实施例中复位信号低电平有效。
在一些实施例中,对所述斐波那契计算模块输出的二进制数进行累加的过程还可以为:将所述斐波那契计算模块输出的二进制数写入寄存器;在所述计算状态下,从所述寄存器获取所述斐波那契计算模块输出的二进制数,并对获取的所述二进制数和前一次的累加结果进行加法运算。
本申请实施例提供了一种斐波那契进制译码方法、装置,所述方法包括:获取斐波那契进制数据,将所述斐波那契进制数据中的每一位斐波那契进制数逐位输入至斐波那契计算模块;在工作状态下,针对所述斐波那契进制数据中的每一位斐波那契进制数,所述斐波那契计算模块将所述斐波那契进制数转换为二进制数,并输出所述二进制数;在计算状态下,对所述斐波那契计算模块输出的二进制数进行累加;交替执行所述工作状态下的操作和所述计算状态下的操作,直至所述斐波那契进制数据中的全部斐波那契进制数对应的二进制数均进行了累加,输出累加后的二进制数据。通过本申请实施例提供的斐波那契进制译码方法实现了将斐波那契进制数据转换为二进制数据。
在本申请实施例中,可以通过Verilog硬件描述语言来实现斐波那契进制译码。图2为本申请实施例提供的斐波那契进制译码装置的模块结构图,如图2所示,译码器模块的端口信号包括:输入信号和输出信号;其中,所述输入信号包括:时钟信号clk,复位信号rst,斐波那契进制数据输入input_f和使能信号en_convert;所述输出信号包括:累加后的二进制数据输出f_b_out和转换结束信号convert_done。其中,斐波那契进制数据输入input_f和累加后的二进制数据输出f_b_out的数据长度均为32位,也就是说,允许输入的斐波那契进制数据最高为32位。
图3a-3c为本申请实施例提供的斐波那契进制译码装置的寄存器传输级(register-transfer level,RTL)硬件描述电路图,需要说明的是,图3a、图3b和图3c中的电路结构共同构成了本申请实施例提供的斐波那契进制译码装置。图3a、图3b和图3c中输入输出端口之间的连接关系为:图3a中的输入clk与时钟信号连接,图3a中的输入rst与复位信号连接,图3a中的输出convert_done作为斐波那契进制译码装置的转换结束信号输出,图3a中输入OUT与图3b中输出OUT连接,图3a中输入@OUT970,OUT1123,OUT1121与图3b和图3c中输出@OUT970,OUT1123,OUT1121连接;图3b中的输入input_f[31..0]与斐波那契进制数据输入连接,图3b中输入OUT0与图3a中输出OUT0连接,图3b中的输出f_b_out[31..0]作为斐波那契进制译码装置的累加后的二进制数据输出,图3b中输入OUT[31..0]与图3a中输出OUT[31..0]连接,图3b中输入@OUT0842,OUT0841,OUT01126与图3a中输出@OUT0842,OUT0841,OUT01126连接,图3b中输入@calculate_done883,OUT0968与图3a和图3c中输出@calculate_done883,OUT0968连接,图3b中输入OUT[9..0]与图3a中输出OUT[9..0]连接,图3b中输入OUT0与图3a中输出OUT0连接;图3c中的输入en_convert与使能信号连接,图3c中输入@OUT0842,OUT0841,OUT01126与图3a中输出@OUT0842,OUT0841,OUT01126连接,图3c中输入OUT0与图3a中输出OUT0连接,图3c中输入OUT[31..0]与图3a中输出OUT[31..0]连接。需要说明的是,图3a和图3b中的输出@OUT1061,OUT1059,OUT1057和输出@OUT01035,OUT01033,OUT01031为所述斐波那契进制译码装置的中间变量输出,这些输出连接寄存器。
图4a-4e为本申请实施例提供的斐波那契计算模块的RTL级硬件描述电路图,需要说明的是,图4a、图4b、图4c、图4d和图4e中的电路结构共同构成了本申请实施例提供的斐波那契计算模块。如图4a-4e所示,所述斐波那契计算模块的端口信号包括:输入信号和输出信号;其中,所述输入信号包括:时钟信号clk,复位信号rst,斐波那契进制数据中的每一位斐波那契进制数输入input_i和计算开始信号bigen_fibo_en;所述输出信号包括:将斐波那契进制数转换为二进制数输出fibo_out和计算结束信号calculate_done。
需要说明的是,上述提供的斐波那契进制译码装置的电路结构图和斐波那契计算模块的电路结构图仅为本申请实施例示例性提供的电路结构图,并非用于限制本申请实施例中斐波那契进制译码装置和斐波那契计算模块的电路结构。基于与本申请实施例提供的斐波那契进制译码方法相同构思形成的斐波那契进制译码装置的电路结构图和斐波那契计算模块的电路结构图均在本申请实施例的保护范围内。
基于前述斐波那契进制译码方法相同的技术构思,本申请实施例提供一种斐波那契进制译码装置,图5为本申请实施例提供的一种斐波那契进制译码装置的结构示意图,如图5所示,所述一种斐波那契进制译码装置500包括:
接收模块501,用于获取斐波那契进制数据;
调用模块502,用于将所述斐波那契进制数据中的每一位斐波那契进制数逐位输入至斐波那契计算模块;
斐波那契计算模块503,用于在工作状态下,针对所述斐波那契进制数据中的每一位斐波那契进制数,将所述斐波那契进制数转换为二进制数,并输出所述二进制数;
累加模块504,用于在计算状态下,对所述斐波那契计算模块输出的二进制数进行累加;
其中,所述斐波那契计算模块和所述累加模块交替执行所述工作状态下的操作和所述计算状态下的操作,直至所述斐波那契进制数据中的全部斐波那契进制数对应的二进制数均进行了累加;
输出模块505,用于输出累加后的二进制数据。
在一些实施例中,所述斐波那契进制数据的长度和所述累加后的二进制数据的长度均小于等于预设长度。
在一些实施例中,所述装置还包括:
使能模块506,用于在空闲状态下,若接收到使能信号,则从所述空闲状态转移至所述工作状态。
在一些实施例中,所述装置还包括:
工作模块507,用于在工作状态下,输出转换结束信号,并在输出所述转换结束信号后从所述工作状态转移至空闲状态;其中,所述转换结束信号用于指示译码结束或者指示所述斐波那契进制数据中的全部斐波那契进制数对应的二进制数均进行了累加。
在一些实施例中,所述斐波那契进制数据包括N位斐波那契进制数,N为正整数;所述斐波那契计算模块输出的二进制数为所述N位斐波那契进制数中的第i位斐波那契进制数对应的二进制数,i为大于等于2且小于等于N的整数;
所述累加模块504,具体用于对所述第i位斐波那契进制数对应的二进制数和前一次的累加结果进行一次加法运算。
在一些实施例中,所述累加模块504,还用于将所述斐波那契计算模块输出的二进制数写入寄存器;
在所述计算状态下,从所述寄存器获取所述斐波那契计算模块输出的二进制数,并对获取的所述二进制数和前一次的累加结果进行加法运算。
在一些实施例中,所述装置还包括:
复位模块508,用于在所述工作状态下或在所述计算状态下,若接收到系统复位信号,则从所述工作状态或者所述计算状态转移至空闲状态。
在本申请实施例中的各组成部分可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中,基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或processor(处理器)执行本申请实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
因此,本申请实施例提供了一种存储介质,该存储介质存储有计算机程序,所述计算机程序被至少一个处理器执行时实现上述实施例所述的步骤。
参见图6,示出了本申请实施例提供的一种斐波那契进制译码装置600的具体硬件结构,包括:网络接口601、存储器602和处理器603;各个组件通过总线系统604耦合在一起。可理解,总线系统604用于实现这些组件之间的连接通信。总线系统604除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图6中将各种总线都标为总线系统604。
其中,所述网络接口601,用于在与其他外部网元之间进行收发信息过程中,信号的接收和发送;
存储器602,用于存储能够在处理器603上运行的计算机程序;
处理器603,用于在运行所述计算机程序时,执行:
获取斐波那契进制数据,将所述斐波那契进制数据中的每一位斐波那契进制数逐位输入至斐波那契计算模块;
在工作状态下,针对所述斐波那契进制数据中的每一位斐波那契进制数,所述斐波那契计算模块将所述斐波那契进制数转换为二进制数,并输出所述二进制数;
在计算状态下,对所述斐波那契计算模块输出的二进制数进行累加;
交替执行所述工作状态下的操作和所述计算状态下的操作,直至所述斐波那契进制数据中的全部斐波那契进制数对应的二进制数均进行了累加,输出累加后的二进制数据。
所述处理器603还用于运行所述计算机程序时,执行:
所述斐波那契进制数据的长度和所述累加后的二进制数据的长度均小于等于预设长度。
所述处理器603还用于运行所述计算机程序时,执行:
在空闲状态下,若接收到使能信号,则从所述空闲状态转移至所述工作状态。
所述处理器603还用于运行所述计算机程序时,执行:
在工作状态下,输出转换结束信号,并在输出所述转换结束信号后从所述工作状态转移至空闲状态;其中,所述转换结束信号用于指示译码结束或者指示所述斐波那契进制数据中的全部斐波那契进制数对应的二进制数均进行了累加。
所述处理器603还用于运行所述计算机程序时,执行:
所述斐波那契进制数据包括N位斐波那契进制数,N为正整数;所述斐波那契计算模块输出的二进制数为所述N位斐波那契进制数中的第i位斐波那契进制数对应的二进制数,i为大于等于2且小于等于N的整数;
所述对所述斐波那契计算模块输出的二进制数进行累加,包括:
对所述第i位斐波那契进制数对应的二进制数和前一次的累加结果进行一次加法运算。
所述处理器603还用于运行所述计算机程序时,执行:
所述对所述斐波那契计算模块输出的二进制数进行累加,包括:
将所述斐波那契计算模块输出的二进制数写入寄存器;
在所述计算状态下,从所述寄存器获取所述斐波那契计算模块输出的二进制数,并对获取的所述二进制数和前一次的累加结果进行加法运算。
所述处理器603还用于运行所述计算机程序时,执行:
在所述工作状态下或在所述计算状态下,若接收到系统复位信号,则从所述工作状态或者所述计算状态转移至空闲状态。
可以理解,本申请实施例中的存储器602可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data RateSDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Sync Link DRAM,SLDRAM)和直接内存总线随机存取存储器(DirectRambus RAM,DRRAM)。本文描述的方法的存储器602旨在包括但不限于这些和任意其它适合类型的存储器。
而处理器603可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器603中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器603可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
可以理解的是,本文描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个ASIC、DSP、数字信号处理设备(DSP Device,DSPD)、可编程逻辑设备(Programmable Logic Device,PLD)、FPGA、通用处理器、控制器、微控制器、微处理器、用于执行本申请所述功能的其它电子单元或其组合中。
对于软件实现,可通过执行本文所述功能的模块(例如过程、函数等)来实现本文所述的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法和装置,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以全部集成在一个处理模块中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
本申请所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。
本申请所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (9)
1.一种斐波那契进制译码装置,其特征在于,包括:
接收模块,用于获取斐波那契进制数据;
调用模块,用于将所述斐波那契进制数据中的每一位斐波那契进制数逐位输入至斐波那契计算模块;
所述斐波那契计算模块,用于在工作状态下,针对所述斐波那契进制数据中的每一位斐波那契进制数,所述斐波那契计算模块将所述斐波那契进制数转换为二进制数,并输出所述二进制数;
累加模块,用于在计算状态下,对所述斐波那契计算模块输出的二进制数进行累加;
其中,所述斐波那契计算模块和所述累加模块交替执行所述工作状态下的操作和所述计算状态下的操作,直至所述斐波那契进制数据中的全部斐波那契进制数对应的二进制数均进行了累加;
输出模块,用于输出累加后的二进制数据。
2.根据权利要求1所述的斐波那契进制译码装置,其特征在于,
所述斐波那契进制数据的长度和所述累加后的二进制数据的长度均小于等于预设长度。
3.根据权利要求1所述的斐波那契进制译码装置,其特征在于,所述装置还包括:
使能模块,用于在空闲状态下,若接收到使能信号,则从所述空闲状态转移至所述工作状态。
4.根据权利要求1所述的斐波那契进制译码装置,其特征在于,所述装置还包括:
工作模块,用于在工作状态下,输出转换结束信号,并在输出所述转换结束信号后从所述工作状态转移至空闲状态;其中,所述转换结束信号用于指示译码结束或者指示所述斐波那契进制数据中的全部斐波那契进制数对应的二进制数均进行了累加。
5.根据权利要求4所述的斐波那契进制译码装置,其特征在于,所述斐波那契进制数据包括N位斐波那契进制数,N为正整数;所述斐波那契计算模块输出的二进制数为所述N位斐波那契进制数中的第i位斐波那契进制数对应的二进制数,i为大于等于2且小于等于N的整数;
所述累加模块,具体用于对所述第i位斐波那契进制数对应的二进制数和前一次的累加结果进行一次加法运算。
6.根据权利要求1所述的斐波那契进制译码装置,其特征在于,所述累加模块,还用于将所述斐波那契计算模块输出的二进制数写入寄存器;
在所述计算状态下,从所述寄存器获取所述斐波那契计算模块输出的二进制数,并对获取的所述二进制数和前一次的累加结果进行加法运算。
7.根据权利要求1至6中任一项所述的斐波那契进制译码装置,其特征在于,所述装置还包括:
复位模块,用于在所述工作状态下或在所述计算状态下,若接收到系统复位信号,则从所述工作状态或者所述计算状态转移至空闲状态。
8.一种斐波那契进制译码方法,其特征在于,所述方法包括:
获取斐波那契进制数据,将所述斐波那契进制数据中的每一位斐波那契进制数逐位输入至斐波那契计算模块;
在工作状态下,针对所述斐波那契进制数据中的每一位斐波那契进制数,将所述斐波那契进制数转换为二进制数,并输出所述二进制数;
在计算状态下,对所述斐波那契计算模块输出的二进制数进行累加;
交替执行所述工作状态下的操作和所述计算状态下的操作,直至所述斐波那契进制数据中的全部斐波那契进制数对应的二进制数均进行了累加,输出累加后的二进制数据。
9.一种斐波那契进制译码装置,其特征在于,所述装置包括处理器和存储器,所述处理器与所述存储器通过总线连接;
所述存储器用于存储计算机执行指令,当所述装置运行时,所述处理器读取所述存储器存储的所述计算机执行指令,以使所述装置执行权利要求8所述的斐波那契进制译码方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010244700.0A CN111464189A (zh) | 2020-03-31 | 2020-03-31 | 一种斐波那契进制译码装置、方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010244700.0A CN111464189A (zh) | 2020-03-31 | 2020-03-31 | 一种斐波那契进制译码装置、方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111464189A true CN111464189A (zh) | 2020-07-28 |
Family
ID=71678449
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010244700.0A Pending CN111464189A (zh) | 2020-03-31 | 2020-03-31 | 一种斐波那契进制译码装置、方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111464189A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112231740A (zh) * | 2020-12-10 | 2021-01-15 | 卓尔智联(武汉)研究院有限公司 | 数据加密方法、数据解密方法、装置、计算机设备和介质 |
CN112787658A (zh) * | 2020-12-31 | 2021-05-11 | 卓尔智联(武汉)研究院有限公司 | 基于斐波那契进制的逻辑运算电路 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SU1432789A1 (ru) * | 1986-06-27 | 1988-10-23 | Специальное Конструкторско-Технологическое Бюро "Модуль" Винницкого Политехнического Института | Преобразователь кода Фибоначчи в двоичный код |
SU1702375A1 (ru) * | 1989-09-12 | 1991-12-30 | Предприятие П/Я А-1001 | Накапливающий сумматор |
US20160112069A1 (en) * | 2003-09-09 | 2016-04-21 | Peter Lablans | Methods and Apparatus in Alternate Finite Field Based Coders and Decoders |
CN106940638A (zh) * | 2017-03-10 | 2017-07-11 | 南京大学 | 一种快速、低功耗和省面积的二进制原码加/减法运算单元的硬件架构 |
-
2020
- 2020-03-31 CN CN202010244700.0A patent/CN111464189A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SU1432789A1 (ru) * | 1986-06-27 | 1988-10-23 | Специальное Конструкторско-Технологическое Бюро "Модуль" Винницкого Политехнического Института | Преобразователь кода Фибоначчи в двоичный код |
SU1702375A1 (ru) * | 1989-09-12 | 1991-12-30 | Предприятие П/Я А-1001 | Накапливающий сумматор |
US20160112069A1 (en) * | 2003-09-09 | 2016-04-21 | Peter Lablans | Methods and Apparatus in Alternate Finite Field Based Coders and Decoders |
CN106940638A (zh) * | 2017-03-10 | 2017-07-11 | 南京大学 | 一种快速、低功耗和省面积的二进制原码加/减法运算单元的硬件架构 |
Non-Patent Citations (2)
Title |
---|
JIRI WALDER 等: "《CEUR Workshop Proceedigns》", 21 April 2010 * |
LY_SI_CHUNG: "《CSDN社区:blog.csdn.net/ly_si_chung/article/details/81169797》", 23 July 2018 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112231740A (zh) * | 2020-12-10 | 2021-01-15 | 卓尔智联(武汉)研究院有限公司 | 数据加密方法、数据解密方法、装置、计算机设备和介质 |
CN112231740B (zh) * | 2020-12-10 | 2021-03-16 | 卓尔智联(武汉)研究院有限公司 | 数据加密方法、数据解密方法、装置、计算机设备和介质 |
CN112787658A (zh) * | 2020-12-31 | 2021-05-11 | 卓尔智联(武汉)研究院有限公司 | 基于斐波那契进制的逻辑运算电路 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110688158B (zh) | 计算装置以及神经网络的处理系统 | |
KR101854520B1 (ko) | 타이트하게 커플링된 이종 컴퓨팅을 위한 하드웨어 프로세서스들 및 방법들 | |
JP6931050B2 (ja) | バイナリデータをエンコード及びデコードする方法及び装置 | |
CN110515589B (zh) | 乘法器、数据处理方法、芯片及电子设备 | |
CN111464189A (zh) | 一种斐波那契进制译码装置、方法 | |
US8989242B2 (en) | Encoding/decoding processor and wireless communication apparatus | |
KR100282516B1 (ko) | 길쌈부호 생성기 및 이를 내장한 디지털 신호 프로세서 | |
US8380897B2 (en) | Host computer, computer terminal, and card access method | |
US20210150328A1 (en) | Hierarchical Hybrid Network on Chip Architecture for Compute-in-memory Probabilistic Machine Learning Accelerator | |
RU2598594C2 (ru) | Нечувствительный к задержке буфер транзакции для связи с квитированием | |
CN102751963A (zh) | 基于乘累加器环的可配置离散小波变换电路及其实现方法 | |
US6789097B2 (en) | Real-time method for bit-reversal of large size arrays | |
CN209895329U (zh) | 乘法器 | |
CN110554886A (zh) | 数据拆分结构、方法及其片上实现 | |
WO2023033887A1 (en) | On-demand packetization for a chip-to-chip interface | |
JPH10336032A (ja) | A/d変換器 | |
CN209765494U (zh) | 一种异步fifo装置 | |
CN113031916A (zh) | 乘法器、数据处理方法、装置及芯片 | |
CN101351770A (zh) | 从装置和主装置、包含这些装置的系统和从装置操作方法 | |
CN102832951A (zh) | 一种基于概率计算的ldpc译码公式的实现方法 | |
CN117093510B (zh) | 大小端通用的缓存行高效索引方法 | |
KR101311617B1 (ko) | 저전력 대규모 집적 회로 시스템을 위한 어드레스 버스코딩/디코딩 방법 및 장치 | |
CN113162728B (zh) | 极化Polar编码方法、装置、电子设备和存储介质 | |
CN201054155Y (zh) | 一种适于jpeg码流的哈夫曼解码装置 | |
RU186547U1 (ru) | Процессор повышенной достоверности функционирования |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200728 |
|
RJ01 | Rejection of invention patent application after publication |