应用TEXTl0和MATLAB进行复杂数字系统仿真海上假目标

发表时间:2020/4/20  浏览次数:578  
字体大小: 【小】 【中】 【大】

  测试方法,那么测试矢量的数量将是非常巨大的;如果采用常规方法.不仅效率不高.而且可能无法达到仿真测试的目的。针对这个难题,提出一种进行仿真测试的新方法.该方法应用TEXTIO和

  来辅助仿真测试过程,使问题得到较好的解决。以电视图像实时多目标捕获单元的仿真测试为例。全面、细致地讨论这种新方法。

  在对复杂数字系统进行仿真测试时,设计者常常面对测试向量数量庞大而难以实现的问题。以数字图像处理系统的仿真测试为例,海上假目标如果采用完备性测试方法.那么所需测试向量的数量将非常巨大,甚至无法实现:而采用测试向量波形图或者用HDL语言描述等常用方法.不仅仿真测试工作的效率低下,而且工作量巨大。海上假目标在数字图像处理系统中,一帧320x240的数字图像所产生的测试向量数量达到320x240x2=153 600个。无论采用完备性测试方法还是向量波形图或者.HDL语言描述的方法,由于测试向量的数量极其巨大,采用这些方法都难以进行仿真测试。

  针对这个难题,笔者提出一种进行仿真测试的新方法.该方法应用TEXTI0和:MATLAB来辅助仿真测试过程.使测试向量数量巨大、难以处理的难题得到很好的解决。以电视视频系统中实时多目标捕获单元的仿真测试为例.对这种新方法进行全面的讨论。

  (1)procedure READLNE(文件变量,行变量),用于从指定文件读取一行数据到行变量中;

  (2)procedure WRITELNE(文件变量,行变量),用于向指定文件写入行变量所包含的数据;

  (4)mcedure WRITE(行变量,数据变量,写入方式,位宽),该过程将数据写入行变量。其中,写入方式表示写在行变量的左边还是右边,其值只能为left或right,位宽表示写入数据时占的位宽。例如write(Oufljne,OutData,left,2/表示将变量OutData写入LINE 变量OutLine的左边,占2个字节。

  TestBench是测试平台程序。TEXTI0的使用是通过TestBench来进行的,TestBench利用TEXTIO读取测试激励文件或写入仿真结果输出。进行复杂数字系统仿真时,用户根据测试的目的和要求设计TestBench。

  仿真结束后,仿真结果是否符合要求,用户可以通过二种方法来判断。一种是应用软件自动判断。即通过TestBench或其他软件(如MATLAB)对仿真输出结果和期望输出结果进行对比,从而得到分析结果:另外一种是人工判断.即设计者自行对仿真输出结果和期望输出结果进行对比,从而得到分析结果。

  电视图像实时目标捕获单元(以下简称待测单元)具有对电视图像中的目标图像进行实时捕获的功能。本例将用TEXllO和MATLAB辅助Test-Bench对待测单元进行仿线 需要产生的测试信号及波形

  待测单元输入信号的时序如图2所示。其中,clk、vsy、海上假目标hsy和ccd分别代表像素时钟、数字化后的场同步、行同步和二值图像信号。

  在MATLAB的开发环境中.通过编程可以生成测试激励文件。以下是生成测试激励程序的核心代码:

  产生的测试激励文件名称为TestVectors.inp,激励内容以ASCII码表示,信号之间用空格隔开,且一行代表一次激励。下面是测试激励文件中的一段内容,激励包含clk,ccd,hsy,vsy 4个信号:

  进行仿真时。TestBeneh应用TEXTIO通过逐行读取测试激励文件得到待测单元输入信号的激励。

  TestBench调用TEXTIO读取测试激励文件得到激励,然后将这些激励分别驱动到待测单元的输入端口。同时,海上假目标TestBench读取待测单元的输出结果,调用TEXTIO将仿真输出结果写入文件名称为Re-sult.out的仿真结果输出文件。

  在Modelsim提供的HDL仿真环境中,运行TestBeneh进行仿真测试,海上假目标得到测试向量波形(如图3所示)、仿线所示)和仿真输出结果文件ResuIt.out。对仿真输出结果进行分析表明,仿真输出的目标位置与输入电视图像中的目标位置完全一致。

  本例的结果分析是通过人工对比进行的。还可以将仿真预期输出结果保存在测试激励文件或其他文件中.TestBench调用TEXTIO读取仿真预期输出结果.并和仿真实际输出结果进行对比,然后自动判断结果是否正确。在某些场合下,例如对VHDL编写的处理器进行仿真调试时,用户可以将包括指令类型、源地址、目标地址在内的指令保存成文本文件。TestBench调用TEXTIO读取这些指令。海上假目标同时.TestBeneh调用TEXTIO将结果及中间变量保存成文本文件,以便设计者事后分析和查找问题的原因。

  TEXTIO程序包使VHDL的仿真功能得到拓展。MATLAB是研究和解决工程问题的有力工具。在基于FPGA的复杂数字系统的仿真测试中,灵活应用TEXTIO和MATLAB等工具包能很好地解决仿真测试中面临的测试向量庞大和难以处理的问题。

发表评论:(匿名发表无需登录,已登录用户可直接发表。) 登录状态: 未登录,点击登录

全国免费热线:400-0379-440 座机:0379-62322190     037-62383173

手机:张经理:13014727803 姚经理:13333886642 远经理:15038503988 黄经理:15137909090

售后:远经理:18238880808 传真:0379-62383002 企业QQ4000379440

地址:洛阳市老城区春都路53号副食品市场