quartusii教程
- 格式:doc
- 大小:3.25 MB
- 文档页数:55
Quartus II教程
本页仅作为文档封面,使用时可以删除
This document is for reference only-rar21year.March
第3章 Altera Quartus II软件开发向导
基于Altera Quartus II软件的设计方法有模块编辑法、文本编辑法、宏模块编辑法和包含前三种方法的混合编辑法。宏模块设计法放在第6章讲述,本章通过实例简单介绍使用Quartus II软件的模块原理图编辑法、文本编辑法和包含前两种方法的混合编辑法。
模块编辑及设计流程
Quartus II软件的模块编辑器以原理图的形式和图标模块的形式来编辑输入文件。每个模块文件包含设计中代表逻辑的框图和符号。模块编辑器可以将框图、原理图或符号集中起来,用信号线、总线或管道连接起来形成设计,并在此基础上生成模块符号文件(.bdf)、AHDL Include文件(.inc)和HDL文件。
3.1.1 原理图输入文件的建立
在这里我们设计非常简单一个二输入的或门电路。它只包含一个或门、两个输入引脚和一个输出引脚。首先创建一个原理图形式的输入文件。步骤如下:
(1)打开模块编辑器
单击【File】|【New】,弹出新建文件对话框,如图所示。
图 新建文件对话框
选择文件类型【Block Diagram/Schematic File】,打开模块编辑器,如图所示。使用该编辑器可以编辑图标模块,也可以编辑原理图。217
图 模块编辑器
Quartus II提供了大量的常用的基本单元和宏功能模块,在模块编辑器中可以直接调用它们。在模块编辑器要插入元件的地方单击鼠标左键,会出现小黑点,称为插入点。然后鼠标左键,弹出【Symbol】对话框,如图所示。或者在工具栏中单击图标,也可打开该对话框。
图 Symbol对话框
在Symbol对话框左边的元件库【Libraries】中包含了Quartus II提供的元件。它们存放在\altera\quartus60\libraries\的子目录下,分为primitives、others、megafunctions三个大类。
基本逻辑函数(primitives)
基本逻辑函数存放在\altera\quartus60\libraries\ primitives\的子目录下,分别为缓冲逻辑单元(buffer)、基本逻辑单元(logic)、其它单元(other)、引脚单元(pin)和存储单元(storage)五个子类。Buffer子类中包含的是缓冲逻辑器件,如alt_in buffer、alt_out_buffer、wire等;logic子类中包含的是基本逻辑器件,如and、or、xor等门电路器件;other子类中包含的是常量单元,如constant、vcc和gnd等;pin子类中包含的是输入、输出和双向引脚单元;storage子类中包含的是各类触发器,如dff、tff等。
宏模块函数(megafunctions)
宏模块函数是参数化函数,包括LPM函数 MegaCore AMPP函数。这些函数经过严格的测试和优化,用户可以根据要求设定其功能参数以适应不同的应用场合。这些函数存放在\altera\quartus60\libraries\ megafunctions\的子目录下,包含arithmetic、gates、I/O和storage四个子类。arithmetic子类中包含的是算法函数,如累加器、加法器、乘法器和LPM算术函数等;gates子类中包含的是多路复用器和门函数;I/O子类中包含的是时钟数据恢复(CDR)、锁相环(PLL)、千兆位收发器(GXB)、LVDS接收发送器等;storage子类中包含的是存储器、移位寄存器模块和LPM存储器函数。
其他函数(others)
其他函数包含了MAX+Plus 所有的常用的逻辑电路和Opencore_plus函数,这些函数存放在\altera\quartus60\libraries\ others\的子目录下。这些逻辑函数可以直接应用到原理图的设计上,可以简化许多设计工作。
在模块编辑器的左边是工具栏,熟悉这些工具按钮的性能,可以大幅度提高设计速度。下面详细介绍这些按钮的功能。
选择工具:选取、移动、复制对象,是最基本且常用的功能。
文字工具:文字编辑工具,设定名称或批注时使用。
符号工具:用于添加工程中所需要的各种原理图函数和符号。
图标模块工具:用于添加一个图表模块,用户可定义输入和输出以及一些相关参数,用于自顶向下的设计。
正交节点工具:用于画垂直和水平的连线,同时可定义节点的名称。
正交总线工具:用于画垂直和水平的总线。
正交管道工具:用于模块之间的连线和映射。
橡皮筋工具:使用此项移动图形元件时引脚与连线不断开。
部分连线工具:使用此项可以实现局部连线。
放大/缩小工具:用于放大或缩小原理图。
全屏工具:用于全屏显示原理图编辑窗口。
查找工具:用于查找节点,总线和元件等。
元件翻转工具 :用于图形的翻转,分别为水平翻转,垂直翻转和90度的逆时针翻转。
画图工具、、、:画图工具,分别为矩形、圆形、直线和弧线工具。
(2)添加元件符号
打开Symbol对话框左边的元件库【Libraries】,选择【primitives】|【logic】|【or2】,弹出Symbol对话框,如图所示。219
图 在Symbol对话框选择元件
单击【OK】按钮。鼠标变为+和选中的符号,将目标元件移动到合适位置单击左键,编辑器窗口就出现了该元件,如图所示。
图 在编辑器窗口添加或门
同理,在【Libraries】中,选择【primitives】|【pin】|【input】,放两个输入引脚到编辑器窗口;选择【primitives】|【pin】|【output】,放一个输出引脚到编辑器窗口。如图所示。220
图 在编辑器窗口添加输入/输出引脚
(3)连接各元件并给引脚命名
放置好元件后,接下来的就要连接各个功能模块,通过导线将模块间的对应管脚直接连接起来。其具体做法如下:将鼠标移到其中一个端口,待鼠标变为“+”形状后。一直按住鼠标左键,将鼠标拖到到待连接的另一个端口上。放开左键,则一条连线画好了。如果需要删除一根线,单击这根连线并按Del键。这里分别将两个输入引脚连接到或门的两个输入端,将输出引脚连接到或门的输出端。
连线完成后可以给输入/输出引脚命名。在引线端子的PIN_NAME处双击鼠标,弹出Pin
Properties对话框,在【Pin name】栏中填入名字。这里三个引脚分别命名为A、B、C。如图所示。
图 连接元件并命名
引脚名称可以使用26个大写英文字母和26个小写英文字母,以及10个阿拉伯数字,或是一些特殊符号“/”“_”来命名,例如AB, /5C,a_b都是合法的引脚名。引脚名称不能超过32个字符;大小写的表示相同的含义;不能以阿拉伯数字开头;在同一个设计文件中引脚名称不能重名。总线(Bus)在图形编辑窗口中显示为的是一条粗线,一条总线可代表2~256个节点的组合,即可以同时传递多路信号。总线的命名必须在名称后面加上 [a …b],表示一条总线内所含的节点编号,其中a和b必须是整数,但谁大谁小并无原则性的规定,例如A[3..0]、B[0..15]、C[8..15]都是合法的总线名称。
(4)保存文件
最后如需要保存文件,选择【File】菜单中的【Save As】项或单击按钮,弹出Save As对话框,如下图所示,在File Name 对话框内输入设计文件名my_or_2,然后选择【OK】,即可保存文件。
图 保存文件
原理图和图表模块设计的文件名称与引脚命名规则相同,长度必须在32个字符以内,不包含扩展名“.bdf”。
3.1.2 图表模块输入
图表模块输入是自顶向下的设计方法。首先在顶层文件中划出图形块或器件符号,然后在图形块上设置端口和参数信息,用信号线、总线和管道把各个组件连接起来。下面以3-8译码器为例介绍图表模块输入法。
打开模块编辑器,单击工具栏上的图表模块工具,将该模块拖到右边的空白处,用鼠标在需作图的地方画矩形框,在所画的矩形框范围就会出现图表模块,如图所示。222
图 生成的图表模块
在图表模块上单击鼠标右键,弹出如图左图所示的菜单,选择【Block Properties】选项,弹出模块属性设置对话框,如图右图所示。
图 模块属性设置对话框
模块属性设置对话框有四个属性标签页.。在【General】标签页中的【Name】栏设置模块名称为decode3_8;在【I/Os】标签页设置3-8译码器的端口信息,在【Name】栏中输入端口名称A,【Type】栏输入INPUT,设定为输入端口。单击【Add】按钮,即可将输入端口A添加到模块属性设置对话框下面的【Existing Block I/Os】列表中,如图左图所示。以此类推,添加另外两个输入信号B、C,添加三个使能信号G1、G2a、G2b,添加八个输出信号y0、y1、y2、y3、y4、y5、y6、y7。如图右图所示。223
图 添加输入端口
单击【确定】,就生成了图标模块。使用鼠标选中图标模块,调整其大小,以便显示所有的端口。如图所示。
图 生成的图标模块
单击,保存设计的图标模块文件,将该文件的后缀名定义为.bdf。
以上的设计过程只是规定了设计的图标模块的外部端口,图标模块的功能由硬件描述语言或图形文件实现。Quartus II软件支持的设计文件格式有:AHDL语言格式、VHDL语言格式、Verilog HDL 语言格式、Schematic图形格式。在图标模块单击鼠标右键,在弹出的菜单中选择【Create Design File from Selected Block】选项,弹出创建设计文件对话框,如图所示。224
图 创建设计文件对话框
选择文件设计类型,这里选VHDL,确定是否把将要生成的文件添加到当前工程中。单击【OK】,就生成了设计文件。如图所示。
图 生成设计文件
单击【确定】,弹出包含端口声明的VHDL文本编辑窗口,如图所示。
图 包含端口声明的VHDL文本编辑窗口
在该窗口中,已经自动生成了包含端口定义的VHDL程序的实体部分,用描述模块功能的结构体部分是个空白,需要插入相应的语句,完成设计。
如果在图 创建设计文件对话框选择Schematic,则弹出包含已经定义的输入输出端口原理图编辑窗口,如图所示。