实验基于FPGA数字电路实验指导.docx
《实验基于FPGA数字电路实验指导.docx》由会员分享,可在线阅读,更多相关《实验基于FPGA数字电路实验指导.docx(58页珍藏版)》请在冰豆网上搜索。
实验基于FPGA数字电路实验指导
【关键字】实验
基于FPGA
数字电路实验指导
(修改稿)
湖北科技学院
计算机科学与技术学院
编制
工程技术研究院
第一部分实验基础知识
随着科学技术的发展,数字电子技术在各个科学领域中都得到了广泛的应用,它是一门实践性很强的技术基础课,在学习中不仅要掌握基本原理和基本方法,更重要的是学会灵活应用。
因此,需要配有一定数量的实验,才能掌握这门课程的基本内容,熟悉各单元电路的工作原理,各集成器件的逻辑功能和使用方法,从而有效地培养学生理论联系实际和解决实际问题的能力,树立科学的工作作风。
一.实验的基本过程
实验的基本过程,应包括:
确定实验内容、选定最佳的实验方法和实验线路、拟出较好的实验步骤、合理选择仪器设备和元器件、进行连接安装和调试、最后写出完整的实验报告。
在进行数字电路实验时,充分掌握和正确利用集成器件及其构成的数字电路独有的特点和规律,可以收到事半功倍的效果,对于完成每一个实验,应做好实验预习、实验记录和实验报告等环节。
(一)实验预习
认真预习是做好实验的关键。
预习好坏,不仅关系到实验能否顺利进行,而且直接影响实验效果。
预习应按本教材的实验预习要求进行,在每次实验前首先要认真复习有关实验的基本原理,掌握有关器件使用方法,对如何着手实验做到心中有数,通过预习还应做好实验前的准备,写出一份预习报告,其内容包括:
1.绘出设计好的实验电路图,该图应该是逻辑图和连线图的混合,既便于连接线,又反映电路原理,并在图上标出器件型号、使用的引脚号及元件数值,必要时还须用文字说明。
2.拟定实验方法和步骤。
3.拟好记录实验数据的表格和波形座标。
4.列出元器件单。
(二)实验记录
实验记录是实验过程中获得的第一手资料。
尝试过程中所尝试的数据和波形必须和理论基本一致,所以记录必须清楚、合理、正确,若不正确,则要现场及时重复尝试,找出原因。
实验记录应包括如下内容:
1.实验任务、名称及内容。
2.实验数据和波形以及实验中出现的现象,从记录中应能初步判断实验的正确性。
3.记录波形时,应注意输入、输出波形的时间相位关系,在座标中上下对齐。
4.实验中实际使用的仪器型号和编号以及元器件使用情况。
(三)实验报告
实验报告是培养学生科学实验的总结能力和分析思维能力的有效手段,也是一项重要的基本功训练,它能很好地巩固实验成果,加深对基本理论的认识和理解,从而进一步扩大知识面。
实验报告是一份技术总结,要求文字简洁,内容清楚,图表工整。
报告内容应包括实验目的、实验内容和结果、实验使用仪器和元器件以及分析讨论等,其中实验内容和结果是报告的主要部分,它应包括实际完成的全部实验,并且要按实验任务逐个书写,每个实验任务应有如下内容:
1.实验课题的方框图、逻辑图(或测试电路)、状态图,真值表以及文字说明等,对于设计性课题,还应有整个设计过程和关键的设计技巧说明。
2.实验记录和经过整理的数据、表格、曲线和波形图,其中表格、曲线和波形图应充分利用专用实验报告简易座标格,并且三角板、曲线板等工具描绘,力求画得准确,不得随手示意画出。
3.实验结果分析、讨论及结论,对讨论的范围,没有严格要求,一般应对重要的实验现象、结论加以讨论,以便进一步加深理解,此外,对实验中的异常现象,可作一些简要说明,实验中有何收获,可谈一些心得体会。
二.实验中操作规范和常见故障检查方法
实验中操作的正确与否对实验结果影响甚大。
因此,实验者需要注意按以下规程进行。
1.搭接实验电路前,应对仪器设备进行必要的检查校准,对所用集成电路进行功能测试。
2.搭接电路时,应遵循正确的布线原则和操作步骤(即要按照先接线后通电,做完后,先断电再拆线的步骤)。
3.掌握科学的调试方法,有效地分析并检查故障,以确保电路工作稳定可靠。
4.仔细观察实验现象,完整准确地记录实验数据并与理论值进行比较分析。
5.实验完毕,经指导教师同意后,可关断电源拆除连线,整理好放在实验箱内,并将实验台清理干净、摆放整洁。
布线原则和故障检查时实验操作的重要问题。
(一)布线原则:
应便于检查、排除故障和更换器件。
在数字电路实验中,有错误布线引起的故障,常占很大比例。
布线错误不仅会引起电路故障,严重时甚至会损坏器件,因此,注意布线的合理性和科学性是十分必要的,正确的布线原则大致有以下几点:
1.接插集成电路芯片时,先校准两排引脚,使之与实验底板上的插孔对应,轻轻用力将芯片插上,然后在确定引脚与插孔完全吻合后,再稍用力将其插紧,以免集成电路的引脚弯曲,折断或者接触不良。
2.不允许将集成电路芯片方向插反,一般IC的方向是缺口(或标记)朝左,引脚序号从左下方的第一个引脚开始,按逆时钟方向依次递增至左上方的第一个引脚。
3.导线应粗细适当,一般选取直径为0.6~0.8mm的单股导线,最好采用各种色线以区别不同用途,如电源线用红色,地线用黑色。
4.布线应有秩序地进行,随意乱接容易造成漏接错接,较好的方法是接好固定电平点,如电源线、地线、门电路闲置输入端、触发器异步置位复位端等,其次,在按信号源的顺序从输入到输出依次布线。
5.连线应避免过长,避免从集成器件上方跨接,避免过多的重叠交错,以利于布线、更换元器件以及故障检查和排除。
6.当实验电路的规模较大时,应注意集成元器件的合理布局,以便得到最佳布线,布线时,顺便对单个集成器件进行功能测试。
这是一种良好的习惯,实际上这样做不会增加布线工作量。
7.应当指出,布线和调试工作是不能截然分开的,往往需要交替进行,对大型实验元器件很多的,可将总电路按其功能划分为若干相对独立的部分,逐个布线、调试(分调),然后将各部分连接起来(联调)。
(二)故障检查
实验中,如果电路不能完成预定的逻辑功能时,就称电路有故障,产生故障的原因大致可以归纳以下四个方面:
1.操作不当(如布线错误等)
2.设计不当(如电路出现险象等)
3.元器件使用不当或功能不正常
4.仪器(主要指数字电路实验箱)和集成器件本身出现故障。
因此,上述四点应作为检查故障的主要线索,以下介绍几种常见的故障检查方法:
1.查线法:
由于在实验中大部分故障都是由于布线错误引起的,因此,在故障发生时,复查电路连线为排除故障的有效方法。
应着重注意:
有无漏线、错线,导线与插孔接触是否可靠,集成电路是否插牢、集成电路是否插反等。
2.观察法:
用万用表直接测量各集成块的Vcc端是否加上电源电压;输入信号、时钟脉冲等是否加到实验电路上,观察输出端有无反应。
重复测试观察故障现象,然后对某一故障状态,用万用表测试各输入/输出端的直流电平,从而判断出是否是插座板、集成块引脚连接线等原因造成的故障。
3.信号注入法
在电路的每一级输入端加上特定信号,观察该级输出响应,从而确定该级是否有故障,必要时可以切断周围连线,避免相互影响。
4.信号寻迹法
在电路的输入端加上特定信号,按照信号流向逐级检查是否有响应和是否正确,必要时可多次输入不同信号。
5.替换法
对于多输入端器件,如有多余端则可调换另一输入端试用。
必要时可更换器件,以检查器件功能不正常所引起的故障。
6.动态逐线跟踪检查法
对于时序电路,可输入时钟信号按信号流向依次检查各级波形,直到找出故障点为止。
7.断开反馈线检查法
对于含有反馈线的闭合电路,应该设法断开反馈线进行检查,或进行状态预置后再进行检查。
以上检查故障的方法,是指在仪器工作正常的前提下进行的,如果实验时电路功能测不出来,则应首先检查供电情况,若电源电压已加上,便可把有关输出端直接接到0—1显示器上检查,若逻辑开关无输出,或单次CP无输出,则是开关接触不好或是内部电路坏了,一般就是集成器件坏了。
需要强调指出,实验经验对于故障检查是大有帮助的,但只要充分预习,掌握基本理论和实验原理,就不难用逻辑思维的方法较好地判断和排除故障。
三、DE2-115型数字系统综合实验平台简介
DE2-115型数字系统综合实验平台是以FPGA芯片数数主的可进行数字逻辑、微机原理、接口技术等数字技术的课程实验。
本实验通过所需完成数字逻辑的器件配置图来配置FPGA核心芯片完成相关的逻辑功能。
1、DE2-115型数字综合实验平台(实验板)介绍
FPGA核心芯片“
”,配置方式有TJAG和AS模式两种,配置控制芯片为EPCS64,使用USBBlaster进行在线配置。
系统上电后不断进行自检。
2、本实验中涉及主要引脚
(1)拨动开关(SW)与FPGA引脚对应关系
(2)按钮开关(KEY)与FPGA引脚对应关系
(3)LED指示灯与FPGA引脚对应关系
(4)数码管与FPGA引脚对应关系
3、DE2-115下载器连接与配置
(1)配置CycloneIVEFPGA芯片
在QuartusII软件使用简介中,我们已经介绍了如何从PC下载一个硬件电路到DE2-115开发板。
这份使用说明书可以在DE2-115系统光盘里面的DE2_115_tutorials目录下面找到。
用户应该首先仔细阅读这份说明书,而把以下的介绍作为简短的参考。
DE2-115开发板包含一个存储有CycloneIVEFPGA芯片配置数据的串行配置芯片。
每次开发板上电的时候,芯片里面的配置数据会自动从配置芯片加载到FPGA芯片。
使用QuartusII软件,用户可以随时重新配置FPGA,并可以改变存储在非易失性串行存储器芯片(EPCS)里面的数据。
下面分述两种不同的配置方式:
1)JTAG编程:
这种下载方式-名字起源于IEEE标准,联合测试行动组-会把配置数据直接加载到CycloneIVEFPGA芯片。
FPGA芯片会保持这些配置信息直到芯片掉电。
2)AS编程:
这种下载方式被叫称作串行主动编程,它会下载配置数据到AlteraEPCS64芯片。
它将配置数据保存在非易失性器件中,即使DE2-115开发板掉电,数据也不会丢失。
在每次开发板上电的时候,EPCS64芯片里面的数据会自动加载到CycloneIVEFPGA芯片。
(2)DE2-115开发板上的JTAG链
当使用JTAG接口配置FPGA芯片的时候,DE2-115上的JTAG链必须形成一个回路,这样QuartusII软件才可以正确检测到JTAG链上的FPGA/CPLD器件。
给出了DE2-115开发板上的JTAG链。
短接JP3上的第一、二引脚会旁路HSMC接头的JTAG信号,直接在DE2-115上形成JTAG回路,这样只有DE2-115上的FPGA器件(CycloneIVE)才可以被QuartusII软件检测到。
如果用户想通过HSMC接头包含其它的FPGA器件或者包含FPGA器件的界面,短路JP3的第二、三脚,从而使能HSMC接头上的JTAG链。
以下是关于JTAG和AS编程的操作步骤。
对于这两种方式,DE2-115开发板均通过USB电缆连接到PC主机。
通过这种连接,主机将开发板当做一个AlteraUSB-Blaster设备。
在主机上安装USB-Blaster驱动的步骤在说明书“GettingStartedwithAltera’sDE2-115Board”(tut_initialDE2-115.pdf)中有详细描述。
这份说明书可以在DE2-115的系统光盘中找到。
(3)使用JTAG模式配置FPGA
给出了JTAG编程模式的设定信息。
执行以下步骤,以将配置数据下载到CycloneIVEFPGA:
∙确保DE2-115已经正确连接好电源
∙将RUN/PROG拨动开关(SW19)放置在RUN位置
∙将附带的USB电缆连接到DE2-115开发板的USB-Blaster电路上。
∙现在可以通过QuartusII编程器选择合适的以.sof为扩展名的配置数据来配置DE2-115的FPGA芯片了
(4)使用AS模式配置EPCS64芯片
图4-5给出了AS配置模式的设定。
执行以下步骤,以将配置数据下载到EPCS64芯片:
∙确保DE2-115已经连接好电源
∙连接附带的USB电缆到DE2-115的USB-Blaster接口
∙将RUN/PROG拨动开关(SW19)放置在PROG位置
∙现在可以通过QuartusII编程器通过选择以.pof位扩展名的配置文件来编程EPCS64器件了
∙编程结束后,将RUN/PROG开关拨回RUN位置,关闭然后打开DE2-115的电源开关。
通过这次重启,FPGA将从EPCS64器件读取新的配置数据
(5)拨动开关与按钮开关的使用
DE2-115提供了四个按钮开关,如图4-6所示。
每个按钮开关都通过一个施密特触发器进行了去抖动处理,如图4-7所示。
四个施密特触发器的输出信号,分别为KEY0,KEY1,KEY2,KEY3,直接连接到了CycloneIVEFPGA。
当按钮没有被按下的时候,它的输出是高电平,按下去则给出一个低电平。
得益于去抖动电路,这些按钮开关适合用来给内部电路提供(模拟的)时钟或者复位信号。
DE2-115开发板上还有18个拨动开关(参考图4-8)。
这些开关没有去抖动电路,它们可以作为对电平敏感的电路的输入数据。
每个开关都直接连接到CycloneIVEFPGA。
当拨动开关在DOWN位置(靠近开发板边缘)的时候,输出为低电平,当在UP位置时,输出为高电平。
CycloneIVEFPGA到拨动开关间的详细引脚连接信息请参考表见前面引脚对应表格。
(6)LED指示灯的使用
DE2-115开发板共有27个直接由FPGA控制的LED。
18个红色的LED位于18个拨动开关的正上方,8个绿色LED可以在按钮开关的上方找到(第九个LED位于七段数码管的中间)。
每一个LED都由CycloneIVEFPGA的一个引脚直接驱动,其输出高电平则点亮LED,输出低电平LED熄灭。
图4-9给出了LED和CycloneIVEFPGA之间的连接示意图。
四、Quartusii10.0在本实验中的使用
1.新建一个文件夹FPGA,再启动quratsii
2.启动后界面
3.点
新建工程,出现以下界面
4.在出现的界面里第一行上选择新建的FPGA文件夹,第二行上输入Basic_gate,点finish完成后出现如下界面
5.再新建文件,选择“BlockDiagram/SchematicFile”
6.出现编辑界面
7.挑选元件,点“
”,在出现的窗口中的“name”栏输入所需器件名称,如“7400”、“7432”、“input”、“output”等,点“OK”后拖入编辑界面。
8.选好元件后连线,按住标左键不松,点需连接的点即可。
9.重新命名各信号引脚。
双击某信号引脚(输入或输出),出现界面后修改信号引脚名称。
再按“
”进行预编译,检查是否有错。
10.在主菜单点“Assignments”,下拉菜单中选“Device…”,在出现的界面中,“Family”选择“cycloneIVE”,在下面列表中选与实验板FPGA主芯片对应的芯片名称,如“EP4CE115F29C7”,点“OK”确定
11.点“
”选对应器件引脚。
在出现的界面上选与实验板上对应的引脚与原理图输入输出引脚对应。
引脚输入输出对应开关和指示灯见DE2-115实验板使用手册。
12.选好的引脚如图
13.重新按“
”编译,编译时有“%”指示。
14.连接实验板(USB),查看设备管理中有无“USB-Blaster”连接
15.按主界面中图标“
”,在出现的界面中查看下载器件是否连接,编译后的文件是否在上面。
16.在上面界面上点“
”将编译后的文件“XX.sof”下载到实验板中,看下载指示条(等待一段时间或重)
17.运行实验板,看逻辑变化
第二部分实验
实验一门电路逻辑功能与测试
一、实验目的:
1.了解与熟悉基本门电路逻辑功能;
2.掌握门电路逻辑功能的测试方法,验证与加深对门电路逻辑功能的认识;
3.熟悉门电路的外形和管脚排列,以及其使用方法。
二、实验仪器、设备、元器件:
1.智能数字逻辑实验仪DE2-1151台2.四2输入与门74LS08芯片1片
3.四2输入或门74LS32芯片1片4.六反向器74LS04芯片1片
5.四2输入与非门74LS00芯片1片6.四2输入或非门74LS02芯片1片
7.四2输入异或门74LS86芯片1片8.万用表、逻辑笔
9.导线若干
三、预习要求:
1.了解数字电路实验箱的结构和使用方法;
2.复习门电路工作原理及相应逻辑表达式;
3.熟悉所用门电路的管脚排列及相应管脚的功能;
4.熟悉数字万用表、逻辑笔的使用方法。
5.使用Proteus软件对上述门电路进行设计。
四、实验内容和步骤:
实验前按实验仪使用说明检查实验仪是否正常。
然后选择实验用的IC,按设计的实验接线图接好线,特别注意Vcc及地线不能接错。
线接好后仔细检查无误后方可通电实验。
实验中需要改动接线时,必须先断开电源,接好后再通电实验。
1、与门、或门、非门的逻辑功能测试(任选一个逻辑门)
①与门的逻辑功能测试
按图1.1所示要求连接电路,输入端接逻辑开关A、B,输出端接指示器。
改变输入状态的高低电平,将A、B输入端依次接成0-0,0-1,1-0,1-1状态,进行电路仿真,观察输出端电平指示器的显示状态(亮为“1”,灭为“0”),并填写实验结果。
实验结果填入表1.1的逻辑真值表中,并写出输出端Y的逻辑表达式和电路的逻辑功能。
图1.1电路与仿真
表1.1逻辑真值表
输 入
输出
A B
Y
0 0
0 1
1 0
1 1
逻辑表达式Y=______________
逻辑功能:
_______________
②或门的逻辑功能测试
按图1.2所示要求连接电路,将A、B输入端依次接成0-0,0-1,1-0,1-1状态,观察输出端电平指示器的显示状态(亮为“1”,灭为“0”),并填写实验结果。
实验结果填入表1.2的逻辑真值表中,并写出输出端Y的逻辑表达式和电路的逻辑功能。
图1.2电路与仿真
表1.2逻辑真值表
输 入
输出
A B
Y
0 0
0 1
1 0
1 1
逻辑表达式Y=_________________
逻辑功能:
____________________
③非门逻辑功能测试
按图1.3所示要求连接电路,将A输入端接逻辑开关A,依次为0、1时,观察输出端电平指示器的显示状态(亮为“1”,灭为“0”),并填写实验结果。
实验结果填入表1.3的逻辑真值表中,并写出输出端Y的逻辑表达式和电路的逻辑功能。
图1.3电路与仿真
表1.3逻辑真值表
输 入
输出
A
Y
0
1
逻辑表达式Y=___________
逻辑功能:
_______________
2、与非门、或非门、异或门的逻辑功能测试(任选一个逻辑门)
①与非门的逻辑功能测试
按图1.4所示要求连接电路,将A、B输入端接逻辑开关A、B,依次输入0-0,0-1,1-0,1-1状态,观察输出端电平指示器的显示状态(亮为“1”,灭为“0”),并填写实验结果。
实验结果填入表1.4的逻辑真值表中,并写出输出端Y的逻辑表达式和电路的逻辑功能。
图1.4电路与仿真
表1.4逻辑真值表
输 入
输出
A B
Y
0 0
0 1
1 0
1 1
逻辑表达式Y=_____________________
逻辑功能:
________________________
②或非门的逻辑功能测试
按图1.5所示要求连接电路,将A、B输入端接逻辑开关A、B,依次接成0-0,0-1,1-0,1-1状态,观察输出端电平指示器的显示状态(亮为“1”,灭为“0”),并填写实验结果。
实验结果填入表1.5的逻辑真值表中,并写出输出端Y的表达式和电路的逻辑功能,验证输入与输出之间的逻辑关系。
图1.5电路与仿真
表1.5逻辑真值表
输 入
输出
A B
Y
0 0
0 1
1 0
1 1
逻辑表达式Y=____________________
逻辑功能:
_____________________
③异或门的逻辑功能测试
按图1.6所示要求连接电路,将A、B输入端依次接成0-0,0-1,1-0,1-1状态,观察输出端电平指示器的显示状态(亮为“1”,灭为“0”),并填写实验结果。
实验结果填入表1.6的逻辑真值表中,写出输出端Y的表达式和电路的逻辑功能,验证输入与输出之间的逻辑关系。
图1.6电路与仿真
表1.6逻辑真值表
输 入
输出
A B
Y
0 0
0 1
1 0
1 1
逻辑表达式Y=________________
逻辑功能:
___________________
3.用与非门实现与或非逻辑功能
用74LS00(即四个二输入与非门)实现与或非逻辑Y=
。
写出逻辑表达式,画出逻辑图,测试其功能,总结用与非实现其它逻辑功能的一般步骤。
①把与或非逻辑Y=
转换成与非逻辑表达式Y= 。
②画出逻辑图如图1.7(a)所示。
图1.7
③按照逻辑图连线得到实验测试图,如图1.7(b)所示。
改变四输入信号A、B、C、D的输入状态,观察输出状态。
填写逻辑真值表1.7,得出逻辑表达式。
表1.7
输入信号
输出
输入信号
输出
A
B
C
D
Y
A
B
C
D
Y
0
0
0
0
1
0
0
0
0
0
0
1
1
0
0
1
0
0
1
0
1
0
1
0
0
0
1
1
1
0
1
1
0
1
0
0
1
1
0
0
0
1
0
1
1
1
0
1
0
1
1
0
1
1
1
0
0
1
1
1
1
1
1
1
输出逻辑表达式Y=______________________
五、使用Quartusii10.0电路原理图
建文件夹名称:
BG,工程文件名Basic_Gate
六、实验报告要求:
1.整理实验数据,判断各门电路的逻辑功能;
2.回答以下问题:
①如何判断门电路逻辑功能是否正常?
②门电路多余输入端应该如何处理?
(提示:
接地、接电源端、输入端并接)设计电路测