### Quartus II 简明教程(中文版)—— CPLD 设计快速入门
#### 一、引言
在电子设计领域,复杂可编程逻辑器件(CPLD)与现场可编程门阵列(FPGA)是两种常用的可编程逻辑器件。其中,CPLD因其简单、稳定的特点,在许多场合被作为辅助电路元件使用。对于硬件开发工程师而言,尽管CPLD设计不是他们的主要工作,但是掌握一定的CPLD设计技能仍然非常重要。Quartus II 是 Altera 公司(现已被 Intel 收购)推出的一款强大的 FPGA/CPLD 开发软件,它提供了从设计输入、综合、仿真到编程的一整套解决方案。
本教程旨在帮助读者在短时间内掌握 Quatrus II 的基本使用方法,重点介绍 CPLD 的设计流程,并通过实例讲解如何使用该软件进行设计输入、综合、仿真以及编程下载等关键步骤。
#### 二、CPLD 基本设计流程
CPLD 的设计流程主要包括以下几个步骤:
1. **工程管理**:包括新建工程、管理工程文件等。
2. **源文件输入**:包括 VHDL/Verilog 程序输入、原理图输入等。
3. **综合、编译**:检查语法错误、连接错误,并生成综合后网表。
4. **功能仿真**:可选步骤,用于验证设计的逻辑功能正确性。
5. **约束设置**:包括管脚分配、I/O 特性约束等。
6. **全编译**:完成布局布线,生成最终编程文件。
7. **时序仿真**:基于延时的仿真,更接近实际情况。
8. **编程下载**:将设计结果下载到目标设备。
#### 三、实战演练
##### 1. 工程管理
- **新建工程**:输入工程名称,选择源文件和器件型号。此外,还可以设置第三方工具,如仿真器等。
- 重要设置:了解未用 I/O 的状态,这会影响设计的性能。
- **工程管理**:支持工程复制、版本管理和压缩打包等功能。技术支持人员可能会要求用户使用此功能将工程打包发送给他们,以便解决遇到的问题。
##### 2. 源文件输入
- **新建源文件**:
- **HDL 文件**:可通过导入模板来快速创建 VHDL 或 Verilog 文件,并对其进行保存和编辑。此外,Quartus II 提供了灵活的界面设置,可以根据个人喜好调整窗口布局。
- **原理图输入**:包括添加元件、连线技巧、输入输出管脚的添加和标记等。
- **内嵌模块**:MAX II 系列 CPLD 内嵌了一些模块,如 8K FLASH 和晶振等。这些模块可以通过调用来自动生成 HDL 文件和原理图文件。
##### 3. 综合编译
- **综合编译**:点击工具栏上的相应图标即可启动综合过程。该过程会检查语法错误并生成综合后的网表文件。
- **排错**:如果出现错误,可以通过 Quatrus II 的调试工具定位并解决问题。
##### 4. 功能仿真与时序仿真
- **功能仿真**:虽然本教程推荐直接进入时序仿真阶段,但在某些情况下可能需要先进行功能仿真来验证设计的基本逻辑行为。
- **时序仿真**:通过设置仿真文件、仿真时间、输入信号等,启动时序仿真,以确保设计在实际工作环境下的表现符合预期。
##### 5. 编程下载
- **编程下载**:最后一步是将设计下载到目标 CPLD 中。点击相应的工具栏按钮,打开编程界面,完成编程下载过程。
#### 四、附加内容:约束设置技巧
除了上述基本流程外,还有一些额外的技巧可以帮助优化设计,例如:
- **约束某个信号为全局信号**:这可以通过 Assignment Editor 来实现。首先打开 Assignment Editor,然后找到想要设置的信号,为其设置相应的约束条件。
#### 五、总结
通过本教程的学习,您应该已经掌握了使用 Quartus II 进行 CPLD 设计的基本方法。虽然本教程侧重于 CPLD 设计,但对于 FPGA 设计也有一定的指导意义。如果您希望进一步提高设计水平,可以参考更多详细的教程资料,学习更高级的功能和技巧。