FPGA实验指导书1.docx

上传人:b****7 文档编号:8853658 上传时间:2023-02-02 格式:DOCX 页数:22 大小:1.01MB
下载 相关 举报
FPGA实验指导书1.docx_第1页
第1页 / 共22页
FPGA实验指导书1.docx_第2页
第2页 / 共22页
FPGA实验指导书1.docx_第3页
第3页 / 共22页
FPGA实验指导书1.docx_第4页
第4页 / 共22页
FPGA实验指导书1.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

FPGA实验指导书1.docx

《FPGA实验指导书1.docx》由会员分享,可在线阅读,更多相关《FPGA实验指导书1.docx(22页珍藏版)》请在冰豆网上搜索。

FPGA实验指导书1.docx

FPGA实验指导书1

实验一组合逻辑3-8译码器的设计1

实验二基于FPGA的数字钟的设计11

实验三基于NIOS的交通灯实验14

实验四静态图像显示18

实验一组合逻辑3-8译码器的设计

一、实验目的:

1、通过3-8译码器的设计,让学生掌握组合逻辑电路的设计方法。

2、掌握组合逻辑电路的静态测试方法。

3、初步了解可编程器件设计的全过程。

二、实验步骤:

1、打开QuartusII软件。

2、选择路径。

选择File/NewProjectWizard,指定工作目录,指定工程和顶层设计实体称;注意:

工作目录名不能有中文。

3、添加设计文件。

将设计文件加入工程中。

单击“Next”,如果有已经建立好的VHDL或者原理图等文件可以在Filename中选择路径然后添加,或者选择AddAll添加所有可以添加的设计文件(.VHDL,.Verilog原理图等)。

如果没有直接点击“Next”,等建立好工程后再添加也可,这里我们暂不添加。

4、选择FPGA器件。

Family选择CycloneII,Availabledevice选EP2C35F484C8,Packge选择Any,PinCount选择484,Speedgrade选择Any;点击“Next”。

5、选择外部综合器、仿真器和时序分析器。

QuartusII支持外部工具,可通过选中来指定工具的路径。

这里我们不做选择,默认使用QuartusII自带的工具。

6、结束设置。

单击“Next”,弹出“工程设置统计”窗口,上面列出了工程的相关设置情况。

最后单击“Finish”,结束工程设置。

7、建立原理图文件。

如果在建立工程时没有添加设计文件,这时可以新建文件再添加。

也可通过选择Project/Add/RemoveFilesInProject来添加外部文件。

8、添加文件到工程中。

点击“OK”,并选择File/SaveAs,选择和工程相同的文件名。

点击“保存”,文件就被添加进工程当中。

9、原理图建立完毕。

这时,可以开始在原理图上进行设计了。

提示:

用户可以在打开QuartusII后直接建立原理图或者VHDL文件,选择SaveAs,系统会提示是否要保存为工程文件,选择建立工程文件,也可进入工程文件建立流程。

10、添加器件。

按照3-8译码器的电路图添加器件并连线。

可以看到在下图中,左下角处已添加4位功能选择位,设置状态为0001,即16位拨码开关接到16位数据总线上。

11、预编译。

选择Processing/Start/StartAnalysis&Synthesis,进行综合。

12、添加管脚信息。

当综合完成后,网表信息才会生成。

选择Assignments/AssignmentEditor在Edit中选择NodeFider,在NodeFider中选择List显示所有节点信息,然后全部选中。

13、为每个节点分配引脚。

EP1C12器件

EP2C35器件

14、全局编译。

15、下载。

下载可以选择JTAG方式和AS方式(JTAG下载方式把文件直接下载到FPGA里面,AS下载方式把文件下载到配置芯片里面,因此可以掉电存储)。

选择Tool/Programmer,选择JTAG下载方式,选择AddFile,添加.sof文件(AS下载选择.pof文件)并选中Program/Configure,点击“Start”后开始下载。

