电子文章 | 电子资料下载 | 家电维修 | 维修资料下载 | 加入收藏 | 全站地图
您现在所在位置:电子爱好者电子文章FPGA利用MATLAB增强MAX+PLUS II的仿真功能

利用MATLAB增强MAX+PLUS II的仿真功能

11-20 16:13:14 | http://www.5idzw.com | FPGA | 人气:741
标签:fpga是什么,fpga教程,fpga培训,http://www.5idzw.com 利用MATLAB增强MAX+PLUS II的仿真功能,http://www.5idzw.com

    第三,进制转换程序必须自己编制。因为MATLAB是用字符串来表示2/8/16进制数的,虽然有一些进制变换的函数(如HEX2DEC、DEC2HEX等),但尚不能满足需要,必须在此基础上自己编制新的函数。

    1.3 仿真输出文件

    向量文件产生后,就可以进行仿真了,仿真结果转换成Table文件输出。Table 文件示例如下。

   INPUTS clk reset din;

   OUTPUTS y

   UNIT ns %定义时间单位%

   RADIX HEX; %定义显示进制%

   PATIERN

   % r %

   % e

   % csd %

   % lei %

   % ktny %

   0.0>X 0 0000=0000

   40.0>X 1 0000=0000

   50.0>0 1 0000=0000

   ……

   1475.0>1 1 0000=0000

   1500.0>X X XXXX=XXXX

    Table文件的构成与向量文件大致相同。它的开始部分是注释(同样是以%…%标注的文字),接着是对输入/输出信号、时间单位、显示采用进制的定义,第三部分就是对输入/输出信号在仿真后的列表。其中,“>”号以前的是时间值,“=”号后面则是我们关心的仿真输出结果了。根据Table文件的这些特点,我们可以编制MATLAB函数将关心的东西(如时间值、某输出结果)提取出来形成数据序列,以便后续处理。在这里要注意一个问题,就是Table文件中会对每一个信号的变化时刻都进行记录,我们用图2的一个简单的D触发器的部分仿真时序来作说明,图中示出了D触发器的输入信号D、时钟,以及其输出信号Q,在这一段仿真中,Table文件会记录从T1~T9的9个信号变化的时刻,这使得输出信号的每一个值被记录了多次。如果我们对此不加甄别就照单全收的话,就会对此后的分析工作带来麻烦。因此,对于同步数字系统,我们只应提取那些我们关心的时钟上沿/下沿时刻的输出值。

   2 应用实例

    本人在自己的设计工作中使用了以上介绍的这种方法。我设计的是一个单脉冲雷达回波信号处理机,基本原理是信号的能量积累后检测,其中采用了较复杂的信号处理算法,在原理验证阶段采用的是固定门限检测。在用MAX+PLUS II设计完该信号处理机后,现实的问题就是要在给定Pd、Pf的条件下,根据具体的算法确定检测门限。我们先在接收机上对接收机噪声用示波器进行了测量并存储了大量数据,然后将测量结果读入MATLAB,形成一维数组。然后按以上介绍的方法对噪声数据进行两种处理:一是产生模拟回波信号(或采用真实回波信号采样序列)、信号噪声按一定信噪比混合、加上同步脉冲后形成多个周期的“有信号回波”,二是完全是噪声的“无信号回波”;再结合其它必要的输入信号(如时钟信号、复位信号等)生成向量文件,在MAX+PLUS II中仿真后,分别提取仿真结果中的“有/无信号”的两种能量积累结果进行分析,初步确定检测门限,并由此结合理论分析对其检测性能进行评估。

    当然,这种完全在软件环境中进行性能分析的方法并不是万能的,它只能也只应起到辅助的作用,我们采用它的目的是为了使我们的设计变得更经济、更省时、更可靠。毕竟,一个设计最终是要形成硬件,并在实际应用中去真正检验它的品质的。

    总之,由于FPGA方便灵活的特点,使得这种器件在数字设计领域的应用越来越广泛。而作为一个设计者,必须利用设计软件的开放性,充分利用其它各种手段来保证我们的设计的可靠性,提高设计的品质。

200多个MATLAB经典教程和MATLAB论文请查看

上一页  [1] [2] 

,利用MATLAB增强MAX+PLUS II的仿真功能
关于《利用MATLAB增强MAX+PLUS II的仿真功能》的更多文章