首页> 中国专利> 一种基于UVM的相控阵雷达数字波束形成器模块验证方法及其验证平台

一种基于UVM的相控阵雷达数字波束形成器模块验证方法及其验证平台

摘要

本发明涉及一种基于UVM的相控阵雷达数字波束形成器模块验证方法及其验证平台,该验证方法利用DPI接口在激励产生器模块中构建C函数模型,实现通道数据、加权系数、校正系数以及波束指向系数的复数运算,并完成浮点数到定点数的转换,激励到DBF模块中,同时,验证平台会自动采集经DBF模块运算后的波束信息,并与参考模型进行自动化的结果比对,比对正确的结果会由定点数转换为浮点数后写入文件以供后续处理。本发明的优点是:可重用,易维护,高效率,高覆盖,可大大降低DBF模块验证程序的代码量以及后期板上调试的工作量,并提高DBF模块的FPGA逻辑代码的开发效率与质量。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-09-08

    授权

    授权

  • 2015-09-23

    实质审查的生效 IPC(主分类):G01S7/40 申请日:20150421

    实质审查的生效

  • 2015-08-26

    公开

    公开

说明书

技术领域:

本发明涉及数字波束形成(DBF,Digital beam forming)技术以及FPGA(Field Programmable Gate Array)逻辑验证领域,具体地说是一种可重用、易维护、高效、高覆盖,可大大降低DBF模块验证程序的代码量以及后期板上调试的工作量,并提高DBF模块的FPGA逻辑代码的开发效率与质量的基于UVM(Universal Verification Methodology)的相控阵雷达数字波束形成器模块验证方法及其验证平台。

背景技术:

DBF一直是相控阵雷达的关键技术,它属于阵列信号处理范畴,充分利用了阵列天线所检测到的空间信息,可以方便地获得超分辨和低副瓣的性能、实现波束扫描、自校准和自适应波束形成等,具有灵活性和实时性的特点。DBF采用数字处理方法,对于某一方向入射信号,补偿由于传感器在空间位置不同而引起的传播路程差导致的相位差,实现同相叠加,从而实现该方向的最大能量接收,完成该方向上波束形成。DBF系统主要由天线阵列、接收机模块、A/D模块、数字波束形成器、波束控制器和后置信号处理器组成,如图1所示,对于某一方向的数字波束形成要完成下列运算:

Bk(t)=f(t)Σn=0N-1[exp(j2πn·dsinαλ)·exp(-j2πnN·Ωk)·C(n)·W]---(1)

k=0,1,…,K-1

公式(1)中,f(t)为目标接收信息;k为波束号;d为阵元间距,如图2所示;λ为发射载波波长;α为目标信号相对天线阵面法线的入射角;n为第n通道;N为天线阵面上垂直向排列的阵元数;W为加权系数;C为校正参数;Ω反映波束指向。

Ωk=N·d·sinαλ---(2)

显然,当波束指向满足公式(2)时,该波束接收到的信号最大,其他方向的波束信号幅度下 降。

可以将公式(1)简化为

Bk=Σn=0N-1X(n)·Sk(n)·C(n)·W---(3)

k=0,1,…,K-1

公式(3)中,X(n)为第n通道来的输入复信号;Sk为波束指向参数。

由以上公式可以看出,波束形成器实质是完成输入信号和对应的权系数复数乘法累加的功能,在工程上一般采用FPGA实现。传统的数字波束形成器设计流程分为需求分析、硬件描述语言的设计输入、仿真验证、网表下载后的板级调试。其中,在仿真验证阶段由于需要产生的测试激励信号较为复杂,且其激励数据源多为由浮点复数经过转换而形成的二进制或十六制的定点矢量化数据,利用传统的Verilog或VHDL等硬件描述语言很难将其实现。因此,工程师在该阶段只进行一些简单的仿真验证。仿真验证一般不会作为主要的保证设计质量的手段,也不会使用任何验证方法学。但是伴随DBF系统规模以及设计复杂度的提高,仅靠后期板上调试会浪费大量时间,并且难于定位逻辑错误,也不能保证设计的模块已经经过全面的验证,在边界的条件下不会存在错误。因此,如何简单、高效的生成符合设计要求的测试激励,搭建一个可重用、易维护的验证平台,以提高仿真验证的效率和全面性,在数字波束形成器的设计过程中显得尤为重要。

UVM是新一代基于System Verilog语言的高级验证方法学,工程师用它可创建易开发、可重用、自动化的验证组件和验证平台。UVM以System Verilog语言为基础,具有面向对象编程的特性,并且提供了DPI(Direct Programming Interface)接口,可以方便的完成UVM中的验证组件和C模型的无缝对接。利用UVM验证方法学的思想和架构,并使用C模型完成复杂测试激励数据的生成,便可以为数字波束形成器模块提供一种优秀、全面、高效、可重用的验证方法。