第一次使用下载时,首先点击“HardwareSetup...”,打开HardwareSetup对话框,然后点击AddHardware,选择ByteBlasterII后单击”SelectHardware”,选择下载形式为ByteBlasterII。

三、功能仿真验证

在下载程序之前可以利用QuartusII的强大功能,对所设计的工程进行功能仿真验证或时序仿真验证。

从菜单File-New中选择创建VectorWaveformFile,如下图所示。

在新的波形文件中选入需要验证的引脚,通过在左边窗栏理点击鼠标右键,选InsertNodeorBus..,在打开的对话框中点击List,选择所要观察的信号引脚,设置引脚的信号值,如下图所示。

点击保存Save.

在Settings对话框中,选中SimulatorSettings选择页,设置Function类型仿真,并将新创建的波形文件当作仿真输入,如下图所示:

设置完毕之后,点击Processing->GenerateFunctionalSimulatorNetList,生产网表文件之后,点击StartSimulator,进行功能仿真,然后验证逻辑功能是否正确。

四、实验接线及说明

A、B、C、G1、G2AN、G2BN分别对应实验箱底板SW1—SW6

Y0N—Y7N分别对应实验箱底板IO9—IO16

实验接线:

用导线将IO9—IO16与8位LEDL1—L8相连,LED为高电平点亮

控制拨码开关SW1—SW6,观察L1—L8显示状态是否与预期输出结果一置。

实验二基于FPGA的数字钟的设计

一、设计要求

1.具有时,分,秒,计数显示功能,以24小时循环计时。

2.具有清零,调节小时、分钟功能。

3.具有整点报时功能,整点报时的同时LED灯花样显示。

二、实验目的

1.掌握多位计数器相连的设计方法。

2.掌握十进制,六进制,二十四进制计数器的设计方法。

3.继续巩固多位共阴级扫描显示数码管的驱动,及编码。

4.掌握扬声器的驱动。

5.LED灯的花样显示。

6.掌握EPLD技术的层次化设计方法。

三、实验原理

1.时钟计数:

秒——60进制BCD码计数;

分——60进制BCDD码计数;

时——24进制BCDD码计数;

整个计数器有清零,调分,调时功能,在接近整数时间能提供报时信号。

2.具有驱动8位八段共阴扫描数码管的片选驱动信号输出和八段字形译码输出,编码和扫描部分可参照前面实验。

3.扬声器在整点时有报时驱动信号产生。

4.LED灯在整点时有花样显示信号产生。

四、实验内容及步骤

1.根据电路持点,可在教师指导下用层次设计概念,将此设计任务分成若干模块,规定每一模块的功能和各模块之间的接口,让几个学生分做和调试其中之一,然后再将各模块合起来联试,以培养学生之间的合作精神,同时加深层次化设计概念。

2.了解软件的元件管理深层含义,以及模块元件之间的连接概念。

了解如何融合不同目录下的统一设计。

模块说明:

各种进制的计数及时钟控制模块(10进制、6进制、24进制);

扫描分时显示,译码模块;

彩灯,扬声器编码模块;

各模块都是由VHDL语言编写。

图26-1数字钟各模块连接示意图

五、实验连线

◎输入接口:

1.代表清零,调时,调分信号RESET,SETHOUR,SETMIN的管脚分别已经连接按键开关。

2.代表计数时钟信号CLK和扫描时钟信号CKDSP的管脚分别已经同1HZ时钟源和32HZ(或更高)时钟源相连。

3.Reset键为低电平复位,已经接上。

◎输出接口:

1.代表扫描显示的驱动信号管脚SCAN2,SCAN1,SCAN0已经接到实验箱上的SCAN0~SCAN2,A…G接八位数码管显示模块的A~G。

2.代表花样LED灯显示的信号管脚LAMP0…LAMP2已经同3个LED灯相连。

代表到时LED灯闪烁提示的ENHOUR接LED灯。

SETHOUR、SETMIN分别对应CPU板上的PB0、PB1(有些CPU板对应的标识是SW1、SW2)

