一种基于Python的滤波器自动化数据的验证平台及方法技术

技术编号:37306472 阅读:8 留言:0更新日期:2023-04-21 22:50
本发明专利技术涉及一种基于Python的滤波器自动化数据的验证平台及方法,该验证平台具体内容包括如下:用于运行MATLAB代码将待滤波信号的采样点通过fwrite函数等写文件函数存入到不同文件名的文本文件中并得到不同参数数据源的数据源生成单元,用于采用Python模块来控制读取CSV文件并以CSV配置参数的形式传递给MATLAB模块和VCS模块的平台控制中心,用于采用将MATLAB模块和VCS模块输出的数据相减后是否为零来判断所输出的数据的正确性的对比数据生成单元,用于存放所述MATLAB模块和VCS模块对比输出的结果的存放结果单元。因此,本发明专利技术不仅能够在运行一次程序的情况下将不同配置的输出结果对比,可以实现高度的自动化对比数据;还能将配置参数以表格的形式写入CSV文件,可以快速准确的配置各种参数信息。可以快速准确的配置各种参数信息。可以快速准确的配置各种参数信息。

【技术实现步骤摘要】
一种基于Python的滤波器自动化数据的验证平台及方法


[0001]本专利技术属于数字信号处理领域,涉及一种基于Python的滤波器自动化数据的验证平台及方法。

技术介绍

[0002]在FPGA项目工程中我们常常需要做数据对比,以保证设计出的成品是否与需求相同。对比的数据量往往是非常庞大的,现在的数据对比主要是通过Python来实现的自动化数据对比,在大量数据对比时确实很方便。目前的这种对比方式往往都是现将需要对比的数据提前输出到文档中然后再做对比,但在FPGA工程中输出数据往往会由多个输入信号共同决定,在做数据对比时我们就需要通过控制变量法来输出不同的数据。如果再使用一般的数据对比方式,每改变一个输入变量就需要重新修改代码,或者是把输入变量的所有情况全部写入代码中,这样都会带来极大的不大方便。
[0003]而一般的自动化数据对比方式在FPGA工程的数据对比中并不适用,FPGA中的数据对比需要通过控制变量来控制数据输出,一般的自动化数据对比方式并不能很好的进行变量控制,不能够实现高度的自动化,在FPGA工程中不满足项目开发人员的需求。

技术实现思路