发明内容:

本发明要解决的技术问题是,提供一种可重用,易维护,高效率,高覆盖,可大大降低DBF模块验证程序的代码量以及后期板上调试的工作量,并提高DBF模块的FPGA逻辑代码的 开发效率与质量的基于UVM的相控阵雷达数字波束形成器模块验证方法及其实现该验证方法的验证平台。

本发明的技术解决方案是,提供一种包括以下顺序步骤的基于UVM的相控阵雷达数字波束形成器模块验证方法

①在激励产生器模块中定义DPI接口并声明通道数据、加权系数、校正系数以及波束指向系数生成的C函数;

②C函数根据参数配置和算法要求,生成相应的通道数据和系数数据,并转换为定点数传递给激励产生器;

③驱动器通过TLM接口将激励产生器模块产生的激励数据打包驱动到接口,进而加载到DBF模块上;

④监视器模块对DBF模块输出的数据进行采集,一方面发送给参考模型进行结果的自动比对,一方面通过调用DPI接口将采集的数据转换为复平面内代表方向与距离信息,并写入文件,供下一步的数据分析使用。

本发明所述的基于UVM的相控阵雷达数字波束形成器模块验证方法,其中,激励产生器中通道复信号的产生方法如下:

①首先,在激励产生器中声明DPI接口,以及需要调用的通道复信号产生C函数:

Import"DPI-C"function void dbf_data_build( 

                                 input bit[31:0]  ELE_NUM,

                                 input bit[31:0]  CH_NUM,

                                 output bit[15:0]  DATA_REAL,

                                 output bit[15:0]  DATA_IMAG);

该C函数与激励产生器通过四个参数来完成数据的交换,分别是阵元数(ELE_NUM)、通道数(CH_NUM)、数据实部(DATA_REAL)以及数据虚部(DATA_IMAG)。

②在C函数中,根据雷达方位扫描的起始方向(DIR_START),结束方向(DIR_END)以及方向变化的步长(DIR_STEP)确定第m个距离单元的扫描角θ

θ=(DIR_START+DIR_STEP×m)×π/180

进而确定第n个阵元在第m个距离单元的复信号

array_data(n,m)=ejn·dλsin(θ)

其中,d为天线阵元之间的间距,λ为波长。

③最后,将复数据的实部与虚步分别转换为十六位的定点数,通过DPI接口输入给激励产生器,

DATA_REAL=cos(sin(θ)n·dλ)·215-1

DATA_IMAG=sin(sin(θ)n·dλ)·215-1

激励产生器根据需要将生成的数据实部与虚部数据加载到接口上,以完成对波束形成器模块中通道数据的激励。

本发明所述的基于UVM的相控阵雷达数字波束形成器模块验证方法,其中,激励产生器中加权系数的产生方法如下:

①首先,在激励产生器中声明DPI接口,以及需要调用的加权系数产生C函数:

import"DPI-C"function void dbf_coef_build 

                                  (input bit[31:0]  ELE_NUM,

                                  input bit[31:0]  CH_NUM,

                                  input bit[31:0]  MAX_BEAM_NUM,

                                  input bit[31:0]  BGROUP_NUM,

                                  input bit[31:0]  BCOMBIN_NUM,

                                  output bit[15:0]  COEF_REAL,

                                  output bit[15:0]  COEF_IMAG);

