asp.net网站建设实战 pdf山东企业网站建设
摘自<<Altera FPGA 勇敢的芯 入门指南>>第12章
Altera FPGA 配置方式概述
FPGA 是基于 RAM 结构的,而 RAM 是易失存储器,在掉电后保 存在上面的数据就丢失了,重新上电后需要再下载一次才可以。因此,我 们肯定不希望每次重新上电后都用 PC 去下载一次,工程实现也不允许我
们这么做。所以,通常 FPGA 旁边都有一颗配置芯片,它通常是一片 FLASH, 或者是并行或者是串行接口的。不管是串行还是并行的 FLASH,它们的启 动加载原理基本相同,后面我们会专门讨论。
FPGA 器件有三类配置下载方式:主动配置方式(AS)、被动配置方式 (PS)和最常用的基于 JTAG 的配置方式。AS 和 PS 模式主要是将 bit 流下 载到配置芯片中;而 JTAG 模式则既能将代码下载到 FPGA 中直接在线运行 (速度快,调试时优选),也能够通过 FPGA 将 bit 流下载到配置芯片中。 由于JTAG方式灵活多用,所以我们的SF-CY4开发板就只预留了JTAG接口。
2 AS 配置方式
AS 配置方式由 FPGA 器件引导配置操作过程,它控制着外部存储器及 其初始化过程,EPCS 系列配置芯片如 EPCS1、EPCS4 配置器件专供 AS 模式。 使用 Altera 串行配置器件来完成,FPGA 器件处于主动地位,配置器件处于 从属地位。配置数据通过 DATA0 引脚送入 FPGA。配置数据被同步在 DCLK 输入上,1 个时钟周期传送 1 位数据。
3 PS 配置方式
PS 配置方式则由外部计算机或其它控制器控制配置过程。通过加强型 配置器件(EPC16,EPC8,EPC4)等配置器件来完成,在 PS 配置期间,配 置数据从外部储存部件,通过 DATA0 引脚送入 FPGA。配置数据在 DCLK 上 升沿锁存,1 个时钟周期传送 1 位数据。
4 JTAG 配置方式
JTAG 接口是一个业界标准,主要用于芯片测试等功能,使用 IEEE Std 1149.1 联合边界扫描接口引脚,支持 JAM STAPL 标准,可以使用 Altera 下 载电缆或主控器来完成。 FPGA 在正常工作时,它的配置数据存储在 SRAM 中,加电时须重新下载。
在实验系统中,通常用计算机或控制器进行调试,因此可以使用 PS。
在实用系统中,多数情况下必须由 FPGA 主动引导配置操作过程,这时 FPGA 将主动从外围专用存储芯片中获得配置数据,而此芯片中 FPGA 配置信息 是用普通编程器将设计所得的 pof 格式的文件烧录进去。
JTAG 模式在线下载 FPGA 的原理如图所示,PC 端的 Quartus II 软件通 过下载线缆将 bit 流(sof 文件)下载到 FPGA 内部,下载完成后 FPGA 中立 刻执行下载代码,速度很快,非常适合调试。
FPGA 下载数据到配置芯片的原理如图所示,PC 端的 Quartus II 软件通 过下载线缆将 bit 流(jic 文件)下载到配置芯片中。由于配置芯片和 JTAG 接口都是分别连接到 FPGA 的,他们不是直接连接,所以配置文件从 PC 先 是传送到 FPGA,然后 FPGA 内部再转送给配置芯片,这个过程 FPGA 相当 于起到一个桥接的作用。
看完 JTAG 模式下在线配置 FPGA 和烧录配置芯片的原理,我们再了解 一下 FPGA 上电初始的配置过程。FPGA 上电后,内部的控制器首先工作, 确认当前的配置模式,如果是外部配置芯片启动,则通过和外部配置芯片 的接口(如我们的 SPI 接口)将配置芯片的数据加载到 FPGA 的 RAM 中, 配置完成后开始正式运行。当然了,有人可能在想,JTAG 在线配置是否和 配置芯片加载相冲突呢?非也,JTAG 在线配置的优先级是最高的,无论此 时 FPGA 中在运行什么逻辑,只要 JTAG 下载启动,则 FPGA 便停下当前的 工作,开始运行 JTAG 下载的新的配置数据。