您好,欢迎访问三七文档
实验二彩灯实验一、实验项目彩灯控制实验:利用开发实验平台上的8个LED实现常见彩灯实验。二、实验目的1、学习QuatusII开发软件的基本操作。2、熟悉教学实验板的使用。3、初步掌握VHDL语言的设计、输入、编译、仿真和调试过程。4、掌握USB-BLASTER下载工具的安装、以及程序下载方法。三、实验内容1、首先编译下载给定的VHDL硬件描述语言编写的彩灯控制示例程序,仔细观察在实验板上的现象。2、用VHDL语言编辑彩灯控制程序,通过按键控制开发实验平台上的8个LED灯的点亮顺序:(1)按键可选择核心板上的按键,或EDA主板上矩阵键盘作为按键,或DKA系列按键;(2)通过一个按键控制8个LED灯从左向右依次循环点亮;(3)通过一个按键控制8个LED灯从右向左依次循环点亮;(4)通过一个按键控制8个LED灯从中间向两边依次循环点亮;(5)通过一个按键控制8个LED灯从两边向中间依次循环点亮;(6)通过一个按键控制8个LED灯全部点亮;(7)通过一个按键控制8个LED灯全部熄灭。(8)以上共使用了六个按键控制六种点亮方式3、扩展内容:能够设置8个LED灯的点亮频率(通过时钟、分频器实现)。4、使用三个按键控制LED点亮的六种方式。5、在QuatusII平台上进行波形仿真,保存一组通过按键控制8个LED灯从中间向两边依次循环点亮的仿真波形图。6、描述在实验板上观察到的现象。四、实验仪器计算机、USB-BLASTER下载线、数字系统实验箱、5V稳压电源。五、实验原理1、EDA主板上8个LED灯的电路连接如图1所示。8个LED采用74LS244进行隔离驱动,当FPGA对应I/O口为高电平时,相应的LED灯点亮;为低电平时,灯熄灭。2、表1是对应的FPGA映射管脚表,即编译通过后,进行器件管脚分配时必须按照相应的管脚号进行分配,否则就无法进行硬件验证测试。图18个LED灯的电路连接图表1LED灯对应的FPGA映射管脚表器件名网络名FPGA映射管脚LED-0SD0165LED-1SD1166LED-2SD2167LED-3SD3168LED-4SD4169LED-5SD5170LED-6SD6173LED-7SD71743、FPGA时钟连接电路及管脚分配分别如图2和表2所示。LED灯的循环点亮频率根据所选择时钟信号确定,或者选择某个固定时钟,然后通过分频器来改变循环点亮频率。图2时钟电路连接图表2时钟管脚映射表器件名网络名FPGA映射管脚CLK1CLK1152CLK2CLK229CLK3CLK3284、核心板上的四个按键电路连接及管脚映射表如图3所示。按下键相应的I/O口为低电平,未按下为高电平。图3核心板上的四个按键电路连接及管脚映射表5、EDA主板上4x4矩阵键盘电路连接电路图及管脚映射表如图4所示。图4EDA主板上4x4矩阵键盘电路连接电路图及管脚映射表6、EDA主板上DKA系列按键电路连接图及管脚映射表如图5所示。139138137136135134FPGA映射管脚Keys/USBKeys0/LCDkey3key2key1key0网络名Keys/USBKeys0/LCDkey3key2key1key0器件名QK3QK3QK2QK2QK1QK1QK0/REST2QK0/REST2141Keys/U11Keys/U11140Keys/ADKeys/ADFPGA映射管脚网络名器件名139138137136135134FPGA映射管脚Keys/USBKeys0/LCDkey3key2key1key0网络名Keys/USBKeys0/LCDkey3key2key1key0器件名QK3QK3QK2QK2QK1QK1QK0/REST2QK0/REST2141Keys/U11Keys/U11140Keys/ADKeys/ADFPGA映射管脚网络名器件名图5EDA主板上DKA系列按键电路连接图及管脚映射表根据功能要求,可将8路彩灯控制器的输出按花形循环要求列成表格,其中。Q7-Q0是控制器输出的8路彩灯的控制信号,高电平时彩灯亮。当按下不同的按键时,LED的控制信号不同。按下Key1,8个LED同时为低电平,即全灭,按下Key2,8个LED控制信号同时为高电平,即全亮;按下Key3,8个LED的控制信号按照时钟信号或分频器依次赋值为1000000-01000000-00100000-00010000-00001000-00000100-00000010-00000001。通过调整时钟或分频器可调整LED的点亮速度。同理,按照上述方法分别按下Key4,Key5,Key6,实现不同的点亮方式。全灭Q7Q6Q5Q4Q3Q2Q1Q0Key100000000全亮Q7Q6Q5Q4Q3Q2Q1Q0Key211111111器件名网络名FPGA映射管脚DKA0DKA0156DKA1DKA1158DKA2DKA2159DKA3DKA3160DKA4DKA4161DKA5DKA5162DKA6DKA6163DKA7DKA7164从左到右点亮Q7Q6Q5Q4Q3Q2Q1Q0Key31000000001000000001000000001000000001000000001000000001000000001从右到左点亮Q7Q6Q5Q4Q3Q2Q1Q0Key40000000100000010000001000000100000010000001000000100000010000000从中间到两边点亮Q7Q6Q5Q4Q3Q2Q1Q0Key50001100000100100010000101000000100011000001001000100001010000001从两边到中间点Q7Q6Q5Q4Q3Q2Q1Q0Key6100000010100001000100100000110001000000101000010亮0010010000011000六、实验步骤1、安装USB-BLASTER编程工具(安装步骤见-文档最后-USB_BLASTER驱动程序的安装);一、建立工程项目:2、在WINDOWS界面双击QuatusII图标,进入QuatusII开发环境;3、选择“File=NewProjectWizard”或CreateaNewProject,出现如下向导对话框;4、点击Next,弹出如下NewProjectWizard对话框,填写Directory,Name,Top-LevelEntity等项目。其中第一、第二、第三个文本框分别是工程项目目录、项目名称和项目顶层设计实体的名称弹出如下窗口;5、设置好存储位置和项目名称后点击Next,弹出出现添加工程文件的对话框;在上述对话框中,我们可以导入已经存在的*.vhd、*.vhdl或*.verilogwen文件(注:导入的文件名称需和项目名称一致),若原来己有文件,可选择相应文件。若需要导入已存在文件到当前项目中,则按照以下步骤操作;若无需导入文件则直接点击Next,跳过步骤(5)、(6)、(7),执行步骤(8)6、点击上图中红色框选中的按钮,弹出如下窗口,选择要导入的文件,如下选中light.vhd7、点击“打开”,如下所示Filename:显示需要导入文件的位置:8、点击Add,将选中的文件添加到项目中,如下所示,9、点击Next,如下选择FPGA器件对话框,在Family下拉框中,根据需要选择一种型号的FPGA,比如CycloneII系列FPGA。然后在“Availabledevices:”中根据需要的FPGA型号选择FPGA型号10、选择器件类型-型号后,点击Next,如下图,弹出其他EDA工具的对话框,由于我们使用QuartusⅡ的集成环境进行开发,因此不要作任何改动。11、单击Next进入工程的信息总概对话框,如图所示12、单击Finish按钮就建立了一个空的工程项目,如下图:二、编辑设计文件:13、执行“File=New”弹出新建文件对话框,QuartusⅡ支持6种设计输入法文件(DesignFiles):“AHDLFile”,是AHDL文本文件;“BlockDiagram/SchematicFile”,是流程图和原理图文件,简称原理图文件;“EDIFFile”,是网表文件;“SOPCBuilderSystem”,是可编程片上系统的编辑系统;“VerilogHDLFile”,是VerilogHDL文本文件;“VHDLFile”,是VHDL文本文件。这里我们使用VHDL语言,因此选择VHDLFile。14、单击OK后,即建立一个空的原理图文件,在Quartus窗口的右方看到该文件(Vhdl.vhd),如下图:15、执行File=Saveas命令,把它另存为文件名是“light”(自己命名)的VHDL文件,文件后缀为.vhd。使该文件添加到刚建立的工程目录中去。如下:16、点击保存,则将当前的VHDL文件保存至当前工程中,Quartus窗口的右方看到该文件名为light.vhd,用VHDL语言编辑彩灯控制程序,控制开发实验平台上的8个LED灯的点亮顺序,将代码写入该文件,如下图:17、选择“Processing=》StartCompilation”或通过点击快捷菜单按钮,开始编译18、编译结束后,会出现如下图所示的对话框,对话框会显示编译的错误和警告的情况。若有错误,则可先双击编译器界面下方出现的第一个错误提示,可使第一个错误处改变颜色。检查纠正,第一个错误后保存再编译,如果还有错误,重复以上操作,直至最后通过。最后通过时应没有错误提示但可有警告提示,如图所示。19、在QuatusII平台上进行波形仿真。单击Files菜单下的New,选择Verification/DebuggingFiles下的VectorWaveformFile后单击OK就能创建一个后缀名为.vwf的文本文件,绘制相应的输入波形文件,根据输入波形仿真输出波形;20、点击ok,出现波形文件编辑器,如下图所示21、在上图鼠标所在处(红色框)单击鼠标右键,出现下图所示菜单,选择InsertNodeorBus…命令22、出现如图所示的对话框,单击NodeFinder…按键。23、在出现的对话框中单击List按键选择需要的输入输出引脚,如图所示24、如图2-52所示,单击选中的按键,选中需要的输入输出引脚。25、然后,单击两次确定按钮,出现如图所示的画面。26、设置仿真时间执行Edit=EndTime命令,如下图;弹出如下设置时间对话框,设置总时间为1.0us:执行Edit=GridSize命令,设置时间单位为10ns,如图如下图所示波形设置界面:27、设置输入信号波形单击工具箱中缩放工具按钮,将鼠标移到编辑区内,单击鼠标,调整波形区横向比例(左键放大,右键缩小),单击工具箱中的选择按钮,然后在要设置波形的区域上按下鼠标左键并拖动鼠标,选择要设置的区域,如图所示。(1)单击工具箱中高电平设置按钮,将该区域设置为高电平,如图所示。(2)用相似的方法设置其他区域的波形,如图所示,注意波形与真值表相对应。28、选择“processing-》generatefunctionalsimulationnetlist”,弹出如下保存对话框:(文件名需要与对应的.vhd文件名一致)29、点击是,弹出如下对话框,保存路径与工程路径一致,文件名为light:30、点击保存,将该波形文件保存,保存成功,弹出如下对话框:31、再选择“processing=》Startsimulation”,进行仿真,仿真成功弹出如下对话框。32、仿真结果如图,认真核对输入输出波形,可检查设计的功能正确与否。33、单击Assignments下的device选择器件;34、单击Assignments下的pins进行管脚分配;35、单击Processing下面的Compilertool编译程序;36、单击Tools下面的Programmer,37、单击HardwareStup,在HardwareSettings选项卡下的Currentlyselectedhardware选
本文标题:实验二--彩灯实验
链接地址:https://www.777doc.com/doc-5836852 .html