RESET对应CPU板上的RESET

CLKDSP对应CPU板上的50MHz固定晶振输入。

LAMP对应IO9-IO11。

CLK,对应IO3。

功能选择位M[3..0]状态为0010,左端8个数码管,低8位为7位段加小数点选取位,高8位为8个数码管com端选取,即如果要选取数码管0,则发送总线值为:

1111111011111111,如要选取数码管1,则发送总线值为:

1111110111111111,此时所选数码管7段和DP位将全部亮。

实验接线:

用导线连接IO3与ADJ_CLK,调整SW17-SW20,使输出频率为1Hz;

IO9-IO11接到L1-L3上;IO5接到蜂鸣器的BUZZER控制端口。

按下PB0、PB1(有些CPU板对应的标识是SW1、SW2)可以调整时钟,分钟。

实验三基于NIOS的交通灯实验

一、实验目的

1、学习NIOSII应用程序控制自定义Avalon总线外设。

2、学习用Avalon总线接口的设备控制交通灯。

二、实验原理

1、12个交通灯和蜂鸣器周围的4个LED灯的输出值由实验箱底板上下边的CPLD芯片EPM1270来控制,LED为高电平点亮,在做NIOSII实验时,实验箱底板上的两片CPLD看作是NIOSII的一个总线型外设,16位LED的输出值为这个总线型外设的一个寄存器锁存输出值。

2、NIOSII软核CPU通过Avalon三态总线桥,允许多个总线型设备同时共享总线资源,从而把多个总线型设备,挂接在同一组总线上。

每一个总线型设备拥有其唯一的片选信号,数据、地址,读写控制信号等则可以同时与其它总线型设备复用。

3、本实验中实验箱底板上两片CPLD即是一个挂接在三态总线上的一个外设。

同时挂接在这条三态总线上的设备还有CPU上的SRAM、Flash、RTL8019网络接口芯片。

两片CPLD共用同一条片选信号线,读/写信号线各一条,16位数据线用于数据读写,4位地址线可访问16个寄存器。

对LED操作即为对寄存8(二进制地址为1000)写操作。

如执行NIOSII指令:

write_bus16((cs7+8),0x0001);

则为向以cs7为基地址,以8为偏移地址的寄存器写0x0001,这条指令的功能是使LED1点亮,除LED1以外的其它LED均为不点亮状态。

三、实验步骤:

1、将样例工程SOPC_BASE.rar压缩包解压到磁盘根目录下,如:

E:

\SOPC_BASE\

