Quartus II 6.0 简明教程

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Quartus 简明教程

以设计一个简单的LED7段译码器为例介绍使用Quartus设计的全过程。

Step1 :打开quartus,显示窗口如图1所示:

Project

Navigator

Message Widow

图1 quarts启动后的显示界面

Step2: 新建工程:Quartus设计都是以工程为单位的,也就是说每一个设计必须包含在某一个工程中。(1)点击File菜单”New Project Wizard…”菜单项(图2),启动项目向导(图3)。

图2 New Project 选项图3 项目向导第一个窗口

在图3中点击Next,出现图4所示的窗口,要求设置项目路径、顶层设计文件的名称。设计中最好保持project 的名字和顶层文件名相一致,这里我们在project name(第二个编辑框)中输入需要设计的bin27seg(图5)。点击Next,出现图6所示窗口,在这里可以添加我们已经设计好的文件。假设我们现在还没有.vhd设计文件,掠过此步,直接点击Next。

项目路径

项目名称

顶层设计实体名

图4 项目基本信息设置图5 项目名称填写

图6 添加已有文件

图7 第三方eda工具选择Array

注意题目

图8

9

10

11

12

13 图

14

15

在bin27seg.vhd 文件中输入代码(代码附后)

图16

图18

19

Bin27seg的rtl级电

20

21

图22 编译全过程

图23

设计的另一部分就是验证自己的设计功能是否正确。

这里我们采用激励的方式,给定输入波形,观察输出是否正确。

(注这步也非必须,如果对自己的设计有充足的信心:)不过建议大家稍微大些的设计一定要做仿真)

选择File 菜单->new…,在other files 表签页,选择vector waveform file (波形文件),点OK ,如图25所示,将其保存,如图26,注意文件名和要仿真的实体名保持一致

波形文件

图25

图26

图27

现在要作的是把设计中的输入和输出管脚引进波形文件。

在波形文件窗口的左边栏点击右键,选择insert node or bus ,出现图28

点击node finder

图28

察看filter下拉框中

选择pins:all,然后

单击list按钮,

出现图30所示

图29

将设计中的管脚引入,即调到右边的框中,可以按ctrl键选

择多项,完成之后按OK,返回图31窗口

图30

将设计中的管脚引入,即调到右边的框

中,可以按ctrl键选择多项,完成之后按

OK,出现如图32,对应entity中的管脚

entity bin27seg is

port (

data_in : in

std_logic_vector (3 downto 0);

EN : in std_logic;

data_out : out std_logic_vector

(6 downto 0));

end entity;

图31

图32

图33 图34

注意输入激励的设置是

随意的,但是决定设计的

输出,这样可以根据不同

的设计和自己的需要来

设置不同的输入激励(波

形)

图35

图36

图37

特别的,当需要设置时钟时,请使用图标,比如我想让

38

图39

波形激励设置完成后,可以进行仿真了,选择processing 菜单start simulation 项,启动仿真进程(图39)

结果如图40所示。

图40

看到波形与自己设计时功能一致,表示设计无误。到这里,一个设计过程就结束了。接下来就是下载到芯片了。这个就先不写了,毕竟自己做的时候不可能下载。

如果需要,可以参看quartus help,特别是tutorial里边的内容,是为初学者准备的。唯一的遗憾就是全英文的。

另外,在自己做设计的时候需要设定自己的设计到特殊的某个管脚,这时需要用assigment editor, 在assignment 菜单-》assignment editor菜单项。(图41-45),可以参看help->tutorial

这一步应该在analysis & synthesis 之后,fitter之前设定。

如果自己不设定,quartus会自动为你设定引脚。

图46是设定完的引脚在器件的位置,注意,你设计所用的管脚可以定义到任意IO,时钟管脚除外(定

义在某一个GCLK端),图47是实际的器件与图46对应

图41

图42

图43

图44

图45

图46

图47 PLCC封装的EPM7128(CPLD)

图48 xilinx公司的FPGA(圆圈中的那个芯片)

CPLD基本原理

一.基于乘积项(Product-Term)的PLD结构

采用这种结构的PLD芯片有:Altera的MAX7000,MAX3000系列(EEPROM工艺),Xilinx的XC9500系列(Flash工艺)和Lattice,Cypress的大部分产品(EEPROM工艺)

我们先看一下这种PLD的总体结构(以MAX7000为例,其他型号的结构与此都非常相似):

图1 基于乘积项的PLD内部结构

这 种PLD可分为三块结构:宏单元(Marocell),可编程连线(PIA)和I/O控制块。 宏单元是PLD 的基本结构,由它来实现基本的逻辑功能。图1中兰色部分是多个宏单元的集合(因为宏单元较多,没有一一画出)。可编程连线负责信号传递,连 接所有的宏单元。I/O控制块负责输入输出的电气特性控制,比如可以设定集电极开路输出,摆率控制,三态输出等。 图1 左上的INPUT/GCLK1,INPUT/GCLRn,INPUT/OE1,INPUT/OE2 是全局时钟,清零和输出使能信号,这几个信号有专用连线与PLD中每个宏单元相连,信号到每个宏单元的延时相同并且延时最短。

宏单元的具体结构见下图:

相关文档
最新文档