位置:51电子网 » 技术资料 » 模拟技术

应用TEXTl0和MATLAB进行复杂数字系统仿真

发布时间:2008/5/26 0:00:00 访问次数:783

        

    

    

    作者:国防科技大学atr重点实验室 张望,常青,喻小虎

    

    摘要:在基于fpga的复杂数字系统的仿真测试中,设计者常常面临各种挑战。以数字图像处理系统的仿真为例。如果采用完备性仿真测试方法,那么测试矢量的数量将是非常巨大的;如果采用常规方法.不仅效率不高.而且可能无法达到仿真测试的目的。针对这个难题,提出一种进行仿真测试的新方法.该方法应用textio和matlab来辅助仿真测试过程,使问题得到较好的解决。以电视图像实时多目标捕获单元的仿真测试为例。全面、细致地讨论这种新方法。

    

    关 键 词:textio;matlab;testbench;仿真;测试激励中图分类号:tn707 文献标识码:a 文章编号:。1006—6977(2006)01—0004—04

    

    1 引言

    

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

    

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

    

    2 基于textio的vlii)l仿真

    

    2.1 textio的功能

    

    texxtl0是vhdl标准库std中的程序包(package),它提供了vhdl与磁盘文件直接访问的桥梁。textio定义了3种类型:line类型、text类型及side类型。texti0在程序包中定义了一些访问文件的过程(procedure)。

    

    textio提供的基本过程有:

    

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

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

    (3)procedure read(行变量,数据类型),用于从行变量中读取相应数据类型的数据.根据参数的数据类型及参数个数的不同.有多种重载方式,tex-tio提供了bit、bit、bit_vector、boolean、character、in-teger、real、string、time数据类型的重载;

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

    

    2.2 仿真测试方案

    

    使用texto和mntlab辅助testbench进行复杂数字系统仿真的方案框图如图1所示。

    

    

    

    2.3 仿真测试步骤

    

    2.3.1 使用matlab生成测试激励文件

    

    matlab是矩阵实验室(matrix laboratory)的缩写,是1984年mathworks公司推出的软件。经过20多年的发展,matlab已成为通用科技计算、图视交互系统和程序语言,广泛应用于研究和解决各种具体工程问题。

    

    在复杂数字系统仿真中,用户可以利用mat-lab的强大处理功能生成测试激励文件。测试激励文件的数据格式由设计者自行定义。测试激励文件应包含输入信号的测试激励数据.也可以包含输出信号的期望输出数据.这些内容常常以.ascii码

        

    

    

    作者:国防科技大学atr重点实验室 张望,常青,喻小虎

    

    摘要:在基于fpga的复杂数字系统的仿真测试中,设计者常常面临各种挑战。以数字图像处理系统的仿真为例。如果采用完备性仿真测试方法,那么测试矢量的数量将是非常巨大的;如果采用常规方法.不仅效率不高.而且可能无法达到仿真测试的目的。针对这个难题,提出一种进行仿真测试的新方法.该方法应用textio和matlab来辅助仿真测试过程,使问题得到较好的解决。以电视图像实时多目标捕获单元的仿真测试为例。全面、细致地讨论这种新方法。

    

    关 键 词:textio;matlab;testbench;仿真;测试激励中图分类号:tn707 文献标识码:a 文章编号:。1006—6977(2006)01—0004—04

    

    1 引言

    

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

    

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

    

    2 基于textio的vlii)l仿真

    

    2.1 textio的功能

    

    texxtl0是vhdl标准库std中的程序包(package),它提供了vhdl与磁盘文件直接访问的桥梁。textio定义了3种类型:line类型、text类型及side类型。texti0在程序包中定义了一些访问文件的过程(procedure)。

    

    textio提供的基本过程有:

    

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

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

    (3)procedure read(行变量,数据类型),用于从行变量中读取相应数据类型的数据.根据参数的数据类型及参数个数的不同.有多种重载方式,tex-tio提供了bit、bit、bit_vector、boolean、character、in-teger、real、string、time数据类型的重载;

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

    

    2.2 仿真测试方案

    

    使用texto和mntlab辅助testbench进行复杂数字系统仿真的方案框图如图1所示。

    

    

    

    2.3 仿真测试步骤

    

    2.3.1 使用matlab生成测试激励文件

    

    matlab是矩阵实验室(matrix laboratory)的缩写,是1984年mathworks公司推出的软件。经过20多年的发展,matlab已成为通用科技计算、图视交互系统和程序语言,广泛应用于研究和解决各种具体工程问题。

    

    在复杂数字系统仿真中,用户可以利用mat-lab的强大处理功能生成测试激励文件。测试激励文件的数据格式由设计者自行定义。测试激励文件应包含输入信号的测试激励数据.也可以包含输出信号的期望输出数据.这些内容常常以.ascii码

相关IC型号

热门点击

 

推荐技术资料

泰克新发布的DSA830
   泰克新发布的DSA8300在一台仪器中同时实现时域和频域分析,DS... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!