CN113722216A - 一种应用于ldpc ip灵活加载双矩阵的验证方法 - Google Patents
一种应用于ldpc ip灵活加载双矩阵的验证方法 Download PDFInfo
- Publication number
- CN113722216A CN113722216A CN202110958563.1A CN202110958563A CN113722216A CN 113722216 A CN113722216 A CN 113722216A CN 202110958563 A CN202110958563 A CN 202110958563A CN 113722216 A CN113722216 A CN 113722216A
- Authority
- CN
- China
- Prior art keywords
- matrix
- loading
- data format
- ldpc
- file
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 22
- 238000012795 verification Methods 0.000 title claims abstract description 18
- 238000004088 simulation Methods 0.000 claims abstract description 15
- 239000011159 matrix material Substances 0.000 claims description 137
- 230000009977 dual effect Effects 0.000 claims description 8
- 238000004904 shortening Methods 0.000 abstract description 3
- 238000012360 testing method Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012827 research and development Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3604—Software analysis for verifying properties of programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明公开一种应用于LDPC IP灵活加载双矩阵的验证,本方法通过仿真或编译参数,灵活选择加载不同的矩阵,通过与SystemVerilog系统函数的结合,处理配置流程中不同矩阵用同一宏定义的不同配置信息,从而可以大大减少手动修改加载矩阵相关代码的一些配置参数,缩短仿真时间。
Description
技术领域
本发明涉及存储领域,具体是一种应用于LDPC IP灵活加载双矩阵的验证方法。
背景技术
随着Nand flash工艺的进步和多位存储技术的出现,nand flash存储密度大幅增加,同时误码率也急剧增大。为了提高nand flash的可靠性,降低高误码率,性能优越,纠错能力强大的LDPC(Low density Parity Check,即低密度奇偶校验)码被提出。
在企业级SSD(solid state disk)主控芯片开发过程中,为了支持市售各家 nandflash芯片,需采用支持各种长度 Pairty(奇偶校验位) 的 LDPC码。因此,在LDPC IP开发过程中,需要不同矩阵以便适配不同nand flash颗粒的parity data(奇偶校验数据)和存储数据的data format(数据格式),每种矩阵提供一个ldpc.h文件,该文件使用define宏定义了LDPC加载该种矩阵时需要的一些配置参数。
目前,LDPC加载1种矩阵,适用于一种data format,如4096;对于另一种dataformat,如520,验证时需要重新加载另一种矩阵,从头进行一遍配置流程,比较浪费验证时间。因此设计新增功能,配置为可以加载2种不同矩阵,在发送命令时选择不同矩阵已适用于不同的data format。难点在于,加载的2种不同矩阵的ldpc.h的同一宏定义的值不同,在加载过程中,该配置参数需要改变;以及在发送命令时,该命令中的data format与矩阵选择的对应关系。
发明内容
针对现有技术的缺陷,本发明提供一种应用于LDPC IP灵活加载双矩阵的验证方法,通过仿真或编译参数,灵活选择加载不同的矩阵,通过与SystemVerilog系统函数的结合,处理配置流程中不同矩阵用同一宏定义的不同配置信息,从而可以大大减少手动修改加载矩阵相关代码的一些配置参数,缩短仿真时间。
为了解决所述技术问题,本发明采用的技术方案是:一种应用于LDPC IP灵活加载双矩阵的验证方法,包括以下步骤:
S01)、通过仿真参数或编译参数传入矩阵0与矩阵1的名字;
S02)、通过获取到的矩阵名字判断该矩阵适用的数据格式;
S03)、通过获取到的矩阵名字,利用SystemVerilog系统函数获得该矩阵对应ldpc.h文件的路径,然后使用SystemVerilog系统函数打开ldpc.h文件,获取每一行的宏定义配置信息,将这些宏定义转换为参数类型;
S04)、定义加载矩阵0、矩阵1需要的配置参数,将步骤S03转换完成的参数信息赋给相应矩阵的配置参数;
S05)、按需加载矩阵0及矩阵1,以及其他命令发送前的配置流程;
S06)、发送命令,根据命令中的数据格式以及步骤S02中的矩阵信息判断判断该条命令选择使用矩阵0或矩阵1。
进一步的,步骤S03)中,利用$sformatf函数获得该矩阵对应ldpc.h文件的路径。
进一步的,步骤S03)中,利用$fopen、$fscanf及$fclose函数打开ldpc.h文件,根据指定的格式对ldpc.h文件中的信息进行解析,以获取每一行的宏定义配置信息,以及关闭文件。
进一步的,步骤S04)中,若不加载某个矩阵,在该矩阵的配置信息全为0。
进一步的,加载双矩阵的搭配包括:
A、不加载矩阵0,不加载矩阵1;
B、加载矩阵0,对应数据格式4096,不加载矩阵1;
C、加载矩阵0,对应数据格式520,不加载矩阵1;
D、不加载矩阵0,加载矩阵1,对应数据格式4096;
E、不加载矩阵0,加载矩阵1,对应数据格式520;
F、加载矩阵0,对应数据格式4096,加载矩阵1,对应数据格式4096;
G、加载矩阵0,对应数据格式520,加载矩阵1,对应数据格式520;
H、加载矩阵0,对应数据格式4096,加载矩阵1,对应数据格式520;
I、加载矩阵0,对应数据格式520,加载矩阵1,对应数据格式4096。
本发明的有益效果:本方法更具有灵活性,巧妙的结合了SystemVerilog系统函数,躲避了宏定义在仿真时不能改变的痛点,不同的测试用例根据各自的测试需求去加载不同矩阵(只加载矩阵0、只加载矩阵1、加载矩阵0和矩阵1、矩阵0与矩阵1均不加载),从而有助于缩短仿真时间,使得验证人员不需要修改现有代码就可针对现有不同矩阵甚至新增矩阵进行仿真验证,提高验证速度,加快研发流程。
附图说明
图1为本方法的流程图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步的说明。
实施例1
本实施例公开一种应用于LDPC IP灵活加载双矩阵的验证,如图1所示,包括以下步骤:
S01)、通过仿真参数或编译参数传入矩阵0与矩阵1的名字;
其中仿真参数适用于所有矩阵,编译参数定义几种针对不同厂家nand model对应不同数据格式的常用矩阵。若传入参数为0,则不加载该矩阵。
S02)、通过获取到的矩阵名字判断该矩阵适用的数据格式;例如矩阵0适用于4096的data format,矩阵1适用于520的data format;若不加载矩阵0,则矩阵0既不适用于4096,也不适用于520。
S03)、通过获取到的矩阵名字,利用SystemVerilog系统函数获得该矩阵对应ldpc.h文件的路径,然后使用SystemVerilog系统函数打开ldpc.h文件,获取每一行的宏定义配置信息,将这些宏定义转换为参数类型;
S04)、定义加载矩阵0、矩阵1需要的配置参数,将步骤S03转换完成的参数信息赋给相应矩阵的配置参数;由此完成2种不同矩阵的宏定义转换为参数,避免同一宏定义在仿真过程中不能修改的痛点。若不加载矩阵0或矩阵1,则该矩阵的配置信息全为0。
S05)、按需加载矩阵0及矩阵1,以及其他命令发送前的配置流程;
S06)、发送命令,根据命令中的数据格式以及步骤S02中的矩阵信息判断判断该条命令选择使用矩阵0或矩阵1。例如当该条命令中数据格式为4096时,选择矩阵0。
步骤S03)中,利用$sformatf函数获得该矩阵对应ldpc.h文件的路径。
步骤S03)中,利用$fopen、$fscanf及$fclose函数打开ldpc.h文件,根据指定的格式对ldpc.h文件中的信息进行解析,以获取每一行的宏定义配置信息,以及关闭文件。
本实施例中,加载双矩阵的搭配包括:
A、不加载矩阵0,不加载矩阵1;
B、加载矩阵0,对应数据格式4096,不加载矩阵1;
C、加载矩阵0,对应数据格式520,不加载矩阵1;
D、不加载矩阵0,加载矩阵1,对应数据格式4096;
E、不加载矩阵0,加载矩阵1,对应数据格式520;
F、加载矩阵0,对应数据格式4096,加载矩阵1,对应数据格式4096;
G、加载矩阵0,对应数据格式520,加载矩阵1,对应数据格式520;
H、加载矩阵0,对应数据格式4096,加载矩阵1,对应数据格式520;
I、加载矩阵0,对应数据格式520,加载矩阵1,对应数据格式4096。
本实施例所述发明更具有灵活性,巧妙的结合了SystemVerilog系统函数,躲避了宏定义在仿真时不能改变的痛点,不同的测试用例根据各自的测试需求去加载不同矩阵(只加载矩阵0、只加载矩阵1、加载矩阵0和矩阵1、矩阵0与矩阵1均不加载),从而有助于缩短仿真时间,使得验证人员不需要修改现有代码就可针对现有不同矩阵甚至新增矩阵进行仿真验证,提高验证速度,加快研发流程。
以上描述的仅是本发明的基本原理和优选实施例,本领域技术人员根据本发明做出的改进和替换,属于本发明的保护范围。
Claims (5)
1.一种应用于LDPC IP灵活加载双矩阵的验证方法,其特征在于:包括以下步骤:
S01)、通过仿真参数或编译参数传入矩阵0与矩阵1的名字;
S02)、通过获取到的矩阵名字判断该矩阵适用的数据格式;
S03)、通过获取到的矩阵名字,利用SystemVerilog系统函数获得该矩阵对应ldpc.h文件的路径,然后使用SystemVerilog系统函数打开ldpc.h文件,获取每一行的宏定义配置信息,将这些宏定义转换为参数类型;
S04)、定义加载矩阵0、矩阵1需要的配置参数,将步骤S03转换完成的参数信息赋给相应矩阵的配置参数;
S05)、按需加载矩阵0及矩阵1,以及其他命令发送前的配置流程;
S06)、发送命令,根据命令中的数据格式以及步骤S02中的矩阵信息判断判断该条命令选择使用矩阵0或矩阵1。
2.根据权利要求1所述的应用于LDPC IP灵活加载双矩阵的验证方法,其特征在于:步骤S03)中,利用$sformatf函数获得该矩阵对应ldpc.h文件的路径。
3.根据权利要求1所述的应用于LDPC IP灵活加载双矩阵的验证方法,其特征在于:步骤S03)中,利用$fopen、$fscanf及$fclose函数打开ldpc.h文件,根据指定的格式对ldpc.h文件中的信息进行解析,以获取每一行的宏定义配置信息,以及关闭文件。
4.根据权利要求1所述的应用于LDPC IP灵活加载双矩阵的验证方法,其特征在于:步骤S04)中,若不加载某个矩阵,在该矩阵的配置信息全为0。
5.根据权利要去1所述的应用于LDPC IP灵活加载双矩阵的验证方法,其特征在于:加载双矩阵的搭配包括:
A、不加载矩阵0,不加载矩阵1;
B、加载矩阵0,对应数据格式4096,不加载矩阵1;
C、加载矩阵0,对应数据格式520,不加载矩阵1;
D、不加载矩阵0,加载矩阵1,对应数据格式4096;
E、不加载矩阵0,加载矩阵1,对应数据格式520;
F、加载矩阵0,对应数据格式4096,加载矩阵1,对应数据格式4096;
G、加载矩阵0,对应数据格式520,加载矩阵1,对应数据格式520;
H、加载矩阵0,对应数据格式4096,加载矩阵1,对应数据格式520;
I、加载矩阵0,对应数据格式520,加载矩阵1,对应数据格式4096。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110958563.1A CN113722216B (zh) | 2021-08-20 | 2021-08-20 | 一种应用于ldpc ip灵活加载双矩阵的验证方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110958563.1A CN113722216B (zh) | 2021-08-20 | 2021-08-20 | 一种应用于ldpc ip灵活加载双矩阵的验证方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113722216A true CN113722216A (zh) | 2021-11-30 |
CN113722216B CN113722216B (zh) | 2024-02-09 |
Family
ID=78676960
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110958563.1A Active CN113722216B (zh) | 2021-08-20 | 2021-08-20 | 一种应用于ldpc ip灵活加载双矩阵的验证方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113722216B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050144549A1 (en) * | 2003-12-24 | 2005-06-30 | Kim Jung H. | Methods for coding and decoding LDPC codes, and method for forming LDPC parity check matrix |
CN101395804A (zh) * | 2004-09-17 | 2009-03-25 | Lg电子株式会社 | 使用ldpc码编码和解码的方法 |
CN108196976A (zh) * | 2017-12-28 | 2018-06-22 | 湖南国科微电子股份有限公司 | 一种ldpc仿真验证平台、验证方法 |
-
2021
- 2021-08-20 CN CN202110958563.1A patent/CN113722216B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050144549A1 (en) * | 2003-12-24 | 2005-06-30 | Kim Jung H. | Methods for coding and decoding LDPC codes, and method for forming LDPC parity check matrix |
CN101395804A (zh) * | 2004-09-17 | 2009-03-25 | Lg电子株式会社 | 使用ldpc码编码和解码的方法 |
CN108196976A (zh) * | 2017-12-28 | 2018-06-22 | 湖南国科微电子股份有限公司 | 一种ldpc仿真验证平台、验证方法 |
Non-Patent Citations (1)
Title |
---|
祝周荣;关俊强;李前进;赵超;刘芳汝;: "SVDPI技术在FPGA仿真验证的应用探讨", 计算机测量与控制, no. 06 * |
Also Published As
Publication number | Publication date |
---|---|
CN113722216B (zh) | 2024-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7716414B2 (en) | Method for updating a mobile device using an update package obtained from a remote server | |
EP1569102B1 (en) | Flash memory programming | |
CN108089882B (zh) | 编码和解码可变长度指令 | |
US20050278399A1 (en) | Apparatus and method for efficient generation of delta files for over-the-air upgrades in a wireless network | |
US20070132774A1 (en) | System and method for a patch minimization tool | |
US7721258B2 (en) | Integrated development environment with managed platform registry | |
US11222280B2 (en) | Method and system for generating quantum bit control signal | |
CN110377454A (zh) | 数据校验方法、装置、计算机设备和存储介质 | |
CN101075213B (zh) | 只读存储器数据修补电路和方法、及其嵌入式系统 | |
US20110321030A1 (en) | Method and apparatus for updating a software image | |
CN104536734A (zh) | 一种通用游戏音效管理系统和方法 | |
CN110502362A (zh) | 基于微服务架构的错误码定义方法、装置和计算机设备 | |
US9367482B2 (en) | Systems and methods to extend ROM functionality | |
CN113722216A (zh) | 一种应用于ldpc ip灵活加载双矩阵的验证方法 | |
CN111796863B (zh) | 一种跨环境的项目版本的管理方法 | |
US8037357B2 (en) | System and method for generating test job control language files | |
CN110968339B (zh) | 前端构建工具的方法、装置以及电子设备 | |
CN101561884B (zh) | 一种可变数据印刷过程中的脚本实现方法及装置 | |
CN107885523B (zh) | 一种快速稳定的串口升级软件方法 | |
CN106843925B (zh) | 一种运用于dsp的功能模块动态加载方法 | |
KR100849301B1 (ko) | 무선 네트워크에서의 오버-더-에어 업그레이드용 델타파일의 효율적 생성 장치 및 방법 | |
CN112965697B (zh) | 一种代码文件的生成方法、装置及电子设备 | |
CN105760389A (zh) | 一种设备升级的方法及传送网设备 | |
CN114265614B (zh) | 一种代理差分升级的方法及系统 | |
EP1754322A1 (en) | Apparatus and method for efficient generation of delta files for over-the-air upgrades in a wireless network |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |