欣欣学习网,老工程师带你学习单片机技术,欢迎来坐坐。
首  页 | 学习NIOSII | 学习C51 | 学习CPLD | 51+CPLD实验板 | | | MY-RTOS

本栏目的实验需在 WinXp 上操作。建议在 Virtual Box 虚机上安装WinXp系统,使用更方便。

 MAXII学习板首页
 安装QuartusII6.0软件
 Quartus II 使用入门
 安装ModelSim6.0SE
 使用ModelSim仿真
 使用ModelSim做后仿真
 闪灯程序
 流水灯程序
 数码管计数程序
 计时秒表程序
 PWM控制LED灯亮度程序
 UART通信程序
 PS2口通信程序
 VGA信号发生器程序
 为单片机扩展UART
 相关软件与文档


MAXII CPLD 实验板

Quartus II 使用入门


下面,我们通过一个简单的实例来演示如何使用 Quartus II6.0PLD 器件上做一个完整的逻辑设计。我们将在 PLD 上实现一个三人表决器的逻辑。三人表决,以少数服从多数为原则,多数人同意则议案通过,否则议案被否决。这里,我们使用三个按键代表三个参与表决的人,置“0”表示该人同意议案,置“1”表示该人同意议案;两个指示灯用来表示表决结果,LED1 点亮表示议案通过,LED2 点亮表示议案被否决。真值表如下:

S1S2S3LED1LED2
00001
00101
01001
01110
10001
10110
11010
11110

下面我们就具体来实现这一设计。

1.

双击桌面上 Quartus II6.0 的图标,启动 Quartus II6.0 软件。

2.

通过 File => New Project Wizard… 菜单命令启动新项目向导。

3.

在随后弹出的对话框上点击 Next 按钮,继续。

4.

What is the working directory for this project 栏目中设定新项目所使用的路径;在 What is the name of this project 栏目中输入新项目的名字: vote ,点击 Next 按钮。

5.

在这一步,向导要求向新项目中加入已存在的设计文件。因为我们的设计文件还没有建立,所以点击 Next 按钮,跳过这一步。

6.

在这一步选择器件的型号。Family 栏目设置为 MAXII ,选中 Specific device selected in ‘Available devices’ list 选项,在 Available device 窗口中选中所使用的器件的具体型号,这里以 EPM240T100C5 为例。点击 Next 按钮,继续。

7.

在这一步,可以为新项目指定综合工具、仿真工具、时间分析工具。在这个实验中,我使用 Quartus II6.0 的默认设置,直接点击 Next 按钮,继续。

8.

确认相关设置,点击 Finish 按钮,完成新项目创建。

9.

接下来,我们建立一个原理图文件,并加入该项中来。在 File 菜单下,点击 New 命令。在随后弹出的对话框中选择 Block Diagram/Schematic File 选项,点击 OK 按钮。在 File 菜单下 选择 Save As 命令,将其保存,并加入到项目中。

10.

根据上面的真值表,做卡诺图简化,可以得出:LED1=S1S2+S1S3+S2S3 ,LED2=~LED1 。双击原理图的任一空白的处,会弹出一个元件对话框。在 Name 栏目中输入 and2 ,我们就得到一个2输入的与门。

11.

点击 OK 按钮,将其放到原理图的适当位置。重复操作,放入另外两个2输入与门。也可以通过右键菜单的 Copy 命令复制得到。

12.

双击原理图的空白处,打开元件对话框。在 Name 栏目中输入 or3 ,我们将得到一个3输入的或门。点击 OK 按钮,将其放入原理图。

13.

双击原理图的空白处,打开元件对话框。在 Name 栏目中输入 not ,我们会得到一个非门。点击 OK 按钮,将其放入原理图。

14.

将鼠标入到元件的引脚上,鼠标会变成“十”字形状。按下左键,拖动鼠标,就会有导线引出。根据我们要实现的逻辑,连好各元件的引脚。

15.

双击原理图的空白处,打开元件对话框。在 Name 栏目中输入 Input , 我们便得到一个输入引脚。点击 OK 按钮,放入原理图。重复操作,给我们的电路加上3个输入引脚。

16.

双击输入引脚,会弹出一个属性对话框。在这一对话框上,我们可更改引脚的名字。我们分别给3个输入引脚取名 in1in2in3

17.

双击原理图的空白处,打开元件对话框。在 Name 栏目中输入 output ,我们会得到一个输出引脚。点击 OK 按钮,放入原理图。重复操作,给我们的电路加上两个输出引脚。给两个输出引肢分别命名为 led1led2

18.

Assignments 菜单下,点击 Pins 命令,启动 Pin Planner 工具。在这个工具中,我们可以为我们的电路的端子分配器件的引脚。在 All Pins 表格中,双击 Node Name 列的 new node 单元,输入端子的名字。在同一行的 Location 列,选择要分配的位置。重复操作,为每个端子都分配适当的脚位。

19.

Assignments 菜单下,点击 Device… 命令。在随后弹出的对话框中点击 Device & Pin Options… 按钮,进入 Device & Pin Options 对话框。切换到 Unused Pins 页,在 Reserved all unused pins 栏目中,选择 As input tri-stated 。因为我们的设要在开发板上演示,所以把没有用到的管脚设为输入,以避免与开发板上其它电路发生冲突。点击确定按钮,确认设置。回到 Seting 对话框,点击 OK 按钮。

20.

Processing 菜单下,点击 Start Compilation 命令,开始编译我们的项目。编译结束后,点击 确定 按钮。

21.

在把我们的设计下载到开发板上验证之前,我们可以先做一下仿真。首先,我们要建立一个输入波形文件。仿真工具会用到该文件,以确定每个输入引脚的激励信号。在 File 菜单下,点击 New 命令。在随后弹出的对话框中,切换到 Other Files 页。选中 Vector Waveform File 选项,点击 OK 按钮。

22.

现在,我们已经进入到波形编辑界面。在 Edit 菜单下,点击 Insert Node or Bus… 命令。

23.

点击 Node Finder… 按钮,打开 Node Finder 对话框。点击 List 按钮,列出电路所有的端子。点击 >> 按钮,全部加入。点击 OK 按钮,确认。

24.

回到 Insert Node or Bus 对话框,点击 OK 按钮,确认。

25.

选中 in1 信号,在 Edit 菜单下,选择 Value => Clock… 命令。在随后弹出的对话框的 Period 栏目中设定参数为50ns,点击 OK 按钮。

26.

In2in3 也用同样的方法进行设置,Period 参数分别为 100ns 和 200ns 。

27.

保存文件,在 Processing 菜单下,选择 Start Simulation 启动仿真工具。仿真结束后,点击确认按钮。观察仿真结果,对比输入与输出之间的逻辑关系否符合真值表。

28.

使用下电缆,将开发板 Jtag口(J7) 与电脑的并行口相连,接通开发板电源。连接下载电缆时,注意10PIN插头的方向,要使红线在右侧。在 Tools 菜单下,选择 Programmer 命令, 打开 Quartus II Programmer 工具。点击 Hardware Setup 按钮,进行下载线设置,选择所用的下载线型号。

29.

选中 Program/ConfigureVerifyBlank-Check 选项,点击 Start 按钮,将配置文件 vote.pof 下载到开发板上。拔动拔码开关的 1、2、3 位,进行各种组合,观察 LED1、LED2 的状是否符合真值表。




管理员信箱: stonewayqi@hotmail.com

欣 欣 学 习 网

粤ICP备2023138008号