您好,欢迎访问三七文档
课题名称现场可编程器件应用课题代码院(系)计算机与信息工程学院专业通信工程班级学号姓名时间老师签名:教研室主任(系主任)签名:现场可编程器件应用一、设计目的通过本次课程设计,巩固已学数字电路与逻辑设计的理论知识,掌握数字系统设计方法,引导学生从功能电路设计转向系统设计,由传统的通用集成电路的应用转向现场可编程逻辑器件的应用,从硬件设计转向硬件软件高度渗透的设计,从而拓宽数字技术知识和设计能力,提高学生动手能力,培养学生分析问题与解决问题的能力。二、设计内容本设计利用FPGA开发软件QuartusII6.1,设计译码显示电路,引脚锁定、全编译通过后,完成FPGA器件CycloneII的配置工作,并在DE2开发板上通过七段数码管,显示每位学生各自的学号(后两位)。设计实现各类波形信号的发生电路,并在DE2开发板上通过七段数码管,显示波形产生情况。注意:设计过程必须使用一款IP核。输入通过键盘控制或者通过50MHz晶振分频后以每1秒步长发生变化,通过8位并口输出数字信号,并将该数字信号经过译码电路后用七段数码管提示输出信息。三、设计要求1.独立完成译码显示电路、波形发生电路的设计输入工作,输入方法(文本输入或图形输入)不限。2.熟悉QuartusII6.1环境下系统开发设计流程,规定必须使用内嵌IP。3.在DE2上验证设计结果,并认真写出设计报告。四、设计过程1.用七段数码管显示学号(a)编写一段VHDL,以实现四位二进制数转换为七位二进制数的功能。器件为2输出2输出。程序代码如下:libraryieee;useieee.std_logic_1164.all;entityhkyisport(c:instd_logic_vector(3downto0);v:instd_logic_vector(3downto0);hex0:outstd_logic_vector(6downto0);hex1:outstd_logic_vector(6downto0));endhky;architecturebehave_hkyofhkyisbeginwithc(3downto0)selecthex0=1000000when0000,--01111001when0001,--10100100when0010,--20110000when0011,--30011001when0100,--40010010when0101,--50000010when0110,--61111000when0111,--70000000when1000,--80010000when1001,--91111111whenothers;--withv(3downto0)selecthex1=1000000when0000,--01111001when0001,--10100100when0010,--20110000when0011,--30011001when0100,--40010010when0101,--50000010when0110,--61111000when0111,--70000000when1000,--80010000when1001,--91111111whenothers;--endbehave_hky;(b)将VHDL文件保存为hky1.vhd,编译通过后,点击右键为其创建一个符号。(c)点击file-new,新建一个图形文件,保存为hky1.bgf。用鼠标左键双击原理图编辑窗,在弹出的元件选择窗的Libraries栏中选择刚才生成的符号,将其置入图中。(d)添加2个输入2个输出,修改输入输出口对应的注释,并连接线路。2.波形信号的发生电路设计(a)用鼠标左键双击原理图编辑窗,在弹出的元件选择窗的Libraries栏中选择arithmetic的lPm_counter(计数器)LPM元件(b)点击OK,弹出MegaWizardPlug-InManager[page2c]对话框页面。在该对话框页面中,选择VHDL。(c)点击下一步,选择4bit,然后点finish。(d)执行File菜单的New命令,打开一个新的Memoryinitializationfile(存储器初值设定文件)编辑窗口,在弹出下图所示的Numberofwords&Wordsize(字数与字长)对话框中输入字数为16,字长为7。存储器的参数设置结束后单击OK按钮,弹出下图所示的存储器初值设定文件的页面,将其值设为“100000”和“1111001”间隔(在七段数码管中就是显示0和1),将此文件保存为hky.mif在工程目录中。(e)返回原理图,点击tool-MegaWizardPlug-InManager,新建一个ROM:1-PORT。设置为VHDL,字长7bit,字数为16.选择之前建立的MIF文件为储存器的初始数据。(f)点击工程中的hkyrom.vhd,生成一个符号。左键在原理图中双击,把刚才生成的符号添加进入原理图。(g)在原理图中添加一个输入一个输出,并将其按下图连接。(h)以hky.bdf作为顶层文件名将设计文件保存于工程目录中,并通过QuartusII进行编译。(i)点击菜单栏上的assignments-pinplanner,如下图分配引脚,再次编译。(j)用AS模式下载到DE2板上进行验证。1)首先需要设置串口配置器件,选择Assignments-Settings命令,打开设置窗口如下图所示。2)单击Device&PinOptions..按钮,打开器件及引脚选项窗口,如下图所示。切换到Configuration页。在ConfigurationDevice下拉框中选择“EPCS16”,单击OK按钮结束配置。3)将DE2上的SW19置于PROG位置。重新选择Tools-Programmer命令,打开编程窗口,在Mode下拉框中选择“ActiveSerialProgramming”,这时会弹出下图的对话框,提示是否清除现有编程器件,选择“是”即可。4)接着需要重新添加配置文件,单击AddFiles按钮,添加hky.pof配置文件。选中Program/Config选项。单击Start按钮,开始编程。编程结束后,将SW19置于RUN位置,再进行测试。五、实验心得。通过本次实验,熟悉了如何利用IP核来设计一个FPGA译码电路和波形发生电路。通过设计一个解码器,把输入的3位二进制数转换为7位的二进制数,7位二进制数的“0”“1”控制七段数码管上的LED亮灭,达到显示所需要的数字(学号)的功能。对于波形显示器,则通过使用QuartusII的MegeWizardPlug-InManager中的宏功能模块,添加一个LPM计数器和只读存储器(ROM)。由DE2板上的键位控制CLOCK的跳变,使计数器开始计数,选择ROM上面对应单元的数据。通过设置默认的ROM地址数据,使得计数器的每一次计数都能选择到所需要表示波形的幅值,从而发生所需要的波形。为了简化设计,我只设计了通过按键来改变的CLOCK和只具有“0”“1”2个幅值的方波。在需要的情况下,可以通过晶振输入CLOCK,不同幅值也可以通过函数来实现,以显示复杂的波形。
本文标题:现场可编辑器件应用
链接地址:https://www.777doc.com/doc-6503791 .html