该C函数与激励产生器通过七个参数来完成数据的交换,分别是阵元数(ELE_NUM)、通道数(CH_NUM)、最大波束数(MAX_BEAM_NUM)、波束组数(BGROUP_NUM、波束集数(BCOMBIN_NUM)、系数实部(COEF_REAL)以及系数虚部(COEF_IMAG)。

②在C函数中,根据波束产生的起始方位(RCV_BEAM_START)、终止方位(RCV_BEAM_START)以及步长(RCV_BEAM_STEP)确定第m个波束的扫描角θ0

θ0=(RCV_BEAM_START+RCV_BEAM_STEP×m)×π/180

进而确定第n个阵元在第m个波束的系数

array_coef(n,m)=e-jn·dλsin(θ0)

其中,d为天线阵元之间的间距,λ为波长。

③最后,将系数的实部与虚步分别转换为十六位的定点数,通过DPI接口输入给激励产生器

COEF_REAL=cos(sin(θ0)n·dλ)·215-1

COEF_IMAG=sin(sin(θ0)n·dλ)·215-1

激励产生器根据需要将生成的权系数实部与虚部数据加载到接口上,以完成对波束形成器模块中权系数的激励。

为了实现基于UVM的相控阵雷达数字波束形成器模块验证方法,本发明的另一个技术解决方案是,提供一种基于UVM验证环境的验证平台,该验证平台包括测试用例库、UVM验证环境、数据发送代理器、数据接收代理器以及计分板,数据发送代理器和数据接收代理器均位于UVM验证环境内,数据发送代理器包括第一监视器、数据-系数生成器、第一激励产生器和第一驱动器,数据接收代理器包括波束数据转换器、第二监视器、第二驱动器和第二激励产生器,第一监视器通过接口采集DBF模块上的端口数据,第一激励产生器一端通过DPI接口与数据-系数生成器连接,第一激励产生器另一端与第一驱动器一端连接,第一驱动器另一端与接口一端连接,接口另一端与DBF模块连接,第二监视器通过DPI接口与波束数据转换器连接,第二监视器通过接口采集DBF模块上的端口数据,第二驱动器一端与第二激励产生器连接,第二驱动器另一端与接口连接,接口与DBF模块连接,测试用例库同时与数据发送代理器和数据接收代理器连接,UVM验证环境通过TLM接口与计分板连接,计分板包括参考模型和比较器,比较器一端与参考模型连接,比较器另一端与UVM验证环境中的第二监视器连接。

与现有的相控阵雷达数字波束形成器模块的验证方法相比较,本发明的有益效果在于:本发明采用了验证方法学UVM,能够实现一个层次化的验证结构,可以较简单的移植并验证不同配置的波束形成器模块,并在激励产生器中通过调用C模型的方法完成了测试数据的生成,使得驱动到DBF模块的测试激励不仅具有实际的物理意义,而且生成的测试激励还具备 可重用、易维护、高覆盖、高效率等特点,可大大降低DBF模块验证程序的代码量以及后期板上调试的工作量,并提高DBF模块的FPGA逻辑代码的开发效率与质量。同时,在驱动器中同样通过DPI接口调用C模型的方法,可以方便的将采样到的DBF输出信号转换为较关心的复平面内方向与距离信息,也便于通过绘制方向图来观测波束信号的变化趋势。

与传统的UVM验证平台相比较,为了适配数字波束形成器模块的复数乘累加运算,本发明在激励产生器中调用DPI接口,利用C模型进行浮点数运算,并完成浮点数到定点数的转换,以实现可重用、易维护、高效、方便的测试激励信号建立方法。

附图说明:

图1是典型DBF体制雷达组成原理框图;

图2是波束形成电路结构示意图;

图3是DBF模块验证环境的验证平台的结构示意图。

具体实施例:

下面结合附图和具体实施例对本发明一种基于UVM的相控阵雷达数字波束形成器模块验证方法及其验证平台作进一步说明。

本具体实施例中,本发明一种基于UVM的相控阵雷达数字波束形成器模块验证方法包括以下步骤

①在激励产生器模块中定义DPI接口并声明通道数据、加权系数、校正系数以及波束指向系数生成的C函数;

②C函数根据参数配置和算法要求,生成相应的通道数据和系数数据,并转换为定点数传递给激励产生器;

③驱动器通过TLM接口将激励产生器模块产生的激励数据打包驱动到接口,进而加载到DBF模块上;

④监视器模块对DBF模块输出的数据进行采集,一方面发送给参考模型进行结果的自动比对,一方面通过调用DPI接口将采集的数据转换为复平面内代表方向与距离信息,并写入文件,供下一步的数据分析使用。

本具体实施例中,激励产生器中通道复信号的产生方法如下:

①首先,在激励产生器中声明DPI接口,以及需要调用的通道复信号产生C函数:

Import"DPI-C"function void dbf_data_build( 

                                 input bit[31:0]  ELE_NUM,

                                 input bit[31:0]  CH_NUM,

                                 output bit[15:0]  DATA_REAL,

                                 output bit[15:0]  DATA_IMAG);

该C函数与激励产生器通过四个参数来完成数据的交换,分别是阵元数(ELE_NUM)、通道数(CH_NUM)、数据实部(DATA_REAL)以及数据虚部(DATA_IMAG)。

②在C函数中,根据雷达方位扫描的起始方向(DIR_START),结束方向(DIR_END)以及方向变化的步长(DIR_STEP)确定第m个距离单元的扫描角θ

θ=(DIR_START+DIR_STEP×m)×π/180

进而确定第n个阵元在第m个距离单元的复信号

array_data(n,m)=ejn·dλsin(θ)

其中,d为天线阵元之间的间距,λ为波长。

③最后,将复数据的实部与虚步分别转换为十六位的定点数,通过DPI接口输入给激励产生器,

DATA_REAL=cos(sin(θ)n·dλ)·215-1

DATA_IMAG=sin(sin(θ)n·dλ)·215-1

激励产生器根据需要将生成的数据实部与虚部数据加载到接口上,以完成对波束形成器模块中通道数据的激励。

本具体实施例中,激励产生器中加权系数的产生方法如下:

①首先,在激励产生器中声明DPI接口,以及需要调用的加权系数产生C函数:

import"DPI-C"function void dbf_coef_build 

                                 (input bit[31:0]  ELE_NUM,

                                 input bit[31:0]  CH_NUM,

                                 input bit[31:0]  MAX_BEAM_NUM,

                                 input bit[31:0]  BGROUP_NUM,

                                 input bit[31:0]  BCOMBIN_NUM,

                                 output bit[15:0]  COEF_REAL,

                                 output bit[15:0]  COEF_IMAG);

该C函数与激励产生器通过七个参数来完成数据的交换,分别是阵元数(ELE_NUM)、通道数(CH_NUM)、最大波束数(MAX_BEAM_NUM)、波束组数(BGROUP_NUM、波束集数(BCOMBIN_NUM)、系数实部(COEF_REAL)以及系数虚部(COEF_IMAG)。

②在C函数中,根据波束产生的起始方位(RCV_BEAM_START)、终止方位(RCV_BEAM_START)以及步长(RCV_BEAM_STEP)确定第m个波束的扫描角θ0

θ0=(RCV_BEAM_START+RCV_BEAM_STEP×m)×π/180

进而确定第n个阵元在第m个波束的系数

array_coef(n,m)=e-jn·dλsin(θ0)

其中,d为天线阵元之间的间距,λ为波长。

③最后,将系数的实部与虚步分别转换为十六位的定点数,通过DPI接口输入给激励产生器

COEF_REAL=cos(sin(θ0)n·dλ)·215-1

COEF_IMAG=sin(sin(θ0)n·dλ)·215-1

激励产生器根据需要将生成的权系数实部与虚部数据加载到接口上,以完成对波束形成器模块中权系数的激励。

在本具体实施中,由于其它系数如校正系数、波束指向系数的生成方法与加权系数的生成方法类似,故不再此赘述。

如图3所示,在本具体实施例中,本发明所创建的基于UVM的相控阵雷达数字波束形成器模块验证平台采用系统级硬件描述语言System Verilog完成,该验证平台包括测试用例库(Testcase Library)1、UVM验证环境(Enviroment)2、数据发送代理器3、数据接收代理器4以及计分板(scoreboard)5,数据发送代理器3和数据接收代理器4均位于UVM验证环境2内,数据发送代理器3包括第一监视器(monitor)6、数据-系数生成器7、第一激励产生器(sequencer)8和第一驱动器(driver)9,数据接收代理器4包括波束数据转换器10、第二 监视器(monitor)11、第二驱动器(driver)12和第二激励产生器(sequencer)13,第一监视器6通过接口14采集DBF模块15上的端口数据,第一激励产生器8一端通过DPI接口与数据-系数生成器7连接,第一激励产生器8另一端与第一驱动器9一端连接,第一驱动器9另一端与接口14一端连接,接口14另一端与DBF模块15连接,第二监视器11通过DPI接口与波束数据转换器10连接,第二监视器11通过接口14采集DBF模块15上的端口数据,第二驱动器12一端与第二激励产生器13连接,第二驱动器12另一端与接口14连接,接口14与DBF模块15连接,测试用例库1同时与数据发送代理器3和数据接收代理器4连接,UVM验证环境2通过TLM接口与计分板5连接,计分板5包括参考模型16和比较器17,比较器17一端与参考模型16连接,比较器17另一端与UVM验证环境2中的第二监视器11连接。

本发明中的验证平台的运行包括下列顺序的步骤:

A、由C语言实现的数据-系数生成器7,对通道数据,加权系数,校正系数以及波束指向系数进行复数运算,并完成浮点数到定点数的转换。

B、第一激励产生器8通过DPI接口调用数据-系数生成器7中产生的激励数据包,并将其按照一定的顺序及数量,发送给第一驱动器9。

C、第一驱动器9将获得的激励数据包,通过接口14将其驱动到DBF模块上。

D、第二监视器11采集DBF的端口数据,并同样通过DPI接口将采样到的数据通过由C语言实现的波束数据转换器10转换为复数域信号,并写入文件。

E、记分板(Scoreboard)5通过比较待测设计与参考模型16的输出是否一致,来验证待测设计是否正常运行,并给出验证结果。

F、最后,通过覆盖率的统计分析检测功能是否遍历,以保证设计在实际运用环境中的功能正确。

以上所述的实施例仅仅是对本发明的优选实施方式进行描述,并非对本发明的范围进行限定,在不脱离本发明设计精神的前提下,本领域普通技术人员对本发明的技术方案做出的各种变形和改进,均应落入本发明权利要求书确定的保护范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号