cpld论文-max+plus ii的仿真

cpld论文-max+plus ii的仿真

ID:9203770

大小:71.50 KB

页数:7页

时间:2018-04-22

cpld论文-max+plus ii的仿真_第1页
cpld论文-max+plus ii的仿真_第2页
cpld论文-max+plus ii的仿真_第3页
cpld论文-max+plus ii的仿真_第4页
cpld论文-max+plus ii的仿真_第5页
资源描述:

《cpld论文-max+plus ii的仿真》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、课程论文题目MAX+plusII的仿真学生姓名仇佳丹学号院系滨江学院专业电子信息工程二O一四年六月MAX+plusII的仿真仇佳丹南京信息工程大学电子工程系,南京摘要:介绍了一种利用工具软件MATLAB强大的数学功能来增强ALTERA公司的可编程逻辑器件设计软件MAX+PlusII的仿真功能、提高设计品质的方法,有较强的针对性。关键词:MAX+plusIIFPGA仿真1引言随着数字技术的飞速发展,电子工程师在设计中越来越多地采用FPGA来实现复杂的数字功能,不仅仅是简单的时序逻辑,更多的是诸如数字滤波器、

2、信号处理算法的实现等。这样我们就必须要对FPGA设计进行全面的性能分析,而不仅仅是时序的验证,这就对FPGA设计软件的仿真功能提出了更高的要求。而现有的一些流行的FPGA设计工具并不能满足这一要求。MAX+PLUSII是ALTERA公司为自己的系列EPLD、FPGA提供的功能强大的设计及仿真软件。在该软件中,提供了从多种方法输入、编译一直到仿真的一系列配套功能,对于那些不是很复杂的时序逻辑设计来说,可以在一个软件内方便地完成所有的设计及仿真工作。而对于那些复杂的设计则显得力不从心了。MATLAB集科学计算

3、、自动控制、信号处理、神经网络、图像处理等于一体,具有极高的编程效率。它可以极方便地产生各种信号,进行各种变换、统计,另外它的绘图功能也极为强大。它的这些特点正好可以弥补MAX+PlusII在仿真功能上的缺陷。因此,这里将介绍一种利用MATLAB来产生复杂的仿真输入信号,并对仿真输出信号进行分析的方法。2联合仿真方法介绍2.1联合仿真流程我们先介绍MATLAB与MAX+PLUSII联合仿真的流程,以使大家心中有一个概念。然后再分别介绍各部分的实现。联合仿真流程为:(1)先在MATLAB中产生原始信号,并转

4、换为2/16进制序列;(2)利用自己编写的MATLAB函数按一定格式生成向量文件(*.vec,纯文本文件);(3)在MAX+PLUSII中,打开你要仿真的FPGA源文件,设置为“当前工程”并作编译;(4)打开simulator,选“FileInputs/Outputs”,输入在MATLAB中生成的向量文件名,按:“确定”按钮生成*.scf文件;(5)进行仿真;(6)选菜单“FileCreateTableFiles”,生成相应的*.tbl文件(纯文本文件);(7)回到MATLAB下,运行自己编写的函数,

5、自动从Table文件提取需要的输出数据、进制转换(变为十进制),生成仿真结果序列;(8)对结果序列进行进一步分析、处理。2.2仿真输入文件在MAX+PLUSII的仿真输入文件中有一种文本形式的向量文件(VectorFile),其后缀名为“*.vec。这种文件是用一定格式的文本来描述仿真信号的。我们可以很方便地使用任何纯文本编辑器来书写文件,定义仿真时间长度,以相对/绝对时间单位来定义周期重复的输入信号(如时钟)和其它复杂输入信号。下面给出一个该文件的简单例子:%时间单位缺省为以%START0;%定义仿真开

6、始、结束时间%STOP1000;iNTERVAL100;%定义时间步长:100ns%INPUTSCLOCK;PATTERN01;%相对向量值定义:CLOCK%%每100ns翻转一次%INPUTSDATAINXDATAINY;PATTERN%定义两个输入信号%%DATAINX和DATAINY%0>00220>10320>11%绝对时间描述%570>01%大于号前为绝对时间值%720>11%大于号后为两个输入值%;INPUTSCLEAR;PATTERN0>1%产生宽度100ns的清零信号%100>0%100n

7、s后CLEAR信号保持高电平%在这个例子中,定义了一个周期为200ns的时钟信号、一个100ns以前起作用的清零信号(高电平有效)以及两个输入信号DATAINX、DATAINY。在实际使用时,我们可以用同样的方法方便地产生时钟、复位等常用信号。而对于复杂的输入信号,可以先用MATLAB来产生,然后以相对时间的方式写入向量文件。在产生复杂输入信号之前,必须注意以下几点:第一,MATLAB产生的是浮点或整数信号,而数字模块的输入为N位二进制数,这之间有一个进制转换的问题。因此,我们先要根据要采用的A/D位数对

8、原始信号进行量化。第二,在MAX+PLUSII的仿真器中,数据可以采用2/8/10/16进制显示格式,但其十进制显示用的是无符号数的方式,在表示那些补码形式的2/8/16进制数时会发生错误,因此必须把输入信号转换为2/16进制数。第三,进制转换程序必须自己编制。因为MATLAB是用字符串来表示2/8/16进制数的,虽然有一些进制变换的函数(如HEX2DEC、DEC2HEX等),但尚不能满足需要,必须在此基础上自己编制新的函数。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。