欢迎来到天天文库
浏览记录
ID:30481854
大小:2.64 MB
页数:30页
时间:2018-12-30
《fpga实验_fpga基础设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、通信工程实验FPGA实验FPGA基础设计一、实验目的⒈学习使用硬件描述语言VerilogHDL建模基本硬件模块。⒉学习QuatursII设计软件的操作。⒊学习ModelSim仿真软件的基础操作。⒋学习FPGA开发板的使用。⒌学习使用SignalTapⅡ工具观测和分析设计结果。二、实验说明FPGA(FieldProgrammableGateArray)称为现场可编程门阵列,是在早期的可编程逻辑器件基础上发展起来的新型高性能可编程逻辑器件。FPGA的集成度很高,其器件密度从数万系统门到数千万系统门不等,可以实现极其复杂的组合与时序逻辑电路功能,适用于高速、高密度的
2、高端数字逻辑电路设计领域。使用FPGA技术设计各种大规模或超大规模的组合、时序逻辑电路,不仅可以使设计者避免直接与若干复杂烦琐的电路元器件的选择布线直接接触,而且开发设计过程中采用的类似于软件开发的模块化设计方法还更加便于多人合作设计开发,这就极大地提高了产品规划设计的效率。目前,FPGA技术已经成为国际上通行的硬件芯片产品设计开发的主流。VerilogHDL是一种硬件描述语言,它能够通过类似于高级语言程序代码的方式描述硬件电路的结构和工作过程。与传统的通过电路图直接设计硬件电路的方式相比,VerilogHDL具有方便直观的优点。VerilogHDL的语法结构
3、也与高级程序设计语言有许多相似之处,便于学习和掌握。和高级程序设计语言一样,VerilogHDL同样支持模块化设计,这就为多人合作开发提供了可能。QuartusⅡ是Altera公司开发的一个综合性的可编程逻辑器件设计软件。它能够完成从工程建立、设计输入、编译、综合、芯片布局布线、时序分析到开发板下载的完整开发流程,并能配合许多第三方仿真软件对设计进行功能仿真和时序仿真。QuartusⅡ是FPGA开发设计中的最主要工具。ModelSim是ModelTech公司开发的工业级仿真软件,目前在电子设计业界应用非常广泛。ModelSim能对各类逻辑设计中的各种信号和存储
4、单元之间的逻辑和时序关系进行精确仿真,它对各种设计文件的编译速度甚至超过了诸如QuartusⅡ这样的原厂开发软件,而且能识别全系列器件,通用性好,可扩展性强。ModelSim的时序仿真结果最接近电路实际工作状态,已由业界公认。ModelSim还具有彩色化的图形界面,并配有许多辅助功能,观测分析各种结果十分清晰直观。FPGA开发板是FPGA设计中的硬件平台,它与QuartusⅡ软件配合,共同组成一个逻辑设计开发的综合环境。FPGA开发板根据所用FPGA芯片的不同,分为多种系列和型号,但主要结构基本相似,都包括FPGA芯片、各类存储器和基本的外围功能电路。本实验采
5、用的是Terasic公司生产的DE2-115型开发板,其中的FPGA芯片型号为Altera公司生产的CycloneⅣE系列的EP4CE115F29C7。SignalTapⅡ称为嵌入式逻辑分析仪,是QuartusⅡ软件自带的一个功能。在SignalTapⅡ出现以前,传统的逻辑分析仪曾经是FPGA设计中的必备工具,它是一个独立器件,通通信工程实验过大量接线连接到FPGA芯片的引脚上工作,使用非常不便。随着FPGA容量的增大,FPGA的设计日益复杂,设计调试成为一个很繁重的任务,因此设计人员需要一种简易有效的测试工具,以尽可能地缩短测试时间。SignalTapⅡ只是
6、一个内嵌功能,只需要通过相对简单的设置,由QuartusⅡ软件下载到FPGA芯片内部后,它会自动捕获设计者需要观测的信号,并通过下载电缆将结果回传到QuartusⅡ软件,在专门的窗口中显示。它具有无干扰、使用方便、易于升级和成本低廉的特点。本实验利用上述工具,进行一些基本模块的设计练习,作为后续实验的基础。⒈基本模块的VerilogHDL代码⑴半加法器半加法器是指最高位无进位的二进制加法器。这里设计的是一个4位宽的半加法器。加法器属于组合逻辑电路。moduleadder(ina,inb,sum);//模块定义的关键字是module,括号中是外部信号列表。inp
7、ut[3:0]ina;//输入信号定义的关键字是input,[3:0]表示信号有4位宽。input[3:0]inb;output[3:0]sum;//输出信号定义的关键字是output。assignsum=ina+inb;//加法器结构描述,assign是组合逻辑连线赋值语句。endmodule//模块结束的关键字是endmodule。⑵逻辑位运算器基本的逻辑位运算有非、与、或、异或。逻辑运算属于组合逻辑电路。modulelogic(a,b,c,d,f,g);//按位逻辑非、与、或、异或模块。inputa;inputb;outputc;outputd;outp
8、utf;outputg;assignc
此文档下载收益归作者所有