[0004]有鉴于此,本专利技术的目的在于提供一种基于Python的滤波器自动化数据的验证平台及方法,从而快速准确的配置各种参数信息的基础上,实现高度的自动化对比数据。
[0005]为达到上述目的,本专利技术提供一种基于Python的滤波器自动化数据的验证平台,其中,该验证平台具体内容包括如下:
[0006]数据源生成单元,用于运行MATLAB代码将待滤波信号的采样点通过fwrite函数等写文件函数存入到不同文件名的文本文件中并得到不同参数的数据源;
[0007]平台控制中心单元,用于采用Python代码来读取CSV文件并以CSV配置参数的形式传递给MATLAB模块和VCS模块,同时控制运行MATLAB模块和VCS模块将所接收到的参数代入进行运算处理,并将各自处理后的输出数据通过写文件函数存入文本文件中,供Python模块通过读文件函数读取;其中,所述数据控制单元包括CSV模块和与所述CSV模块连接的Python模块;
[0008]对比数据生成单元,用于采用将MATLAB模块和VCS模块输出的数据相减后是否为零来判断所输出的数据的正确性;其中,所述对比数据生成单元包括与Python模块连接的MATLAB模块和与Python模块连接的VCS模块;
[0009]存放结果单元,用于存放所述MATLAB模块和VCS模块对比输出的结果;其中所述结果存放单元包括结果存放模块和与所述结果存放模块连接的错误告警模块,所述结果存放模块和所述错误告警模块均分别与Python模块连接。
[0010]优选地,所述CSV配置参数的存放格式为:测试编号(TV)、测试数据源编号(source)、测试的采样率(rate)和其他参数(other)。
[0011]优选地,所述MATLAB模块用于将CSV配置参数经过MATLAB算法运行处理后形成MATLAB输出数据,其中所述MATLAB输出数据将被存入到文本文件中,其文件命名可采用测试编号+数据源编号+采样率+M的形式与所述CSV配置参数相关联。
[0012]优选地,所述VCS模块用于将CSV配置参数经过VCS模块运行处理后形成VCS输出数据,其中所述VCS输出数据将被存入到文本文件中,其文件命名可采用测试编号+数据源编号+采样率+V的形式与所述CSV配置参数相关联。
[0013]为达到上述目的,本专利技术又提供了一种基于Python的滤波器自动化数据的验证方法,其中,该验证方法具体步骤包括:
[0014]S1、生成数据源:用于运行MATLAB代码将待滤波信号的采样点通过fwrite函数等写文件函数存入到不同文件名的文本文件中并得到不同参数的数据源;
[0015]S2、读取CSV文件并运算:采用Python模块来读取CSV文件并以CSV配置参数的形式传递给MATLAB模块和VCS模块,同时将所接收到的参数代入MATLAB模块和Python模块进行运算处理,并将各自处理后的输出数据存入文本文件中供Python模块读取使用;
[0016]S3、对比数据生成:Python模块接收到MATLAB模块和VCS模块的输出数据后,将MATLAB模块和VCS模块的输出数据相减后是否为零判断所输出的数据的正确性;
[0017]S5、结果存放:存放所述MATLAB模块和VCS模块对比输出的结果。
[0018]本专利技术的有益效果在于:本专利技术所述的技术方案能够适用于FPGA工程数据自动化对比,在数据对比时只需要运行一次代码便可以将所有可能情况的结果输出到相应的文件中,在Python部分只需要控制何时对比VCS和MATLAB的何种输入变量下的输出数据,并将对比结果输出出来,以便于工程师们能够知道是何种输入变量时两个平台的输出数据有问题,并快速找到问题所在,能够大大缩短工程师在开发项目时的工作量。
附图说明
[0019]为了使本专利技术的目的、技术方案和有益效果更加清楚,本专利技术提供如下附图进行说明:
[0020]图1为本专利技术所述一种基于Python的滤波器自动化数据的验证平台的基本框架图;
[0021]图2为本专利技术所述一种基于Python的滤波器自动化数据的验证平方法的基本流程图。
具体实施方式
[0022]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本申请保护范围。
[0023]本申请的核心是提供一种基于Python的滤波器自动化数据的验证平台及方法。
[0024]为了使本
的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。
[0025]随着互联网技术不断发展,处处都离不开数据的收集与处理,而降采样滤波器大
量运用于数字信号的处理过程中,因此,高可靠性的数字滤波器的设计尤为重要。而要实现高可靠性的数字滤波器则对数字滤波器的数据验证提出了更高的要求。但一般的自动化数据对比方式在FPGA工程的数据对比中并不适用,FPGA中的数据对比需要通过控制变量来控制数据输出,一般的自动化数据对比方式并不能很好的进行变量控制,不能够实现高度的自动化,在FPGA工程中不满足项目开发人员的需求。本专利技术实施以FIR滤波器为例说明,所述FIR滤波器的验证文件为:
[0026]>_pycache_
[0027]>.vscode
[0028]>config(每次读取CSV文件的参数会以宏定义的方式存在该文件下,然后Verilog代码读取该宏定义文件)
[0029]>design(用于存放Verilog代码)
[0030]&本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于Python的滤波器自动化数据的验证平台,其特征在于,该验证平台具体内容包括如下:数据源生成单元,用于运行MATLAB代码将待滤波信号的采样点通过fwrite函数等写文件函数存入到不同文件名的文本文件中并得到不同参数的数据源;平台控制中心单元,用于采用Python代码来读取CSV文件并以CSV配置参数的形式传递给MATLAB模块和VCS模块,同时控制运行MATLAB模块和VCS模块将所接收到的参数代入进行运算处理,并将各自处理后的输出数据通过写文件函数存入文本文件中,供Python模块通过读文件函数读取;其中,所述数据控制单元包括CSV模块和与所述CSV模块连接的Python模块;对比数据生成单元,用于采用将MATLAB模块和VCS模块输出的数据相减后是否为零来判断所输出的数据的正确性;其中,所述对比数据生成单元包括与Python模块连接的MATLAB模块和与Python模块连接的VCS模块;存放结果单元,用于存放所述MATLAB模块和VCS模块对比输出的结果;其中所述结果存放单元包括结果存放模块和与所述结果存放模块连接的错误告警模块,所述结果存放模块和所述错误告警模块均分别与Python模块连接。2.根据权利要求1所述的基于Python的VCS、MATLAB的自动化数据验证方法,其特征在于:所述CSV配置参数的存放格式为:测试编号TV、测试数据源编号source、测试的采样率rate和其他参数other。3.根据权利要求1所述的基于Python的FIR滤波器的自动化数...

【专利技术属性】
技术研发人员:尤喜成丁鹏云杜念通
申请(专利权)人:成都橙峰科技有限公司
类型:发明
国别省市:

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

1