FPGA入门系列实验教程——点亮LED
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
FPGA入门系列实验教程V1.0
前言
目前市场销售FPGA开发板的厂商很多,但大多只提供些简单的代码,没有详尽的文档和教程提供给初学者。经验表明,很多学生在学习FPGA设计技术的过程中,虽然刚开始学习热情很高,但真正坚持下来一直到“学会”的却寥寥无几,除了学生个人毅力的因素外,另外一个更主要的原因就是所选的开发板缺少配套的说明文档和手把手系列的入门教程。原本FPGA的学习门槛相对于单片机来说就高了不少,再加上缺少手把手系列教程资料,这就给初学者学习FPGA增添了更多的困难,很多初学者因为找不到入门的方法而渐渐失去了学习FPGA的兴趣和信心。
作者从接著到系统学习FPGA有两年多的时间了,学习FPGA的时间不长,期间因为没有专业的老师指导,自己摸索学习FPGA走了很多的弯路。有过问题迎刃而解的快乐,也有过苦苦寻求结果和答案的痛苦历程,回想起自己学习FPGA的历程,从开始的茫然,到后来的疯狂看书,购买开发板,在开发板上练习各种FPGA实例,到最后能独立完成项目,一路走来,感受颇多。发觉学习FPGA只要选择正确的方法是有捷径可走的,有很多人学习FPGA很长时间,因为没有找到正确的方法还是停留在入门阶段。
针对现状,作者从初学者的角度出发,结合作者学习FPGA的经验和亲身体会,遵循“宁可啰嗦一点,也不放过细节”的原则编写了详尽的实验教程作为艾米电子工作室开发套件的配套教程使用,主要面向FPGA初学者。FPGA的学习只有通过大量的操作与实践才能很好并快速的掌握。为此本实验教程从点亮LED 灯写起,深入浅出,以图文并茂的方式由易到难地列举了很多实例,采用手把手、Step by Step的方式让初学者以最快的方式掌握FPGA技术的开发流程以及Quartus II软件的使用,从而激起初学者学习FPGA的兴趣。在教程中作者采用“授人以渔”的方式,努力做到不仅讲述怎样进行试验,而且分析为什么这样做,以便初学者深刻理解并快速掌握FPGA的学习方法。
FPGA技术是不断发展变化的,要掌握FPGA技术的精髓,需要设计者在实践中不懈地摸索与积累,逐步提高自己的设计水平,本实验教程试图对初学者起到快速入门的作用。但由于作者学习FPGA时间不长,水平有限,错漏和不严谨之处在所难免,欢迎大家批评指正
FPGA入门系列实验教程——点亮LED
1.实验任务
点亮发光二极管。通过这个实验,熟悉并掌握CPLD/FPGA开发软件Quartus II的使用方法和开发流程以及Verilog HDL的编程方法。
2.实验环境
软件实验环境为Quartus II 8.1开发软件。
3.实验原理
FPGA器件同单片机一样,为用户提供了许多灵活的独立的输入/输出I/O口(单元)。FPGA每个I/O口可以配置为输入、输出、双向、集电极开路和三态门等各种组态。作为输出口时,FPGA的I/O口可以吸收最大为24mA的电流,可以直接驱动发光二极管LED等器件。图1. 1为8个发光二极管硬件原理图,本原理图对应艾米电子工作室型号为EP2C5T144 FPGA开发板及接口板。通过原理图可知如果要点亮这八个LED,所以只要正确分配并锁定引脚后,在相应的引脚上输出相应高电平“1”,就可实现点亮该发光二极管的功能。本工作室开发板均采用输出“1”点亮LED的模式,以后就不再另作说明。
图1. 1发光二极管LED硬件原理图
4.实验程序
(1)利用连续赋值assign 语句来实现(文件名led.v )
module led1 (led);//模块名led
output[7:0] led;//定义输出端口
assign led=8'b10101010; //输出0x AA
endmodule
(2)利用过程赋值语句来实现(文件名led1.v )
module led1(led);//模块名led1
output[7:0]led;//定义输出端口
reg[7:0]led;
always
begin
led= 8'b10101010; //输出0xAA
end
endmodule
5.实验步骤
1)打开Quartus II 软件并建立工程
(1)通过桌面上的快捷方式打开Quartus II 8.1软件,进入集成开发环境,软件界面如图1. 2所示。图1. 2Quartus II
软件界面
工程栏资源管理器编译状态显示
信息显示窗
我们首先简单了解一下各部分的作用:
标题栏:显示当前工程的路径和程序的名称。
菜单栏:主要包括文件(File )、编辑(Edit)、视图( View)、工程(Project)、资源分配( Assignments)、操作( Processing)、工具( Tools)、
窗口(Window)、和帮助(Help)、9 个下拉菜单组成。
工具栏:包含常用命令的快捷图标。
资源管理窗:显示当前工程中所有相关的文件。
工程工作区:对不同的工程文件进行各种操作。
编译状态显示窗:显示模块综合、布局布线过程和时间。
信息显示窗:显示软件综合、布局布线过程中的信息。
(2)在图 1.2 中选择 File→New project wizard 来新建一个工程。新建工程向导说明对话框如图 1.3 所示。
图1.3新建工程向导说明对话框
(3)在图 1.3 中单击 Next 进入如图 1.4 所示对话框
保存工程路径
工程名称
顶层实体名
图1.4新建工程路径、名称、顶层实体指定对话框
注意:文件夹所在路径名和文件夹名不能用中文、空格和括号,可以用下划线,最好不要以数字开头。建议使用顶层文件的实体名作为工程名,即工程名和顶层文件的实体名保持一致。