版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于XilinxISE结合MATLAB对数字系统进行联合设计与仿真的方法设计详解1数字信号处理FPGA设计实现和验证中存在的问题和解决方法用FPGA来实现信号处理的算法有可能碰到以下一种或几种情况:a.实现复杂的数字处理功能,例如实现DFT、数字滤波等通信信号处理算法;b.模块多且功能验证十分繁琐;c.数字系统尚包含某些不确定因素,例如环路参数等;d.数字系统包含范围较大的反馈环节。实际设计中碰到的困难主要是以前的设计流程中系统方案和原理性仿真与硬件设计仿真脱节,尤其是在高速数字信号处理FPGA设计实现中没有很好的算法仿真验证手段。联合设计与仿真的方法针对数字信号处理FPGA设计实现中碰到的问题和困难,提出了有效可行的解决方法,大大提高了数字信号处理算法FPGA设计实现的效率,有较高的推广应用价值。联合设计与仿真的方法主要包括以下3个方面。a.分别创建数字系统的MATLAB仿真的数据源产生程序和实现特定功能的系统算法程序以及VHDL设计仿真程序模型;根据硬件性能对MATLAB中的数据源进行量化,由浮点数转化成定点数据源,把系统仿真(浮点)中的某些功能模块改造成定点模型的MATLAB模型,比如用定点的Simu-link模块来建立定点模型。b.对VHDL源程序需要仿真的部分分层次建立VHDLTestbench文件,把原文件关联进去;在Testbench文件中运用VHDL语言的TextIO程序包实现对输入输出数据的读写,再结合ModelSim仿真软件实现对数字系统的仿真;仿真后输出的测试数据可以在VHDLTestbench文件指定的输出文本文件中找到,它的数据存储格式是按列向量存储的,可以直接被MATLAB读取,做有关数学运算或者数字信号处理运算如FFT等的运算并绘图显示。c.特殊功能模块的仿真与验证,如对一些存储器的初始化和仿真以及一些双向总线的仿真都是由特定的测试方法来完成的的。2VHDLTestbench的概念和高效的Testbench文件编写2.1FPGA测试与验证的基本概念及方法(1)测试基准一旦设计者描述了一个设计,必须对其进行验证,以检查是否符合设计规范。最常见的验证方法是在模拟时施加输入激励信号,然后“读”该设计的输出信号。ModelSim等波形仿真软件可以完成这个“读”的功能,但是输入激励信号需要用模拟器来完成。使用模拟器输入激励语言的一个主要缺点是它随着模拟器的不同而不同。验证的另一个方法是用VHDL编写一个测试模型发生器和要检查的输出,称为测试基准(Test-bench),它既提供输入信号,又测试设计的输出信号。由于测试基准也可能产生错误,所以它必须也能被测试。建议既要有VHDL测试基准,又要用环境模型来验证元件,称为系统模拟。VHDL测试基准的建立可以用VHDL语言标准程序包中的TextIO来实现,具体的TextIO在下一节介绍。系统模拟的优点是元件的激励由系统仿真的数据源产生,近似于表示实际的模型产生。系统模拟的时间由输入的需要模拟的数据量来决定。在通信信号处理的仿真中,往往需要很大的数据量来验证设计的正确性,所以系统模拟的一个缺点就是所需时间过长。VHDL测试基准的优点是其速度与平台无关,所以在某些情况下,例如前面提到的用FPGA进行信号处理的几种情况,可以对这些情况全部或者部分地建立一个测试环境。图1示出一个测试基准逻辑结构。设计模型接收输入激励(输入信号,第一部分),并给出对测试基准的响应(输出信号,第二部分)。(2)VHDL中的TextIOTextIO例程是在VHDL标准中建立的,用它可以读/写文件,这些例程的用法如下:Read(⋯)Readline(⋯)Write(⋯)Writeline(⋯)为了能使用这些例程,在设计程序中应引用VHDL的标准程序包,即在VHDL代码的开头应当包含下面的行:usestd.TextIO.all;这些标准程序包是在进程中对行变量或列变量进行操作,然后在程序中给这些变量进行赋值或引用。TextIO的一个很重要的应用就是在集成电路设计或FPGA设计中的测试基准中的应用,测试基准是测试方法学中一个很重要的测试和验证工具,它提供了设计模型和外部数据的输入输出接口。具体来说:模型的输入信号可以放在外部文件中,输出信号的期望值可以放在另一个文件中,而且这个文件是以行向量方式存取,所以可以被MATLAB的系统级仿真软件读取。在测试基准中使用TextIO的方法非常灵活,也相当简单。调用TextIO的缺点是,与普通的VHDL代码相比,其模拟速度往往较快。有必要指出,TextIO的调用不能被综合,只能用于模拟。2.2高效的Testbench文件编写(1)VHDLTestbench文件实现的功能VHDLTestbench已经成为验证FPGA或ASIC顶层设计最典型的方法。在VHDLTestbench文件中主要完成以下任务:·例化被测试的设计单元(DUT);·在Testbench文件中对测试模块引入测试向量;·输出结果可以在ModelSim仿真软件的波形窗口显示或者作为测试结果向量保存在文本文件中;·也可以在ModelSim仿真软件中比较测试输出结果和系统仿真期望结果,验证设计的正确性。(2)VHDLTestbench文件结构VHDLTestbench文件结构主要包括4部分:实体和结构体声明、信号声明、例化顶层设计模块、测试进程程序。2.3自检功能Testbench的程序编写自检功能Testbench的实现是先通过MATLAB等系统仿真软件产生一系列期望输出的测试向量,存放在期望输出的向量文件中,然后在VHDLTestbench文件中编写程序,让程序在运行时对预设的不同运行时间间隔的实际输出和期望输出进行比较;如果实际输出结果和期望输出结果匹配,那么这个仿真结果就是正确的;如果实际输出结果和期望输出结果不匹配,Testbench就会在预设的时刻产生差异或者错误报告。这种功能的VHDLTestbench程序是利用VHDL语言的TextIO程序包来实现的。自检功能Testbench对同步电路的设计来说是很简单的,因为同步电路实际输出结果和期望输出结果的比较可以在同一个时钟沿或者滞后几个时钟周期进行。比较方式取决于具体的设计,比如存储器I/O的Testbench,必须在每次有新数从某个地址读出或者给某个地址写入新数的时候检查其结果;同样,如果某个设计使用了很多的组合逻辑,那么期望输出结果就要考虑组合逻辑的延时。自检功能Testbench是通过在特定时间对实际输出和期望输出进行比较而自动对仿真结果检查错误,这种仿真方式特别适合中、小规模设计使用。当数据量很大时仿真会很慢,尤其当数据量以指数增加时,编写Testbench会很费时和困难,这时可通过TextIO把实际输出数据导出,联合MATLAB等系统仿真程序对FPGA设计进行验证。后面的应用举例就是使用这种方法来综合验证FPGA设计的正确性。在VHDLTestbench文件中,仿真输入向量数据和期望输出向量数据都各自存放在向量数据文本文件中,VHDL语言的TextIO程序包被用作从向量文件中读入数据和显示错误信息。3应用实例在某课题数字解调部分位定时误差估计算法设计实现中使用了VHDLTestbench联合MATLAB系统仿真软件,并对在FPGA中实现的位定时算法进行了验证,证明该方法切实可行。数字解调位定时估计算法框图如图2所示,其中虚线框内部分是要在FPGA中实现和验证的算法。按照FPGA联合设计仿真的方法步骤,首先利用MATLAB创建了该算法的浮点仿真模型,并且验证无误。在此基础上,按照以下步骤进行系统的设计与调试。第一步,根据MATLAB浮点仿真模型中的数据源产生模块,编写可以产生定点数据(如8比特或16比特量化的有符号数)的定点数据源产生模块;编写实现算法的各模块的MATLAB定点代码;运行程序,产生设计模块输入数据向量和期望输出数据向量,并分别存储在不同文件中。第二步,根据位定时估计算法,用VHDL语言编程在FPGA中实现该算法,并根据第二节中讲到的VHDLTestbench的写法编写对应的测试基准文件,其中包括VHDL语言的TextIO数据包和在程序中编写读入和写出的程序代码。第三步,把定点数据源产生模块产生的定点数据源分别输入MATLAB程序和FPGA程序,如图3所示。产生的输出文件分别作为期望输出向量文件和实际输出向量文件。第四步,分别对实际输出向量文件中的输出和对应期望输出向量文件中的数据进行分析验证,如果不正确,则重新产生输入数据进行联合仿真;当程序较大时,反复进行几次联合仿真,直到该模块功能和时序仿真都正确为止。需要指出,在此仿真阶段,输入数据量化要尽可能模拟硬件实际输入数据。图4为MATLAB定点数据源模块A/B产生的一路输入信号,图5为期望输出向量文件模块D和实际输出向量文件模块E在MATLAB中绘制的图形。从图中可以看出,FPGA测试的输出和MATLAB定点仿真很相似,证明了FPGA设计的正确性。4结束语在电子产品设计领域已经涌现出大量先进的设计技术
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年发光工艺品项目可行性研究报告
- 端盖注射模具课程设计
- 中国网络剧产业行业经营动态及竞争格局分析研究报告(2024-2030版)
- 口红制作教学课程设计
- 中国猫爪草提取物行业市场现状分析及竞争格局与投资发展研究报告(2024-2030版)
- 中国溜冰鞋护具行业市场现状分析及竞争格局与投资发展研究报告(2024-2030版)
- 中国浪涌发生器行业市场现状分析及竞争格局与投资发展研究报告(2024-2030版)
- 铅笔画教学课程设计
- 丰收季节课程设计
- 发乒乓球机课程设计
- 扩张型心肌病诊断和治疗指南
- 电子小报社团教案
- 八大特殊作业安全试题题库
- 标签打印管理办法及流程
- 五四制青岛版2022-2023五年级科学上册第五单元第19课《生物的栖息地》课件(定稿)
- DB65∕T 3253-2020 建筑消防设施质量检测评定规程
- 四年级上册美术教案15《有创意的书》人教版
- 否定词否定句课件(PPT 38页)
- 水力学第12章 相似理论-2015
- 第7章国际资本流动与国际金融危机
- 藏传佛教英文词汇
评论
0/150
提交评论