文档库 最新最全的文档下载
当前位置:文档库 › 实验一 Altera Quartus II操作

实验一 Altera Quartus II操作

实验一 Altera Quartus II操作
实验一 Altera Quartus II操作

实验一Quartus II操作

一、实验目的

1、熟悉Quartus II环境的操作;

2、掌握VHDL设计数字电路方法;

3、掌握元件例化语句的应用;

4、掌握原理图文件的设计方法。

二、实验设备

计算机软件:Quartus II

EDA实验箱。主芯片:EPM7128SLC84-15或EP1K100QC208-3。下载电缆,导线等。

三、实验内容及步骤

3-8译码器的设计

1、创建工程

运行quartus II软件,出现如下“开始”向导窗口:

点击“Cteat a New Project”选项,即弹出“新建工程向导”对话框,如下图:

点击“next”,出现“工程设置”对话框,如下图:

单击此对话框最上一栏右侧的“...”按钮,在d盘中建一个工程文件夹,取名为decoder。单击“打开”按钮,在第二行和第三行中填写为“decoder38”。按Next按钮,出现添加工程文件的对话框,如下图:

这里我们先不管它,直接按next进行下一步,选择FPGA器件的型号,如下图:

在Family下拉框中,我们选择ACEX1K系列FPGA,选择此系列的具体芯片EP1K100QC208-3。执行next出现选择其它EDA工具对话框,我们用Quartus II的集成环境进行开发,因此这里不作任何改动,如下图:

按next进入工程的信息总概对话框:

按Finish按钮即建立一个项目。

2、建立顶层文件(VHDL文件或顶层电路图文件)。

(1)执行File New,弹出新建文件对话框,如下图:

选择“V HDL File”(若采用原理图输入方式,则选择“Block Diagram/Schematic File”,建立顶层电路图,这里我们选择代码输入方式,所以选择“V HDL File”),按OK即建立一个空的顶层代码文件,缺省名为“Vhdl1.vhd”,我们把它另存为(File Save as)“decoder38.vhd “,并将“Add file to current project”选项选上,以使该文件添加到工程中去。如下图:

点击保存按钮,会出现一个空白顶层文件,在这里可以输入相应VHDL代码,并且在quartusII软件窗口的标题栏会显示当前工程所在路径、文件夹,当前项目名及顶层实体名,如下图:

3、在上图空白编辑区输入3-8译码器的VHDL代码。译码器的输入输出端口要求如下图所示,其中G1、G2AN、G2BN为3个使能输入端,C、B、A为3位地址输入端,Y[7..0]为8个译码输出端。

图3线-8线译码器实体

3-8译码器参考代码如下:

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

entity decoder38 is

port(a,b,c,e1,e2,e3:in std_logic;

y:out std_logic_vector(7 downto 0));

end;

architecture behav of decoder38 is

signal indata:std_logic_vector(2 downto 0);

begin

indata<=c&b&a;

process(indata,e1,e2,e3)

begin

if(e3='1' and e2='0' and e1='0') then

case indata is

when"000"=>y<="11111110";

when"001"=>y<="11111101";

when"010"=>y<="11111011";

when"011"=>y<="11110111";

when"100"=>y<="11101111";

when"101"=>y<="11011111";

when"110"=>y<="10111111";

when"111"=>y<="01111111";

when others=>y<="XXXXXXXX";

end case;

else

y<="11111111";

end if;

end process;

end;

输入代码后保存。保存时应注意:

①文件不能存在磁盘的根目录下;

②文件名与实体名必须相同,不能含中文,扩展名为“.vhd”。

4、编译

点击主工具栏上的全编译按钮即开始编译,Message窗口会显示一些编译信息,最后编译成功弹出提示,如下图。

5、仿真

对工程编译通过后,必须对其进行功能和时序仿真测试,以了解设计结果是否满足原设计要求。具体步骤如下:(1)时序仿真

打开波形编辑器。选择菜单File中的New项,在New窗口中选择Vector Waveform File项,如下图所示:

