利用MATLAB增强MAXPLUSII的仿真功能.DOC

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
利用MATLAB增强MAXPLUSII的仿真功能

利用MATLAB增强MAX+PLUS II的仿真功能  ? 摘 要: 介绍了一种利用工具软件MATLAB强大的数学功能来增强ALTERA公司的可编程逻辑器件设计软件MAX+PLUSII的仿真功能、提高设计品质的方法,有较强的针对性。 ????关键词: MATLAB MAX+PLUS II FPGA 仿真 ?? ??? 随着数字技术的飞速发展,电子工程师在设计中越来越多地采用FPGA来实现复杂的数字功能,不仅仅是简单的时序逻辑,更多的是诸如数字滤波器、信号处理算法的实现等。这样我们就必须要对FPGA设计进行全面的性能分析,而不仅仅是时序的验证,这就对FPGA设计软件的仿真功能提出了更高的要求。而现有的一些流行的FPGA设计工具并不能满足这一要求。 ??? MAX+PLUS II是ALTERA公司为自己的系列EPLD、FPGA提供的功能强大的设计及仿真软件。在该软件中,提供了从多种方法输入、编译一直到仿真的一系列配套功能,对于那些不是很复杂的时序逻辑设计来说,可以在一个软件内方便地完成所有的设计及仿真工作。而对于那些复杂的设计则显得力不从心了。 ??? 举一个例子:对一个基于FPGA设计的雷达信号处理机,我们关心其在给定发现概率和虚警率的前提下的最小可检测信噪比,或者在某一给定信噪比条件下其Pd、Pf是否能满足要求。虽然在设计之前肯定已经做了诸如可行性分析、性能分析等一系列的工作,但是由于数字实现必须考虑的一些问题,如字长效应、算法简化等,有可能使具体实现的性能比之理论分析有所下降,这个下降到底有多大?另外,采用的信号处理算法还有哪些没有发现的缺陷?对设计者来说,能够完全在软件环境中通过仿真来解决这些问题远比在不成熟的硬件环境中反复地调试、修改来的有效率,且有更大的弹性,更容易进行。 ??? 然而,当我们想通过MAX+POUSII软件自带的仿真工具对复杂设计的性能作一个评估时,就会碰到许多困难。一般来说简单仿真的步骤如图1所示。其中,手工设置仿真输入节点值只适用于输入信号比较简单的情况,而对于复杂的输入信号就无能为力了。如上述雷达信号处理机的输入信号,应该是许多个周期的雷达同步信号、雷达回波信号加上取决于接收信道的带限噪声构成的(后两者应有给定的信噪比关系)。这类输入信号不仅必须经严格计算得到,而且数量巨大,很难由手工输入。 ??? 另外,一般我们对仿真结果的分析也仅限于直接观察,只能对相对较简单的结果作出判断。而雷达信号处理机则必须做蒙特卡洛实验(海量实验)来统计其性能(如统计给定信噪比下的Pd、Pf),或对处理结果进行各种分析(如时频分析)来判断处理器是否最佳等。这样,对仿真结果的分析也不能简单地判断,必须经专门的数学计算才能给出结论。 ???由此看来,MAX+PLUS II的仿真功能已经不能满足对复杂设计进行仿真的要求,我们必须另找方法。当然,如果有像COSSAP这样的软件的话,就不存在上述问题了。但对于大多数设计者来说,他们一般很难有机会接触到这些工作站上的大型软件,更普及的是像MAX+PLUS II、MATLAB这样的通用工具软件。 ??? 我们知道,MATLAB是MathWorks公司推出的一种面向科学与工程计算的高级(语言)软件,它集科学计算、自动控制、信号处理、神经网络、图像处理等于一体,具有极高的编程效率。它可以极方便地产生各种信号,进行各种变换、统计,另外它的绘图功能也极为强大。它的这些特点正好可以弥补MAX+PLUS II在仿真功能上的缺陷。因此,本人在这里介绍一种利用MATLAB来产生复杂的仿真输入信号,并对仿真输出信号进行分析的方法。 ????1 联合仿真方法介绍 ????1.1 联合仿真流程 ??? 我们先介绍MATLAB与MAX+PLUS II联合仿真的流程,以使大家心中有一个概念。然后再分别介绍各部分的实现。联合仿真流程为: ???(1)先在MATLAB中产生原始信号,并转换为2/16进制序列; ???(2)利用自己编写的MATLAB函数按一定格式生成向量文件(*.vec,纯文本文件); ?? (3)在MAX+PLUS II中,打开你要仿真的FPGA源文件,设置为“当前工程”并作编译; ???(4)打开simulator,选“File\Inputs/Outputs”,输入在MATLAB中生成的向量文件名,按:“确定”按钮生成*.scf文件; ???(5)进行仿真; ???(6)选菜单“File\Create Table Files”,生成相应的*.tbl文件(纯文本文件); ???(7)回到MATLAB下,运行自己编写的函数,自动从Table文件提取需要的输出数据、进制转换(变为十进制),生成仿真结果序列; ???(8)对结果序列进行进一步分析、处理。 ????1.2 仿真输入文件 ????在MA

文档评论(0)

2105194781 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档