基于QuartusII的实例演示基于QuartusII通过实验板上的KEY1按钮控制FPGA核心板上的第一个LED灯。本实验比较简单,使用本站FPGA开发板或者CPLD开发板以及其它FPGA开发板都可进行实验。下面实验目的:通过该实例学习,可以了解FPGA的基本开发流程,熟识quartusII软件基本功能的使用。基本原理:利用一个常开按钮(实验板上的KEY1)作为输入(常开时输入1,闭合时输入0),经过一个反相器后输出到核心板的第一个LED。KEY1常开时,LED亮,按下(闭合)实验板上的KEY1,该LED熄灭。1.建立工程运行QuatrusII软件(以下简称Q2),建立工程,FileàNewProjectWizad如点击NewProjectWizard后弹出指定工程名的对话框,在Diectory,Name,Top-LevelEntity中如下图填写:按Next按钮,出现添加工程文件的对话框:在这里我们先不用管它,直接按Next进行下一步,选择FPGA器件的型号:在Family下拉筐中,我们选择Cyclone系列FPGA,然后在“Availabledevices:”中根据核心板的FPGA型号选择FPGA型号,注意在Filters一栏选上“ShowAdvancedDevices”以显示所有的器件型号。执行下一步出现对话框:这里是选择其它EDA工具的对话框,我们用Q2的集成环境进行开发,因此这里不作任何改动。按Next进入工程的信息总概对话框:按Finish按钮即建立一个空项目。2.建立顶层图执行FileàNew,弹出新建文件对话框:选择“BlockDiagramSchematicFile”按OK即建立一个空的顶层图,缺省名为“Block1.bdf”,我们把它另存为(FileàSaveas),接受默认的文件名,并将“Addfiletocurrentproject”选项选上,以使该文件添加到工程中去。如图所示:3.添加逻辑元件(Symbol)双击顶层图图纸的空白处,弹出添加元件的对话筐:在Libraries里寻找所需要的逻辑元件,如果知道逻辑元件的名称的话,也可以直接在Name一栏敲入名字,右边的预览图即可显示元件的外观,按OK后鼠标旁边即拖着一个元件符号,在图纸上点击左键,元件即安放在图纸上。在图纸上分别添加非门(not)、输入(input)、输出(output)三个symbol,如图所示:连线,将鼠标移到symbol连线端口的那里,鼠标变成图示模样:按下左键拖动鼠标到另一个symbol的连线端。本例中,这三个symbol的连线如下图所示:分别双击input和outputsymbol的名字“pin_name”、“pin_name1”,将它们的名字改为Key1,LED1:4.分配管脚为芯片分配管脚可以用QuartusII软件里的“AssignmentsàPins”菜单,也可以用tcl脚本文件。用Tcl文件进行配置可重用性好,易于管理,因此本文介绍用tcl的方法。对于另一种方法,可以参考QuartusII软件的帮助文档。在工程目录下建立一个name为Setup.tcl的file。FileàNew,选择otherfiles页面:有关tcl文件的更详尽内容可参考QuartusII的帮助文档,对于我们所选用的FPGA开发板SOPC开发板来说,由于不同型号的FPGA核心板的管脚与实验板上的引脚也不同,因此不同的核心板对应的.tcl文件也不同(关于核心板引脚与实验板引脚对应的详细情况可以参照相关电路原理图)。在实际项目中,该文件也可以根据具体管脚分配要求来改写。对应于EP1C6FPGA开发板,EP1C12FPGA开发板:#Setup.tcl#Setuppinsettingset_global_assignment-nameRESERVE_ALL_UNUSED_PINS“ASINPUTTRI-STATED”set_global_assignment-nameENABLE_INIT_DONE_OUTPUTOFFset_location_assignmentPIN_1-toled1set_location_assignmentPIN_122-tokey1保存到工程目录下,并注意在保存对话框选上“Addfiletocurrentproject”选项。然后打开Tools-》TclScripts,选中刚才编辑的Script文件:Setup,并点击Run,如下图:注意:建立工程时如果路径名有中文字符或者路径名有空格字符,则tclScript文件将运行不了。例如,本例建立的工程“FPGA_led_test”目录是:C:alteraquartus51myq2projectsFPGA_led_test如果是:C:alteraquartus51myq2projectsFPGA_led_test在该目录下运行工程里的setup.tcl就会出错。如果使用Tools-》TclScripts,后没有弹出“tclScript”对话框可以试一下关了QII,再重新打开。使用TCL文件分配管脚是很方便的,用户可以直接从相关例子工程中复制需要管脚分配表到自己的工程中,省时又方便。更多有关操作系统及相关信息请查看软件开发频道