FPGA实习报告

  • 格式:doc
  • 大小:1.69 MB
  • 文档页数:8

实 习 报 告一、目的和要求

1、熟悉在EDA平台上进行数字电路集成设计的整个流程。

2、掌握QuartusⅡ软件环境下简单VHDL文本等输入设计方法。

3、熟悉VHDL设计实体的基本结构、语言要素、设计流程等。

4、掌握利用QuqrtusⅡ的波形仿真工具验证设计的过程。

5、学习使用JTAG接口下载逻辑电路到可编程芯片,并能调试到芯片正常工作为止。

二、内容

1、学习并掌握VHDL设计实体的基本结构、语言要素、设计流程等。

2、了解在EDA平台上进行数字电路集成设计的整个流程,熟悉QuartusⅡ软件环境下简单VHDL文本等输入设计方法,掌握利用QuqrtusⅡ的波形仿真工具验证设计的过程。

3、理解RS触发器的设计原理,采用QuartusII集成开发环境,利用VHDL硬件描述语言进行设计。

4、使用JTAG接口下载vhdl代码到可编程芯片(本次课程设计中使用的是EP2C8Q208C8套件),并调试到芯片正常工作为止。

1 实 习 报 告 三、 过程

(1)理解RS触发器设计的原理

基本rs触发器可由两个与非门G1、G2的输入、输出端交叉连接而构成,它有两个输入端R、S和两个输出端Q、Q非。

它的输入输出具有以下关系:当R端无效(1),S端有效时(0),则Q=1,Q非=0,触发器置1;当R端有效(0)、S端无效时(1),则Q=0,Q非=1,触发器置0;当R、S端均无效时,触发器状态保持不变;当R、S端均有效时,触发器状态不确定。

(2)建立新的工程项目

打开Quartus II软件,进入集成开发环境,点击File→New projectwizard建立一个工程项目,输入工作目录和项目名称,如下图一所示。

图一 项目的建立

建立文本编辑文件:在软件主窗口单击file菜单后,单击new选项,选择VHDL选项,单击OK,进行文本编辑输入源程序rschq.vhd,代码如下所示。

2 实 习 报 告

library ieee;

use ieee.std_logic_1164.all;

entity rscfq is

port(r,s:in std_logic;

q,qb:out std_logic);

end rscfq;

architecture art of rscfq is

signal q_temp,qb_temp:std_logic;

begin

process(r,s)

begin

if(s='1'and r='0')then

q_temp<='0';

qb_temp<='1';

elsif(s='0'and r='1') then

q_temp<='1';

qb_temp<='0';

else

q_temp<=q_temp;

qb_temp<=qb_temp;

end if;

end process;

q<=q_temp;

qb<=qb_temp;

end art;

完成文本编辑后,点击保存,注意保存时的文件名要与实体名一致,否则编译时会出错。

3 实 习 报 告 编译工程项目:在Quartus II主页面下,选择Processing—Start Compilation或点击工具栏上的按钮启动编译,直到出现“Full Compilation Report”对话框,点击OK即可。

(3)对编辑的文本文件进行波形仿真

在软件主窗口单击file菜单后,单击new选项,选择Vector Waveform File选项,单击OK。在出现的波形仿真窗口中,按鼠标右键,在弹出菜单中选择 Insert

Node or Bus,出现如下图二所示的窗口。

图二 节点加入工具框

在图二窗口中选择Node Finder,将打开Node Finder 对话框,如下图三所示。在Filter 中选择 Pins:all,点击List 按钮,在出现的图中左栏中选择需要进行仿真的端口通过中间的按钮加入到右栏中,点击OK,端口加入到波形文件中。选择一段波形,通过左边的设置工具条,给出需要的值,设置完成激励波形,并进行保存。

图三 Node Finder 对话框

4 实 习 报 告 完成激励设置之后,设置功能仿真:选择Assignment—Timing Analysis

Settings--Simulator Settings—Simulation mode 选择Functional, 生成网络表Processing—Generate Functional Simulation Netlist。然后点击快捷按钮,开始仿真,完成后得到波形如下图四所示,根据分析,功能符合设计要求。从波形仿真可以看到从输入到输出有一定的延时,大概在7ns左右。

图四 波形仿真结果

(4)使用JTAG接口下载vhdl代码到可编程芯片(本次课程设计中使用的是EP2C8Q208C8套件),并调试到芯片正常工作为止。

进行硬件验证的步骤如下:

选择所用的FPGA器件—EP2C8Q208C8,以及进行一些配置。选择配置器件EPCS4,设置不需要使用的IO功能为AS inputs ,tri-ststed 。点击两次OK,回到主界面。

配置FPGA引脚:在进行硬件验证时,采用两个按键作为输入,对应输入r、s端,在配置管脚的时候将输入脚至为82,77;输出分别对应LED的D7,D8。D7,D8在EP2C8Q208C8套件中对应的管脚为102,101。

在Quartus Ⅱ软件主界面下,选择Assignments—Pins,按照上面的管脚进行配置,配置完成的管脚如下图五所示。

图五 配置好的管脚

完成管脚配置之后,对工程进行再次编译。在Quartus Ⅱ软件主界面下,选择Processing—Start Compilation或点击工具栏上的按钮启动编译,直到出现

5 实 习 报 告 “Full Compilation Report”对话框,点击OK即可。

完成编译,点击按钮,出现如下图六所示的窗口,选择下载设计程序。Sof文件到目标FPGA,下载采用JTAG方式(由于配置芯片擦写次数有限,实验均采用JTAG下载方式)。

图六 硬件下载文件窗口

下载完成之后,在EP2C8Q208C8套件上进行验证。按键(key)按下时接地,即此时相当于输入0,当不按下时,相当于输入1。设置的四个输入按键为s1-s4,按照程序的设定进行验证,可以得到如下图七所示的硬件验证结果。

6 实 习 报 告

7 实 习 报 告

图七 硬件验证结果

硬件验证图说明:

在进行硬件验证时,一共进行了四种验证,即以上的四张图。第一张是在刚开始没有任何输入的情况下,Q与Q非均为高电平;第二张表示r=0,s=1,此时D7=0,D8=1,即Q=0,Q非=1;第三张表示r=1,s=0,此时D7=1,D8=0,即Q=1,Q非=0;第四张表示r=0,s=0,此时D7=1,D8=0,即Q=1,Q非=0,是对上一状态的保持。根据以上分析,可以知道本次设计满足设计要求,符合设计的功能。