多种 EDA
工具的 FPGA 协同
设计
前言
FPGA 在电子市场上占有举足轻重的地位。现在的问题是:现在市场在
FPGA
开发方面的 EDA
工具令人眼花缭乱,各自侧重点不同,性能也不一样,
我们应该如何选择?为了加速 FPGA 的
开发,选择并协调好各种 EDA
工具显得
非常重要,本文将探讨上述问题并给出一种解决方案。本文以 Altera 公司的
FPGA 为目标
器件,通过
开发实例介绍 FPGA
开发的完整的流程及
开发过程中
使用到的
开发工具,包括 QuartusII、FPGA CompilerII、Modelsim,并重点解
说如何使用这三个
工具进行协同
设计。
二、FPGA 的
开发流程及实例
FPGA 的
开发分为
设计输入、功能
仿真、
设计综合、前
仿真、布局布线、时
序
仿真、时序分析和编程下载几个步骤。
设计流程如图 1 所示。
我们的
开发实例是“带顺序选择和奇偶检验的串并数据转换接口”。接口电路
可以实现数据的串并转换,并根据控制信号确定输出的并行数据的顺序,以及输
出奇偶检验位。
开发实例是用来说明 FPGA 的
开发流程和各种 EDA
工具的协同
设计,因此这里的描述重点并在
设计本身。
开发实例使用的目标
器件是 Altera 公
司 FLEX10KE 系列的 EPF10K30ETC114-1;
开发软件有 QuartusII2.0、FPGA
CompilerII 3.6 和 Modelsim5.6SE。
Quartus II 是 Altera 公司的第四代可编程逻辑
器件集成
开发环境,提供从设
计输入到
器件编程的全部功能。 Quartus II 可以产生并识别 EDIF 网表文件、
VHDL 网表文件和 Verilog HDL 网表文件,为其它 EDA
工具提供了方便的接口;
可以在 Quartus II 集成环境中自动运行其它 EDA
工具。 Mentor Graphics 公司
的 Modelsim 是业界较好的
仿真工具,其
仿真功能强大,且图形化界面友好,而
且具有结构、信号、波形、进程、数据流等窗口。FPGA Compiler II 是一个完善
的 FPGA 逻辑分析、综合和优化
工具,它从 HDL 形式未优化的网表中产生优化
的网表文件,包括分析、综合和优化三个步骤。 如果
设计的硬件系统不是很大,
对综合和
仿真的要求不是很高,我们完全可以在 Quartus II 中完成
设计。实际上,
这个
开发实例完全可以在 Quartus II 这个集成的
开发环境中完成。下面,我先介
绍一下如何在 Quartus II 中完成
设计,然后再介绍如何利用 Quartus II 提供的第
三方 EDA
工具的接口与其它 EDA
工具(包括综合
工具 FPGA Compiler II 和仿
真
工具 ModelSim5.6SE)完成协同
设计。
1. 基于 Quartus II 的 FPGA 的
开发
利用 Quartus II 软件的
开发流程可概括为以下几步:
设计输入、
设计编译、
设计时序分析、
设计仿真和
器件编程。
(1)
设计输入
Quartus II 软件在 File 菜单中提供“New Project Wizard...”向导,引导
设计者
完成项目的创建。当
设计者需要向项目中添加新的 VHDL 文件时,可以通过“New”
选项选择添加。在这里我们创建项目“s_to_p”,编写“s_to_p.vhd 文件”,并将文
件添加到项目中。
(2)
设计编译
Quartus II 编译器完成的功能有:检查
设计错误、对逻辑进行综合、提取定
时信息、在指定的 Altera 系列
器件中进行适配分割,产生的输出文件将用于
设计
仿真、定时分析及
器件编程。
①首先确定软件处于 Compile Mode,可以通过 Processing 菜单进行选择。
②在 Processing 菜单中选择 Compiler Settings 项。在这里可以进行
器件选
择、模式设定、综合和适配选项设定及
设计验证等。我们选择 FLEX10KE 系列
型号为 EPF10K30ETC114-1 的
器件,并选择在编译后进行时序分析。
③单击 Processing 菜单下的“Start Compilation”项,开始编译过程。