QC-LDPC码块并行译码器硬件代码生成方法及装置制造方法及图纸

技术编号:35978056 阅读:57 留言:0更新日期:2022-12-17 22:47
本发明专利技术提供一种QC

【技术实现步骤摘要】
QC

LDPC码块并行译码器硬件代码生成方法及装置


[0001]本专利技术涉及通信
,尤其涉及一种QC

LDPC码块并行译码器硬件代码生成方法及装置。

技术介绍

[0002]现阶段关于准循环低密度奇偶校验(Quasi

Cyslic Low

Density Parity

Check,QC

LDPC)码块并行译码器的硬件代码生成的工作是使用高层次综合(High Level Synthesis,HLS)工具将C语言等高层次编程语言转化成Verilog等硬件语言,需要用户编写好C语言程序,HLS工具才能生成硬件代码。
[0003]现有方案,需要用户提前写好C语言程序,而写C语言程序比较耗时耗力,且容易出错,导致硬件设计效率较低。

技术实现思路

[0004]本专利技术提供一种QC

LDPC码块并行译码器硬件代码生成方法及装置,用以解决现有技术硬件设计效率较低的缺陷,实现快速生成QC

LDPC码块并行译码器的硬件代码。
[0005]本专利技术提供一种QC

LDPC码块并行译码器硬件代码生成方法,包括:
[0006]获取QC

LDPC码块并行译码器的设计参数;
[0007]基于所述设计参数确定QC

LDPC码块并行译码器的硬件架构中每一底层模块的规模;
[0008]基于每一底层模块的规模生成每一底层模块的硬件代码文件。
[0009]可选地,所述基于所述设计参数确定QC

LDPC码块并行译码器的硬件架构中每一底层模块的规模,包括:
[0010]基于脚本语言定义目标类,所述目标类的构造函数为所述设计参数;
[0011]在所述目标类中定义目标函数;
[0012]利用所述目标函数确定QC

LDPC码块并行译码器的硬件架构中每一底层模块的规模。
[0013]可选地,所述基于每一底层模块的规模生成每一底层模块的硬件代码文件,包括:
[0014]在所述目标类中为每一底层模块定义一个对应的底层函数;
[0015]通过每一所述底层函数访问每一底层模块的规模,并调用脚本语言的写文件函数,生成每一底层模块的硬件代码文件。
[0016]可选地,所述基于每一模块的规模生成每一模块的硬件代码文件之后,还包括:
[0017]在所述目标类中为顶层模块定义一个对应的顶层函数;
[0018]通过所述顶层函数生成所述顶层模块的硬件代码文件。
[0019]可选地,所述设计参数包括:QC

LDPC码的校验矩阵、和积算法的修正因子、信息量化策略和输出文件路径。
[0020]可选地,确定的QC

LDPC码块并行译码器的硬件架构中每一底层模块的规模包括:
每个存储器的位宽与深度、循环移位网络的输入输出大小及其所需列数、加法阵列的个数与位宽、减法阵列的个数与位宽、校验节点的位宽和早停模块的位宽。
[0021]本专利技术还提供一种QC

LDPC码块并行译码器硬件代码生成装置,包括:
[0022]获取模块,用于获取QC

LDPC码块并行译码器的设计参数;
[0023]确定模块,用于基于所述设计参数确定QC

LDPC码块并行译码器的硬件架构中每一底层模块的规模;
[0024]生成模块,用于基于每一底层模块的规模生成每一底层模块的硬件代码文件。
[0025]可选地,所述确定模块包括第一定义单元、第二定义单元和确定单元;
[0026]所述第一定义单元用于基于脚本语言定义目标类,所述目标类的构造函数为所述设计参数;
[0027]所述第二定义单元用于在所述目标类中定义目标函数;
[0028]所述确定单元用于利用所述目标函数确定QC

LDPC码块并行译码器的硬件架构中每一底层模块的规模。
[0029]本专利技术还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述QC

LDPC码块并行译码器硬件代码生成方法的步骤。
[0030]本专利技术还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述QC

LDPC码块并行译码器硬件代码生成方法的步骤。
[0031]本专利技术提供的QC

LDPC码块并行译码器硬件代码生成方法及装置,根据用户给定的参数计算出LDPC码块并行译码器中各个模块的规模,通过专门的函数为每个模块生成硬件代码,提高了硬件代码生成的效率。
附图说明
[0032]为了更清楚地说明本专利技术或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0033]图1是QC

LDPC码块并行译码器的硬件架构示意图;
[0034]图2是本专利技术提供的QC

LDPC码块并行译码器硬件代码生成方法的流程示意图;
[0035]图3是本专利技术提供的QC

LDPC码块并行译码器硬件代码生成装置的结构示意图;
[0036]图4是本专利技术提供的电子设备的结构示意图。
具体实施方式
[0037]现阶段关于QC

LDPC码块并行译码器的硬件代码生成的工作是使用HLS工具将C语言等高层次编程语言转化成Verilog等硬件语言,需要用户编写好C语言程序,HLS工具才能生成硬件代码。
[0038]现有方案,需要用户提前写好C语言程序,而写C语言程序比较耗时耗力,且容易出错,导致硬件设计效率较低。
[0039]另一个方案是使用FPGA中自带的LDPC码译码器的IP核,但是IP核只能在FPGA中使用,其代码无法用于专用集成电路(ASIC)的实现。
[0040]基于上述技术问题,本专利技术实施例提供一种QC

LDPC码块并行译码器硬件代码生成方法及装置,只需用户输入LDPC码对应的H矩阵等设计参数,即可由自动生成器迅速且直接地生成Verilog硬件代码(一般在运行后的0.1秒内就可得到硬件代码文件)。
[0041]为使本专利技术的目的、技术方案和优点更加清楚,下面将结合本专利技术中的附图,对本专利技术中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种QC

LDPC码块并行译码器硬件代码生成方法,其特征在于,包括:获取QC

LDPC码块并行译码器的设计参数;基于所述设计参数确定QC

LDPC码块并行译码器的硬件架构中每一底层模块的规模;基于每一底层模块的规模生成每一底层模块的硬件代码文件。2.根据权利要求1所述的QC

LDPC码块并行译码器硬件代码生成方法,其特征在于,所述基于所述设计参数确定QC

LDPC码块并行译码器的硬件架构中每一底层模块的规模,包括:基于脚本语言定义目标类,所述目标类的构造函数为所述设计参数;在所述目标类中定义目标函数;利用所述目标函数确定QC

LDPC码块并行译码器的硬件架构中每一底层模块的规模。3.根据权利要求2所述的QC

LDPC码块并行译码器硬件代码生成方法,其特征在于,所述基于每一底层模块的规模生成每一底层模块的硬件代码文件,包括:在所述目标类中为每一底层模块定义一个对应的底层函数;通过每一所述底层函数访问每一底层模块的规模,并调用脚本语言的写文件函数,生成每一底层模块的硬件代码文件。4.根据权利要求2所述的QC

LDPC码块并行译码器硬件代码生成方法,其特征在于,所述基于每一模块的规模生成每一模块的硬件代码文件之后,还包括:在所述目标类中为顶层模块定义一个对应的顶层函数;通过所述顶层函数生成所述顶层模块的硬件代码文件。5.根据权利要求1所述的QC

LDPC码块并行译码器硬件代码生成方法,其特征在于,所述设计参数包括:QC

LDPC码的校验矩阵、和积算法的修正因子、信息量化策略和输出文件路径。6.根据权利...

【专利技术属性】
技术研发人员:张川钟志伟杨敏华黄永明尤肖虎
申请(专利权)人:网络通信与安全紫金山实验室
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1