FPGA入门及Quartus II使用教程
FPGA是英文Field Programmable Gate Array的缩写,即现场可编程门阵列, 它是在可编程阵列逻辑 PAL(Programmable Array Logic)、门阵列逻辑 GAL(Gate Array Logic)等可编程器件的基础上上进一步发展的产物。
可以这样讲,ASIC(Application Specific Integrated Circuit )
内部的所有资源,是
用积木堆积起来的小房子,可以是一个欧美风情的房子,还可以是一个北京四合 院…….而FPGA内部就可以说是一个个小积木,也就是内部有大量的资源提供 给我们,根据我们的需求进行内部的设计。 并且可以通过软件仿真,我们可以事 先验证设计的正确性。
第一章FPGA的基本开发流程
下面我们基于 Altera公司的QuantusIl软件来说明FPGA的开发流程。 下图是一个典型的基于 Quartus II的FPGA开发整体流程框图。
专业文档供参考,如有帮助请下载。
1、 建立工程师每个开发过程的开始,Quartus II以工程为单位对设计过程进行管
理。 2、 建立顶层图。可以这样理解,顶层图是一个容器,将整个工程的各个模块包 容在
里边,编译的时候就将这些模块整合在一起。也可以理解为它是一个大 元件,比如一个单片机,内部包含各个模块,编译的时候就是生成一个这样 的大元件。 3、 采用ALTERA公司提供的LPM功能模块。Quartus软件环境包含了大量的常 用
功能模块,比如计数器、累加器、比较器等等。
4、 自己建立模块。由于有些设计中现有的模块功能不能满足具体设计的要求,
那就只能自己设计。使用硬件描述语言,当然也可以用原理图的输入方法, 可以独立的把它们当成一个工程来设计,并且生成一个模块符号 (Symbol) ,
类似于那些 LPM 功能模块。 这里可以理解为, 如果我们需求的滤波器, 没有 现成的合适的,那我们可以通过 LC 自己来搭建一个滤波器。 5、 将顶层图的各个功能模块连线起来。 这个过程类似电路图设计, 把各个芯片 连
起来,组成电路系统。 6、 系统的功能原理图至此已经基本出炉了,下一步就是选择芯片字载体,分配 引
脚,设置编译选项等等。 7、 编译。这个过程类似软件开发里德编译,但是实际上这个过程比软件的编译 复杂
的多, 因为它最终要实现硬件里边的物理结构, 包含了优化逻辑的组合, 综合逻辑以及布线等步骤。 8、 编译后会生成 2 个文件, 一个是 *.sof 文件,一个是 *.pof 文件, 前者可以通
过 JTAG 方式下载到 FPGA 内部,可以进行调试,但断电后数据丢失;后者通 过AS或者PS方式下载到FPGA的配置芯片里边(EEPROM或者FLASH), 重新上电后FPGA会通过配置将数据读出。
9、 对于复杂的设计,工程编译好了,我们可以通过 Quartus 软件或者其他仿真
软件来对设计进行反复仿真和验证,直到满足要求。 (主要是时序仿真) 。
第二章 基于 Quartus II 的实例
一、建立工程
首先,打开 Quartus II 软件。
专业文档供参考,如有帮助请下载。
接下来,建议一个新工程
:YE [电靜科电
Q,*i$ * VQ6 '
r £O3MVE_ 勺
[忑I
专业文档供参考,如有帮助请下载。