购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.2 文本编辑

本节将使用VHDL代码对电路进行门级描述。为了方便输入,下面给出select_2的源代码:

img

VHDL代码的实体名称为select_2。以上的代码可使用任何存储ASCII文件的文本编辑器来完成输入,通常使用Quartus Prime文本编辑工具。可用任何名称来命名设计文件,按设计者的习惯通常使用和VHDL顶层实体相同的名称来命名设计文件。文件名称必须包含代表VHDL文件的扩展名.vhd,所以将文件命名为“select_2.vhd”。

文本编辑与原理图编辑的流程大部分相同。打开Quartus Prime软件,此时会显示如图2-2-1所示的主界面。

img

图2-2-1 Quartus Prime主界面

1.建立新工程

(1)在主界面中执行菜单命令“File”→“New Project Wizard”,打开如图2-2-2所示的窗口。

(2)在窗口中单击“Next”按钮,打开如图2-2-3所示的窗口,在这个窗口中从上向下分别输入新工程的文件夹名、工程名和顶层实体的名字,工程名要和顶层实体的名字相同。在此例中建立的工程名称为“select_2”。

img

图2-2-2 新工程向导

img

图2-2-3 设置工程的基本信息

(3)设置工作目录为“E:/intelFPGA/book/select_2”,输入“select_2”作为工程名称和顶层实体名称,单击“Next”按钮,因为此时还没有创建名为“E:/intelFPGA/book/select_2”的文件夹,所以Quartus Prime软件会显示如图2-2-4所示的窗口,询问是否要创建所需要的文件夹,在窗口中单击“Yes”按钮,此时会显示如图2-2-5所示的窗口。该窗口选择要用到的工程模板类型,这里选择空的工程。

img

图2-2-4 询问窗口

img

图2-2-5 选择工程模板类型

(4)单击“Next”按钮,显示的窗口如图2-2-6所示,本例中没有需要添加的文件和库,在窗口中单击“Next”按钮,此时会显示如图2-2-7所示的窗口。

(5)用户根据自己实验平台的具体情况选择FPGA器件,本书所使用的实验平台的FPGA芯片种类为Cyclone V系列的5CEBA2F23C8。设置完成后,在窗口中单击“Next”按钮,此时会显示如图2-2-8所示的窗口。

(6)本例中仅使用Quartus自带的工具,并没有使用其他第三方的EDA工具,在窗口中单击“Next”按钮。

(7)此时会显示新工程的汇总信息,如图2-2-9所示,在窗口单击“Finish”按钮,回到Quartus Prime的主界面,如图2-2-10所示。

img

图2-2-6 在向导中导入用户自定义文件

img

图2-2-7 器件类型设置

img

图2-2-8 指定第三方EDA工具

img

图2-2-9 工程信息概要

img

图2-2-10 创建工程后的Quartus Prime主界面

2.建立文件

在图2-2-10中,单击“File”菜单下的“New”命令或者使用快捷键Ctrl+N,弹出“New”对话框,如图2-2-11所示。在“Design Files”页面下双击“VHDL File”选项(或者选中该项后单击“OK”按钮)后建立新文件,如图2-2-12所示。

img

图2-2-11 建立VHDL文本文件

img

图2-2-12 VHDL文本编辑窗口

3.输入代码

在图2-2-12中输入代码,如图2-2-13所示。

img

图2-2-13 输入代码

4.保存文件

在图2-2-13中单击保存文件按钮 。在默认情况下,“文件名”(N)的文本编辑框中为工程的名称“select_2”,单击“保存”按钮即可保存文件,如图2-2-14所示。

5.使用VHDL模板

VHDL代码语法有时对设计者来说相当难于记忆,尤其是对初学者。为了解决这个问题,文本编辑器提供了一些VHDL模板,模板提供了各种VHDL语句的例子,包括实体(ENTITY)声明、CASE语句及赋值语句。Quartus Prime文本编辑器窗口如图2-2-15所示。通过执行菜单命令“Edit”→“Insert Template”→“VHDL”熟悉VHDL模板的使用,对VHDL设计是非常有帮助的,如图2-2-16所示。

img

图2-2-14 保存文件

img

图2-2-15 Quartus Prime文本编辑器窗口

img

图2-2-16 VHDL模板

6.向工程添加设计文件

在图2-2-17所示的窗口中可以设置Quartus Prime软件在当前工程下所使用的文件。执行菜单命令“Assignments”→“Settings”,就能看到select_2工程下已经包含了哪些文件,如图2-2-17所示。单击窗口左边的“Files”项目,在主界面窗口中执行菜单命令“Project”→“Add/Remove Files in Project”,能达到同样的目的。

如果用户使用Quartus Prime文本编辑器创建文件,并在“另存为”窗口中选择了“Add file to current project”复选框,那么select_2.vhd文件就已经是工程的一部分并在图2-2-17所示的窗口中列了出来;如果没有,那么就需要向工程当中添加所设计的文件。如果用户并不是使用Quartus Prime文本编辑器完成的程序输入,那么在select_2目录下复制一份使用其他文本编辑器创建的select_2.vhd文件。按照如下步骤向工程添加设计文件:单击“File name”按钮,此时会显示如图2-2-18所示的窗口,选择“select_2.vhd”文件并单击“打开”按钮,此时所选择的文件就会在图2-2-17所示的“Files”窗口中列出来,在窗口中单击“OK”按钮就将“select_2.vhd”文件添加到当前工程中。在很多情况下,即使这个文件没有被添加到工程当中,Quartus Prime也会根据VHDL代码中的实体自动选择合适的文件。但是如果是一个包含了很多文件的复杂工程,那么就需要按照上面的步骤向工程当中添加所需要的文件。

