2随机信号分析实验指导书FPGA实验文档格式.docx
《2随机信号分析实验指导书FPGA实验文档格式.docx》由会员分享,可在线阅读,更多相关《2随机信号分析实验指导书FPGA实验文档格式.docx(81页珍藏版)》请在冰豆网上搜索。
2.2.3.用嵌入式逻辑分析仪测试数据29
2.2.4计数器的使用32
2.2.5ROM的用法34
2.2.7QuartusII举例、练习37
2.3FPGA实验板简介40
2.3.1硬件的基本配置40
2.3.2FPGA的发展状况42
2.3.3FPGA的硬软件结构43
2.3.4下载程序45
第三章通信信号设计实验选题51
3.12ASK调制器的设计与实现51
§
3.1.1
2ASK调制器原理及波形图51
3.1.2设计任务和要求52
3.1.3测试.53
3.2
2ASK解调器的设计与实现53
3.2.12ASK解调器原理及波形53
3.2.2设计任务和要求54
3.2.3测试55
3.32FSK调制器的设计与实现55
3.3.1
实现原理及框图55
3.3.2设计任务与要求56
4.3.3测试57
3.42FSK解调器的设计与实现57
3.4.1
2FSK解调器实现原理及框图57
3.4.2
设计任务与要求58
3.4.3
测试59
3.52DPSK调制器的设计与实现59
4.5.1
实现原理及框图59
3.5.2设计任务与要求60
3.5.3测试:
61
3.62DPSK解调器的设计与实现61
3.6.1
实现原理及框图61
3.6.2
设计任务与要求62
3.6.3
测试:
62
3.74PSK调制器设计与实现63
3.7.1实现原理及框图63
3.7.2设计任务与要求66
3.7.3测试67
3.84PSK解调器设计与实现67
3.8.1
实现原理及框图67
3.8.2设计任务与要求68
4.8.3测试68
3.94FSK调制器设计与实现69
3.9.14FSK调制解调原理69
3.9.2设计任务与要求69
3.9.3测试70
3.104FSK解调器设计与实现71
3.10.14FSK调制解调原理71
3.10.2设计任务与要求71
3.10.3测试72
附录73
研究型实验报告格式及报告要求77
参考书78
第一章概述
1.1随机信号分析实验设计的目的
使初学者通过随机信号分析实验对随机信号的产生方法、统计特性、数字特征及其应用有较全面地了解,使初学者通过随机信号分析实验来检验理论并能够有效的将理论与实践相结合。
根据前面五章的内容,以培养初学者的知识综合能力、创新意识、创新思维和和创新能力,使初学者能够把所学的基本理论用于当前本专业研究的热点问题之中,能够解决工程实践中的具体问题,同时提高初学者的学习兴趣,使初学者掌握理论课程之外的知识,锻炼初学者的独立分析问题与解决问题的能力,提高学校的教学质量,更好地培养初学者的就业竞争力。
1.2实验设计的任务
实验的任务分为基本要求和附加要求两类。
基本要求是每个参加通信系统设计实验的学生必须完成的内容,附加要求则是学生根据自己对有关通信系统掌握和运用的情况选做自己有兴趣的系统设计的课题。
这给同学们提供了开动脑筋发挥自己的创新思维提供了空间。
总体要求如下:
⑴根据应用系统的要求,初步掌握总体结构的方法和构思,从中选择一种最佳的设计方案。
⑵根据应用系统结构规模的要求,掌握电子系统硬件设计和软件设计的基本过程:
例如硬件接口的设计,正确合理选用所需元器件,绘制应用系统连接的电路图等项工作。
⑶根据设计任务和要求,首先画出程序总体流程图,然后进行各控制模块程序的设计、编写系统程序。
⑷掌握如何应用仿真器来开发应用系统及仿真调试的过程。
例如先进行各模块调试,然后进行各程序模块的联调,最后与硬件一起进行联调,反复检测和修改直至开发结束。
⑸学习文件检索和查找数据手册的能力。
⑹学习quratusII、MAX+PLUSⅡ等软件的使用。
⑺学会整理和总结设计文档报告。
1.3实验的设计方法
目前,产品的开发明显地出现了两个特点:
一是开发产品的复杂程度加深;
二是开发产品的上市时限紧迫。
减少延误、缩短系统开发周期以及尽早推出产品上市是十分重要的。
通信系统设计开发的一般过程是:
(1)系统规划,功能设计。
(2)逻辑设计,并进行逻辑仿真。
(3)电路设计。
根据系统的规模、复杂度选择所使用的元器件。
在设计开发的过程中,要缩短设计周期,降低开发成本,主要选择半定制电路和通用的元器件。
根据电路的逻辑功能,同时考虑系统集成度和设计成本,确定将哪些电路功能集成到半定制电路芯片中,哪些电路功能可直接采用通用元器件芯片。
(4)设计半定制电路芯片。
(5)设计印刷电路板。
将自己设计的半定制电路芯片与通用电路芯片组合成完整的电路,设计印刷电路板。
(6)制作印刷电路板,完成整个系统的制作。
(7)测试调试,并最终形成设计开发的新产品,推向市场。
在现在的技术条件下,EDA设计方式已经比较成熟,从逻辑分析模拟到半定制电路设计、印刷电路板设计,都有专门的软件来完成。
随着PLD、FPGA技术、以及PCB板自动布局、布线技术的发展,半定制电路设计、PCB板设计已实现了较高程度的自动化,可以简单、迅速地完成设计任务。
然而将自己设计的半定制电路芯片与通用电路芯片组合成完整电路输入到PCB板的设计软件中去设计PCB板,这一步基本上是手工操作,做起来相当繁琐。
例如,使用软件ALTERA进行半定制电路芯片的设计,使用软件PROTEL进行印刷电路板的设计。
虽然其最新版本(Protel98、99)中包含了ALTERA的元件库,但由于半定制电路芯片都是自己设计的,管腿功能和名称不可能统一,所以即使PROTEL中有ALTERA的元件库,仍然不实用。
通常的做法是先在PROTEL的元件库中建立或编辑修改芯片的原型,然后使用。
而且由于自己设计的半定制电路芯片互不相同,所以对每一个芯片都需要在库中建立修改它的原型;
另一方面,半定制电路芯片的管腿很多(一般都有几十个甚至上百个管腿),并且在很多情况下库中所建芯片原型只使用少数几次。
建库完成后,还需进行Schematic式设计绘制电路原理图。
因而这种通常的做法费时费力,效率非常低,已成为制约提高电子产品开发速度的一个瓶颈,具有非常大的改进余地。
在通信系统设计实验中,我们涉及到了(1)(2)(3)(7)步,其它步由于时间有限,大家清楚就可以了。
1.4实验要求
⑴技术要求
要求设计方案可行,程序或电路设计准确,要求每个模块的输出都有其对应的波形图。
⑵设计步骤
①跟据原理框图画出每个模块的电路图。
②QuartusⅡ编制各模块程序。
③电路仿真,完成一个完整系统。
⑶进度安排
①第一、二、三次实验画出实际系统电路图,同时学习使用QuartusII及VHDL/verilog的编程方法,并进行模块调试。
②第四次实验调试程序,完成系统调试。
⑷实验总结报告要求
①引言:
作为论文的开端,简要说明作者所做工作的目的、本人的设想、研究方法等。
②正文:
包括理论分析、数据资料、实验方法、结果、本人的论点和结论等内容,还要附有各种有关的图表、公式等。
③分析调试过程中出现的问题,及解决的方法。
④结论:
是对主体的最终结论,应准确、完整、精炼。
阐述你对存在的问题和不足给予客观的说明,也可提出进一步的设想。
第二章可编程逻辑系统设计
使用的工具简介
2.1MAX+PLUSⅡ开发软件
MAX+PLUSⅡ是Altera公司为其可编程器件推出的开发软件。
它具有完全集成化易学易用的可视化设计环境,可运行在多种操作平台上。
它的功能很多,其电路图的输入就包括原理图输入法和高级行为描述语言等,为了配合实验的进行,在这里我们简单的讲述MAX+PLUSⅡ工具的原理图输入法及有关程序下载的方法等,更详细的内容清参照有关手册。
原理图设计输入法
原理图设计输入法的设计流程图如图2.1-1所示:
图2.1-1原理图设计输入法的设计流程图
下面以M序列发生器原理电路为例分别讲述以上设计流图各模块的应用,15位M序列发生器的原理图如图2.1-2所示:
图2.1-215位M序列发生器的原理图
1.指定设计项目名称
MAX+PLUSⅡ编译器的工作对象是项目管理,所以在进行逻辑设计之前,要指定该设计的项目名称(在设计项目名称之前,首先要创建一个子目录,例如在指定的盘符中创建一个stu子目录,我们所建文件将存储在这个子目录中)。
指定设计的项目名称的步骤如下:
1选择File→Project→Name项,将出现如图2.1-3所示:
图2.1-3选择项目名称
2在ProjectName框内写入你的项目名称(举例的项目名成为mxulie),并在Directories框内选中你的子目录名(举例的子目录名为stu)。
③点击OK键,则MAX+PLUSⅡ标题条会变成f:
/stu/mxulie。
2.建立新文件
选择File→New项,将出现如图2.1-4所示:
图2.1-4选择文件编辑方式
选中GraphicEditorfile后点击OK键,将会出现一个图形编辑窗口。
在图形编辑窗口就可以输入你设计好的电路图了。
3.输入电路图
MAX+PLUSⅡ为实现不同的逻辑功能提供了大量的器件库。
它们的分类信息存放在max2work\maxlib\子目录中。
PrimAltera的基本逻辑快
Mf74系列逻辑等效宏库
Mega_lpm参数化模块库、宏功能高级库(如busmux、csfifo等)和IP功能模块(如UARTs、FFT、FIR、PCI等)
Edifedif接口库
下面以M序列发生器电路为例,讲述电路输入法的使用情况。
⑴选择元器件
首先在图形编辑窗口点击鼠标右键,屏幕上会出现如图2.1-5所示:
图2.1-5
在菜单中选中EnterSymbol,将出现如图2.1-6所示对话框:
图2.1-6
根据你自己设计的电路要求,在SymbolLibraries框中选择图元。
在15位M序列发生器电路中有一个2输入或门、一个异或门、一个4输入与门。
那么我们在prim图元中分别选中and4(四输入与门)、or2(二输入或门)和xor(异或门)。
在mf图元中选中74175(四D触发器)。
如所示:
图2.1-7
⑵连线
如果需要连接两个端口,可将鼠标移到其中一个端口,这时鼠标会自动变为“+”形状,然后可按一下步骤操作:
★一直按住鼠标左键并将鼠标托到第二个端口。
★放开左键,则一条连线就画好了。
★如果需要删除一条连接线,单击这根连接线并按DEL键即可。
⑶为引脚和节点命名
★放置输入引脚和输出引脚
点击鼠标右键选择EnterSymbol选项,然后在SymbolName框中输入Input或output,符号INPUT或OUTPUT就会出现在图形编辑器窗口中,如图2.1-8所示。
图2.1-8
★为引脚命名
在引脚的PIN_NAME处双击鼠标,然后输入你所需要的名字即可,上图中将输入名PIN_NAME改为CLK,将输出名PIN_NAME改为MXULIE。
如果需要删除、复制等操作,只需将鼠标放置在输入输出引脚处点击右键,就会出现你所需要的操作。
★为连线命名
首先选中你要命名的线段,然后输入名字。
例如将如下线段命名为a[n-1,..0]:
按以上方法将完整的M序列发生器电路图输入到图形编辑窗口,完整的电路图如图2.1-9所示:
图2.1-9
⑷保存文件并检查错误
★保存文件选择File\SaveAs项,给文件命名并保存文件。
★检查电路的逻辑性错误
选择File→project→save&
check项,系统开始存储并检查电路的逻辑性错误,如果电路出现逻辑性错误,系统提示错误信息,如图2.1-10所示,你可以根据提示的错误信息,返回到图形编辑窗口修改电路图,如果编译没有错误,接着做下一步。
图2.1-10
4.设计项目的编译
使用MAX+PLUSⅡ编译器编译设计项目时,编译器将进行错误检查、网表提取、逻辑综合、器件适配,并产生仿真文件、定时分析文件和编程配置文件。
1编译前的准备
选择MAX+PLUSⅡ→Compiler选项,出现如图2.1-11所示,点击Start按钮,编译器开始编译。
图2.1-11
在点击Start按钮之前,首先要进行编译前的准备工作,步骤如下(如果不进行以下的选择,系统为默认值):
★选择你所需的FPGA系列的器件,选择菜单Assign→Device,出现如图2.1-12Device对话框:
图2.1-12
这些器件包括AUTO(自动选择器件)、EPM7032LC44-6EPM7032QC44-7等,根据你自己的电路设计需要进行选择。
★打开设计规则检查工具
编译时,可选的设计规则检查(DesignDoctor)工具将检查项目中所有的设计文件,以及现在器件编程时可能存在的可靠性不好的逻辑。
选择菜单Processing→DesignDoctor,DesignDoctor图标将显示在Complier窗口。
然后再选择菜单Processing→DesignDoctorSetting项,出现如图2.1-13所示:
图2.1-13
根据需要选择规则,例如,MAX7000系列,选择EPLDRules规则。
★打开保密位
MAX+PLUSⅡ允许设计人员为项目中的所有器件制定默认的保密为设置,保密位能防止一个器件被探测或被无意地重新编程。
选择菜单Assign→GlobalProjectDeviceOptions,选中图2.1-14中的Security。
图2.1-14
★管脚分配
Altera推荐让编译器自动为设计人员的项目进行管脚分配,但也可以自己根据需要进行分配。
选择菜单Assign→Pin/Location/Chip,出现如图2.1-15所示对话框,在NodeName框中输入管脚的名字,在ChipResource对话框内选择管脚并输入管脚的序列数,点击Add按钮,你所分配的管脚将出现在ExistingPin/Location/ChipAssignments框内。
图2.1-15
★打开功能仿真器与定时模拟器网表文件提取器
MAX+PLUSⅡ支持编译器功能仿真(前仿真)和模拟仿真(后仿真)功能仿真,选择Procssing→FunctionalSNFExtractor命令。
模拟仿真则选择Procssing→TimingSNFExtractor命令。
以上项目选择好之后,点及Start按钮,系统开始编译。
5.模拟仿真和定时分析
模拟和仿真的目的就是为了对所设计的电路进行正确性的验证,所以它是整个设计过程中的重要一环。
仿真包括功能仿真和模拟仿真。
功能仿真又称为前仿真,是在不考虑器件延迟时的理想情况下的仿真,可以验证电路设计的逻辑功能的正确性。
模拟仿真程后仿真,是考虑电路设计的具体适配器件的各种延迟时的仿真,它不仅可以测试逻辑功能,还可以测试目标器件在最差情况下的时间关系。
★ 创建一个仿真器通道文件
首先打开波形编辑器窗口,选中File→New项,在对话框窗口选中WaveformEditorFile,并从下拉列表中选中*.scf扩展名,点及OK后,屏幕上出现如图2.1-16所示波形编辑器窗口。
图2.1-16
其次选中File→EndTime,输入仿真的时间,例如1us。
再选中Option→GridSize,输入时间轴网格的大小值,例如20ns。
之后在选中菜单Node→EnterNodesfromSNF,屏幕上出现如图2.1-17所示对话框。
图2.1-17
根据你电路设计选择输入输出节点,例如M序例发生器电路,输入为时钟(命名为CLK),输出为M序列(命名为MXULIE)。
如果只选择上图中Type中的Input和Output项,点击图中的List按钮,则在AvailableNodes&
Groups栏目中列出电路的输入输出节点。
选择你要观察的输入输出节点,例如要观察CLK和MXULIE,则按住Ctrl键,点击AvailableNodes&
Groups栏中的CLK,然后选择=>,则将已选中的CLK拷贝到SelectedNodes&
Groups栏中,用同样的方法将MXULIE拷贝到SelectedNodes&
Groups栏中。
点击OK键,所选的节点刷新波形编辑器。
输入节点默认为0,输出节点默认为x。
编辑器输入节点例如CLK,可以为它设定一组波形,方法是首先选中你所需的输入节点如CLK,左边的一些工具按钮示编辑波形的,根据需要选择高低电平或时钟工具,可得到任意的数字信号,完成激励波形的输入任务。
最后将文件保存到扩展名为.scf中。
★运行仿真器
选择MAX+PLUSⅡ→Simulator,打开仿真器,按图2.1-18所示设置仿真时间,仿真开始时间:
0.0ns,仿真器结束时间:
100ns。
时间设置的值应根据你电路的要求设定。
按Start按钮仿真开始。
图2.1-18
★分析仿真结果
打开仿真器图中的OpenSCF,即打开当前项目的.scf文件,输入输出波形就会显示在窗口中。
★定时分析
启动定时分析器,选择菜单MAX+PLUSⅡ→TimingAnalyzer,打开定时分析器窗口。
传播延迟分析,选择菜单Analysis→MAX+PLUSⅡDelayMatrix,定时器开始分析每对输入输出引脚之间的最大和最小传播延迟。
时序逻辑电路性能分析,选择菜单Analysis→RegisterPerformance,开始进行时序逻辑电路性能分析。
建立和保持时间分析,选择菜单Analysis→Set/HoldMatrix,开始进行建立/保持时间分析。
6.器件编程
Altera可编程器件的编程可通过编程器、JATG在线编程及Altera在线配置等三种方式进行。
⑴打开编程器窗口
首先确认编程器硬件已经安装好,选择MAX+PLUSⅡ→Programmmer,则打开编程器窗口,如图2.1-19所示:
图2.1-19
其中:
Program:
将一个编程文件中的数据编程到一个MAX或EPROM器件中。
Verity:
校验器件中的内容是否与当前编程数据内容相同。
Blank-Check:
检查确认器件是否为空。
Configure:
将配置数据下载到一个FLEX器件中。
⑵通过JTAG实现单器件在线编程
★编译一个项目,MAX+PLUSⅡ编译器将自动产生用于MAX器件的编程目标文件。
★将下载电缆的一端与计算机的并口相连,另一端与实验板相连。
★打开MAX+PLUSⅡ编程器。
★选中菜单Options→HardwareSetup项,然后再HadrwareType对话框内的下拉菜单中选择ByteBlaster编程连接硬件。
★点击Program按钮,开始JTAG器件进行编程。
若器件、电缆或电源有问题,则产生错误警告信息;
若编程成功,点击OK键。
2.2QuartusⅡ开发软件
QuartusⅡ与MAX+PLUSⅡ都是Altera公司为其可编程器件推出的开发软件,MAX+PLUSⅡ用于10万门以下的器件,而QuartusⅡ用于10万门以上的器件。
QuartusII是Altera公司推出的新一代FPGA设计软件,与MAX+PLUSⅡ相比,增加了新的功能,设计性能改善15%,编译时间缩短50%,还最小化了耗时的验证过程,帮助设计者加快可编程单芯片设计。
这些新的功能适用于Altera高容量可编程逻辑器件。
QuartusII设计软件代表了可编程逻辑设计软件的重大发展,QuartusII为设计者创建复杂的SOPC(可编程片上系统)设计提供了业界一流的性能,编译时间和生产效率。
在这里我们也仅是对原理图设计输入法进行叙述,而其它方法由于在实验里不涉及,有兴趣的同学可以参考有关书籍。
原理图设计输入法的设计流程图如图2.2-1所示:
图2.2-1原理图设计输入法的设计流程图
可按如下步骤编译、仿真、下载文件。
⑴设计输入:
QuartusII支持多种输入方式:
图形输入文件,EDIF网表文件,文本输入文件(.v,.vhd,.tdf)等,一般采用文木编辑生成.v,.vhd文件。
⑵功能仿真:
将输入文件进行编译后,通过仿真器进行功能验证,如果设计规模较小,这一步可以省略。
⑶逻辑综合:
将源文件调入逻辑综合器进行综合,即把语言综合成最简的布尔表达式和信号的连接关系。
逻辑综合软件会生成.edf(edif)的EDA工业标准文件。
⑷时序仿真:
对综合后的电路,加上延时信息后,验证电路的时序是否满足功能要求。
(也称后仿真)。
⑸布局布线:
将工程的逻辑和时序要求与器件的可用资源相匹配,将每个逻辑功能分配给最好的逻辑单元位置,进行布线和时序,并选择相应的互连路径和引脚分配。
⑹编程下载:
确认仿真无误后,将文件下载到芯片中。
下面我们将以由下向上设计的方法和由上向下的方法简单的介绍QuartusII的使用方法。
由下向上设计的方法是先设计底层电路,再实现总体设计的方法。
而由上向下设计的方法是先设计顶层电路,在添加各模块的功能。
用QuartusII设计电路有以下几种方法:
⑴电路输入法:
也就是原理输入法,与通常的逻辑