1、y7y6y5y4y3y2y1y01译码器不需要像编码器那样用一个输出端指示输出是否有效。但可以在输入中加入一个输出使能端,用来指示是否将当前的输入进行有效的译码,当使能端指示输入信号无效或不用对当前信号进行译码时,输出端全为高电平,表示无任何信号。本例设计中没有考虑使能输入端,读者自己设计时可以考虑加入使能输入端时,程序如何设计。三、 实验内容 本实验通过VHDL实现一个38译码器功能模块,通过改变输入a2.0的值,从而改变输出y0y7的数值。实验中信号与管脚连接见下表信号名称FPGA I/O名称功能说明Pin_P93位输入Pin_R9Pin_T9Pin_A38位输出Pin_B4 y2Pin_
2、A4 y3Pin_B5 y4Pin_A5 y5Pin_C6 y6Pin_B6 y7Pin_A6四、 实验步骤下面将通过这个实验,向读者介绍在Quartus软件下项目文件的生成、编译、管脚分配以及时序仿真等的操作过程。(本实验指导书使用Quartus Prime 17.1 Lite 版本)1建立工程1)选择开始菜单下或者桌面上的Quartus图标, 运行Quartus软件,进入下图所示界面。选择软件中的菜单FileNew或者界面中的New 图标,选择新建New Quartus Prime Project,进入新建工程对话框。3)点击NEXT进入工程设定对话框如下图所示。第一个输入框为工程工作文件
3、夹地址输入框,设定好后所有工程相关文件将统一存放在该文件夹下;第二个输入框为工程名输入框;第三个输入框为该工程的顶层文件名输入框。本例中工程文件夹名、工程名、顶层文件名都为decoder38。4)点击NEXT,进入工程类型对话框,选择Empty project。5)点击NEXT,进入工程文件对话框。在该界面下我们可以添加工程所需的文件,这里由于是新建工程故不添加任何文件。6)点击NEXT,进入器件选择对话框,这里我们选择FamilyCyclone E;PackegeFBGA;Pin count256然后选择下方芯片EP4CE10F17C8即FPGA平台主芯片。7)点击NEXT进入EDA工具设置
4、对话框,如下图所示,在这里我们将仿真工具设置为ModelSim-Altera,即选择SimulationModelSim-AlteraVHDL。8)点击NEXT进入工程信息汇总对话框。该对话框汇总了本工程中所有的设置信息,确认无误后点击NEXT进入工程编辑界面。2、Quartus Prime开发环境简介建立工程后就可以进入Quartus Prime集成开发环境(如下图所示)从图中可以看出Quartus Prime集成开发环境大致可以分为4个窗口,最左上角为工程管理窗口,包括原代码文件、约束文件和仿真测试文件的管理;左中窗口为工程流程向导,涵盖FPGA开发过程中分析、综合、管脚分配、布局布线及静
5、态时序分析的整个流程;右边主窗口为各种文件和报表的打开窗口;最下方窗口为工程信息框,显示综合过程信息等内容。有了以上基本认识,下面我们就来实现本实验指导书的第一个实验3-8译码器。3、工程实现1)如下图所示,点击菜单 FileNew,在新建菜单下选择VHDL File。 2)在新建的文件内输入相应的设计代码,代码如下:LIBRARY IEEE;USE IEEE.std_logic_1164.ALL;ENTITY decoder38 IS PORT (a : IN std_logic_vector(2 DOWNTO 0); y : OUT std_logic_vector(7 DOWNTO 0)
6、;END decoder38;ARCHITECTURE rtl OF decoder38 ISBEGIN PROCESS (a) BEGIN CASE a IS WHEN 000 = y 00000000 END CASE; END PROCESS;END rtl;3)代码输入完成确认无误后,选择菜单Processing/Analyze Current File或点击编辑窗口中工具栏图标,进行HDL代码语法分析。4)语法分析无误后,选择Processing/Start/Start Analysis & Synthesis,或者按下快捷键Ctrl+K,或者点击工具栏图标,进行HDL文件的分析和综
7、合。5)分析和综合完成后就可以对工程进行管脚分配。可以利用 Quartus Prime 中Pin Planner进行可视化的管脚分配。点击上方工具条中的Pin Planner图标,或者选择菜单栏中的AssignmentsPin Planner。此时应看到如下界面在界面下方的窗口中的输入输出信号后,输入对应的 FPGA 管脚标号(或将信号拖拽到上方的 Package 图中对应的管脚上),并指定 I/O输入输出标准。(远程云端硬件实验平台I/O电压电流均为3.3V 2mA)。管脚设置完成后如图,关闭Pin Planner即完成管脚分配6)管脚约束完成后,就可以指定下载所需文件的类型。远程云端硬件实
8、验平台下载需要.rbf类型的下载文件,该文件的生成需要在工程中设定后才可由Quartus Prime软件自动产生。具体方法如下,首先点击菜单栏中的AssignmentsDevice,选择Device and Pin Options。然后选择Programming Files,在右侧对话框中勾选Raw Binary File(.rbf),点击OK确认。此时工程全编译后Quartus软件即会自动生成远程云端实验平台所需的.rbf下载文件。7)点击菜单栏中的ProcessingStart Compilation或者图标栏中的完成整个工程的编译。8)如果将文件下载到本地开发板,则点击菜单栏中Tools
9、Programmer或者图标栏的Programmer,进入硬件编程管理界面。将Altera USB Blaster的USB端连接电脑,JTAG端连接开发板JTAG口,打开开发板电源。将Hardware Setup选择成USB-Blaster,Mode选择成JTAG,同时选择工程文件夹下的.sof文件作为写入文件。点击 Start,将.sof文件下载到开发板上的 FPGA 中,本工程完成。五、实验报告1、进一步熟悉和理解Quartus Prime软件的使用方法和工程实现的流程。2、仿照3-8译码器实现数字电路中最基本的与门、或门、非门及比较器、多路选择器等基本逻辑电路的VHDL代码。实验二 4选
10、1多路选择器设计1、 了解多路选择器设计的原理。2、 进一步熟悉Quartus Prime软件的使用方法和VHDL输入的全过程。3、 进一步掌握实验系统的使用。多路选择器是数字系统设计中经常使用的模块,其特点是在选择信号控制下,输出端与确定的数据通道联通,并随数据通道的信号变化而变化。在本实验中,我们将实现一个4选1多路选择器,因此将有一个2位的选择信号,4个数据输入信号和1个数据输出信号。本实验要求通过VHDL实现一个4选1多路选择器。通过选择信号sel1.0实现数据输出通路dataout在不同的数据输入通路datain0datain3之间切换,并观察输出信号随输入信号的变化而变化。实验中信
11、号与管脚连接如下表sel0通路选择信号sel1datain0数据输入通路datain1Pin_N8datain2Pin_P8datain3Pin_R8dataout数据输出通路1、 打开Quartus Prime软件,新建一个工程。2、 建完工程之后,再新建一个VHDL空白源文件。3、 按照实验原理和自己的想法,在VHDL编辑窗口编写VHDL程序,读者可参照光盘中提供的示例程序。4、 编写完VHDL程序后,保存。5、 对自己编写的VHDL程序进行编译并仿真,对程序的错误进行修改。6、 编译仿真无误后,依照拨动开关、LED与FPGA的管脚连接表进行管脚分配,然后进行综合和实现。7、 用下载电缆通
12、过JTAG口将对应的sof文件加载到FPGA中。观察实验结果是否与自己的编程思想一致。五、 实验报告1、 绘出仿真波形,并作说明。2、 进一步熟悉Quartus Prime软件3、 尝试编写VHDL程序,实现多路分配器功能。4、 将实验原理、设计过程、编译仿真波形和分析结果、硬件测试结果记录下来。实验三 异步清零和同步使能加法计数器设计1、 了解二进制计数器的工作原理。2、 进一步熟悉Quartus Prime软件的使用方法和VHDL输入。3、 理解时钟在时序逻辑电路中的作用。二进制计数器是应用最多、功能最全的计数器之一,含异步清零和同步使能的加法计数器的具体工作过程如下:在时钟上升沿的情况下,检测使能端是否允许计数,如果允许计数(定义使能
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1