(用户可以参考本样例工程创建自己的工程,或者在此样例工程的基础上进行必要的修改,添加用户所需模块或删除不必要的模块,SOPCBuilder模块资源如下图,具体创建步骤,请参考《NIOSIIStepbyStep》及其它相关资料。

SOPCBuilder模块资源

2、打开QuartusII工程:

在文件夹E:

\SOPC_BASE\中找到E_Play.qpf,双击打开工程文件E_Play.qpf。

3、打开SOPCBuilder:

在QuartusII环境中选择菜单ToolsSOPCBuilder…,打开SOPCBuilder向导,打开Techshine_EP1C12.ptf。

点Generate编译SOPCBuilder。

(如果使用样例工程,可以跳过步骤3。

本工程已经在QuartusII5.1sp1环境下编译通过,如果更换不同版本或更换license后,请重新编译)。

4、编译QuartusII工程:

在QuartusII环境主菜单下选择PressingStartCompilation。

编译完成后生成相关配置文件(.sof和.pof文件)。

(如果使用样例工程,可以跳过步骤4。

本工程已经在QuartusII5.1sp1环境下编译通过,如果更换不同版本或更换license后,请重新编译)。

5、打开NIOSIIIDE环境:

开始程序AlteraNIOSII5.1NIOSIIIDE。

在工作路径中输入:

E:

\SOPC_BASE\software\workspace。

6、创建NIOSII应用工程:

在NIOSIIIDE环境主菜单下选择FileNewProject……。

在弹出的新建工程向导中,选择第一项C/C++Application,点Next,下一步操作。

在弹出的C/C++Application工程向导中,在窗口左下的工程模板中选择BlankProject,命名工程为“led16”,目标硬件选择中浏览找到,QuartusII工程中的Techshine_EP1C12.ptf文件,点Next,下一步操作。

在弹出的系统库设置中,按默认选第一项Createanewsystemlibrarynamed,新建系统库.点Finish,完成系统库创建。

复制“traffic.c”原程序,选择NIOSII工程traffic,右键弹出菜单中选择Paste添加文件traffic.c到工程。

7、编译NIOSII应用工程:

在工程管理窗口中选中traffic应用工程,鼠标右键点击在弹出菜单中选择BuilderProject,NIOSIIIDE将自动先编译系统库traffic_syslib,完成后自动编译应用工程traffic。

8、下载配置文件。

在NIOSIIIDE主菜单中选择ToolsQuartusIIProgrammer,打开QuartusIIProgrammer窗口。

(或通过开始菜单打开QuartusIIProgrammer),默认为JTAG下载方式,点”AddFile…”按钮,流览添加QuartusII工程目录下的“E_Play.sof”文件,在相应的“Programmer/Configure”项上打勾,点“Start”下载程序。

在下载配置文件前,先将ByteBlasterII下载线插到JTAG方式下载口,并给目标板接通电源。

9、运行NIOSII应用工程:

在NIOSIIIDE工程管理窗口,选中要运行的工程traffic,鼠标右键弹出菜单中选择RunAsNIOSIIHardware。

运行成功,在NIOSIDE控制台显示“programmestart!

”,同时可以看到交通灯的效果。

 

实验四静态图像显示

一、实验目的

1、熟悉VGAIP核的寄存器操作

二、实验设备

计算机,NIOS_II&QuartusII8.1,EL-SOPC4000实验箱,E-PLAY-2C35或E-PLAY-3C25-B或E-PLAY-3C80,其他CPU板无法完成此实验。

三、实验步骤

1、连接好电脑和仿真器、CPU板和仿真器;

2、用VGA连接线连接8寸液晶屏和CPU板上的VGA接口;

3、给实验设备上电,打开QuartusII8.1,下载TechshinVGA.sof;

4、打开NiosIIIDE,导入TechshinVGA_E2C35softwareVGA_test和VGA_test_syslib。

导入过程如下:

首先在nios2projects栏空白处右键单击,然后选择Import,显示如下:

选择next,进入如下界面:

浏览找到VGA_test,

点击确定,完成后点击finish

点击yes,完成VGA_test的导入,用同样的方法导入VGA_test_syslib。

5、由于要显示的图片是预先存入flash中的,所以先要选择

进入烧写界面,

双击Flashprogrammer,选择programafileintoflashmemory,浏览找到要烧写的图片文件,图像格式为bmp,大小为900k,

偏移地址offset,对于EP3C25设置为0x00100000,对于EP2C35设置为0x01000000,对于EP3C80设置为0x00100000,EP4CE22设置为0x00100000,对于EP2C35,板上是一块flash芯片,容量为32M,所以第二幅图片烧写时设置偏移地址offset为0x01100000,第三幅图片烧写时设置偏移地址offset为0x01200000,其他以此类推,其他CPU板上是2片2M,共4M的flash,所以烧写第二,第三幅图片按如下设置。

完成后点ProgramFlash开始烧写,

在NIOS2IDE的控制台显示如上图所示时,说明flash烧写成功。

用同样的方法烧入第二幅图像设置如下:

第三幅图像的设置如下:

1、运行VGA_test。

程序的核心代码如下:

程序中,图像时存放在flash偏移地址为0x01000000,程序中之所以写成的0x01000036,0x36即54表示BMP图像的头信息。

运行程序后,可看到液晶屏上显示所烧入的图片。

也可烧入多幅图片,循环显示,做成电子相册。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 农学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1