img

图2-2-17 设置窗口

img

图2-2-18 选择文件

7.编译工程

在文本编辑界面中执行菜单命令“Processing”→“Start Compilation”,或者单击水平工具条上的编译按钮 开始编译,并伴随着进度不断地变化,编译完成后的窗口如图2-2-19所示。在该图中显示了编译时的各种信息,其中包括警告和出错信息。根据错误提示进行相应的修改,并重新编译,直到没有错误提示为止。

8.设计错误

Quartus Prime软件在编译过程中会在信息窗口中显示相应的编译信息,如果VHDL设计文件是正确的,就会在信息窗口中提示编译成功,在设计当中是没有错误的。

img

图2-2-19 编译完成后的窗口

如果编译器并没有报告零错误,那么在VHDL代码当中存在一个以上的错误,并在信息窗口中显示每个错误相对应的信息。双击其中的一条错误信息,就会在文本编辑器窗口中高亮显示受错误影响的VHDL代码,同时编译器会显示一些警告信息。

为了观察错误的影响,打开select_2.vhd文件,删除“q<=a when s='1' else b;”语句中的分号,这是一个在VHDL程序输入过程当中极易犯的错误,单击 图标编译这个错误的设计文件,这时会弹出一个窗口提示是否要保存对select_2.vhd文件做出的修改,在窗口中单击“Yes”按钮。在尝试着编译电路之后,Quartus Prime软件底部的信息窗口提示编译是不成功的,会显示如图2-2-20所示的编译报告汇总信息。在扩展报告(Table of Contents)中的“Analysis & Synthesis”部分选择“Messages”,此时会以图2-2-21所示的方式显示编译信息。使用鼠标右键单击编译报告窗口标签,在弹出的菜单中选择“Detach Window”,就会以分离窗口的形式显示编译报告窗口;执行菜单命令“Window”→“Attach Window”,会使窗口重新以标签的形式显示。双击第一条错误信息,Quartus Prime软件会自动打开Select_2.vhd文件并高亮显示受错误影响的语句,如图2-2-22所示。改正错误并重新编译设计。

img

图2-2-20 错误设计的编译报告

img

图2-2-21 错误信息

img

图2-2-22 确定错误的位置

9.建立矢量波形文件

文本编辑方式中矢量波形的建立与原理图编辑方式部分基本相同,这里不再赘述。

10.引脚分配

上一节使用“Assignment Editor”进行引脚分配,本节将使用“Pin Planner”进行引脚分配,读者试着比较这两种分配方法的不同。在Quartus Prime主界面中执行菜单命令“Assignments”→“Pin Planner”,打开如图2-2-23所示的窗口。

在a节点的“Location”一栏中选择“PIN_G8”,在b节点的“Location”一栏中选择“PIN_J8”,在q节点的“Location”一栏中选择“PIN_G13”,在s节点的“Location”一栏中选择“PIN_H8”,完成引脚分配后的引脚规划器窗口如图2-2-24所示,用户可根据自身实验系统的情况来进行引脚分配。引脚分配完成后,重新编译电路。

img

图2-2-23 引脚规划器窗口

img

图2-2-24 引脚分配

11.下载验证

下载验证是将本次设计所生成的文件通过计算机下载到实验箱里来验证此次设计是否符合要求。大体上分为以下几个步骤。

1)编译 分配完引脚后必须再次编译才能存储这些引脚锁定的信息,单击编译按钮 执行编译。如果编译器件由于引脚的多重功能而出现问题的话,在“Assignments”菜单下选择“Device”选项,弹出如图2-2-25所示对话框,单击“Device and Pin Options…”按钮后弹出如图2-2-26所示的对话框,在“Dual-Purpose Pins”页面进行设置。还可以根据需要更改其他参数优化器件的各种参数设置。

img

图2-2-25 器件设置

img

图2-2-26 多重功能引脚设置

2)配置下载电缆 在“Tools”菜单下选择“Programmer”命令,或者直接单击工具栏上的 按钮,弹出如图2-2-27所示的对话框。

单击“Hardware Setup”按钮,弹出“Hardware Setup”对话框,单击“Add Hardware…”按钮设置下载电缆,并在弹出的窗口中选择“USB-Blaster”,(如上节所述)下载电缆配置完成。一般情况下,如果下载电缆不更换,一次配置就可以长期使用了,不需要每次都设置。

img

图2-2-27 未配置的下载电缆窗口

3)JTAG模式下载 JTAG模式是软件的默认下载模式,相应的下载文件为“.sof”格式。在“Mode”一栏里还可以选择其他下载模式,例如Passive Serial、Active Serial Programming和In-Socket Programming,如图2-2-28所示。勾选下载文件“select_2.sof”右侧的第一个小方框,也可以根据需要勾选其他的小方框。将下载电缆连接好后,单击“Start”按钮计算机就开始下载编程文件,下载完毕后如图2-2-29所示。

img

图2-2-28 各种下载模式

img

图2-2-29 下载完毕

4)Active Serial模式下载 Active Serial模式的下载文件为“.pof”格式。在“Mode”一栏里选择为“Active Serial”后弹出提示框,单击“OK”按钮后,在“Add File”选项里添加下载文件“select_2.pof”,如图2-2-28所示。勾选下载文件右侧的第一个小方框后,单击“Start”按钮即可,下载完毕后如图2-2-29所示。 SJrCe+O0WXsEI0oQg+neyY9g4AhgrCJW4/vV+N8Z0WzM3lJbiYaoErMfYkFs2yNM

点击中间区域
呼出菜单
上一章
目录
下一章
×