单击OK按钮,即出现空白的波形编辑器。设置仿真时间区域。对于时序仿真来说,将仿真时间轴设置在一个合理的时间区域上十分重要。通常设置的时间范围在数十微秒间。

在Edit菜单中选择End Time项,在弹出的窗口中的Time栏处输入50,单位选择“us”,整个仿真域的时间即设定为50us,单击OK按钮,结束设置。

(2)波形文件存盘。选择File中的Save As项,将以默认名的波形文件存入文件夹中。

(3)将工程的端口信号节点选入波形编辑器中。方法是首先选择View菜单中的Utility Windows 项的Node Finder选项。在Filter框中选择Pins : all,然后单击List按钮。于是在下方的Nodes Found 窗口中出现设计中的工程的所有端口引脚名。点击“>>”按钮将所有端口信号选择到右边窗口,结束后关闭Nodes Found 窗口。如下图所示:

(4)编辑输入波形(输入激励信号)。

选中a、b、c三个地址输入信号,右键选择“Groupin g Group”命令,在弹出的对话框中填入分组名称address,点击OK,完成分组设置,如下图。

选中address分组信号,再单击左侧的“C”计数器图标,让c、b、a地址信号按加法计数器规律变化。

类似的,分别选中e1、e2、e3信号,再单击左侧的“0”或“1”高低电平图标,分别将其设置为高电平或低电平。输入信号设置完成后如下图所示:

(5)点击主工具栏上的仿真图标开始仿真,如下图。

仿真波形如下图所示,当使能信号有效时,进行译码。

6、引脚锁定

选择菜单File中的New项,在New窗口中选择Tcl Script File脚本文件,如下图所示:

在空白脚本文件中输入如下引脚锁定命令:#PIN_163--------K0

set_location_assignment PIN_163 -to a

#PIN_160--------K1

set_location_assignment PIN_160 -to b

#PIN_150--------K2

set_location_assignment PIN_150 -to c

#PIN_149--------K3

set_location_assignment PIN_149 -to e1

#PIN_148--------K4

set_location_assignment PIN_148 -to e2

#PIN_147--------K5

set_location_assignment PIN_147 -to e3

#PIN_36--------L0

set_location_assignment PIN_36 -to y[0]

#PIN_37--------L1

set_location_assignment PIN_37 -to y[1]

#PIN_38--------L2

set_location_assignment PIN_38 -to y[2]

#PIN_39--------L3

set_location_assignment PIN_39 -to y[3]

#PIN_40--------L4

set_location_assignment PIN_40 -to y[4]

#PIN_41--------L5

set_location_assignment PIN_41 -to y[5]

#PIN_44--------L6

set_location_assignment PIN_44 -to y[6]

#PIN_45--------L7

set_location_assignment PIN_45 -to y[7]

输入上述引脚锁定命令后保存,然后运行该脚本文件,方法如下:选择菜单Tools中的Tcl Scripts项,弹出如下对话框,选择Project下的脚本文件,点击右上方的run命令即可。

脚本文件运行情况在下方的状态栏中给出,如下图所示。

引脚锁定结果可以通过菜单Assignments中的Pin Planer项查看,如下图所示:

7、编程下载、硬件验证

在完成引脚锁定后,重新进行一次全编译,即可生成用于下载的.sof配置文件。执行全编译后,按如下方法下载配置:

首先点击”下载”按钮,单击Hardware Setup弹出对话框如下图所示,选择Byteblaster II ,关闭该对话框,然后载入并选中下载文件,点击Start 开始下载

下载成功后,改变K0——K5开关状态,观察LED0——LED7的状态,验证是否满足译码器功能。

四、实验报告要求

1、写出使用quartus II软件进行VHDL程序设计的基本方法、过程。

2、编写各个VHDL源程序。

3、根据电路功能,画出测试输入信号波形及仿真波形。

4、根据选用的EDA实验开发装置,画出用于硬件验证的管脚锁定表格。

5、记录系统仿真、逻辑综合及硬件验证结果

6、记录实验过程中出现的问题及解决方法。

相关文档