您的位置 首页 电路

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

绍了一种利用工具软件MATLAB强大的数学功能来增强ALTERA公司的可编程逻辑器件设计软件MAX+PLUSII的仿真功能、提高设计品质的方法,有较强的针对性。

跟着数字技能的飞速发展,电子工程师在规划中越来越多地选用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,选“FileInputs/Outputs”,输入在MATLAB中生成的向量文件名,按:“确认”按钮生成*.scf文件;

(5)进行仿真;

(6)选菜单“FileCreate Table Files”,生成相应的*.tbl文件(纯文本文件);

(7)回到MATLAB下,运转自己编写的函数,主动从Table文件提取需求的输出数据、进制转化(变为十进制),生成仿真成果序列;

(8)对成果序列进行进一步剖析、处理。

1.2 仿真输入文件

在MAX+PLUS II的仿真输入文件中有一种文本办法的向量文件(Vector File),这以后缀名为“*.vec。这种文件是用必定格局的文原本描绘仿真信号的。咱们能够很便利地运用任何纯文本编辑器来书写文件,界说仿真时间长度,以相对/肯定时间单位来界说周期重复的输入信号(如时钟)和其它杂乱输入信号。下面给出一个该文件的简略比如:

%时间单位缺省为以%

START 0; %界说仿真开端、完毕时间%

STOP 1000;

iNTERVAL 100; %界说时间步长:100ns%

INPUTS CLOCK;

PATTERN

01; %相对向量值界说:CLOCK %

%每100ns翻转一次%

INPUTS DATAINX DATAINY;

PATTERN %界说两个输入信号%

%DATAINX和DATAINY%

0>00

220> 10

320> 11%肯定时间描绘%

570> 01%大于号前为肯定时间值%

720> 11%大于号后为两个输入值%

INPUTS CLEAR;

PATTERN

0>1%发生宽度100ns的清零信号%

100>0%100ns后CLEAR信号坚持高电平%

在这个比如中,界说了一个周期为200ns的时钟信号、一个100ns曾经起效果的清零信号(高电平有用)以及两个输入信号DATAINX、DATAINY。在实践运用时,咱们能够用相同的办法便利地发生时钟、复位等常用信号。而关于杂乱的输入信号,能够先用MATLAB来发生,然后以相对时间的办法写入向量文件。

在发生杂乱输入信号之前,有必要留意以下几点:

榜首,MATLAB发生的是浮点或整数信号,而数字模块的输入为N位二进制数,这之间有一个进制转化的问题。因而,咱们先要依据要选用的A/D位数对原始信号进行量化。

第二,在MAX+PLUS II的仿真器中,数据能够选用2/8/10/16进制显现格局,但其十进制显现用的是无符号数的办法,在表明那些补码办法的2/8/16进制数时会发生过错,因而有必要把输入信号转化为2/16进制数。

第三,进制转化程序有必要自己编制。因为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便利灵敏的特色,使得这种器材在数字规划范畴的使用越来越广泛。而作为一个规划者,有必要运用规划软件的开放性,充分运用其它各种手法来确保咱们的规划的牢靠性,进步规划的质量。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/fangan/dianlu/192976.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部