Stratix IV 器件中的配置、 设计安全和远程系统更新

Stratix IV 器件中的配置、 设计安全和远程系统更新
10. Stratix IV 器件中的配置、 设计
安全和远程系统更新
December 2011
SIV51010-3.4
SIV51010-3.4
本章介绍 Stratix® IV 器件中的配置、设计安全和远程系统更新。Stratix IV 器件提
供了配置数据解压缩功能,从而节省配置数据的储存空间和加载时间。它们也提供了
内建的设计安全功能,可以保护您的设计免受配置文件的 IP 盗窃和篡改。
Stratix IV 器件也提供远程系统更新功能,使您能够通过任何网络实时更新系统。这
个有助于实现功能的增强和错误的修复,以及提供错误检测、恢复和状态信息,以确
保可靠的重新配置。
概述
本章对 Stratix IV 器件所支持的配置方案,关于怎样执行所需配置方案的指令,以及
必要的管脚设置进行介绍。
Stratix IV 器件使用 SRAM 单元来存储配置数据。因为 SRAM 是易失的,所以必须在每
次器件上电时将配置数据下载到 Stratix IV 器件中。您可以使用下面配置方案中的一
项对 Stratix IV 器件进行配置。
■
快速被动并行 (FPP)
■
快速主动串行 (AS)
■
被动串行 (PS)
■
联合测试行动小组 (JTAG)
所有的配置方案使用外部控制器 ( 例如,MAX® II 器件或者微处理器 ), 配置器件,或
者下载电缆。要了解更多的信息,请参考第 10–4 页 “ 配置功能 ”。
本章包含以下部分:
■
“ 配置方案 ” 第 10–2 页
■
“ 配置功能 ” 第 10–4 页
■
“ 快速被动并行配置 ” 第 10–6 页
■
“ 快速主动串行配置 ( 串行配置器件 )” 第 10–16 页
■
“ 被动串行配置 ” 第 10–24 页
■
“JTAG 配置 ” 第 10–34 页
■
“ 器件配置管脚 ” 第 10–39 页
■
“ 配置数据解压缩 ” 第 10–45 页
■
“ 远程系统更新 ” 第 10–47 页
■
“ 远程系统更新模式 ” 第 10–50 页
© 2011 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, HARDCOPY, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos
are trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified as
trademarks or service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance of its
semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to any products and
services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, product, or service
described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device specifications before relying
on any published information and before placing orders for products or services.
ISO
9001:2008
Registered
Stratix IV 器件手册 第 1 卷
2011 年 12 月
反馈
订阅
第 10 章 : Stratix IV 器件中的配置、 设计安全和远程系统更新
配置方案
10–2
■
“ 专用远程系统更新电路 ” 第 10–52 页
■
“Quartus II 软件支持 ” 第 10–57 页
■
“ 设计安全 ” 第 10–58 页
配置器件
Altera® 串行配置器件支持 Stratix IV 器件的单器件和多器件配置的解决方案,并且
被用在快速 AS 配置方案中。串行配置器件提供一个低成本,低管脚量的配置解决方
案。
f 要了解关于串行配置器件的更多信息,请参考配置手册第二卷的 Serial
Configuration Devices (EPCS1, EPCS4, EPCS16, EPCS64, and EPCS128) Data
Sheet。
1
本章所有的最小时序信息覆盖整个 Stratix IV 系列。由于工艺变化,一些器件工作的
时序可能少于该手册所陈述的最小时序。
配置方案
通过驱动 Stratix IV 器件 MSEL 管脚为高电平或者低电平,选择配置方案,如
表 10–1 中所示。MSEL 输入缓冲器由 VCC 电源供电。 Altera 建议硬线连接 MSEL[] 管
脚到 VCCPGM 和 GND。MSEL[2..0] 管脚含有始终有效的 5- kΩ 内部下拉电阻。在上电复位
(POR) 和重新配置期间,MSEL 管脚必须处于 VCCPGM 电压的 VIL 和 VIH 电平,被分别视作
逻辑低电平和逻辑高电平。
1
为了避免检测到一个错误的配置方案,需要硬线连接 MSEL[] 管脚到 VCCPGM 和 GND,而
无需使用上拉或者下拉电阻。请不要通过微处理器或者另一个器件来驱动 MSEL[] 管
脚。
表 10–1. Stratix IV 器件的配置方案
配置方案
MSEL2
MSEL1
MSEL0
快速被动并行
0
0
0
被动串行
0
1
0
0
1
1
0
1
1
快速 AS (40 MHz)
(1)
远程系统升级快速 AS (40 MHz) (1)
带有设计安全功能和 / 或解压缩使能的 FPP (2)
0
0
1
基于 JTAG 的配置 (4)
(3)
(3)
(3)
表 10–1 注释:
(1) Stratix IV 器件仅支持快速 AS 配置。您必须在快速 AS 模式中,使用 EPCS64 或者 EPCS128 器件来配置 Stratix IV 器件。
(2) 当使用一个 MAX II 器件或者一个带有闪存的微处理器进行配置时,这些模式才会被支持。在这些模式下,主机系统必须输出一
个是 4 倍数据速率的 DCLK。
(3) 不要使 MSEL 管脚悬空,将它们连接到 VCCPGM 或 GND。这些管脚支持 用于产品中的非 JTAG 配置方案。如果您仅使用 JTAG 配置,将
MSEL 管脚连接到 GND。
(4) 基于 JTAG 的配置优先于其它的配置方案,意味着 MSEL 管脚设置被忽略。基于 JTAG 的配置不支持设计安全或者解压缩功能。
Stratix IV 器件手册 第 1 卷
Altera 公司 2011 年 12 月
第 10 章 : Stratix IV 器件中的配置、 设计安全和远程系统更新
配置方案
10–3
表 10–2 列出了 Stratix IV 器件的未压缩的原始二进制文件 (.rbf) 配置文件大小。
表 10–2. Stratix IV 器件的未压缩的原始二进制文件 (.rbf) 大小
器件
数据大小 ( 位 )
EP4SE230
94,557,472
EP4SE360
128,395,584
EP4SE530
171,722,064
EP4SE820
241,684,472
EP4SGX70
47,833,352
EP4SGX110
47,833,352
EP4SGX180
94,557,472
EP4SGX230
94,557,472
EP4SGX290
EP4SGX360
128,395,584
171,722,064 (1)
128,395,584
171,722,064 (1)
EP4SGX530
171,722,064
EP4S40G2
94,557,472
EP4S40G5
171,722,064
EP4S100G2
94,557,472
EP4S100G3
171,722,064
EP4S100G4
171,722,064
EP4S100G5
171,722,064
表 10–2 注释:
(1) 这个仅应用于 F45 封装。
使用表 10–2 中数据,在设计编译之前估计文件的容量。不同的配置文件格式; 例
如,十六进制 (.hex) 或者表格的文本文件 (.ttf) 格式,有不同的文件大小。参考
Quartus® II 软件的不同类型的配置文件和文件大小。然而,对于任何特定版本的
Quartus II 软件,任何针对相同器件的设计都有相同的解压缩配置文件大小。如果您
正在使用压缩,每次编译后的文件大小都有所不同,因为压缩比率取决于设计。
f 要了解关于设置器件配置选项或创建配置文件更多信息,请参考配置手册第二卷的
Device Configuration Options 和 Configuration File Formats 章节。
Altera 公司 2011 年 12 月
Stratix IV 器件手册 第 1 卷
第 10 章 : Stratix IV 器件中的配置、 设计安全和远程系统更新
配置功能
10–4
配置功能
Stratix IV 器件提供设计安全、解压缩和远程系统更新功能。使用配置比特流加密的
设计安全存在于 Stratix IV 器件中,可以保护的设计。Stratix IV 器件可以收到一个
压缩的配置比特流并实时解压缩该数据,使存储要求和配置时间降低。通过使用远程
系统更新功能,从一个远程位置,Stratix IV 的设计可以做实时系统升级。
表 10–3 列出了在每个配置方案中,您可以使用的配置功能。
表 10–3. Stratix IV 器件的配置功能
配置方案
配置方法
Y
Y
Y
MAX II 器件或者闪存微处理器
Y
Y
—
下载电缆
Y
Y
—
MAX II 器件或者闪存微处理器
—
—
—
下载电缆
—
—
—
Fast AS
串行配置器件
JTAG
远程系统升
级
Y
MAX II 器件或者一个闪存微处理器
Y
(1)
设计安全
(1)
FPP
PS
解压缩
Y
表 10–3 注释:
(1) 在这些模式下,主机系统必须发送一个 x4 数据速率的 DCLK。
您也可以参考以下几项:
■
要了解关于配置数据解压缩功能的更多信息,请参考第 10–45 页 “ 配置数据解压缩
”。
■
要了解关于远程系统升级功能的更多信息,请参考第10–47页“远程系统更新”。
■
要了解关于设计安全功能的更多信息,请参考第 10–58 页 “ 设计安全 ”。
如果您的系统已经包含公共闪存接口 (CFI) 闪存,也可以将它用于 Stratix IV 器件配
置存储器。MAX II 器件的 MAX II 并行闪存加载 (PFL) 功能提供了一种有效的方法通过
JTAG 接口对 CFI 闪存器件进行编程,并且提供逻辑来控制从闪存器件到 Stratix IV 器
件的配置。通过使用 PFL 功能,支持 PS 以及 FPP 配置模式。
f 要了解关于 PFL 的更多信息 , 请参考 Parallel Flash Loader Megafunction User
Guide。
要了解关于编程 Altera 串行配置器件的更多信息,请参考第 10–22 页 “ 编程串行配
置器件 ”。
Stratix IV 器件手册 第 1 卷
Altera 公司 2011 年 12 月
第 10 章 : Stratix IV 器件中的配置、 设计安全和远程系统更新
配置功能
10–5
上电复位电路
POR 电路保持整个系统在复位状态,直到电源电平在上电时已经稳定。上电之后,器件
不释放 nSTATUS,直到 VCC、 VCCAUX、 VCCPT、 VCCPGM 和 VCCPD 在器件的 POR 跳变点以上。
断电期间,当 VCC、VCCAUX、VCCPT、VCCPGM 或 VCCPD 下降到阀值电压以下时掉电。
在 Stratix IV 器件中,提供了一个 pin- selectable 选项 (PORSEL),使您可以在标准
POR 时间或者快速 POR 时间之间进行选择。当 PORSEL 被驱动为低电平时,标准的 POR
时间是 100 ms < TPOR < 300 ms,并且有一个较低的功耗渐变率。当 PORSEL 被驱动为
高电平时,快速 POR 时间是 4 ms < TPOR < 12 ms。
VCCPGM 管脚
Stratix IV 器件有一个电源, VCCPGM, 用于所有的专用配置管脚和双重功能管脚。所支
持的配置电压是 1.8、 2.5 和 3.0 V。Stratix IV 器件不支持 1.5 V 配置。
使用 VCCPGM 管脚为用于配置的所有专用配置输入、专用配置输出、专用配置双向管脚,
和一些双重功能管脚供电。使用 VCCPGM 时,配置输入缓冲器不必与 Stratix IV 器件中
普通 I/O 缓冲器共享电源线。
在配置期间,配置输入管脚的操作电压与 I/O bank 电源 VCCIO 无关。因此,
Stratix IV 器件不需要 VCCIO 上的配置电压约束。
VCCPD 管脚
Stratix IV 器件有一个专用的编程电源,VCCPD, 它必须连接到 3.0 V/2.5 V 上为 I/O
预驱动器和 JTAG I/O 管脚 (TCK、TMS、TDI、TDO 和 TRST) 供电。
1
当 PORSEL 为低电平时,VCCPGM 和 VCCPD 必须在 100 ms 之内从 0 V 斜升到的所需的电平,或
者当 PORSEL 为高电平时,在 4 ms 之内斜升到的所需的电平。如果这些电源在这个特
定的时间内,没有达到,那么 Stratix IV 器件不会成功配置。如果电源不能在 100 ms
或者 4 ms 之内达到要求 , 那么必须保持 nCONFIG 为低电平直到所有的电源稳定。
1
VCCPD 必须大于或者等于相同 bank 的 VCCIO。如果 bank 的 VCCIO 被设置为 3.0 V,那么 VCCPD
必须被上电到 3.0 V。如果 bank 的 VCCIO 被上电到 2.5 V 或者更低,那么 VCCPD 必须被
上电到 2.5 V。
要了解关于配置管脚电源的更多信息,请参考第 10–39 页 “ 器件配置管脚 ”。
Altera 公司 2011 年 12 月
Stratix IV 器件手册 第 1 卷
第 10 章 : Stratix IV 器件中的配置、 设计安全和远程系统更新
快速被动并行配置
10–6
快速被动并行配置
设计 Stratix IV 器件的快速被动并行配置的目的是满足对于更快配置时间的不断增加
的需求。Stratix IV 器件和每时钟周期接收字宽的配置数据的能力一起设计。
通过使用一个智能主机,您可以执行 Stratix IV 器件的 FPP 配置,例如一个 MAX II
器件或者一个微处理器。
使用一个 MAX II 器件作为一个外部主机的 FPP 配置
使用压缩和外部主机的 FPP 配置对于配置 Stratix IV 器件提供了最快的方法。在该配
置方案中,可以使用一个 MAX II 器件作为智能主机,以便控制来自储存器件,例如闪
存的配置数据到目标 Stratix IV 器件的传输。您可以用 .rbf、.hex 或者 .ttf 的格式
储存配置数据。当使用 MAX II 器件作为加载控制器时,一个控制配置过程的设计,例
如从闪存中获取数据并且把它发送到器件,必须存储在 MAX II 器件中。
1
如果您正在使用 Stratix IV 解压缩和 / 或设计安全功能,外部主机必须能够发送一个为
x4 数据速率的 DCLK 频率。
x4 DCLK 信号不需要一个额外的管脚,而直接是 DCLK 管脚。最大的 DCLK 频率是
125 MHz,导致了一个最大值为 250 Mbps 的数据速率。如果您没有使用 Stratix IV 解
压缩或者设计安全功能,那么数据速率是 8 倍的 DCLK 频率。
图 10–1 显示了单一器件配置在 Stratix IV 器件和 MAX II 器件之间的配置接口连
接。
图 10–1. 使用外部主机的单一器件 FPP 配置
Memory
ADDR DATA[7..0]
VCCPGM (1) VCCPGM (1)
10 kΩ
10 kΩ
Stratix IV Device
MSEL[2..0]
CONF_DONE
GND
nSTATUS
External Host
(MAX II Device or
Microprocessor)
nCE
GND
nCEO
N.C.
DATA[7..0]
nCONFIG
DCLK
图 10–1 注释:
(1) 对于 Stratix IV 器件,将电阻器连接到提供一个可接收的输入信号的电源上。VCCPGM 必须足够的高以满足
器件和外部主机上的 VIH 规范的 I/O。 Altera 建议使用 VCCPGM 为所有的配置系统 I/O 上电。
Stratix IV 器件手册 第 1 卷
Altera 公司 2011 年 12 月
第 10 章 : Stratix IV 器件中的配置、 设计安全和远程系统更新
快速被动并行配置
10–7
上电之后,Stratix IV 器件遍历 POR。POR 延迟取决于 PORSEL 管脚设置。当 PORSEL 被
驱动为低电平时,标准的 POR 时间是 100 ms < TPOR < 300 ms。当 PORSEL 被驱动为高
电平时,快速 POR 时间是 4 ms < TPOR < 12 ms。在 POR 期间,器件复位,保持
nSTATUS 为低电平,以及三态所有的用户 I/O 管脚。在器件成功的退出 POR 之后,所有
的用户 I/O 管脚继续处于三态状态。在上电和配置期间,如果 nIO_pullup 被驱动为低
电平,那么用户 I/O 管脚和双用 I/O 管脚有弱上拉电阻,这些弱上拉电阻在配置之前
和期间是打开的 ( 在 POR 之后 )。如果 nIO_pullup 被驱动为高电平,那么弱上拉电阻
被禁用。
配置过程包含三个阶段:复位、配置和初始化。当 nCONFIG 或者 nSTATUS 是低电平时,
器件处于复位阶段。要初始化配置,MAX II 器件必须从低电平到高电平驱动 nCONFIG
管脚。
1
要开始配置过程,您必须完全的为配置管脚所在的 bank 上的 VCCPT、 VCC、 VCCPD 和 VCCPGM
供电到适当的电压。
当 nCONFIG 上升为高电平时,器件从复位状态释放,并且释放开漏 nSTATUS 管脚,然
后该管脚由一个外部的 10- kΩ 上拉电阻拉高。当 nSTATUS 被释放之后,器件准备接收
配置数据,配置阶段开始。当 nSTATUS 被拉高时,MAX II 器件一次一位的将配置数据
放置在 DATA[7..0] 管脚上。
1
Stratix IV 器件在 DATA[7..0] 管脚上接收配置数据,时钟在 DCLK 管脚上被接收。数据
被锁存在器件的 DCLK 上升沿。如果您正在使用 Stratix IV 解压缩和 / 或设计安全功
能,那么配置数据被锁存在每第四个 DCLK 周期的上升沿上。在配置数据被锁存进之
后,在以下的三个 DCLK 周期期间,它被处理。因此,在最后数据锁存进 Stratix IV
器件之后,您才可以在三个时钟周期之后停止 DCLK 。
数据不断被锁定到目标器件,直到 CONF_DONE 上升为高电平。CONF_DONE 管脚在 FPP 模
式中提早变高一个字节。FPP 模式需要最后的字节。在器件成功的收到配置数据的倒数
第二个字节之后,它释放开漏 CONF_DONE 管脚, 此管脚被一个外部的 10- kΩ 上拉电阻
拉高。一个在 CONF_DONE 由低到高的跳变表示配置完成,器件的初始化可以开始。
CONF_DONE 管脚必须有一个外部 10- kΩ 上拉电阻来使器件初始化。
在 Stratix IV 器件中,初始化时钟源是内部的振荡器或者是可选择的 CLKUSR 管脚。
默认情况下,内部的振荡器是进行初始化的时钟源。如果您使用内部的振荡器,那么
为了进行恰当的初始化,Stratix IV 器件为本身提供足够的时钟周期。 因此,如果内
部的振荡器是初始化时钟源,那么发送整个的配置文件到器件就足够配置和初始化器
件。在配置完成后,将 DCLK 驱动到器件,不影响器件操作。
通过使用 CLKUSR 选项,您也可以对多个器件进行同步初始化或延迟初始化。在
Quartus II 软件中,您可以从 Device and Pin Options 对话框的 General 标签中,打
开 Enable user- supplied start-up clock (CLKUSR) 选项。 在 CLKUSR 上提供一个时
钟不影响配置过程。CONF_DONE 管脚在 FPP 模式中提早变高一个字节。FPP 模式需要最
后一个字节。CONF_DONE 管脚跳变为高电平并且时间被指定为 tCD2CU 之后,CLKUSR 被
使能。经过这段时间后,Stratix IV 器件需要 8,532 个时钟周期以正确进行初始化和
进入用户模式。Stratix IV 器件支持一个 125 MHz 的 CLKUSR fMAX。
Altera 公司 2011 年 12 月
Stratix IV 器件手册 第 1 卷
第 10 章 : Stratix IV 器件中的配置、 设计安全和远程系统更新
快速被动并行配置
10–8
一个可选的 INIT_DONE 管脚是可用的,一个由低到高的跳变表明了初始化的结束和用
户模式的开始。在 Quartus II 软件里的 Device and Pin Options 对话框的 General
标签中,该 Enable INIT_DONE Output 选项是可用的。如果您使用 INIT_DONE 管脚,
当 nCONFIG 是低电平时,以及在配置开始期间,一个外部 10- kΩ 上拉电阻使它变为高
电平。在选项位使能 INIT_DONE 被编程进器件之后,( 在配置数据的第一个帧期间
),INIT_DONE 管脚变为低电平。当初始化完成的时候,INIT_DONE 管脚被释放和拉高。
MAX II 器件必须能够检测这个由低到高的跳变,其标志着器件已经进入用户模式。当
初始化完成的时候,器件进入用户模式。在用户模式下,用户 I/O 管脚不再有弱上拉
电阻和功能分配在您的设计中。
1
对于 FPP 中的未压缩的和压缩的比特流,在 CONF_DONE 变为高电平之后,需要两个 DCLK
下降沿开始器件的初始化。
要确保 DCLK 和 DATA[7..0] 在配置结束时没有被悬空,MAX II 器件必须驱动它们为高
电平或低电平,只要适合您的板级。在配置完成后,DATA[7..0] 管脚可作为用户 I/O
管脚。当您在 Quartus II 软件中选择 FPP 为默认方案时,这些 I/O 管脚在用户模式时
处于三态。要在 Quartus II 软件中改变该默认选项,请选择 Device and Pin Options
对话框中的 Dual- Purpose Pins 标签。
配置时钟 (DCLK) 速度必须在指定的频率之下,以确保正确的配置。无上限 DCLK 周期
的存在,意味着您可以通过中止 DCLK 的不定时间量来暂停配置。
Stratix IV 器件手册 第 1 卷
Altera 公司 2011 年 12 月
第 10 章 : Stratix IV 器件中的配置、 设计安全和远程系统更新
快速被动并行配置
1
10–9
如果您需要停止 DCLK, 只有在以下情况下可以被停止:
■
当您使用解压缩和 / 或设计安全功能时,最后的数据字节被锁存进 Stratix IV 器件
后的三个时钟周期。
■
当您不使用 Stratix IV 解压缩和 / 或设计安全功能时,最后的数据字节被锁存进
Stratix IV 器件后的两个时钟周期。
通过停止 DCLK,配置电路支持充足的时钟周期来处理被锁存的配置数据的最后字节。
当时钟重新启动时,MAX II 器件必须在发送第一个 DCLK 上升沿之前提供 DATA[7..0]
管脚上的数据。
如果在配置期间发生错误,那么器件驱动本身的 nSTATUS 管脚为低电平,从内部自行
复位。nSTATUS 管脚上的低信号也会提醒器件有一处错误。如果 Auto- restart
configuration after error 选项 ( 存在于 Quartus II 软件里的 Device and Pin
Options 对话框的 General 标签 ) 被打开,那么器件会在复位超时后 ( 最大值为
500 μs) 释放 nSTATUS。在 nSTATUS 被释放和被上拉电阻拉高后,MAX II 器件可以试着
重新配置目标器件而无需脉冲 nCONFIG 为低电平。如果该选项被关闭,那么 MAX II 器
件必须在 nCONFIG 上生成一个从低到高的跳变 ( 有至少 2 μs 的低脉冲 ),以便重新开
始配置过程。
1
如果您已经使能了 Auto-restart configuration after error 选项,那么当一个配置
错误被检测到时,nSTATUS 管脚进行从高到低,然后又回到高的跳变。这个作为一个低
脉冲在 nSTATUS 管脚出现,具有最低的脉冲宽度 10 μs 到最高的脉冲宽度 500 μs, 正
如 tSTATUS 规范所定义的。
MAX II 器件也可以监控 CONF_DONE 和 INIT_DONE 管脚,以便确保成功的配置。MAX II
器件必须监控 CONF_DONE 管脚来检测错误,并判断什么时候配置结束。如果所有的配
置数据被发送,但是 CONF_DONE 或 INIT_DONE 信号没有变高,那么 MAX II 器件须重配
置目标器件。
1
如果在器件初始化期间,您通过使用可选的 CLKUSR 管脚和拉低 nCONFIG 以重新启动配
置,那么在 nSTATUS 为低电平时 ( 最多为 500 μs),确保 CLKUSR 继续触发。
当器件处于用户模式时,通过 nCONFIG 管脚由低到高的跳变,初始化重配置被完成。
nCONFIG 管脚必须处于至少 2 μs 的低电平。 当 nCONFIG 被拉低时,器件也将 nSTATUS
和 CONF_DONE 拉低,并且所有的 I/O 管脚被三态。nCONFIG 回到逻辑高电平和 nSTATUS
被器件释放之后,重配置开始。
Altera 公司 2011 年 12 月
Stratix IV 器件手册 第 1 卷
第 10 章 : Stratix IV 器件中的配置、 设计安全和远程系统更新
快速被动并行配置
10–10
图 10–2 显示怎样通过使用一个 MAX II 器件配置多个 Stratix IV。这个电路与单一
器件的 FPP 配置电路相似,除了器件在多个器件配置中级联。
图 10–2. 使用外部主机的多器件 FPP 配置
Memory
ADDR DATA[7..0]
VCCPGM (1) VCCPGM (1)
10 kΩ
10 kΩ
Stratix IV Device 2
Stratix IV Device 1
MSEL[2..0]
MSEL[2..0]
CONF_DONE
CONF_DONE
GND
nSTATUS
nCE
External Host
(MAX II Device or
Microprocessor)
nCEO
GND
nSTATUS
nCEO
nCE
N.C.
GND
DATA[7..0]
DATA[7..0]
nCONFIG
nCONFIG
DCLK
DCLK
图 10–2 注释:
(1) 对于链中的所有 Stratix IV 器件,将上拉电阻器连接到提供一个可接受输入信号的电源上。VCCPGM 必须有足够的高电平来满足在器件
和外部主机上的 I/O 标准的 VIH 规范。 Altera 建议使用 VCCPGM 为所有的配置系统 I/O 上电。 .
在一个多器件 FPP 配置中,第一个器件的 nCE 管脚被连接到 GND 上,而它的 nCEO 管脚
被连接到链中的下一个器件的 nCE 上。最后器件的 nCE 输入来自前一个器件,而它的
nCEO 管脚被悬空。在多器件配置链中完成第一个器件配置后,其 nCEO 管脚驱动至低电
平以激活第二个器件的 nCE 管脚,提示第二个器件开始进行配置。链中的第二个器件
开始在一个时钟周期内的配置;因此,对于 MAX II 器件,传输的数据目的地是透明
的。所有其它的配置管脚 (nCONFIG、nSTATUS、DCLK、DATA[7..0] 和 CONF_DONE) 被连
接到链中的每个器件上。配置信号可能需要缓冲,以确保信号完整性和防止时钟偏移
问题。确保 DCLK 和 DATA 线在每 4 个器件的节点处添加缓冲器。因为所有的器件
CONF_DONE 管脚被连接在一起,所以所有的器件在同时初始化和进入用户模式。
所有的 nSTATUS 和 CONF_DONE 管脚被连接在一起;如果任何的器件检测到一个错误,
那么整条链上的配置停止,您必须重新配置整条链。例如,如果第一个器件在
nSTATUS 上标记一个错误,它将通过拉低 nSTATUS 管脚,重设整条链。该行为和一个单
器件检测错误相似。
如果 Auto-restart configuration after error 选项被打开,那么在复位超时后 ( 最
多 500 μs),器件释放它们的 nSTATUS 管脚。在所有的 nSTATUS 管脚被释放和拉高后,
MAX II 器件试着重新配置链而无需脉冲 nCONFIG 为低电平。如果该选项被关闭,MAX
II 器件必须在 nCONFIG 上生成一个由低到高的跳变 ( 有一个至少 2 μs 的低脉冲 ),以
便重新启动配置过程。
Stratix IV 器件手册 第 1 卷
Altera 公司 2011 年 12 月
第 10 章 : Stratix IV 器件中的配置、 设计安全和远程系统更新
快速被动并行配置
1
10–11
如果您已经使能了 Auto-restart configuration after error 选项,那么当一个配置
错误被检测到时,nSTATUS 管脚进行从高到低,再回到高的跳变。这个作为一个低脉冲
出现在 nSTATUS 管脚,具有最低的脉冲宽度 10 μs 到最高的脉冲宽度 500 μs,正如
tSTATUS 规范所定义的。
在一个多器件 FPP 配置链中,链中的所有 Stratix IV 器件必须使能或者禁用解压缩和
/ 或设计安全功能。由于 DATA 和 DCLK 之间的关系,您不能在链中为每个器件选择性的
使能解压缩和 / 或设计安全功能。如果链包含不支持设计安全的器件,那么建议使用
串行配置方案。
如果一个系统有包含相同配置数据的多个器件,那么将所有的器件 nCE 输入连接到 GND
上,并且悬空 nCEO 管脚。所有的其它配置管脚 (nCONFIG、nSTATUS、DCLK、
DATA[7..0] 和 CONF_DONE) 被连接到链中的每个器件上。配置信号可能需要缓冲来确保
信号完整性和防止时钟偏移问题。确保 DCLK 和 DATA 线在每四个器件的节点处添加缓
冲器。器件必须具有相同的密度和封装。所有的器件在同时开始和完成配置。
图 10–3 显示了当两个 Stratix IV 器件均接收相同的配置数据时的多器件 FPP 配置。
图 10–3. 当两个器件接收相同的数据时,使用一个外部主机的多器件 FPP 配置
Memory
VCCPGM (1) VCCPGM (1)
ADDR DATA[7..0]
10 kΩ
Stratix IV Device
10 kΩ
Stratix IV Device
MSEL[2..0]
MSEL[2..0]
GND
CONF_DONE
nSTATUS
nCE
External Host
(MAX II Device or
Microprocessor)
nCEO
nSTATUS
nCE
N.C. (2)
GND
GND
CONF_DONE
nCEO
N.C. (2)
GND
DATA[7..0]
DATA[7..0]
nCONFIG
nCONFIG
DCLK
DCLK
图 10–3 注释:
(1) 对于链中的所有 Stratix IV 器件,将电阻器连接到提供一个可接受的输入信号的电源上。 VCCPGM 必须有足够的高电平来满足在器件
和外部主机上的 I/O 的 VIH 规范。 Altera 建议使用 VCCPGM 为所有的配置系统 I/O 上电。
(2) 当配置相同的配置数据到多个器件时,两个 Stratix IV 器件的 nCEO 管脚均被悬空。
您可以使用一个单一配置链,对 Stratix IV 器件与其它支持 FPP 配置的 Altera 器件
进行配置,例如其它类型的 Stratix 器件。要确保链上的所有器件同时完成配置,或
者一个器件上标记的错误开始对所有的器件进行重配置,将所有的器件的 CONF_DONE
和 nSTATUS 管脚连接到一起。
f 要了解在相同的配置链中配置多个 Altera 器件的更多信息,请参考配置手册第二卷的
Configuring Mixed Altera FPGA Chains。
Altera 公司 2011 年 12 月
Stratix IV 器件手册 第 1 卷
第 10 章 : Stratix IV 器件中的配置、 设计安全和远程系统更新
快速被动并行配置
10–12
FPP 配置时序
图 10–4 显示了当使用一个 MAX II 器件作为外部主机时的 FPP 配置的时序波形。该波
形显示了当您没有使能解压缩和设计安全功能时的时序。
图 10–4. FPP 配置时序波形 (1)
tCF2ST1
tCFG
tCF2CK
nCONFIG
nSTATUS (3)
tSTATUS
tCF2ST0
t
CLK
CONF_DONE (4)
tCF2CD
tST2CK
tCH tCL
(5)
DCLK
tDH
DATA[7..0]
(6)
Byte 0 Byte 1 Byte 2 Byte 3
Byte n-2 Byte n-1
User Mode
Byte n
tDSU
User I/O
High-Z
User Mode
INIT_DONE
tCD2UM
图 10–4 注释:
(1) 当您还没有使能解压缩和设计安全功能时,使用该时序波形。
(2) 该波形的开始显示了在用户模式的器件。在用户模式下, nCONFIG、 nSTATUS 和 CONF_DONE 处于逻辑高电平。 当 nCONFIG 被
拉低时,一个重新配置周期开始。
(3) 在上电之后,在 POR 延迟期间, Stratix IV 器件保持 nSTATUS 为低电平。
(4) 在上电之后,在配置之前和期间, CONF_DONE 是低电平。
(5) 在配置之后,不要使 DCLK 悬空。您可以驱动它为高电平或低电平,取其方便而用。
(6) 在配置之后,除了 Stratix IV GT 器件上的一些异常以外, DATA[7..0] 可以用作用户 I/O 管脚。这些管脚的状态取决于双用管脚设
置。
表 10–4 列出了没有使能解压缩和设计安全功能时, Stratix IV 器件的 FPP 配置的时
序参数。
表 10–4. Stratix IV 器件的 FPP 时序参数
(1/2)
(1)
最小值
符号
参数
Stratix
IV (7)
Stratix
IV (8)
最大值
Stratix
IV (9)
Stratix
IV (7)
Stratix
IV (8)
Stratix
IV (9)
单位
tCF2CD
nCONFIG 低电平到
CONF_DONE 低电平
—
800
ns
tCF2ST0
nCONFIG 低电平到
nSTATUS 低电平
—
800
ns
tCFG
nCONFIG 低脉冲宽度
2
—
μs
tSTATUS
nSTATUS 低脉冲宽度
10
500
(3)
μs
tCF2ST1
nCONFIG 高电平到
nSTATUS 高电平
—
500
(4)
μs
tCF2CK
nCONFIG 高电平到 DCLK
的第一个上升沿
500
Stratix IV 器件手册 第 1 卷
—
μs
Altera 公司 2011 年 12 月
第 10 章 : Stratix IV 器件中的配置、 设计安全和远程系统更新
快速被动并行配置
表 10–4. Stratix IV 器件的 FPP 时序参数
(2/2)
10–13
(1)
最小值
符号
参数
Stratix
IV (7)
Stratix
IV (8)
最大值
Stratix
IV (9)
Stratix
IV (7)
Stratix
IV (8)
Stratix
IV (9)
单位
tST2CK
nSTATUS 高电平到 DCLK
的第一个上升沿
2
—
μs
tDSU
DCLK 的上升沿之前的数
据建立时间
4
—
ns
tDH
DCLK 的上升沿后的数据
保持时间
1
—
ns
TR
输入上升时间
—
40
ns
t
输入下降时间
—
40
ns
tCD2UM
CONF_DONE 高电平到用户
模式 (5)
55
150
μs
tCD2CU
CONF_DONE 高电平到
CLKUSR 使能
—
—
tCD2UMC
CONF_DONE 高电平到用户
模式,打开 CLKUSR 选项
—
—
tCH
DCLK 高时间 (6)
3.6
4.5
5.6
—
ns
tCL
DCLK 低时间 (6)
3.6
4.5
5.6
—
ns
tCLK
DCLK 周期 (6)
8
10
12.5
—
ns
fMAX
DCLK 频率
4 x 最大
DCLK 周期
tCD2CU + (8532xCLKUSR 周期 )
—
125
100
80
MHz
表 10–4 注释:
(1) 这些是初始信息。
(2) 当您没有使能解压缩和设计安全功能时,使用这些时序参数。
(3) 如果您不延迟配置,通过延长 nCONFIG 或者 nSTATUS 低脉冲宽度,可以得到这个值。
(4) 如果不通过从内部保持 nSTATUS 为低电平来延迟配置,这个值是可用的。
(5) 最低和最高的数量,仅在选择内部振荡器作为启动器件的时钟源时适用。
(6) 相加 tCH 和 tCL ,使结果等同于 tCLK 。当 EP4SE230 tCH 是 3.6 ns (min) 时, tCL 必须是 4.4 ns,反之亦然。
(7) 应用于 EP4SE230、EP4SE360、EP4SGX70,、EP4SGX110,、EP4SGX180、EP4SGX230、EP4SGX290 ( 除了 F45 封装 )、EP4SGX360 ( 除
了 F45 封装 )、 EP4S40G2,EP4S100G2 器件。
(8) 应用于 EP4SE530、 EP4SGX290 ( 只对于 F45 封装 )、 EP4SGX360 ( 只对于 F45 封装 )、 EP4SGX530、 EP4S40G5、 EP4S100G3、
EP4S100G4, EP4S100G5 器件。
(9) 只适用于 EP4SE820。
Altera 公司 2011 年 12 月
Stratix IV 器件手册 第 1 卷
第 10 章 : Stratix IV 器件中的配置、 设计安全和远程系统更新
快速被动并行配置
10–14
图 10–5 显示了当使用 MAX II 器件作为外部主机时的 FPP 配置的时序波形。该波形显
示当您使能了解压缩和 / 或设计安全功能时的时序。
图 10–5. 解压缩或设计安全功能使能时的 FPP 配置时序波形
(1)
tCF2ST1
tCFG
tCF2CK
nCONFIG
nSTATUS (3)
CONF_DONE (4)
tSTATUS
tCF2ST0
tCF2CD
tCL
tST2CK
DCLK
tCH
1
2
3
4
1
2
3
(7)
4
1
3
(5)
4
tCLK
DATA[7..0]
tDSU
Byte 0
Byte 1
tDH
tDH
Byte 2
Byte (n-1)
Byte n
User Mode
User Mode
High-Z
User I/O
(6)
INIT_DONE
tCD2UM
图 10–5 注释:
(1) 当使能了解压缩和 / 或设计安全功能时,使用该时序波形。
(2) 该波形的开始显示了用户模式时的器件。在用户模式下, nCONFIG、 nSTATUS 和 CONF_DONE 处于逻辑高电平。 当 nCONFIG 被
拉低时,一个重新配置周期开始。
(3) 上电之后, Stratix IV 器件在 POR 延迟时,保持 nSTATUS 为低电平。
(4) 上电之后,在配置之前和期间, CONF_DONE 是低电平。
(5) 配置之后,不要悬空 DCLK。您可以驱动它为高电平或低电平,取其方便而用。
(6) 配置之后, DATA[7..0] 可用于用户 I/O 管脚,除了在 Stratix IV GT 器件上的一些异常。这些管脚的状态取决于双用管脚设置。
(7) 如果需要,您可以通过保持 DCLK 为低电平而暂停它。当 DCLK 重启时,外部主机必须在发送第一个 DCLK 上升沿之前提供
DATA[7..0] 管脚上的数据。
表 10–5 列出了使能解压缩和 / 或设计安全功能时的 Stratix IV 器件的 FPP 配置的时
序参数。
表 10–5. 解压缩和 / 或设计安全功能使能时的 Stratix IV 器件的 FPP 时序参数
最小值
符号
参数
Stratix
IV (7)
Stratix
IV (8)
(1)
最大值
Stratix
IV (9)
Stratix
IV (7)
Stratix
IV (8)
Stratix
IV (9)
单位
tCF2CD
nCONFIG 低电平到
CONF_DONE 低电平
—
800
ns
tCF2ST0
nCONFIG 低电平到 nSTATUS
低电平
—
800
ns
tCFG
nCONFIG 低脉冲宽度
2
—
μs
tSTATUS
nSTATUS 低脉冲宽度
10
500 (3)
μs
tCF2ST1
nCONFIG 高电平到 nSTATUS
高电平
—
500 (4)
μs
tCF2CK
nCONFIG 高电平到 DCLK 的
第一个上升沿
500
—
μs
tST2CK
nSTATUS 高电平到 DCLK 的
第一个上升沿
2
—
μs
Stratix IV 器件手册 第 1 卷
Altera 公司 2011 年 12 月
第 10 章 : Stratix IV 器件中的配置、 设计安全和远程系统更新
快速被动并行配置
10–15
表 10–5. 解压缩和 / 或设计安全功能使能时的 Stratix IV 器件的 FPP 时序参数
最小值
符号
参数
Stratix
IV (7)
Stratix
IV (8)
(1)
最大值
Stratix
IV (9)
Stratix
IV (7)
Stratix
IV (8)
Stratix
IV (9)
单位
tDSU
DCLK 的上升沿之前的数据
建立时间
4
—
ns
tDH
DCLK 的上升沿之后的数据
保持时间
3/(DCLK 频率 ) + 1
—
s
tDATA
数据速率
—
250
Mbps
tR
输入上升时间
—
40
ns
t
输入下降时间
—
40
ns
tCD2UM
CONF_DONE 高电平到用户模
式 (5)
55
150
μs
tCD2CU
CONF_DONE 高电平到
CLKUSR 使能
—
—
tCD2UMC
CONF_DONE 高电平到用户模
式,打开 CLKUSR 选项 (5)
—
—
tCH
DCLK 高时间 (6)
3.6
4.5
5.6
—
ns
tCL
DCLK 低时间 (6)
3.6
4.5
5.6
—
ns
tCLK
DCLK 周期 (6)
8
10
12.5
—
ns
fMAX
DCLK 频率
4 x 最小
DCLK 周期
tCD2CU + (8532 x CLKUSR 周期 )
—
125
100
80
MHz
表 10–5 注释:
(1) 这些是初始信息。
(2) 当使用解压缩和 / 或设计安全功能时,使用这些时序参数。
(3) 如果不通过延长 nCONFIG 或 nSTATUS 的低脉冲宽度延迟配置,那么您可以得到该值。
(4) 如果不通过从内部保持 nSTATUS 为低电平而延迟配置,那么该值是可用的。
(5) 最低和最高的数量,仅在您选择内部振荡器作为启动器件的时钟源时适用。
(6) 将 tCH 和 tCL 相加,使结果等于 tCLK 。当 EP4SE230 tCH 是 3.6 ns 时 (min),tCL 必须是 4.4 ns,反之亦然。
(7) 应用于 EP4SE230、 EP4SE360、 EP4SGX70、 EP4SGX110、 EP4SGX180、 EP4SGX230、 EP4SGX290 ( 除了 F45 封装 )、 EP4SGX360 ( 除
了 F45 封装 )、 EP4S40G2, EP4S100G2 器件。
(8) 应用 EP4SE530、 EP4SGX290 ( 只有对于 F45 封装 )、 EP4SGX360 ( 只有对于 F45 封装 )、 EP4SGX530、 EP4S40G5、 EP4S100G3、
EP4S100G4, EP4S100G5 器件。
(9) 仅适用于 EP4SE820。
f 要了解关于器件配置选项和怎样创建配置文件的更多信息,请参考配置手册第二卷的
Device Configuration Options 和 Configuration File Formats 章节。
Altera 公司 2011 年 12 月
Stratix IV 器件手册 第 1 卷
第 10 章 : Stratix IV 器件中的配置、 设计安全和远程系统更新
快速主动串行配置 ( 串行配置器件 )
10–16
使用一个微处理器的 FPP 配置
在该配置方案中,一个微处理器可以控制配置数据从一个存储器件,例如闪存,到目
标 Stratix IV 器件的传输。
当使用一个微处理器作为外部主机时,在第 10–6 页 “ 使用一个 MAX II 器件作为一
个外部主机的 FPP 配置 ” 中的所有信息也是可用的。要了解关于所有的配置和时序的
详细信息,请参考该部分。
快速主动串行配置 ( 串行配置器件 )
在快速 AS 配置方案中,Stratix IV 器件使用一个串行配置器件。这些配置器件是低成
本的非易失性储存器,具有简化四管脚接口和小型化的特征。
最大的串行配置器件目前支持 128 MBits 的配置比特流。对于 EP4SE360、EP4SGX290、
EP4S40G5、EP4S100G3 和较大器件,使用 Stratix IV 解压缩功能或者选择一个 FPP 或
者 PS 配置方案。
f 要了解关于串行配置器件的更多信息,请参考配置手册的第二卷的 Serial
Configuration Devices (EPCS1, EPCS4, EPCS16, EPCS64, and EPCS128) Data Sheet
章节。
串行配置器件提供一个串行接口对配置数据进行访问。在器件配置期间,Stratix IV
器件使用串行接口读取配置数据,有必要的话解压缩数据,并且配置它们的 SRAM 单
元。与配置器件控制接口的 PS 配置方案进行对比,由于 Stratix IV 器件控制配置接
口,所以该方案被称为 AS 配置方案。
1
当使用快速 AS 模式配置您的 Stratix IV 器件时,Stratix IV 解压缩和设计安全功能完
全可用。
Stratix IV 器件手册 第 1 卷
Altera 公司 2011 年 12 月
第 10 章 : Stratix IV 器件中的配置、 设计安全和远程系统更新
快速主动串行配置 ( 串行配置器件 )
10–17
串行配置器件有一个四管脚接口 — 串行时钟输入 (DCLK)、 串行数据输出 (DATA)、 AS
数据输入 (ASDI),低有效片选 (nCS)。该四管脚接口与 Stratix IV 器件管脚相连接,
如图 10–6 所示。
图 10–6. 单一器件快速 AS 配置
VCCPGM (1) VCCPGM (1) VCCPGM (1)
10 kΩ
10 kΩ
10 kΩ
Serial Configuration
Device
Stratix IV Device
nSTATUS
CONF_DONE
nCONFIG
nCE
nCEO
GND
VCCPGM
DATA
DATA0
DCLK
DCLK
MSEL2
nCS
nCSO
MSEL1
ASDO
MSEL0
ASDI
(2)
N.C.
GND
图 10–6 注释:
(1) 连接上拉电阻到 3.0-V 的 VCCPGM 上。
(2) Stratix IV 器件使用 ASDO-to-ASDI 路径来控制配置器件。
当您使用主动串行 (AS) 配置模式配置 Stratix IV FPGA 时,可以使用 3.0 V 的电压为
EPCS 串行配置器件供电。这是可行的,因为 EPCS 器件的电源的范围在 2.7 V 和 3.6 V
之间。您不需要一个专用的 3.3 V 电源为 EPCS 器件供电。 Stratix IV 器件上的 EPCS
器件和 VCCPGM 管脚可能共享相同的 3.0 V 电源。
上电后,Stratix IV 器件遍历 POR。POR 延迟取决于 PORSEL 管脚设置。当 PORSEL 被驱
动为低电平时,标准 POR 时间是 100 ms < TPOR < 300 ms。当 PORSEL 被驱动为高电平
时,快速 POR 时间是 4 ms < TPOR < 12 ms。在 POR 期间 , 器件复位,保持 nSTATUS 和
CONF_DONE 为低电平,并且三态所有的用户 I/O 管脚。在器件成功的退出 POR 之后,
所有的用户 I/O 管脚继续处于三态。如果在上电和配置期间,nIO_pullup 被驱动为低
电平,那么用户 I/O 管脚和双用 I/O 管脚将会有弱上拉电阻,它们在配置之前和期间
是打开的状态 ( 在 POR 之后 )。如果 nIO_pullup 被驱动为高电平,那么弱上拉电阻被
禁用。
配置过程包含三个阶段 — 复位、配置和初始化。当 nCONFIG 或 nSTATUS 为低电平时,
器件处于复位状态。在 POR 之后,Stratix IV 器件释放 nSTATUS,然后被外部 10-kΩ
上拉电阻器拉高,并且进入配置模式。
1
要开始配置,请将 VCC、 VCCIO、 VCCPGM 和 VCCPD 的电压 ( 为配置管脚所在的 bank) 上电到适
当的电平。
由 Stratix IV 器件生成的串行时钟 (DCLK) 控制整个配置周期并且为串行接口提供时
序。Stratix IV 器件使用一个内部的振荡器来生成 DCLK。当使用 MSEL[] 管脚时,您
可以选择使用一个 40 MHz 的振荡器。
Altera 公司 2011 年 12 月
Stratix IV 器件手册 第 1 卷
第 10 章 : Stratix IV 器件中的配置、 设计安全和远程系统更新
快速主动串行配置 ( 串行配置器件 )
10–18
在快速 AS 配置方案中,Stratix IV 器件在 DCLK 的下降沿上驱动控制信号。通过驱动
DCLK 的下降沿上的配置数据,串行配置器件对指令做出响应。然后数据被锁存进
Stratix IV 器件的接下来的 DCLK 的下降沿上。
在配置模式下,Stratix IV 器件通过驱动 nCSO 输出管脚为低电平来使能串行配置器
件,此 nCSO 输出管脚连接在配置器件的芯片选择 (nCS) 管脚上。Stratix IV 器件使用
串行时钟 (DCLK) 和串行数据输出 (ASDO) 管脚来发送操作指令和 / 或读取地址信号到
串行配置器件中。配置器件在串行数据输出 (DATA) 管脚上提供数据,并连接到
Stratix IV 器件的 DATA0 输入。
在 Stratix IV 器件收到所有的配置位之后,它释放开漏 CONF_DONE 管脚 , 此管脚被一
个外部 10- kΩ电阻拉高。只有在 CONF_DONE 信号释放了一个逻辑高电平之后,初始化
开始。所有的 AS 配置管脚 (DATA0、DCLK、nCSO 和 ASDO) 有始终处于激活状态的内部
弱上拉电阻。在配置完成后,这些管脚均被设置为输入三态,并由内部弱上拉电阻驱
动至高电平。CONF_DONE 管脚必须有一个外部 10- kΩ 上拉电阻以便使器件进行初始化。
在 Stratix IV 器件中,初始化时钟源是内部振荡器或是可选择的 CLKUSR 管脚。 默认
情况下,内部振荡器为初始化的时钟源。如果您使用内部的振荡器,那么 Stratix IV
器件本身为适当的初始化提供足够的时钟周期。您也可以用 CLKUSR 选项,灵活的对多
个器件进行同步初始化或者延迟初始化。Quartus II 软件中,您可以在 Device and
Pin Options 对话框的 General 标签中打开 Enable user-supplied start-up clock
(CLKUSR) 选项。当您选择 Enable user supplied start-up clock 选项时,CLKUSR 管
脚为初始化时钟源。在 CLKUSR 提供一个时钟,不影响配置的过程。 在所有的配置数据
被接受和 CONF_DONE 变高后,CLKUSR 在 DCLK 的四个时钟周期之后被使能。经过这段时
间后,Stratix IV 器件需要 8,532 个时钟周期以便正确的进行初始化和进入用户模
式。Stratix IV 器件支持一个 125 MHz 的 CLKUSR fMAX。
一个可选的 INIT_DONE 管脚是可用的,一个由低至高的跳变表明了初始化的结束和用
户模式的开始。Enable INIT_DONE Output 选项可在 Quartus II 软件的 Device and
Pin Options 对话框中的 General 标签上选用。如果您使用 INIT_DONE 管脚,那么当
nCONFIG 为低电平并且在配置开始期间,由于一个外部 10- kΩ 上拉电阻,它变为高电
平。在选项位使能 INIT_DONE 被编程到器件后 ( 在第一帧的配置数据期间 ),
INIT_DONE 管脚变为低电平。当初始化完成的时候,INIT_DONE 管脚被释放拉高。该由
低到高的跳变表明器件已经进入用户模式。当初始化完成的时候,器件进入用户模式。
在用户模式下,用户 I/O 管脚不再有弱上拉电阻,并且功能和您设计的一样。
如果在配置期间发生错误,那么 Stratix IV 器件置位 nSTATUS 信号为低电平, 表明了
数据帧错误,并且 CONF_DONE 信号保持低电平。如果 Auto- restart configuration
after error 选项 ( 在 Quartus II 软件的 Device and Pin Options 对话框的 General
标签上 ) 为打开状态,那么 Stratix IV 器件通过脉冲 nCSO 复位配置器件,在复位超
时后释放 nSTATUS( 最多为 500 µs), 并且重试配置。如果该选项被关闭,那么系统必
须监控 nSTATUS 的错误,然后脉冲 nCONFIG 为低电平至少 2 μs 以便重新开始配置。
Stratix IV 器件手册 第 1 卷
Altera 公司 2011 年 12 月
第 10 章 : Stratix IV 器件中的配置、 设计安全和远程系统更新
快速主动串行配置 ( 串行配置器件 )
1
10–19
如果您已经使能了 Auto-restart configuration after error 选项,当检测到配置错
误时,nSTATUS 管脚进行从高到低,再回到高的转变。这个作为一个低脉冲在 nSTATUS
管脚出现,具有一个最低的脉冲宽度 10 μs 到一个最高的脉冲宽度 500 μs, 正如
tSTATUS 规范所定义的。
当 Stratix IV 器件为用户模式时,您必须通过拉低 nCONFIG 管脚来开始重配置。
nCONFIG 管脚必须处于至少 2 μs 的低电平。当 nCONFIG 被拉低时,器件也将 nSTATUS
和 CONF_DONE 拉低,并且所有的 I/O 管脚处于三态。在 nCONFIG 回到了逻辑高电平以
及 Stratix IV 器件释放 nSTATUS 之后,重配置开始。
1
如果您想要控制 EPCS 管脚,那么保持 nCONFIG 管脚低电平并将 nCE 管脚拉高。这导致器
件复位并三态 AS 配置管脚。
AS 模式的时序参数没有被列出,因为 tCF2CD、 tCF2ST0、 tCFG、 tSTATUS、 tCF2ST1 和 tCD2UM
的时序参数与第 10–30 页的表 10–7 中所列的 PS 模式的时序参数相同。
您可以使用一个串行配置器件配置多个 Stratix IV 器件。您可以使用芯片使能 (nCE)
和芯片使能输出 (nCEO) 管脚级联多个 Stratix IV 器件。链中的第一个器件必须使它
的 nCE 管脚连接到 GND 上。您必须连接它的 nCEO 管脚到链中的下一个器件的 nCE 管脚
上。当第一个器件从比特流采集其所有的配置数据后,它驱动 nCEO 管脚至低电平,并
使能链中的下一个器件。您必须使上一个器件的 nCEO 管脚悬空。链中的每个器件的
nCONFIG、 nSTATUS、CONF_DONE、DCLK 和 DATA0 管脚被连接 ( 请参考图 10–7)。
Stratix IV 器件链中的第一个器件是主配置,它控制着整个器件链的配置。您必须连
接其 MSEL 管脚以选择 AS 配置方案。剩余的 Stratix IV 器件是从配置器件。您必须连
接它们的 MSEL 管脚以选择 PS 配置方案。其它支持 PS 配置的 Altera 器件也可以作为
器件链中的部分从配置。
Altera 公司 2011 年 12 月
Stratix IV 器件手册 第 1 卷
第 10 章 : Stratix IV 器件中的配置、 设计安全和远程系统更新
快速主动串行配置 ( 串行配置器件 )
10–20
图 10–7 显示了多器件快速 AS 配置的管脚连接。
图 10–7. 多器件快速 AS 配置
VCCPGM (1) VCCPGM (1) VCCPGM (1)
10 kΩ
10 kΩ
10 kΩ
Serial Configuration
Device
Stratix IV Device Master
Stratix IV Device Slave
nSTATUS
CONF_DONE
nCONFIG
nCE
nCEO
GND
nSTATUS
CONF_DONE
nCONFIG
nCE
nCEO
VCCPGM
DATA
DATA0
DCLK
DCLK
MSEL2
nCS
nCSO
MSEL1
ASDI
ASDO
MSEL0
VCCPGM
DATA0
DCLK
GND
N.C.
MSEL2
MSEL1
MSEL0
GND
Buffers (2)
图 10–7 注释:
(1) 连接上拉电阻器到 3.0-V 的 VCCPGM 电源上。
(2) 为 DATA[0] 和 DCLK,连接 Stratix IV 的主器件和从器件之间的中继缓冲器 。这样阻止潜在的信号完整性和时钟偏斜的问题。
如图 10–7 中所示,所有目标器件上的 nSTATUS 和 CONF_DONE 管脚都与外部上拉电阻
相连接。这些管脚是器件上的开漏双向管脚。当第一个器件置位 nCEO ( 在接收到其所
有的配置数据后 ) 时,它释放其 CONF_DONE 管脚。但是链中接下来的器件保持该共享
CONF_DONE 线低电平直到它们已经收到各自的配置数据。当所有链中的目标器件已经收
到了各自的配置数据并且释放了 CONF_DONE,上拉电阻在该线上驱动高电平,并且所有
的器件同时进入初始化模式。
如果错误在配置期间发生,那么 nSTATUS 线由失败器件驱动为低电平。如果您使能
Auto-restart configuration after error 选项,整条链的重配置在复位超时 ( 最多
500 μs) 后开始。如果您不使能 Auto- restart configuration after error 选项, 那
么外部的系统必须监控 nSTATUS 的错误,然后脉冲 nCONFIG 为低电平以重新开始配置。
如果由系统控制而没有连接到 VCCGPM 上,外部的系统可以脉冲 nCONFIG。
1
如果您已经使能了 Auto-restart configuration after error 选项,那么检测到配置
错误时,nSTATUS 管脚进行从高到低,再回到高的跳变。这个作为一个低脉冲在
nSTATUS 管脚出现,具有最低的脉冲宽度 10 μs 到最高的脉冲宽度 500 μs,正如
tSTATUS 规范所定义的。
Stratix IV 器件手册 第 1 卷
Altera 公司 2011 年 12 月
第 10 章 : Stratix IV 器件中的配置、 设计安全和远程系统更新
快速主动串行配置 ( 串行配置器件 )
1
10–21
虽然可以级联 Stratix IV 器件,但是串行配置器件不能被级联或链接在一起。
如果配置比特流的大小超过串行配置器件的容量,那么您必须选择更大的配置器件和 /
或使能压缩功能。当配置多个器件时,比特流的大小是单个器件配置比特流的总和。
一个系统可能有包含相同配置数据的多个器件。在主动串行链中,您可以通过在串行
配置器件中存储 .sof 文件的一个附件实现这个操作。.sof 文件的相同的附件同时配
置 Stratix IV 器件和所有的剩余的从器件。所有的 Stratix IV 器件必须有相同的密
度和封装。
要用相同的 .sof 文件配置四个相同的 Stratix IV 器件,请将器件链建立成如
图 10–8 中所示的那样。第一个器件是主器件,它的 MSEL 管脚必须设置选择 AS 配
置。其它的三个从器件设置为同时进行配置,其 MSEL 管脚必须设置选择 PS 配置。来
自主器件和从器件的 nCE 输入管脚连接在 GND 上,并且 DATA 和 DCLK 管脚并行与所有
的四个器件相连接。在配置周期期间,主器件从串行配置器件中读取其配置数据,并
且发送配置数据到所有的三个从器件,对它们进行同时配置。
图 10–8 显示了当器件收到使用一个单 .sof 文件的相同数据时的多器件快速 AS 配置
图 10–8.
当器件使用一个单 .sof 文件接收相同数据时的多器件快速 AS 配置
Stratix IV
Device Slave
nSTATUS
CONF_DONE
nCONFIG
nCE
nCEO
N.C.
VCCPGM (1) VCCPGM (1) VCCPGM (1)
DATA0
10 kΩ
10 kΩ
MSEL2
DCLK
10 kΩ
VCCPGM
MSEL1
MSEL0
GND
Stratix IV
Device Master
Serial Configuration
Device
nSTATUS
CONF_DONE
nCONFIG
nCE
nCEO
DATA0
DCLK
DCLK
nCS
nCSO
ASDI
ASDO
N.C.
GND
VCCPGM
GND
DATA
Stratix IV
Device Slave
MSEL2
nSTATUS
CONF_DONE
nCONFIG
nCE
DATA0
MSEL2
DCLK
MSEL1
nCEO
N.C.
VCCPGM
MSEL1
MSEL0
MSEL0
GND
GND
Stratix IV
Device Slave
Buffers (2)
nSTATUS
CONF_DONE
nCONFIG
nCE
nCEO
DATA0
DCLK
MSEL2
N.C.
VCCPGM
MSEL1
MSEL0
GND
图 10–8 注释:
(1) 将上拉电阻连接到 3.0-V 的 VCCPGM 电源上。
(2) 对于 DATA[0] 和 DCLK,连接 Stratix IV 主器件和从器件之间的中继缓冲器。这是为了防止潜在的信号完整性和时钟偏斜问题。
Altera 公司 2011 年 12 月
Stratix IV 器件手册 第 1 卷
第 10 章 : Stratix IV 器件中的配置、 设计安全和远程系统更新
快速主动串行配置 ( 串行配置器件 )
10–22
估计主动串行配置时间
主动串行配置时间是由串行配置器件传输数据到 Stratix IV 器件所使用的时间而定。
该串行接口由 Stratix IV DCLK 输出提供时钟 ( 从内部振荡器生成 ),并且必须被设置
为 40 MHz (25 ns)。因此,EP4SE230 器件 ( 未压缩数据的 94, 600, 000 位 ) 估计的
最小的配置时间是:
RBF 容量 x( 最小 DCLK 周期 / 每 DCLK 周期 1 位 ) = 所估计的最小配置时间
94, 600, 000 位 x(25 ns / 1 位 ) = 2365 ms
1
以上计算依据于初始的未压缩的 .rbf 文件的大小。最后的 .rbf 文件大小将在
Quartus II 软件能够生成 .rbf 文件之后可用。
使能压缩功能减少了发送到 Stratix IV 器件的配置数据量,也节省了配置时间。通常
情况下,依据于设计,压缩节省了配置时间。
编程串行配置器件
串行配置器件是非易失的,基于闪存的器件。您可以使用 USB- Blaster ™、
EthernetBlaster ™和 ByteBlaster ™ II 下载电缆,在系统编程这些器件。另外,您可
以用 Altera 编程单元 (APU),支持第三方的编程器,或者 SRunner 软件驱动的微处理
器来对它们进行编程。
您可以使用传统的 AS 编程接口或 JTAG 接口解决方案执行串行配置器件的在线编程。
因为串行配置器件不支持 JTAG 接口,对它们进行编程的传统方法是使用 AS 编程接口。
用于编程串行配置器件的配置数据使用编程硬件进行下载。
在系统编程过程中,通过驱动 nCE 管脚为高电平,下载电缆禁用器件访问 AS 接口。 通
过在 nCONFIG 上的一个低电平,Stratix IV 器件也被保持在复位状态。在编程结束
后,下载电缆释放 nCE 和 nCONFIG,使得下拉和上拉电阻能够分别驱动 GND 和 VCCPGM。
图 10–9 显示了串行配置器件的下载电缆连接。
Altera 开发的串行闪存加载器 (SFL),是使用 JTAG 接口的串行配置器件的一个在线编
程解决方案。该解决方案要求 Stratix IV 器件成为 JTAG 接口和串行配置器件之间的
一个桥梁。
f 要了解关于 SFL 更多的信息,请参考 AN 370: Using the Serial FlashLoader with
Quartus II Software。
Stratix IV 器件手册 第 1 卷
Altera 公司 2011 年 12 月
第 10 章 : Stratix IV 器件中的配置、 设计安全和远程系统更新
快速主动串行配置 ( 串行配置器件 )
10–23
f 要了解关于 USB- Blaster 下载电缆的更多信息,请参考 USB-Blaster Download Cable
User Guide。要了解关于 ByteBlaster II 电缆的更多信息,请参考 ByteBlaster II
Download Cable User Guide。要了解关于 EthernetBlaster 下载电缆的更多信息,请
参考 EthernetBlaster Communications Cable User Guide。
图 10–9. 串行配置器件的在线编程
VCCPGM (1) VCCPGM (1) VCCPGM (1)
10 kΩ
10 kΩ
10 kΩ
Stratix IV Device
CONF_DONE
nSTATUS
Serial
Configuration
Device
N.C.
nCEO
nCONFIG
nCE
10 kΩ
VCCPGM
DATA
DATA0
DCLK
DCLK
nCS
nCSO
MSEL1
ASDI
ASDO
MSEL0
MSEL2
GND
Pin 1
VCCPGM (2)
USB Blaster or ByteBlaser II
(AS Mode)
10-Pin Male Header
图 10–9 注释:
(1) 连接这些上拉电阻器到 3.0-V 的 VCCPGM 电源。
(2) 使用 VCCPGM 上电 USB-ByteBlaster、 ByteBlaster II 或 EthernetBlaster 电缆的 VCC(TRGT)。
通过使用 Altera 编程硬件和适当的配置器件编程适配器,您可以将串行配置器件和
Quartus II 软件编程在一起。
在生产环境中,您可以使用多种方法编程串行配置器件。您可以使用 Altera 编程硬件
或第三方编程硬件在它们安装于 PCB 之前来编程空白串行配置器件。另外,您可以使
用一台板内微处理器通过 Altera 提供的 C-based 软件驱动程序编程在线串行配置器
件。
您可以使用 SRunner,通过一个外部微处理器编程一个在线串行配置器件。SRunner 是
一个为嵌入式串行配置器件编程而开发的软件驱动程序,它易于定制以符合不同的嵌
入式系统。SRunner 能够读取原始编程数据 (.rpd) 并且写入串行配置器件。使用
SRunner 的串行配置器件编程时间可以比得上 Quartus II 软件的编程时间。
f 要了解关于SRunner的更多信息,请参考AN 418: SRunner: An Embedded Solution for
Serial Configuration Device Programming 和在 Altera 网页 www.altera.com 上的源
代码。
Altera 公司 2011 年 12 月
Stratix IV 器件手册 第 1 卷
第 10 章 : Stratix IV 器件中的配置、 设计安全和远程系统更新
被动串行配置
10–24
f 要了解关于编程串行配置器件的更多信息,请参考配置手册第二卷的 Serial
Configuration Devices (EPCS1, EPCS4, EPCS16, EPCS64, and EPCS128) Data Sheet
章节。
在 AS 接口上连接串行配置器件的指南
对于单和多器件 AS 配置,在所支持的串行配置器件和 Stratix IV 器件系列之间的板
极走线长度和下载必须遵照如表 10–6 中所列的建议。
表 10–6. AS 配置的最大走线长度和下载
从 Stratix IV 器件到串行配
置器件 ( 英寸 ) 的最大板级
走线长度
最大电路板加载 (pF)
DCLK
10
15
DATA[0]
10
30
nCSO
10
30
ASDO
10
30
Stratix IV 器件的 AS 管脚
被动串行配置
通过使用一个智能主机,您可以编程 Stratix IV 器件的 PS 配置,例如一个 MAX II 器
件或具有闪存的微处理器,或者一条下载电缆。在 PS 方案中,一个外部主机 ( 一个
MAX II 器件、嵌入式处理器或主机 PC) 控制配置。 通过使用 DCLK 的每个上升沿的
DATA0 管脚,配置数据被锁定到目标 Stratix IV 器件中。
1
当使用 PS 模式配置您的 Stratix IV 器件时,Stratix IV 解压缩和设计安全功能完全可
用。
Stratix IV 器件手册 第 1 卷
Altera 公司 2011 年 12 月
第 10 章 : Stratix IV 器件中的配置、 设计安全和远程系统更新
被动串行配置
10–25
使用一个 MAX II 器件作为外部主机的 PS 配置
在该配置方案中,您可以使用 MAX II 器件作为一个智能主机,控制配置数据从储存器
件,例如闪存,到目标 Stratix IV 器件的传输。您可以用 .rbf, .hex, 或 .ttf 格式
存储配置数据。
图 10–10 显示了单一器件配置的 Stratix IV 器件和 MAX II 器件之间的配置接口连
接。
图 10–10. 使用一个外部主机的单器件 PS 配置
Memory
ADDR
VCCPGM (1)
VCCPGM (1)
DATA0
10 k Ω
10 k Ω
Stratix IV Device
CONF_DONE
nSTATUS
External Host
(MAX II Device or
Microprocessor)
nCE
nCEO
GND
DATA0
MSEL2
nCONFIG
MSEL1
DCLK
N.C.
VCCPGM
MSEL0
GND
图 10–10 注释:
(1) 为 Stratix IV 器件,将电阻连接到提供一个可接受的输入信号的电源上。 VCCPGM 必须有足够高电平来满足
器件和外部主机上的 I/O 的 VIH 规范。 Altera 建议使用 VCCPGM 为所有的配置系统 I/O 上电。
上电之后,Stratix IV 器件遍历 POR。POR 延迟取决于 PORSEL 管脚设置。当 PORSEL 被
驱动为低电平时,标准 POR 时间是 100 ms < TPOR < 300 ms. 当 PORSEL 被驱动为高电
平时,快速 POR 时间是 4 ms < TPOR < 12 ms。在 POR 期间,器件复位,保持 nSTATUS
为低电平并且三态所有的用户 I/O 管脚。在器件成功退出 POR 之后 , 所有的 用户 I/O
管脚继续处于三态。如果在上电和配置期间,nIO_pullup 被驱动为低电平, 那么用户
I/O 管脚和双用 I/O 管脚将有上拉弱电阻,在配置之前和期间,这些弱上拉电阻器是打
开的状态 ( 在 POR 之后 )。如果 nIO_pullup 被驱动为高电平,那么上拉弱电阻被禁
用。
配置过程包含三个阶段 — 复位、配置和初始化。当 nCONFIG 或 nSTATUS 是低电平时,
器件处于复位状态。要初始化配置,MAX II 器件必须在 nCONFIG 管脚上产生一个由低
到高的跳变。
1
配置管脚所在的 bank 的 VCC、VCCIO、VCCPGM 和 VCCPD 必须完全的供电到合适的电平,以便开
始配置过程。
当 nCONFIG 变高的时候 , 器件不再处于复位状态并且释放开漏 nSTATUS 管脚,此管脚
然后被一个外部 10-kΩ 上拉电阻拉高。在 nSTATUS 被释放之后,器件准备接收配置数
据,配置阶段开始。当 nSTATUS 被拉高时,MAX II 器件在 DATA0 管脚上一次一位的放
置配置数据。如果您正在以 .rbf、 .hex 或 .ttf 的格式使用配置数据,您必须首先发
送每个数据字节的 LSB。例如,如果 .rbf 包含的字节序列为 02 1B EE 01 FA,那么您
必须发送到器件的串行比特流是:
0100-0000 1101-1000 0111-0111 1000-0000 0101-1111。
Altera 公司 2011 年 12 月
Stratix IV 器件手册 第 1 卷
第 10 章 : Stratix IV 器件中的配置、 设计安全和远程系统更新
被动串行配置
10–26
Stratix IV 器件在 DATA0 管脚上接收配置数据,时钟在 DCLK 管脚上被接收。数据被
锁存进了器件的 DCLK 的上升沿。数据不断地被锁定到目标器件直到 CONF_DONE 变高。
在器件成功的收到所有的配置数据之后,它释放开漏 CONF_DONE 管脚,此管脚被一个
外部 10-kΩ 上拉电阻拉高。在 CONF_DONE 上的一个由低到高的跳变表示配置完成,并
且器件的初始化可以开始。CONF_DONE 管脚必须有一个外部 10- kΩ 上拉电阻,以便器
件进行初始化。
在 Stratix IV 器件中,初始化时钟源是内部振荡器或者是可选择的 CLKUSR 管脚。在
默认情况下,内部振荡器为初始化的时钟源。如果您使用内部振荡器,Stratix IV 器
件本身提供充足的时钟周期,以便进行正确的初始化。因此,如果内部振荡器为初始
化时钟源,那么发送整个配置文件到器件足够对器件进行配置和初始化。在配置完成
后,驱动 DCLK 到器件不影响器件操作。
您也可以利用 CLKUSR 选项,灵活的对多个器件进行同步初始化或延迟初始化。您可以
打开 Enable user- supplied start-up clock (CLKUSR) 选项,在 Quartus II 软件的
Device and Pin Options 对话框的 General 标签上。如果在 CLKUSR 提供一个时钟 ,
那么不会影响配置过程。所有的配置数据被接受和 CONF_DONE 变高之后,CLKUSR 在时
间指定为 tCD2CU 后被使能。经过这段时间后,Stratix IV 器件需要 8,532 个时钟周期
以正确进行初始化和进入用户模式。Stratix IV 器件支持一个 125 MHz 的 CLKUSR
fMAX。
一个可选的 INIT_DONE 管脚是可用的,一个由低到高的跳变表明了初始化的结束和用
户模式的开始。Enable INIT_DONE Output 选项可在 Quartus II 软件的 Device and
Pin Options 对话框中的 General 标签上选用。如果您使用 INIT_DONE 管脚,那么当
nCONFIG 是低电平并且配置开始期间,由于一个外部的 10- kΩ 上拉电阻,此管脚会变
高。在选项位使能 INIT_DONE 被编程进器件 ( 在第一帧配置数据期间 ) 后, INIT_DONE
管脚变为低电平。当初始化完成的时候,INIT_DONE 管脚被释放和拉高。MAX II 器件
必须能够检测标志着器件已经进入用户模式的这个由低到高的跳变。当初始化完成后,
器件进入用户模式。在用户模式时,用户 I/O 管脚不再有弱上拉电阻并且功能和您设
计的一样。
1
在 CONF_DONE 变高后,需要两个 DCLK 下降沿,以便为 PS 中的未压缩的和压缩的比特流开
始器件的初始化。
要确保 DCLK 和 DATA0 在配置最后没有被悬空,MAX II 器件必须驱动它们为高电平或低
电平,只要适合您的板级。配置之后,DATA[0] 管脚可用作一个用户 I/O 管脚。当您在
Quartus II 软件中选择 PS 为默认方案时,该 I/O 管脚在用户模式下为三态,必须由
MAX II 器件驱动。要在 Quartus II 软件中改变该默认选项,请选择 Device and Pin
Options 对话框的 Dual-Purpose Pins 标签。
配置时钟 (DCLK) 速度必须在指定的频率之下,以确保正确的配置。无上限 DCLK 周期
的存在意味着可以通过中止 DCLK 的不定时间量来暂停配置。
Stratix IV 器件手册 第 1 卷
Altera 公司 2011 年 12 月
第 10 章 : Stratix IV 器件中的配置、 设计安全和远程系统更新
被动串行配置
10–27
如果在配置期间,一个错误发生,那么器件驱动本身的 nSTATUS 管脚为低电平,从内
部重置自己。nSTATUS 管脚上的低信号提醒 MAX II 器件有一个错误。如果 Autorestart configuration after error 选项 ( 存在于 Quartus II 软件的 from the
Device and Pin Options 对话框的 General 标签中 ) 被打开,那么 Stratix IV 器件在
复位超时后释放 nSTATUS( 最多 500 μs)。nSTATUS 被释放和由上拉电阻拉高后,
MAX II 器件可以试图重配置目标器件,而无需脉冲 nCONFIG 为低电平。如果该选项被
关闭,那么 MAX II 器件必须在 nCONFIG 上生成一个由低到高的跳变 ( 有一个至少
2 μs 的低脉冲 ),以重新开始配置过程。
1
如果您已经使能了 Auto-restart configuration after error 选项,那么当检测到一
个配置错误,nSTATUS 管脚进行由高到低,再回到高的跳变。这个作为一个低脉冲在
nSTATUS 管脚上出现,具有一个最低的脉冲宽 10 μs 到一个最高的脉冲宽度 500 μs,
正如 tSTATUS 规范所定义的。
MAX II 器件也可以监控 CONF_DONE 和 INIT_DONE 管脚,以确保成功配置。CONF_DONE
管脚必须由 MAX II 器件监控来检测错误和决定编程什么时候完成。如果所有的配置数
据被发送,但是 CONF_DONE 或 INIT_DONE 还没有变高,那么 MAX II 器件必须重新配置
目标器件。
1
如果在器件初始化期间,您使用的可选 CLKUSR 管脚和 nCONFIG 被拉低以重新启动配置,
那么在 nSTATUS 为低电平 ( 最多 500 μs),确保 CLKUSR 继续出发。
当器件处于用户模式时,通过 nCONFIG 管脚从低到高的跳变,您可以开始一个重配置。
nCONFIG 管脚必须处于至少 2 μs 的低电平。当 nCONFIG 被拉低时,器件也拉低
nSTATUS 和 CONF_DONE,并且所有的 I/O 管脚处于三态。nCONFIG 回到逻辑高电平和器
件释放 nSTATUS 之后,重配置开始。
图 10–11 显示了怎样使用 MAX II 器件配置多个器件。该电路与单器件的 PS 配置电路
相似,除了 Stratix IV 器件在多器件配置中是级联的以外。
图 10–11. 使用一个外部主机的多器件 PS 配置
Memory
ADDR
VCCPGM (1) VCCPGM (1)
DATA0
10 k Ω
10 k Ω
Stratix IV Device 1
Stratix IV Device 2
CONF_DONE
CONF_DONE
nSTATUS
External Host
(MAX II Device or
Microprocessor)
nCE
GND
DATA0
nSTATUS
nCE
nCEO
MSEL2
VCCPGM
DATA0
nCEO
MSEL2
nCONFIG
MSEL1
nCONFIG
MSEL1
DCLK
MSEL0
DCLK
MSEL0
GND
N.C.
VCCPGM
GND
图 10–11 注释:
(1) 在 Stratix IV 器件的链中,连接电阻到提供一个可接受输入信号的电源上。 VCCPGM 必须有足够的高电平来满足器件和外部主机上的
I/O 的 VIH 规范。 Altera 建议使用 VCCPGM 上电所有的配置系统 I/O。
Altera 公司 2011 年 12 月
Stratix IV 器件手册 第 1 卷
第 10 章 : Stratix IV 器件中的配置、 设计安全和远程系统更新
被动串行配置
10–28
在多器件 PS 配置中,第一个器件的 nCE 管脚连接到 GND 上,而它的 nCEO 管脚连接到
链中的下一个器件的 nCE 上。 上一个器件的 nCE 输入来自前一个器件,而它的 nCEO 管
脚被悬空。第一个器件在多器件配置链中完成配置后,它的 nCEO 管脚驱动为低电平来
激活第二个器件的 nCE 管脚,提醒第二个器件开始进行配置。链中的第二个器件开始
在一个时钟周期内进行配置。因此,对于 MAX II 器件,传输的数据目的地是透明的。
所有其它的配置管脚 (nCONFIG、nSTATUS、DCLK、DATA0 和 CONF_DONE) 连接到链中的
每个器件上。配置信号可能需要缓冲,以确保信号完整性和防止时钟偏斜的问题。确
保每第四个器件的 DCLK 和 DATA 线被缓冲。因为所有器件的 CONF_DONE 管脚被连接在
一起,所以所有的器件在同时进行初始化和进入用户模式。
因为所有的 nSTATUS 和 CONF_DONE 管脚连接在一起,如果任何器件检测到一个错误,
整个链的配置停止,您必须重新配置整个链。例如,如果第一个器件在 nSTATUS 上标
记一个错误 , 那么通过拉低 nSTATUS 管脚,它复位链。该行为与单器件检测错误的行
为相似。
如果 Auto-restart configuration after error 选项被打开,在复位超时后 ( 最多
500 μs),器件释放它们的 nSTATUS 管脚。在所有的 nSTATUS 管脚被释放和拉高后,
MAX II 器件可以试着重新配置链,而无需脉冲 nCONFIG 为低电平。如果该选项被关
闭,那么 MAX II 器件必须在 nCONFIG 上生成一个由低到到的跳变 ( 有一个至少 2 μs
的低脉冲 ),以便重新开始配置过程。
1
如果您已经使能了 Auto-restart configuration after error 选项,那么当检测到一
个配置错误时,nSTATUS 管脚进行从高到低,再回到高的跳变。这个作为一个低脉冲在
nSTATUS 管脚上出现,具有一个最低的脉冲宽度 10 μs 到一个最高的脉冲宽度
500 μs,正如 tSTATUS 规范定义的。
在系统中,您可以有包含相同配置数据的多个器件。要支持该配置方案,所有的器件
nCE 输入连接到 GND 上,而 nCEO 管脚被悬空。所有的其它配置管脚 (nCONFIG、
nSTATUS、DCLK、DATA0 和 CONF_DONE) 被连接到了链中的每个器件上。
配置信号可能需要缓冲,以确保信号完整性和防止时钟偏斜问题。确保每第四个器件
的 DCLK 和 DATA 线被缓冲。器件必须有相同的密度和封装。所有的器件在同时开始和
完成配置。
Stratix IV 器件手册 第 1 卷
Altera 公司 2011 年 12 月
第 10 章 : Stratix IV 器件中的配置、 设计安全和远程系统更新
被动串行配置
10–29
图 10–12 显示了当两个 Stratix IV 器件正在接收相同的配置数据时,多器件 PS 配
置。
图 10–12.
当两个器件接收相同的数据时的多器件 PS 配置
Memory
ADDR
VCCPGM (1) VCCPGM (1)
DATA0
10 k Ω
10 k Ω
Stratix IV Device
Stratix IV Device
CONF_DONE
CONF_DONE
nSTATUS
nCE
External Host
(MAX II Device or
Microprocessor)
nCEO
GND
DATA0
MSEL2
N.C. (2)
nSTATUS
nCE
VCCPGM GND
DATA0
nCEO
MSEL2
nCONFIG
MSEL1
nCONFIG
MSEL1
DCLK
MSEL0
DCLK
MSEL0
GND
N.C. (2)
VCCPGM
GND
图 10–12 注释:
(1) 对于链中所有的 Stratix IV 器件,将电阻连接到一个提供可接受输入信号的电源上。 VCCPGM 必须有足够高的电平来满足器件和外部
主机上的 I/O 的 VIH 规范。 Altera 建议采用 VCCPGM 为所有的配置系统 I/O 上电。
(2) 当配置相同的配置数据到多个器件时,两个器件的 nCEO 管脚被悬空。
您可以使用一个单配置链将 Stratix IV 器件和其它的 Altera 器件配置在一起。为了
确保链中的所有器件同时完成配置,或者一个器件标记的错误在所有器件中开始重配
置,所有的器件 CONF_DONE 和 nSTATUS 管脚必须连接到一起。
f 要了解关于在同一个配置链上配置多个 Altera 器件的更多信息,请参考配置手册第二
卷的 Configuring Mixed Altera FPGA Chains 章节。
Altera 公司 2011 年 12 月
Stratix IV 器件手册 第 1 卷
第 10 章 : Stratix IV 器件中的配置、 设计安全和远程系统更新
被动串行配置
10–30
PS 配置时序
图 10–13 显示了当使用一个 MAX II 器件作为一个外部主机时的 PS 配置的时序波形。
图 10–13. PS 配置时序波形
(1)
tCF2ST1
tCFG
tCF2CK
nCONFIG
nSTATUS (2)
tSTATUS
tCF2ST0
t
CLK
CONF_DONE (3)
tCF2CD
tST2CK
tCH tCL
(4)
DCLK
tDH
DATA
Bit 0 Bit 1 Bit 2 Bit 3
(5)
Bit n
tDSU
User I/O
High-Z
User Mode
INIT_DONE
tCD2UM
图 10–13 注释:
(1) 该波形的开始显示了在用户模式下的器件。在用户模式下, nCONFIG、 nSTATUS 和 CONF_DONE 处于逻辑高电平。当 nCONFIG
被拉低时,一个重新配置周期开始。
(2) 上电之后,在 POR 延迟期间, Stratix IV 器件保持 nSTATUS 低电平。
(3) 上电之后,配置之前和期间, CONF_DONE 处于低电平。
(4) 配置之后,不要悬空 DCLK 。您可以驱动它为高电平或低电平,取其方便而用。
(5) 配置之后, DATA[0] 可以用作一个用户 I/O 管脚。该管脚的状态取决于双用管脚设置。
表 10–7 列出了 Stratix IV 器件的 PS 配置的时序参数。
表 10–7. Stratix IV 器件的 PS 时序参数
符号
(1/2)
参数
(1)
最小值
最大值
单位
tCF2CD
nCONFIG 低电平到 CONF_DONE 低电平
—
800
ns
tCF2ST0
nCONFIG 低电平到 nSTATUS 低电平
—
800
ns
tCFG
nCONFIG 低脉冲宽度
2
—
μs
tSTATUS
nSTATUS 低脉冲宽度
10
500 (2)
μs
tCF2ST1
nCONFIG 高电平到 nSTATUS 高电平
—
500 (3)
μs
tCF2CK
nCONFIG 高电平到 DCLK 的第一个上升沿
500
—
μs
tST2CK
nSTATUS 高电平到 DCLK 的第一个上升沿
2
—
μs
tDSU
DCLK 的上升沿之前的数据建立时间
4
—
ns
tDH
DCLK 的上升沿之后的数据保持时间
0
—
ns
tCH
DCLK 高时间 (5)
3.2
—
ns
tCL
DCLK 低时间 (5)
3.2
—
ns
tCLK
DCLK 周期 (5)
8
—
ns
fMAX
DCLK 频率
—
125
MHz
tR
输入上升时间
—
40
ns
tF
输入下降时间
—
40
ns
Stratix IV 器件手册 第 1 卷
Altera 公司 2011 年 12 月
第 10 章 : Stratix IV 器件中的配置、 设计安全和远程系统更新
被动串行配置
表 10–7. Stratix IV 器件的 PS 时序参数
符号
(2/2)
10–31
(1)
参数
最小值
最大值
单位
tCD2UM
CONF_DONE 高电平到用户模式 (4)
55
150
μs
tCD2CU
CONF_DONE 高电平到 CLKUSR 使能
4 × 最大
DCLK 周期
—
—
tCD2UMC
CONF_DONE 高电平到用户模式,打开 CLKUSR 选项
tCD2CU + (8532
CLKUSR 周
期)
—
—
表 10–7 注释:
(1) 这些是初始信息。
(2) 如果您不通过延长 nCONFIG 或 nSTATUS 低脉冲宽度延迟配置,那么该值是可用的。
(3) 如果您不通过从外部保持 nSTATUS 为低电平来延迟配置,该值是可用的。
(4) 最低和最高的数量,仅在您选择内部震荡器作为启动器件的时钟源时适用。
(5) 将 tCH 和 tCL 加起来,使结果等于 tCLK。当 tCH 是 3.2 ns (min) 时,tCL 必须是 4.8 ns,反之亦然。
f 器件配置选项和怎样创建配置文件,在配置手册的第二卷的 Device Configuration
Options 和 Configuration File Formats 章节中有所介绍。
使用一个微处理器的 PS 配置
在该 PS 配置方案中,一个微处理器控制配置数据从一个存储器件 ( 例如闪存 ) 到目标
Stratix IV 器件的传输。
要了解关于配置和时序信息的更多信息,请参考第 10–25 页 “ 使用一个 MAX II 器件
作为外部主机的 PS 配置 ”。当使用一个微处理器作为一个外部主机时,该部分也可适
用。
使用一条下载电缆的 PS 配置
1
在该部分中,通用术语 “ 下载电缆 ” 包括了 Altera 的 USB-Blaster 通用串行总线
(USB) 端口下载电缆、MasterBlaster 串行 /USB 通讯电缆、ByteBlaster II 并口下载
电缆、ByteBlasterMV 并口下载电缆、以及 EthernetBlaster 下载电缆。
在使用下载电缆的 PS 配置中,一台智能主机 ( 例如一台 PC) 通过使用 USB Blaster、
MasterBlaster、ByteBlaster II、EthernetBlaster 或 ByteBlasterMV 电缆,从存储
器件传输数据到器件。
上电之后,Stratix IV 器件遍历 POR。POR 延迟取决于 PORSEL 管脚设置。当 PORSEL 驱
动为低电平时,标准 POR 时间是 100 ms < TPOR < 300 ms。当 PORSEL 驱动为高电平
时,快速 POR 时间是 4 ms < TPOR < 12 ms。在 POR 期间,器件复位,保持 nSTATUS 为
低电平,并且三态所有的用户 I/O 管脚。在器件成功的退出 POR 之后,所有的用户 I/O
管脚继续处于三态。如果在上电和配置期间,nIO_pullup 驱动为低电平, 那么用户
I/O 管脚和双用 I/O 管脚将会存在弱上拉电阻,此电阻在配置之前和期间是打开的状态
( 在 POR 之后 )。如果 nIO_pullup 驱动为高电平,那么弱上拉电阻被禁用。
配置过程包含三个阶段 — 复位、配置、和初始化。当 nCONFIG 或 nSTATUS 处于低电平
时,器件处于复位状态。要在该方案中开始配置,下载电缆在 nCONFIG 管脚上生成一
个由低到高的跳变。
Altera 公司 2011 年 12 月
Stratix IV 器件手册 第 1 卷
第 10 章 : Stratix IV 器件中的配置、 设计安全和远程系统更新
被动串行配置
10–32
1
要开始配置,为 VCC、VCCIO、VCCPGM 和 VCCPD 电压 ( 为配置管脚所在的 bank) 供电,以达到合
适的电平。
当 nCONFIG 变高时,器件不再处于复位状态并且释放开漏 nSTATUS 管脚,此管脚然后
被一个外部的 10- kΩ 上拉电阻拉高。nSTATUS 被释放后,器件准备接收配置数据,配
置阶段开始。然后,编程硬件或下载电缆在器件的 DATA0 管脚上,一次一位的放置配
置数据。配置数据被锁定到目标器件直到 CONF_DONE 上升为高电平。CONF_DONE 管脚必
须存在一个外部 10-kΩ 上拉电阻来使器件进行初始化。
当使用下载电缆时,设置 Auto-restart configuration after error 选项不影响配置
周期,因为当一个错误发生时,您必须在 Quartus II 软件中手动重新启动配置。除此
之外,Enable user-supplied start-up clock (CLKUSR) 选项对器件初始化没有影
响,因为当使用 Quartus II 编程器和下载电缆编程器件时,该选项在 .sof 文件中是
禁用的。因此,如果您打开 CLKUSR 选项,那么当您使用 Quartus II 编程器和下载电
缆配置器件时,您不需要在 CLKUSR 上提供时钟。
图 10–14 显示了通过使用 USB Blaster、EthernetBlaster、MasterBlaster、
ByteBlaster II 或 ByteBlasterMV 电缆对 Stratix IV 器件进行的 PS 配置。
图 10–14. 使用 USB Blaster、EthernetBlaster、MasterBlaster、ByteBlaster II 或 ByteBlasterMV 电缆进
行的 PS 配置
VCCPGM (1)
VCCPGM (1)
10 kΩ
(2)
VCCPGM (1)
VCCPGM (1) VCCPGM (1)
10 kΩ
10 kΩ
Stratix IV Device
VCCPGM
10 kΩ
(2)
MSEL2
10 kΩ
CONF_DONE
nSTATUS
MSEL1
MSEL0
GND
nCE
GND
DCLK
DATA0
nCONFIG
nCEO
Download Cable
10-Pin Male Header
(PS Mode)
N.C.
Pin 1
VCCPGM (1)
GND
VIO (3)
Shield
GND
图 10–14 注释:
(1) 连接上拉电阻到与 USB Blaster、 MasterBlaster (VIO 管脚 )、 ByteBlaster II、 ByteBlasterMV 或 EthernetBlaster 电缆相同的电源电压
(VCCPGM ) 上。
(2) 如果下载电缆是在您的电路板上唯一使用的配置方案,上拉电阻仅需要在 DATA0 和 DCLK 上。这个确保了在配置之后, DATA0 和
DCLK 不被悬空。例如,如果您也正在使用一个配置器件,您不需要 DATA0 和 DCLK 上的上拉电阻。
(3) 管脚 6 插头对于 MasterBlaster 输出驱动是一个 VIO 参考电压。VIO 必须与器件的 VCCPGM 相匹配。要了解关于该值的更多信息,请参考
MasterBlaster Serial/USB Communications Cable User Guide。在 USB-Blaster、ByteBlaster II 和 ByteBlasterMV 电缆中,该管脚是一个无连
接。
您可以通过使用一条下载电缆连接每个器件的 nCEO 管脚到接下来器件的 nCE 管脚来配
置多个 Stratix IV 器件。第一个器件的 nCE 管脚连接到 GND 上,而它的 nCEO 管脚连
接在链中的下一个器件的 nCE 上。最后器件的 nCE 输入来自前一个器件,而它的 nCEO
管脚被悬空。所有其它的配置管脚 (nCONFIG、nSTATUS、DCLK、DATA0 和 CONF_DONE)
连接到链中的每个器件上。因为所有的 CONF_DONE 管脚都连接在一起,所以链中的所
有器件同时进行初始化和进入用户模式。
Stratix IV 器件手册 第 1 卷
Altera 公司 2011 年 12 月
第 10 章 : Stratix IV 器件中的配置、 设计安全和远程系统更新
被动串行配置
10–33
除此之外,因为 nSTATUS 管脚都连接在一起,如果任何器件检测到一个错误,那么整
条链将停止配置。Auto-restart configuration after error 选项不影响配置周期,
因为当一个错误发生时,您必须在 Quartus II 软件中手动重新启动配置。
图 10–15 显示了怎样使用一条下载电缆配置多个 Stratix IV 器件
图 10–15. 使用 USB Blaster、EthernetBlaster、MasterBlaster、 ByteBlaster II 或 ByteBlasterMV 电缆的
多器件 PS 配置
VCCPGM (1)
10 kΩ
VCCPGM (1) VCCPGM (1)
10 kΩ
VCCPGM (1)
(2)
GND
VCCPGM (1)
(2)
Pin 1
VCCPGM (1)
GND
VIO (3)
nCEO
nCE
10 kΩ
10 kΩ
CONF_DONE
nSTATUS
DCLK
GND
VCCPGM (1)
10 kΩ
Stratix IV Device 1
MSEL2
MSEL1
MSEL0
Download Cable
10-Pin Male Header
(PS Mode)
VCCPGM (1)
DATA0
nCONFIG
GND
Stratix IV Device 2
MSEL2
MSEL1
MSEL0
CONF_DONE
nSTATUS
DCLK
GND
nCEO
N.C.
nCE
DATA0
nCONFIG
图 10–15 注释:
(1) 连接上拉电阻到与 USB Blaster、MasterBlaster (VIO 管脚 )、ByteBlaster II、ByteBlasterMV 或 EthernetBlaster 电缆相同的电源电 (VCCPGM)
上。
(2) 如果下载电缆是在您的电路板上的唯一使用的配置方案,您仅需要 on DATA0 和 DCLK 上的上拉电阻。这个是为了确保 DATA0 和
DCLK 在配置之后不会悬空,例如,如果您正在使用一个配置器件,您不需要 DATA0 和 DCLK 上的上拉电阻。
(3) 管脚插头对于 MasterBlaster 的输出驱动是一个 VIO 参考电压。VIO 必须和器件的 VCCPGM 相匹配。要了解关于该值的更多信息,请参考
MasterBlaster Serial/USB Communications Cable User Guide。在 USB-Blaster、ByteBlaster II 和 ByteBlasterMV 电缆中,该管脚是一个无连
接。
f 要了解关于怎样使用 USB Blaster、MasterBlaster、ByteBlaster II 或 ByteBlasterMV
电缆的更多信息,请参考以下的用户指南:
■
USB- Blaster Download Cable User Guide
■
MasterBlaster Serial/USB Communications Cable User Guide
■
ByteBlaster II Download Cable User Guide
■
ByteBlasterMV Download Cable User Guide
■
EthernetBlaster Communications Cable User Guide
Altera 公司 2011 年 12 月
Stratix IV 器件手册 第 1 卷
第 10 章 : Stratix IV 器件中的配置、 设计安全和远程系统更新
JTAG 配置
10–34
JTAG 配置
JTAG 已经开发了一种边界扫描测试的规范。该边界扫描测试 (BST) 体系结构提供有效
的测试 PCB 上引线很密集的组件的能力。在没有使用物理测试探针的情况下,BST 体系
结构可以测试管脚连接并且当器件正常操作的情况下采集功能数据。您也可以使用
JTAG 电路将配置数据移到器件中。Quartus II 软件自动生成 .sof 文件,您可以通过
一条下载电缆使用该文件在 Quartus II 软件编程器中进行 JTAG 配置。
f 要了解当使用 Stratix IV 器件时,关于可用的 JTAG 边界扫描测试和指令的更多信息,
请参考以下文件:
■
JTAG Boundary Scan Testing in Stratix IV Device 章节
■
Programming Support for Jam STAPL Language
Stratix IV 器件设计的 JTAG 指令优先于任何的器件配置模式的。因此,JTAG 配置可
以发生,而无需等待其它的配置模式完成。例如,如果您尝试在 PS 配置期间对
Stratix IV 器件进行 JTAG 配置 , 那么 PS 配置终止,JTAG 配置开始。
1
如果当使用基于 JTAG 的配置对 Stratix IV 器件进行配置时,您不能使用 Stratix IV 解
压缩或设计安全功能。
1
在 JTAG 模式下运行的器件使用四个所需管脚,TDI、TDO、TMS 和 TCK, 以及一个可选择管
脚,TRST。TCK 管脚有一个内部的弱下拉电阻,而 TDI、TMS 和 TRST 管脚有弱内部上拉
电阻 ( 通常是 25 kΩ)。JTAG 输出管脚 TDO 和所有的 JTAG 输入管脚都由 2.5- V/3.0- V
的 VCCPD 供电。 所有的 JTAG 管脚仅支持 LVTTL I/O 标准。
在 JTAG 配置期间,所有的用户 I/O 管脚处于三态。
f 所有的JTAG管脚都由I/O bank 1A的VCCPD 电源供电。要了解关于怎样在链的器件上将一
个 JTAG 链和多个电压连接在一起的更多信息,请参考 JTAG Boundary Scan Testing
in Stratix IV Devices 章节。
在 JTAG 配置期间,您可以通过 USB Blaster、MasterBlaster、ByteBlaster II、
EthernetBlaster 或 ByteBlasterMV 下载电缆,下载数据到器件的 PCB 上。通过一条电
缆配置器件和在系统编程器件相似,除了您必须连接 TRST 管脚到 VCCPD 以外。这个确
保了 TAP 控制器没有被复位。
Stratix IV 器件手册 第 1 卷
Altera 公司 2011 年 12 月
第 10 章 : Stratix IV 器件中的配置、 设计安全和远程系统更新
JTAG 配置
10–35
图 10–16 显示了当使用一个下载电缆时,一个单一 Stratix IV 器件的 JTAG 配置
图 10–16. 使用一个下载电缆时的单器件的 JTAG 配置
VCCPD (1)
(5)
VCCPGM
VCCPD (1)
VCCPGM
10 kΩ
Stratix IV Device
10 kΩ
nCE (4)
GND N.C.
(2)
(2)
(2)
nCE0
nSTATUS
CONF_DONE
nCONFIG
MSEL[2..0]
DCLK
(5)
TCK
TDO
TMS
TDI
Download Cable
10-Pin Male Header
(JTAG Mode)
(Top View)
VCCPD (1)
TRST
Pin 1
VCCPD (1)
GND
VIO (3)
1 kΩ
GND
GND
图 10–16 注释:
(1) 连接上拉电阻到 和 USB Blaster、MasterBlaster (VIO 管脚 )、ByteBlaster II、ByteBlasterMV 或 EthernetBlaster 电缆相同的电源电压上。 电
压电源可以被连接到器件的 VCCPD 上。
(2) 连接 nCONFIG 和 MSEL[2..0] 管脚来支持一个非 -JTAG 配置方案。如果您仅使用 JTAG 配置,那么连接 nCONFIG 到 VCCPGM 以及
MSEL[2..0] 到 GND。将 DCLK 拉为高电平或低电平,只要适合您的板级。
(3) 管脚 6 插头对于 MasterBlaster 输出驱动是一个 VIO 参考电压。VIO 必须与器件的 VCCPD 相匹配。要了解关于该值的更多信息,请参考
MasterBlaster Serial/USB Communications Cable User Guide。在 USB-Blaster、ByteBlaster II 和 ByteBlasterMV 电缆中,该管脚是一个无连
接。
(4) 为了成功的进行 JTAG 配置,您必须连接 nCE 到 GND 或者驱动低电平。
(5) 上拉电阻值可以 从 1 k 到 10 kΩ 有所不同。
要在 JTAG 链中配置一个单一器件,编程软件在旁路模式时布局所有其它器件。在旁路
模式时,通过一个单旁路寄存器,器件从 TDI 管脚到 TDO 管脚传递编程数据,而内部
不被此影响。该方案使编程软件能够编程或者验证目标器件。驱动到器件的配置数据
在一个时钟周期之后出现在 TDO 管脚上。
在配置完成后,Quartus II 软件验证成功的 JTAG 配置。在配置的最后,软件通过
JTAG 端口检查 CONF_DONE 的状态。当 Quartus II 软件为一个多器件链生成一个 JAM
文件 (.jam) 时,它包含指令,以至于链中的所有器件同时被初始化。如果 CONF_DONE
不是高电平,那么 Quartus II 软件表明配置是失败的。如果 CONF_DONE 是高电平,那
么软件表明配置成功了。在使用 JTAG TDI 端口连续的发送配置比特流之后,TCK 端口
计入额外的 1,094 个周期以执行器件的初始化。
Stratix IV 器件有始终当作 JTAG 管脚使用的专用 JTAG 管脚。不但可以在配置之前和
之后在 Stratix IV 器件上执行 JTAG 测试,在配置期间也可以。当其它的器件系列在
配置期间不支持 JTAG 测试时,Stratix IV 器件在配置期间支持旁路、ID 码和采样指
令,而无需中断配置。所有其它的 JTAG 指令也许只能由第一个中继配置发出并且利用
CONFIG_IO 指令重编程 I/O 管脚。
Altera 公司 2011 年 12 月
Stratix IV 器件手册 第 1 卷
第 10 章 : Stratix IV 器件中的配置、 设计安全和远程系统更新
JTAG 配置
10–36
CONFIG_IO 指令支持 I/O 缓冲器使用 JTAG 端口进行配置,并且当被发出时,中断配
置。该指令使您能够在配置 Stratix IV 器件或者等待配置器件完成配置之前执行板级
测试。在配置被中断和 JTAG 测试完成之后, 测试完成,您必须使用 JTAG
(PULSE_CONFIG 指令 ) 或者通过脉冲 nCONFIG 为低电平重新配置该部分。
在 Stratix IV 器件上的芯片全复位 (DEV_CLRn) 和芯片全输出使能 (DEV_OE) 管脚不影
响 JTAG 边界扫描或编程操作。触发这些管脚不会影响 JTAG 操作 ( 除了通常的边界扫
描操作 )。
为 Stratix IV 器件的 JTAG 配置设计一个电路板时,要考虑专用的配置管脚。
表 10–8 列出了在 JTAG 配置期间这些管脚是怎样被连接的。
表 10–8. 在 JTAG 配置期间专用配置管脚连接
信号
说明
nCE
在链中的所有 Stratix IV 器件上, nCE 必须驱动至低电平,通过将其连接
到 GND、使用一个电阻将其拉低、或者由一些控制电路驱动。对于也存在
于多器件 FPP、AS 或 PS 配置链中的器件,nCE 管脚必须在 JTAG 配置期间
连接到 GND 或 JTAG 必须和配置链相同的顺序被配置。
nCEO
在链中的所有 Stratix IV 器件上,您可以悬空 nCEO 或者连接到下一个器
件的 nCE 上。
MSEL
不要悬空这些管脚。这些管脚支持任何一个您在产品中使用的非 JTAG 配
置。如果您只使用 JTAG 配置,那么连接这些管脚到 GND 上。
nCONFIG
通过连接到 VCCPGM、使用一个电阻上拉、或者由一些控制电路驱动为高电
平。
nSTATUS
使用一个 10-kΩ 电阻上拉到 VCCPGM。 当在相同的 JTAG 链中配置多个器件
时,每个 nSTATUS 管脚必须单独上拉到 VCCPGM。
CONF_DONE
使用一个 10-kΩ 电阻上拉到 VCCPGM。 当在相同的 JTAG 链中配置多个器件
时,每个 CONF_DONE 管脚必须单独上拉到 VCCPGM。在 JTAG 配置结束时,
CONF_DONE 上升为高电平表明配置成功。
DCLK
不要使 DCLK 悬空。驱动为低电平或高电平,只要适合您的板极。
当编程 JTAG 器件链时,一个可兼容的 JTAG 插头被连接到多个器件上。JTAG 链上器件
的数量受下载电缆的驱动能力的限制。当四个或更多的器件连接在 JTAG 链时,Altera
建议利用板上缓冲器缓冲 TCK、TDI 和 TMS 管脚。
当系统包含多个器件或当使用 JTAG BST 电路测试您的系统时,JTAG 链器件编程是理想
的。
Stratix IV 器件手册 第 1 卷
Altera 公司 2011 年 12 月
第 10 章 : Stratix IV 器件中的配置、 设计安全和远程系统更新
JTAG 配置
10–37
图 10–17 显示了使用一个下载电缆时的多器件 JTAG 配置。
图 10–17. 使用下载电缆时的多器件的 JTAG 配置
Stratix IV Device
Download Cable
10-Pin Male Header
(JTAG Mode)
VCCPGM
(2)
Pin 1
VCCPGM
(5)
VCCPD (1)
(1) VCCPD
(2)
(5)
VCCPD (1)
VIO
(2)
DCLK
MSEL[2..0]
nCE (4)
10 kΩ
nSTATUS
nCONFIG
TDO
10 kΩ
(2)
nSTATUS
nCONFIG
(2)
DCLK
(2)
MSEL[2..0]
CONF_DONE
CONF_DONE
(2)
DCLK
(2)
MSEL[2..0]
VCCPD (1)
TCK
VCCPGM
VCCPGM
10 kΩ
10 kΩ
nSTATUS
nCONFIG
TRST
TDI
TMS
(3)
VCCPGM
CONF_DONE
(2)
VCCPGM
10 kΩ
10 kΩ
VCCPD (1)
Stratix II or Stratix II GX
Stratix
IV Device
Device
Stratix IV Device
nCE (4)
TRST
TDI
TMS
VCCPD (1)
TDO
TCK
nCE (4)
TRST
TDI
TMS
TDO
TCK
1 kΩ
图 10–17 注释:
(1) 连接上拉电阻到和 USB Blaster、MasterBlaster (VIO 管脚 )、ByteBlaster II、ByteBlasterMV 或 EthernetBlaster 电缆相同的电源电压上。 连
接电压电源到器件的 VCCPD。
(2) 连接nCONFIG 和 MSEL[2..0] 管脚来支持一个非 JTAG 配置方案。如果您仅使用一个 JTAG配置,那么连接 nCONFIG 到 VCCPGM 以及
MSEL[2..0] 到 GND。将 DCLK 拉为高电平或低电平,只要适合您的板级。
(3) 管脚 6 的接头对于 MasterBlaster 输出驱动是一个 VIO 参考电压。 VIO 必须和器件的 VCCPD 相匹配。要了解该值的更多信息,请参考
MasterBlaster Serial/USB Communications Cable User Guide。在 USB-Blaster、ByteBlaster II 和 ByteBlasterMV 电缆中,该管脚是一个无连
接。
(4) 为了进行成功的 JTAG 配置,您必须连接 nCE 到 GND 或者驱动它为低电平 。
(5) 上拉电阻值从 1 k 到 10 kΩ 有所不同。
在 JTAG 配置期间,您必须连接 nCE 管脚到 GND 或驱动它为低电平。在多器件 FPP、 AS
和 PS 配置链中,第一个器件的 nCE 管脚连接到 GND,而它的 nCEO 管脚连接到链中的下
一个器件的 nCE 上。最后器件的 nCE 输入来自前一个器件,而它的 nCEO 管脚被悬空。
除此之外,在多器件 FPP、 AS 或 PS 配置链中,CONF_DONE 和 nSTATUS 信号被共享,所
以在配置完成后,器件可以同时进入用户模式。当 CONF_DONE 和 nSTATUS 信号在所有
的器件中被共享时,在执行 JTAG 配置时,您必须配置每个器件。
如果您只是使用 JTAG 配置,Altera 建议连接电路,如图 10–17 所示,其中隔离每个
CONF_DONE 和 nSTATUS 信号,以便每个器件可以各自进入用户模式。
在多器件配置链中完成第一个器件配置之后,其 nCEO 管脚驱动至低电平以激活第二个
器件的 nCE 管脚,提示第二个器件开始进行配置。因此,如果这些器件也在 JTAG 链
中,确保 nCE 管脚在 JTAG 配置期间连接到 GND 或器件与配置链中一样被相同顺序的
JTAG 配置。只要器件和多器件配置链一样被相同顺序的 JTAG 配置,当它已经成功的被
JTAG 配置时,前一个器件的 nCEO 驱动下一个器件的 nCE 为低电平。
您可以在同一个 JTAG 链中布局另一个支持 JTAG 器件编程配置的 Altera 器件。
Altera 公司 2011 年 12 月
Stratix IV 器件手册 第 1 卷
第 10 章 : Stratix IV 器件中的配置、 设计安全和远程系统更新
JTAG 配置
10–38
1
JTAG 配置支持被增强,允许多于 17 个的 Stratix IV 器件在 JTAG 链中被级联。
f 要了解关于在相同的配置链中配置多个 Altera 器件的更多信息,请参考配置手册第二
卷的 Configuring Mixed Altera FPGA Chains 章节。
您可以在相同的电路板上使用多个配置方案对 Stratix IV 器件进行配置。在您的电路
板上将 JTAG 配置和 AS 配置相结合在原型开发环境中很有用,因为它支持多种方法对
您的 FPGA 进行配置。
f 要了解关于将 JTAG 配置和其它的配置方案相结合的更多信息,请参考配置手册第二卷
册的 Combining Different Configuration Schemes 章节。
图 10–18 显示了使用一个微处理器的 Stratix IV 器件的 JTAG 配置
图 10–18. 使用微处理器的一个单器件的 JTAG 配置
VCCPGM (1)
VCCPGM (1)
Memory
ADDR
Stratix IV Device
10 kΩ
DATA
VCCPD
Microprocessor
10 kΩ
TRST
TDI (4)
TCK (4)
TMS (4)
TDO (4)
nSTATUS
CONF_DONE
DCLK
nCONFIG
MSEL[2..0]
nCEO
(2)
(2)
(2)
N.C.
(3) nCE
GND
图 10–18 注释:
(1) 对于链中的所有的 Stratix IV 器件,连接上拉电阻到提供一个可接受的输入信号的电源上。 VCCPGM 必须足
够高电平来满足器件上的 I/O 的 VIH 规范。
(2) 连接 nCONFIG 和 MSEL[2..0] 管脚来支持一个非 JTAG 配置方案。如果您只使用一个 JTAG 配置,那么连
接 nCONFIG 到 VCCGPM 以及 MSEL[2..0] 到 GND。 将 DCLK 拉高或拉低,只要适合您的板级。
(3) 为了成功的进行 JTAG 配置,连接 nCE 到 GND 或驱动它为低电平。
(4) 微处理器必须使用和 VCCPD 相同的 I/O 标准来驱动 JTAG 管脚。
Jam STAPL
Jam™ STAPL, JEDEC 标准 JESD-71, 是一种用于在系统编程的标准文件格式 (ISP)。 通
过使用 IEEE 1149.1 JTAG 接口,Jam STAPL 支持可编程器件的编程或配置和电子系统
的测试。Jam STAPL 是一种免费授权的开放标准。
Jam Player 提供了一个接口,用于操作 IEEE Std. 1149.1 JTAG TAP 状态机。
f 要了解关于 JTAG 和嵌入式环境中的Jam STAPL 更多信息,请参考 Using Jam STAPL for
ISP via an Embedded Processor。要下载 Jam Player, 请访问 Altera 网页
www.altera.com。
Stratix IV 器件手册 第 1 卷
Altera 公司 2011 年 12 月
第 10 章 : Stratix IV 器件中的配置、 设计安全和远程系统更新
器件配置管脚
10–39
器件配置管脚
下面的表列出了 Stratix IV 器件的所有配置相关管脚的连接和功能。表 10–9 列出
了 Stratix IV 器件的配置管脚和它们的电源。
表 10–9. Stratix IV 器件配置管脚一览
说明
(1)
输入 / 输出
专用
供电支持
配置模式
TDI
输入
是
VCCPD
JTAG
TMS
输入
是
VCCPD
JTAG
TCK
输入
是
VCCPD
JTAG
TRST
输入
是
VCCPD
JTAG
TDO
输出
是
VCCPD
JTAG
CRC_ERROR
输出
—
上拉
可选的,所有模式
DATA0
输入
—
VCCPGM/VCCIO (3)
所有模式,除了 JTAG
DATA[7..1]
输入
—
VCCPGM/VCCIO (3)
FPP
INIT_DONE
输出
—
上拉
可选的,所有模式
CLKUSR
输入
—
VCCPGM/VCCIO (3)
可选的
nSTATUS
双向
是
VCCPGM/ 上拉
所有模式
nCE
输入
是
VCCPGM
所有模式
CONF_DONE
双向
是
VCCPGM/ 上拉
所有模式
nCONFIG
输入
是
VCCPGM
所有模式
PORSEL
输入
是
VCC
(2)
所有模式
ASDO
(4)
输出
是
VCCPGM
AS
nCSO
(4)
输出
是
VCCPGM
AS
输入
是
VCCPGM
PS, FPP
输出
是
VCCPGM
AS
DCLK (4)
nIO_PULLUP
输入
是
nCEO
输出
是
MSEL[2..0]
输入
是
VCC
(2)
所有模式
VCCPGM
VCC
所有模式
(2)
所有模式
表 10–9 注释:
(1) 管脚的总数是 29。专用管脚的总数是 18。
(2) 虽然 MSEL[2..0]、PORSEL 和 nIO_PULLUP 由 VCC 供电,但是 Altera 建议直接连接这些管脚到 VCCPGM 或 GND ,而无需使用一个上
拉或下拉电阻。
(3) 在配置期间,这些管脚由 VCCPGM 上电。如果它们在用户模式下被用作普通 I/O,那么这些管脚由 VCCIO 上电。
(4) 要三态此管脚,在 Quartus II 软件中,在 Assignments 菜单里,选择 Device。在 Device 页面,选择 Device and Pin
Options... 在 Device and Pin Options 页面,选择 Configuration 和选择 Enable input tri-state on active configuration
pins in user mode 选项。
Altera 公司 2011 年 12 月
Stratix IV 器件手册 第 1 卷
第 10 章 : Stratix IV 器件中的配置、 设计安全和远程系统更新
器件配置管脚
10–40
表 10–10 列出了专用配置管脚。为了进行成功的配置,您必须在电路板上正确的连接
这些管脚。对于您的配置方案,其中有一些管脚可能不需要。
表 10–10. Stratix IV 器件上的专用配置管脚
管脚名称
用户模式
配置方案
(1/4)
管脚类型
说明
专用电源管脚。使用该管脚为所有的专用配置输入、
专用配置输出、专用配置双向管脚和一些用于配置的
双功能管脚供电。
VCCPGM
N/A
所有
电源
您必须连接该管脚到 1.8、2.5 或 3.0 V。当 PORSEL
是低电平时,VCCPGM 必须在 100 ms 内从 0 V 斜升到
VCCPGM ,当 PORSEL 是高电平时,VCCPGM 必须在 4ms
内,从 0 V 斜升到 VCCPGM 。如果 VCCPGM 在该指定的时
间内没有斜升,那么您的 Stratix IV 器件将不会进
行成功的配置。 如果您的系统不支持 VCCPGM 在
100 ms 或 4 ms 之内的斜升,您必须保持 nCONFIG 低
电平直到所有的电源稳定。
专用电源管脚。使用该管脚为 I/O 预驱动器、JTAG 输
入和输出管脚、以及设计安全电路供电。
您必须连接该管脚到 2.5 V 或 3.0 V,这取决于选择
的 I/O 标准。对于 3.0-V I/O 标准,VCCPD = 3.0 V。
对于 2.5 V 或低于 I/O 标准,VCCPD = 2.5 V。
VCCPD
PORSEL
N/A
N/A
所有
所有
电源
输入
当 PORSEL 是低电平时,VCCPD 必须在 100 ms 内从 0 V
斜升到 2.5 V / 3.0 V 或者当 PORSEL 是高电平时,
必须在 4 ms 之内从 0 V 斜升到 2.5 V / 3.0 V。如果
VCCPD 在这个指定的时间内没有斜升,那么您的
Stratix IV 器件不会成功的配置。如果您的系统不支
持 VCCPD 在 100 ms 或 4 ms 之内的斜升时间,那么您
必须保持 nCONFIG 低电平直到所有的电源稳定。
在一个标准 POR 时间或一个快速 POR 时间之间做选择
的专用输入。一个逻辑低电平选择一个 100 ms < TPOR
< 300 ms 的标准 POR 时间设置,一个逻辑高电平选择
一个 4 ms < TPOR < 12 ms 的快速 POR 时间设置。
PORSEL 输入缓冲器由 VCC 供电,具有一个始终有效的
内部 5-kΩ 下拉电阻。直接连接 PORSEL 管脚到 VCCPGM
或 GND。
nIO_PULLUP
N/A
所有
输入
在配置之前和期间,选择在用户 I/O 管脚和两用 I/O
管脚 (nCSO、nASDO、DATA[7..0]、CLKUSR 和
INIT_DONE) 上的内部上拉电阻是开还是关的专用输
入。一个逻辑高电平关闭内部弱上拉电阻;一个逻辑
低电平将它们打开。
nIO-PULLUP 输入缓冲器由 VCC 供电,具有一个始终有
效的内部 5-kΩ 下拉电阻。nIO- PULLUP 可以被直接连
接到 VCCPGM, 取决于您器件的要求,使用一个 1- kΩ
上拉电阻或直接连接到 GND。
设置 Stratix IV 器件配置方案的三位配置输入。为
了恰当的连接,请参考第 10–2 页的表 10–1。
MSEL[2..0]
N/A
所有
输入
您必须硬线连接这些管脚到 VCCPGM 或 GND 上。
MSEL[2..0] 管脚有始终有效的内部 5-kΩ 下拉电阻。
Stratix IV 器件手册 第 1 卷
Altera 公司 2011 年 12 月
第 10 章 : Stratix IV 器件中的配置、 设计安全和远程系统更新
器件配置管脚
表 10–10. Stratix IV 器件上的专用配置管脚
管脚名称
nCONFIG
用户模式
N/A
配置方案
所有
10–41
(2/4)
管脚类型
说明
输入
配置控制输入。在用户模式期间拉该管脚为低电平导
致器件失去其配置数据,进入一个复位状态,以及三
态所有的 I/O 管脚。使该管脚回到一个逻辑高电平开
始一个重新配置。
只有当该管脚是高电平时,配置才有可能发生,除了
在 JTAG 编程模式下,当 nCONFIG 被忽略时。
器件在上电后立即驱动 nSTATUS 至低电平,并且在
POR 时间后释放它。
在用户模式和普通配置期间,该管脚由一个外部 10kΩ 电阻拉高。
该管脚,当由 Stratix IV 器件驱动为低电平时, 表
明器件在配置期间出现了错误。
nSTATUS
N/A
所有
双向开漏
■
状态输出 — 如果在配置期间发生一个错误,那么
nSTATUS 由目标器件拉低。
■
状态输入 — 如果一个外部源在配置或初始化期间驱
动 nSTATUS 管脚至低电平,那么目标器件进入错误
状态。
在配置和初始化之后驱动 nSTATUS 至低电平不影响配
置的器件。如果您使用一种配置器件,驱动 nSTATUS
至低电平将导致配置器件试图对器件进行配置,但由
于器件忽略用户模式中的 nSTATUS 跳变,器件不会进
行重配置。要开始一个重配置,nCONFIG 必须被拉
低。
如果您已经使能了 Auto-restart configuration
after error 选项,当检测到一个配置错误时,
nSTATUS 管脚进行从高到低再回到高的跳变。这个作
为一个低脉冲出现在管脚上,具有一个最低的脉冲宽
度 10 μs 到一个最高的脉冲宽度 500 μs,正如 tSTATUS
规范中所定义的那样。
如果 VCCPGM 没有被完全上电,那么以下的情况可能发
生:
nSTATUS
( 继续的 )
—
Altera 公司 2011 年 12 月
—
—
■
VCCPGM 被提供足够高的电量,以便使 nSTATUS 缓冲器
正确的运行,并且 nSTATUS 被驱动为低电平。当
VCCPGM 被斜升的时候,POR 跳变并且 nSTATUS 在 POR
超时后被释放。
■
VCCPGM 没有被提供足够高的电量使nSTATUS缓冲器正
确的运行。在该情况下,nSTATUS 可能出现逻辑高
电平,触发一个可能失败的配置尝试,因为 POR 还
没有跳变。当 VCCPD 被上电,nSTATUS 被拉低因为
POR 还没有跳变。在 VCCPGM 上电之后,当 POR 跳变
时,nSTATUS 被释放和拉高。在此刻,重配置被触
发并且器件被配置。
Stratix IV 器件手册 第 1 卷
第 10 章 : Stratix IV 器件中的配置、 设计安全和远程系统更新
器件配置管脚
10–42
表 10–10. Stratix IV 器件上的专用配置管脚
管脚名称
用户模式
配置方案
(3/4)
管脚类型
说明
状态输出。在配置之前和期间,目标器件驱动
CONF_DONE 管脚为低电平。在收到了没有错误的配置
数据之后,初始化周期开始,目标器件释放
CONF_DONE。
CONF_DONE
N/A
所有
双向开漏
状态输入。在收到所有的数据和 CONF_DONE 升高之
后,目标器件进行初始化和进入用户模式。
CONF_DONE 管脚必须有一个外部 10-kΩ 上拉电阻,以
便器件进行初始化。
在配置和初始化之后驱动 CONF_DONE 为低电平不影响
配置的器件。
nCE
N/A
所有
输入
低电平有效芯片使能。nCE 管脚使用一个低电平信号
激活器件以实现配置。nCE 管脚必须在配置、初始化
和用户模式期间保持低电平。在单器件配置中,它必
须被保持低电平。在多器件配置中,保持第一个器件
的 nCE 为低电平,而将它的 nCEO 管脚连接到链中的
下一个器件的 nCE 上。
保持 nCE 管脚为低电平,以便成功进行器件的 JTAG
编程。
nCEO
N/A
所有
输出
当器件配置完成时驱动为低电平的输出。在单器件配
置中,该管脚被悬空。在多器件配置中,该管脚驱动
下一个器件的 nCE 管脚。链中的上一个器件的 nCEO
被悬空。
nCEO 管脚由 VCCPGM 供电。
ASDO
nCSO
N/A
N/A
AS
AS
输出
输出
控制从 Stratix IV 器件到 AS 模式中的串行配置器件
的信号,该信号用于读取配置数据。
在 AS 模式中,ASDO 有一个始终有效的内部上拉电
阻。
此输出控制从 Stratix IV 器件到 AS 模式中的串行配
置器件的信号,该信号使能配置器件。
在 AS 模式中,nCSO 有一个始终有效的内部上拉电
阻。
在 PS 和 FPP 配置中,DCLK 是时钟输入,用于从外部
源计入数据到目标器件。数据被锁存到器件的 DCLK
的上升沿。
DCLK
N/A
同步配置方
案
(PS, FPP,
AS)
在 AS 模式中,DCLK 是一个来自 Stratix IV 器件的输
出,为配置接口提供时序。在 AS 模式中,DCLK 有一
个始终有效的内部上拉电阻 ( 通常是 25 kΩ )。
输入
(PS, FPP)
输出 (AS)
在 AS 配置方案中,该管脚在配置完成后被驱动到一
个无效状态。您可以在用户模式期间使用该管脚作为
一个用户 I/O。
在使用一个控制主机的 PS 或 FPP 方案中,您必须驱
动 DCLK 至高电平或低电平,取其方便而用。在被动
方案中,您不可以在用户模式期间使用 DCLK 作为用
户 I/O。
完成配置后触发此管脚不影响所配置的器件。
Stratix IV 器件手册 第 1 卷
Altera 公司 2011 年 12 月
第 10 章 : Stratix IV 器件中的配置、 设计安全和远程系统更新
器件配置管脚
表 10–10. Stratix IV 器件上的专用配置管脚
管脚名称
用户模式
配置方案
(4/4)
管脚类型
在 AS 模
式中的
N/A。
DATA0
在 PS 或
FPP 模式
中的
I/O 。
10–43
说明
数据输入。在串行配置模式下,位宽配置数据被介绍
到目标器件的 DATA0 管脚上。
PS, FPP, AS
输入
在 AS 模式中,DATA0 有一个始终有效的内部上拉电
阻。
在 PS 或 FPP 配置后 , DATA0 可以作为一个用户 I/O
管脚。该管脚的状态取决于 Dual-Purpose Pin 设置。
数据输入。字节宽配置数据被介绍到目标器件的
DATA[7..0] 上。
DATA[7..1]
I/O
并行配置方
案 (FPP)
输入
在串行配置方案中,在配置期间,它们用作用户 I/O
管脚,意味着它们处于三态。
在 FPP 配置后,DATA[7..1] 可以作为用户 I/O 管脚。
这些管脚的状态取决于 Dual- Purpose Pin 设置。
表 10–11 列出了可选的配置管脚。如果这些可选的配置管脚在 Quartus II 软件中没
有被使能,那么它们可以作为通用用户 I/O 管脚。因此,在配置期间,这些管脚用作
用户 I/O 管脚,并且利用弱上拉电阻三态。
表 10–11. 可选配置管脚
管脚名称
CLKUSR
用户模式
管脚类型
说明
如果选项打开,
是 N/A。如果选
项关闭,是 I/O
输入
可选用户 - 提供时钟输入同步一个或多个器件的初始化。通过
打开 Quartus II 软件中的 Enable user- supplied start-up
clock (CLKUSR) 选项,使能该管脚。
输出开漏
用作一个状态管脚来表明器件什么时候已经初始化和在用户模
式。当 nCONFIG 为低电平时和在配置开始期间,INIT_DONE 管
脚处于三态并且由于一个外部 10-kΩ 上拉电阻被拉高。在选
项位使能 INIT_DONE 被编程进器件 ( 在配置数据的第一个帧期
间 ) 之后 ,INIT_DONE 管脚变为低电平。当初始化完成的时
候,INIT_DONE 管脚被释放和拉高,器件进入用户模式。因
此,监控电路必须能够检测一个由低到高的跳变。通过打开在
Quartus II 软件中的 Enable INIT_DONE output 选项使能该
管脚。
INIT_DONE
如果选项打开是
N/A。如果选项
关闭是 I/O。
DEV_OE
如果选项打开是
N/A。如果选项
关闭是 I/O。
DEV_CLRn
如果选项打开是
N/A。如果选项
关闭是 I/O。
Altera 公司 2011 年 12 月
输入
输入
可选管脚使您能够覆盖器件上的所有三态。当该管脚被驱动至
低电平时,所有的 I/O 管脚处于三态。当该管脚被驱动至高电
平时,所有的 I/O 管脚均按编程工作。通过打开 Quartus II
软件中的 Enable device-wide output enable (DEV_OE) 选项
使能该管脚。
可选管脚使您能够覆盖所有器件寄存器的清零。当该管脚驱动
至低电平时,所有寄存器均被清零。当该管脚驱动至高电平
时,所有寄存器均按编程工作。通过打开 Quartus II 软件中
的 Enable device-wide reset (DEV_CLRn) 选项,使能该管
脚。
Stratix IV 器件手册 第 1 卷
第 10 章 : Stratix IV 器件中的配置、 设计安全和远程系统更新
器件配置管脚
10–44
表 10–12 列出了专用 JTAG 管脚。JTAG 管脚必须在配置之前和期间保持稳定,以便阻
止 JTAG 指令的意外加载。TDI、TMS 和 TRST 管脚有弱内部上拉电阻,而 TCK 有内部弱
下拉电阻 ( 通常是 25 kΩ )。如果您计划使用 SignalTap® 嵌入式逻辑阵列分析仪,您
必须连接 Stratix IV 器件的 JTAG 管脚到电路板上的 JTAG 插头。
表 10–12. 专用 JTAG 管脚
管脚名
称
TDI
TDO
用户模
式
N/A
N/A
管脚类型
说明
用于指令、测试和编程数据的串行输入管脚。数据被移到了 TCK 的上升沿上。
测试数据 TDI 管脚由 2.5- V/3.0-V VCCPD 电源供电。
输入
如果在您的电路板上不需要 JTAG 接口,您可以通过使用一个 1- kΩ 电阻连接该管
脚到逻辑高电平禁用 JTAG 电路。
用于指令、测试和编程数据的串行数据输出管脚。数据在 TCK 的下降沿上被移
出。如果数据没有从器件移出,管脚处于三态。TDO 管脚由 VCCPD 供电。 要了解关
测试数据 于在链中的器件上将 JTAG 链和多个电压连接到一起的建议,请参考 JTAG
输出
Boundary Scan Testing in Stratix IV Devices 章节。
如果在您的电路板上不需要 JTAG 接口,您可以通过悬空该管脚禁用 JTAG 电路。
TMS
N/A
提供控制信号以决定 TAP 控制器状态机的跳变的输入管脚。TMS 在 TCK 的上升沿
上被评估。因此,您必须在 TCK 的上升沿之前设置 TMS。在信号应用到 TMS 之
测试模式 后,状态机内的跳变发生在 TCK 的下降沿。TMS 管脚由 2.5- V/3.0-V V
CCPD 供电。
选择
如果在您的电路板上不需要 JTAG 接口,那么通过使用一个 1- kΩ 电阻连接该管脚
到逻辑高电平您可以禁用 JTAG 电路。
对 BST 电路的时钟输入。一些操作发生在上升沿,而其它的发生在下降沿。TCK
管脚由 2.5-V/3.0-V VCCPD 电源供电。
TCK
TRST
N/A
N/A
测试时钟
预计时钟输入波形有一个名义为 50% 的占空比。
输入
如果 JTAG 接口在您的电路板上不需要,您可以通过连接 TCK 到 GND 禁用 JTAG 电
路。
异步复位边界扫描电路的低电平有效输入。根据 IEEE Std. 1149.1,TRST 管脚
测试复位 是可选的。TRST 管脚由 2.5-V/3.0-V VCCPD 电源供电。
输入 ( 可 当 TRST 从 0 变到 1 时,保持 TMS 在 1 或者保持 TCK 静态。
选的 )
如果 JTAG 接口在您的电路板上不需要,您可以通过连接 TRST 管脚到 GND 禁用
JTAG 电路。
f 要了解关于管脚连接建议的更多的信息,请参考 Stratix IV GX and Stratix IV E
Device Family Pin Connection Guidelines。
Stratix IV 器件手册 第 1 卷
Altera 公司 2011 年 12 月
第 10 章 : Stratix IV 器件中的配置、 设计安全和远程系统更新
配置数据解压缩
10–45
配置数据解压缩
Stratix IV 器件支持配置数据解压缩,从而节省配置的存储空间和时间。该功能使您
能够在配置器件中或其它的存储器中存储压缩的配置数据,并且发送这个压缩的比特
流到 Stratix IV 器件。在配置期间,Stratix IV 器件实时解压缩比特流并且对它的
SRAM 单元进行编程。
1
初步数据表明,根据所使用的设计,压缩通常减少 30% 到 55% 大小的配置比特流。
Stratix IV 器件在 FPP( 当使用一个 MAX II 器件或微处理器 + 闪存 )、快速 AS 和 PS
配置方案中支持解压缩。Stratix IV 解压缩功能在 JTAG 配置方案中不可用。
在 PS 模式中,使用 Stratix IV 解压缩功能,因为发送压缩的配置数据减少配置时间。
当您使能压缩时,Quartus II 软件生成具有压缩配置数据的配置文件。该压缩文件减
少了配置器件或闪存中的存储要求,并减少了将比特流传输到 Stratix IV 器件所需的
时间。Stratix IV 器件解压缩配置文件所需的时间少于将配置数据传输到器件所需的
时间。
有两种方法为 Stratix IV 比特流使能压缩 — 在设计编译之前 ( 在编译器设置菜单中 )
和在设计编译之后 ( 在 Convert Programming Files 窗口 )。
要在项目的编译器设置菜单上使能压缩,请执行以下步骤:
1. 在作业 (Assignment) 菜单中,点击 Device 打开 Settings 对话框。
2. 选择 Stratix IV 器件之后,打开 Device and Pin Options 窗口。
3. 在 Configuration 设置标签中。打开 Generate compressed bitstreams ( 如中所
示图 10–19)。
图 10–19. 使能编译器设置中 Stratix IV 比特流的压缩
Altera 公司 2011 年 12 月
Stratix IV 器件手册 第 1 卷
第 10 章 : Stratix IV 器件中的配置、 设计安全和远程系统更新
配置数据解压缩
10–46
在 Convert Programming Files 窗口中创建编程文件时,您也可以使能压缩。要实现
这个,请按照以下步骤:
1. 在文件 (File) 菜单中,点击 Convert Programming Files。
2. 选择编程文件类型 (.pof、.sram、.hex、 .rbf, 或 .ttf)。
3. 对于 .pof 输出文件,选择一个配置器件。
4. 在 Input files to convert 框中,选择 SOF Data。
5. 选择 Add File 和添加一个 Stratix IV 器件的 .sof 文件。
6. 选择添加到 SOF Data 的文件的名字,然后点击 Properties。
7. 检查 Compression 复选框。
当多个 Stratix IV 器件级联时,如果使用一个串行配置方案,可以在链中为每个器件
选择性地使能压缩功能。图 10–20 显示了一条链中的两个 Stratix IV 器件。第一个
Stratix IV 器件具有压缩使能;因此,从配置器件中收到一个压缩的比特流。第二个
Stratix IV 器件的压缩功能禁用,所以收到未压缩的数据。
在一个多器件 FPP 配置链中 ( 有一个 MAX II 器件或微处理器 + 闪存 ),链中的所有
Stratix IV 器件必须使能或禁用解压缩功能。由于 DATA 和 DCLK 的关系,您不可以为
链中的每个器件选择性的使能压缩功能。
图 10–20.
在相同的配置文件中压缩和未压缩的配置数据
Serial Configuration Data
Serial Configuration
Device
Uncompressed
Configuration
Data
Compressed
Configuration
Data
Decompression
Controller
Stratix IV
Device
Stratix IV
Device
nCE
nCEO
nCE
nCEO
N.C.
GND
通过点击 Quartus II 软件中文件菜单的 Convert Programming Files,可以为此设置
生成编程文件。
Stratix IV 器件手册 第 1 卷
Altera 公司 2011 年 12 月
第 10 章 : Stratix IV 器件中的配置、 设计安全和远程系统更新
远程系统更新
10–47
远程系统更新
该部分介绍专用远程系统更新电路的功能和实现。它也定义了与远程系统更新有关的
几个概念,包括出厂配置、应用配置、远程更新模式和用户看门狗定时器。除此之外,
该部分提供利用支持的配置方案实现远程系统更新的设计指南。
系统设计师有时面临一些例如缩短的设计周期、不断发展的标准和在远程位置的系统
部署的挑战。Stratix IV 器件利用固有的重编程和专用电路来执行远程系统更新,帮
助克服了这些挑战。远程系统更新有助于在无需高成本召回的情况下实现性能的增强
以及漏洞的修复,同时缩短了产品面市时间,延长产品使用寿命,并有助于避免系统
故障。
专用远程系统更新电路是 Stratix IV 器件的一个特征。在 Stratix IV 器件中实现的
软逻辑 (Nios ® II 嵌入式处理器或者用户逻辑 ) 能够从远程位置下载新的配置镜像文
件,并保存在配置存储器中,然后命令专用的远程系统更新电路来初始化重配置周期。
在配置过程期间和之后,专用电路执行错误检测,通过恢复到一个安全配置镜像从任
何错误恢复,并且提供错误状态信息。
快速 AS Stratix IV 配置方案支持远程系统更新。通过使用高级 Stratix IV 功能,例
如实时配置数据的解压缩,以及使用高级加密标准 (AES) 进行安全和有效的现场更新
的设计安全,您也可以实现远程系统更新。最大的串行配置器件目前支持 128 Mbits
的配置比特流。
1
Stratix IV 器件仅在单器件快速 AS 配置方案中支持远程系统更新。因为最大的串行配
置器件目前支持 128 Mbits 的配置比特流,所以远程系统更新功能在 EP4SGX290、
EP4SE360 和较大器件中不被支持。
1
远程系统更新功能在多器件链中不被支持。
功能描述
在 Stratix IV 器件中的专用远程系统更新电路管理远程配置并且提供错误检测、恢复
和状态信息。在 Stratix IV 器件逻辑阵列中实现的用户逻辑或一个 Nios II 处理器提
供对远程配置数据源的访问和系统的配置存储器的接口。
Stratix IV 器件的远程系统更新过程包括以下步骤:
1. 在 Stratix IV 器件逻辑阵列中实现的一个 Nios II 处理器 ( 或用户逻辑 ) 从远程
位置接收新的配置数据。到远程资源的连接使用一个通信协议,如传输控制协议 /
互联网协议 (TCP/IP)、外设组件互联 (PCI)、用户数据报协议 (UDP)、通用异步接
收器 / 发送器 (UART) 或一个专用接口。
2. Nios II 处理器 ( 或用户逻辑 ) 在非易失的配置存储器中存储这个新的配置数据。
3. Nios II 处理器 ( 或用户逻辑 ) 使用新的或更新的配置数据开始一个重新配置周
期。
4. 专用远程系统更新电路对重新配置期间和之后可能发生的错误进行检测和恢复并且
将错误状态信息提供到用户设计。
Altera 公司 2011 年 12 月
Stratix IV 器件手册 第 1 卷
第 10 章 : Stratix IV 器件中的配置、 设计安全和远程系统更新
远程系统更新
10–48
图 10–21 显示了执行远程配置更新所需的步骤。( 图 10–21 中的数字对应刚才提到
的步骤 )
图 10–21. Stratix IV 远程系统更新的功能框图
1
2
Development
Location
Data
Stratix IV
Device
Control Module
Data
Configuration
Memory
Data
Stratix IV Configuration
3
图 10–22 显示了使用 Stratix IV 快速 AS 配置方案实现远程系统更新的结构框图。
图 10–22. Stratix IV 快速 AS 配置方案的远程系统更新结构框图
Stratix IV
Device
Nios II Processor
or User Logic
Serial
Configuration
Device
您必须设置模式选择管脚 (MSEL[2..0]) 到快速 AS 模式,以便在系统中使用远程系统
更新。表 10–13 列出了 Stratix IV 器件中的标准配置模式和远程系统更新模式下的
MSEL 管脚设置。以下部分介绍远程系统更新模式的远程更新。
要了解 Stratix IV 器件所支持的标准配置方案的更多信息 , 请参考第 10–2 页 “ 配
置方案 ”。
表 10–13. Stratix IV 器件中的远程系统更新模式
配置方案
快速 AS (40 MHz)
MSEL[2..0]
远程系统更新模式
011
标准
011
远程更新 (1)
表 10–13 注释 :
(1) 所有的 EPCS 密度能够支持 DCLK,高达 40 MHz,但是 0.18-μm 工艺几何生产的 EPCS1 和 EPCS4 的批处理
仅能够支持 DCLK 到 20 MHz。要了解更多信息,请参考 配置手册第二卷的 Serial Configuration Devices
(EPCS1, EPCS4, EPCS16, EPCS64, and EPCS128) Data Sheet 章节。
1
当使用快速 AS 模式时,您必须在 Quartus II 软件中选择远程更新模式,并插入
ALTREMOTE_UPDATE 宏功能来访问电路。要了解更多信息,请参第 10–57 页
“ALTREMOTE_UPDATE 宏功能 ”。
Stratix IV 器件手册 第 1 卷
Altera 公司 2011 年 12 月
第 10 章 : Stratix IV 器件中的配置、 设计安全和远程系统更新
远程系统更新
10–49
使能远程更新
在设计编译之前,您可以在 Quartus II 软件中 ( 在编译器设置菜单中 ) 为 Stratix IV
器件使能远程更新。在远程更新模式中,auto-restart configuration after error
选项始终是使能的。要在项目的编译器设置中使能远程更新,在 Quartus II 软件中,
请执行下面的步骤:
1. 在 Assignment 菜单中,点击 Device。Settings 对话框出现。
2. 点击 Device and Pin Options。Device and Pin Options 对话框出现。
3. 点击 Configuration 标签。
4. 在 Configuration scheme 列表中,选择 Active Serial ( 您也可以使用
Configuration Device) ( 图 10–23)。
5. 从 Configuration Mode 列表中,选择 Remote ( 图 10–23)。
6. 点击 OK。
7. 在 Settings 对话框中,点击 OK。
图 10–23. 编译设置菜单中为 Stratix IV 器件使能远程更新
配置镜像类型
当执行一个远程系统更新时,Stratix IV 器件配置的比特流归类为出厂配置镜像或应
用配置镜像。镜像,也称为配置,是一个加载到 Stratix IV 器件执行某些用户定义功
能的设计。
Altera 公司 2011 年 12 月
Stratix IV 器件手册 第 1 卷
第 10 章 : Stratix IV 器件中的配置、 设计安全和远程系统更新
远程系统更新模式
10–50
系统中的每个 Stratix IV 器件都需要一个出厂镜像,或另外一个或多个应用镜像。出
厂镜像是一个用户定义的候补,或安全配置,负责利用专用电路管理远程更新。应用
镜像在目标 Stratix IV 器件中实现用户定义功能。您可以将默认的应用镜像功能包括
在出厂镜像内。
一个远程系统更新使用远程通信接口,存储一个新的应用配置镜像或更新一个存在的
应用配置镜像。在远程存储和更新一个应用配置镜像之后,Stratix IV 器件的用户设
计使用新的镜像开始一个重配置周期。该重配置周期期间或之后出现的任何错误由专
用远程系统更新电路检测,并导致器件自动的恢复到出厂镜像。出厂镜像然后执行错
误处理和恢复。出厂配置仅由系统制造商写入串行配置器件一次,并且绝对不能被远
程更新。另一方面,应用配置可以在系统里被远程更新。两个镜像都可以开始系统重
配置。
远程系统更新模式
远程系统更新有一个操作模式 — 远程更新模式。远程更新模式在上电和提供了几个特
性之后,使您能够决定系统的功能性。
远程更新模式
在远程更新模式中,Stratix IV 器件在上电之后加载出厂配置镜像。用户定义的出厂
配置决定加载哪一个应用配置,并且触发一个重配置周期。出厂配置也可能包含应用
逻辑。
当和串行配置器件一起使用的时候,远程更新模式支持一个应用配置,以开始任何闪
存扇形边界。例如,这个在 EPCS64 器件中转换成一个最大值为 128 的扇形,在 EPCS16
器件中转换成最大值为 32 的扇形,其中每个页面的大小为 512 KBits。Altera 建议在
串行配置器件中,不对两个镜像使用相同的页面。除此之外,远程更新模式具有一个
用户看门狗定时器的特性,决定一个应用配置的有效性。
当一个 Stratix IV 器件在远程更新模式中第一次被上电时,它加载位于零页面的出厂
配置 ( 页面寄存器 PGM[23:0] = 24'b0)。要始终将系统的出厂配置存储在零地址页
面。这个对应到串行配置器件的起始地址位置 0×000000。
该出厂镜像是用户设计的,包括软逻辑实现以下几部分:
■
根据状态信息,处理来自专用远程系统更新电路的任何错误
■
与远程主机通信和接收新应用配置,并将新配置数据存储在位于非易失性的存储器
件中
■
决定加载哪一个应用配置到 Stratix IV 器件中
■
使能或禁用用户监视计时器并加载其超时值 ( 可选 )
■
指示专用远程系统更新电路以开始一个重配置周期
Stratix IV 器件手册 第 1 卷
Altera 公司 2011 年 12 月
第 10 章 : Stratix IV 器件中的配置、 设计安全和远程系统更新
远程系统更新模式
10–51
图 10–24 显示了在远程更新模式中,出厂和应用配置之间的转换。
图 10–24. 远程更新模式中的配置之间的转换
Configuration Error
Set Control Register
and Reconfigure
Power Up
Configuration
Error
Factory
Configuration
(page 0)
Application 1
Configuration
Reload a
Different Application
Reload a
Different Application
Set Control Register
and Reconfigure
Application n
Configuration
Configuration Error
在上电或配置出错后,出厂配置逻辑自动加载。出厂配置也必须指定是否为应用配置
使能用户看门狗定时器,如果使能,要包括定时器设置信息。
用户监视计时器确保应用配置有效和可运行。应用配置在用户模式操作期间,计时器
必须在一个特定的时间内连续的复位。只有有效的应用配置包括逻辑复位用户模式中
的计时器。该计时器复位逻辑必须是一个用户设计的硬件和 / 或软件健康的一部分,
用于监控表明无错误系统操作的信号。如果计时器在特定的时间内没有复位;例如,
用户应用配置检查到一个运行错误或者如果系统挂死,那么专用电路更新远程系统更
新状态寄存器,触发出厂配置的加载。
1
出厂配置的用户监视计时器被自动禁用。要了解关于用户监视计时器的更多信息,请
参考第 10–56 页 “ 用户看门狗定时器 ”。
如果在加载应用配置时出现一个错误,那么重配置过程由专用电路写入远程系统更新
状态寄存器。促使写入远程系统更新状态寄存器的操作是:
■
从外部将 nSTATUS 驱动为低电平
■
内部的 CRC 错误
■
用户看门狗定时器超时
■
一个配置复位 ( 逻辑阵列 nCONFIG 信号或外部的 nCONFIG 管脚置位至低电平 )
Stratix IV 器件自动加载位于零地址页面的出厂配置。该用户定义的出厂配置可以读
取远程系统更新状态寄存器,以决定重配置的理由。出厂配置然后采取适当的错误恢
复步骤,并写入到远程系统更新控制寄存器,以确定下一个要加载的应用配置。
Altera 公司 2011 年 12 月
Stratix IV 器件手册 第 1 卷
第 10 章 : Stratix IV 器件中的配置、 设计安全和远程系统更新
专用远程系统更新电路
10–52
当 Stratix IV 器件成功的加载应用配置时,它们进入用户模式。在用户模式下,软逻
辑 (Nios II 处理器或状态机和远程通信接口 ) 协助 Stratix IV 器件确定远程系统更
新到达的时间。当一个远程系统更新到达时,软逻辑接收传入数据,将它写入到配置
存储器件,并触发器件以加载出厂配置。出厂配置读取远程系统更新状态寄存器和控
制寄存器,确定有效的应用配置的加载,相应地写入远程系统更新控制寄存器,并开
始系统的重配置。
专用远程系统更新电路
该部分介绍 Stratix IV 远程系统更新专用电路的实现。远程系统更新电路在硬逻辑中
实现。该专用电路与用户定义的出厂和应用配置相连接,在 Stratix IV 器件的逻辑阵
列中实现,以提供完整的远程配置解决方案。远程系统更新电路包含远程系统更新寄
存器、一个监视计时器、和一个控制那些组件的状态机。
图 10–25 显示了远程系统更新模块的数据路径。
图 10–25. 远程系统更新电路数据路径
(1)
Internal Oscillator
Status Register (SR)
[4..0]
Control Register
[37..0]
Logic Array
Update Register
[37..0]
update
Shift Register
dout
Bit [4..0]
din
dout
capture
RSU
State
Machine
din
Bit [37..0]
capture
time-out
User
Watchdog
Timer
clkout capture update
Logic Array
clkin
RU_DOUT
RU_SHIFTnLD
RU_CAPTnUPDT
RU_CLK
RU_DIN
RU_nCONFIG
RU_nRSTIMER
Logic Array
图 10–25 注释:
(1) RU_DOUT、 RU_SHIFTnLD、 RU_CAPTnUPDT、 RU_CLK、 RU_DIN、 RU_nCONFIG 和 RU_nRSTIMER 信号由
ALTREMOTE_UPDATE 宏功能内部控制。
Stratix IV 器件手册 第 1 卷
Altera 公司 2011 年 12 月
第 10 章 : Stratix IV 器件中的配置、 设计安全和远程系统更新
专用远程系统更新电路
10–53
远程系统更新寄存器
远程系统更新模块包含了一系列的寄存器,用于存储页面地址、监视计时器设置和状
态信息。表 10–14 列出了这些寄存器。
表 10–14. 远程系统更新寄存器
寄存器
说明
移位寄存器
该寄存器通过逻辑阵列存取,也可以通过用户逻辑对更新寄存器、状态寄存器,和控制寄存器
进行写入和采样。
控制寄存器
该寄存器包含当前的页面地址、用户监视计时器设置和一个指定当前的配置是出厂配置还是应
用配置的位。在应用配置的读取操作期间,该寄存器由移位寄存器读取。当一个重配置周期开
始的时候,更新寄存器的内容被写入控制寄存器。
更新寄存器
该寄存器包含与控制寄存器里相似的数据。然而,它只能由出厂配置通过移入数据到移位寄存
器,并发出一个更新操作来进行更新。当出厂配置触发一个重配置周期时,控制寄存器更新为
更新寄存器的内容。在出厂配置的采集期间,该寄存器读取到移位寄存器中。
状态寄存器
每次重配置时,远程系统更新电路写入寄存器来记录重配置的原因。该信息是由出厂配置用于
确定重配置之后应采取的适当的行动。在采集周期期间,该寄存器读取到移位寄存器中。
远程系统更新控制和状态寄存器由 10-MHz 内部振荡器提供时钟 ( 控制用户监视计时器
的相同的振荡器 )。然而,远程系统更新移位和更新寄存器由用户时钟输入 (RU_CLK)
提供时钟。
远程系统更新控制寄存器
远程系统更新控制寄存器存储应用配置页面地址和用户监视计时器设置。控制寄存器
的功能性取决于远程系统更新模式选择。在远程更新模式中,控制寄存器页面地址位
在上电时被设置为全零 (24'b0 = 0x000000),以便加载出厂配置。远程更新模式中的
出厂配置已写入到该寄存器的访问。
图 10–26 和表 10–15 指定控制寄存器位的位置。在图表中,数字显示寄存器内的设
置的位的位置。例如,数字位 25 是监视计时器的使能位。
图 10–26. 远程系统更新控制寄存器
37 36 35 34 33 32 31 30 29 28 27 26
Wd_timer[11..0]
25
Wd_en
24 23 22 .. 3
PGM[23..0]
2
1
0
AnF
非工业应用 (AnF) 位表明加载到 Stratix IV 器件的当前的配置是出厂配置还是一个应
用配置。当一个错误情况导致退回出厂配置时,该位由远程系统更新电路设置为低电
平。当 AnF 位是高电平时,读取操作的控制寄存器访问是有限的。当 AnF 位是低电平
时, 寄存器支持写操作和禁用监视计时器。
在远程更新模式下,当使用应用页面地址和监视计时器设置对更新寄存器的内容进行
更新时,出厂配置设计设置该位为高电平 (1'b1)。
Altera 公司 2011 年 12 月
Stratix IV 器件手册 第 1 卷
第 10 章 : Stratix IV 器件中的配置、 设计安全和远程系统更新
专用远程系统更新电路
10–54
表 10–15 列出了远程系统更新控制寄存器的内容。
表 10–15.
远程系统更新控制寄存器的内容
控制寄存器位
远程系统更新模式
值
(2)
定义
AnF (1)
远程更新
1'b0
PGM[23..0]
远程更新
24'b0x000000
Wd_en
远程更新
1'b0
非工业应用
AS 配置起始地址 (StAdd[23..0])
用户监视计时器使能位
用户监视超时值
Wd_timer[11..0]
远程更新
12'b000000000000
( 最重要的 29 位中的 12 位数值:
{Wd_timer[11..0], 17'b0})
表 10–15 注释 :
(1) 在远程更新模式中,远程配置模块不自动更新 AnF 位 ( 您可以手动更新 )。
(2) 这是控制寄存器位的默认值。
远程系统更新状态寄存器
远程系统更新状态寄存器指定重配置触发的条件。各种触发和错误条件包括:
■
在应用配置期间的循环冗余校验 (CRC) 错误
■
nSTATUS 由于错误而让外部器件置位
■
Stratix IV 器件逻辑阵列触发了一个重配置周期,很可能发生在下载了一个新的应
用配置镜像之后
■
外部配置复位 (nCONFIG) 置位
■
用户看门狗定时器超时
图 10–27 和表 10–16 指定状态寄存器的内容。图表中的数字显示了一个 5 位寄存器
中的位位置。
图 10–27. 远程系统更新状态寄存器
4
Wd
3
2
1
nCONFIG Core_nCONFIG nSTATUS
0
CRC
表 10–16. 远程系统更新状态寄存器的内容
状态寄存器位
CRC ( 来自配置 )
nSTATUS
CORE_nCONFIG (1)
nCONFIG
Wd
定义
POR 复位值
CRC 错误导致的重配置
1 位 '0'
nSTATUS 导致的重配置
1 位 '0'
器件逻辑阵列导致的重配置
1 位 '0'
nCONFIG 导致的重配置
1 位 '0'
监视计时器导致的重配置
1 位 '0'
表 10–16 注释 :
(1) 逻辑阵列重配置强制系统加载应用配置数据到 Stratix IV 器件。这个在出厂配置通过更新更新寄存器指定合适的应用配置页面地址
之后发生。
Stratix IV 器件手册 第 1 卷
Altera 公司 2011 年 12 月
第 10 章 : Stratix IV 器件中的配置、 设计安全和远程系统更新
专用远程系统更新电路
10–55
远程系统更新状态机
远程系统更新控制和更新寄存器有相同的位定义,但是服务于不同的角色 ( 请参考第
10–53 页的表 10–14)。当两个寄存器仅可以在器件利用出厂配置镜像加载时更新,
更新寄存器的写入由用户逻辑控制;控制寄存器的写入由远程系统更新状态机控制。
在出厂配置中,用户逻辑为下一个应用配置位发送 AnF 位 ( 设置为高电平 )、配置地
址、和监视监控器设置到更新寄存器。当逻辑阵列配置复位 (RU_nCONFIG) 变低的,远
程系统更新状态机更新控制寄存器,和更新寄存器的内容,并且从新的应用页面开始
系统的重配置。
1
要确保在页面之间的成功的重配置,置位 RU_nCONFIG 信号为 250 ns 的最小值。这相当
于将 ALTREMOTE_UPDATE 宏功能的重配置输入选通为最小值为 250 ns 的高电平。
在一个错误或重配置触发情况的事件中,远程系统更新状态机指示系统,通过设置相
应的控制寄存器加载出厂或应用配置 ( 页面 0 或页面 1,基于模式和错误条件 )。在所
有可能的错误或触发情况的事件发生之后,表 10–17 列出了控制寄存器的内容。
在一个错误情况发生之后,但是在出厂配置加载之前,远程系统更新状态寄存器由专
用错误监控电路更新。
表 10–17. 一个错误或重配置触发情况发生后的控制寄存器的内容
重配置错误 / 出发
控制寄存器设置远程更新
nCONFIG 复位
所有的位是 0
nSTATUS 错误
所有的位是 0
CORE 触发的重配置
更新寄存器
CRC 错误
所有的位是 0
Wd 超时
所有的位是 0
在出厂配置访问更新寄存器的内容期间采集操作。用户逻辑使用该功能验证正确的写
入页面地址和监视监控器设置。应用配置中的读取操作访问控制寄存器的内容。用户
逻辑在应用配置中使用该信息。
Altera 公司 2011 年 12 月
Stratix IV 器件手册 第 1 卷
第 10 章 : Stratix IV 器件中的配置、 设计安全和远程系统更新
专用远程系统更新电路
10–56
用户看门狗定时器
用户监视计时器防止由于意外停止器件而出现的错误的应用配置。在一个应用配置成
功的加载到 Stratix IV 器件之后,系统使用计时器来检测运行错误。
用户监视计时器是一个计数器,通过出厂配置对远程系统更新控制寄存器载入的初始
值计数。计数器是 29 位宽和有一个最大为 229 的计数值。 当指定用户监视计时器值的
时候,仅指定最重要的 12 位。定时器设置的粒度是 217 周期。周期时间是以 10- MHz 内
部振荡器的频率为基础。表 10–18 列出了 10- MHz 内部震荡器的操作范围。
表 10–18. 10-MHz 内部震荡器规范
(1)
最小值
通用
最大值
单位
4.3
5.3
10
MHz
表 10–18 注释:
(1) 这些都是初始值
用户监视计时器在应用配置进入器件用户模式后开始计数。在计时器通过置位
RU_nRSTIMER 超时之前,该计时器必须由应用配置周期性的加载或复位。如果应用配置
在计数终止之前没有加载用户监视计时器,那么远程系统更新专用电路生成一个超时
信号。超时信号告诉远程系统更新电路在远程系统更新状态寄存器中设置用户监视计
时器状态位 (Wd) 和通过加载出厂配置重配置器件。
1
要支持远程系统更新专用电路来复位监视计时器,您必须置位 RU_nRSTIMER 信号有效至
250 ns 的最小值。这相当于选通 ALTREMOTE_UPDATE 宏功能的 reset_timer 输入为最小
值 250 ns 的高电平。
用户监视计时器在器件的配置周期期间没有被使能。在器件的配置周期期间,用户监
视计时器没有使能。CRC 引擎检查配置期间的错误。同样,出厂配置的计时器被禁用。
功能错误不应该在出厂配置中出现,因为它在生产过程中被存储和验证,并且它从不
远程更新。
1
在出厂配置中和在应用配置的配置周期期间,用户监视计时器被禁用。它在应用配置
进入用户模式后使能。
Stratix IV 器件手册 第 1 卷
Altera 公司 2011 年 12 月
第 10 章 : Stratix IV 器件中的配置、 设计安全和远程系统更新
Quartus II 软件支持
10–57
Quartus II 软件支持
Quartus II 软件具有在 Stratix IV 器件逻辑阵列和专用电路之间加入远程系统更新接
口、为生产生成配置文件和支持系统配置储存器的远程编程的灵活性。
ALTREMOTE_UPDATE 宏功能是在 Quartus II 软件中的实现选项,可用于在远程系统更新
电路和器件逻辑阵列接口之间的接口。使用宏功能模块而不是创建您自己的逻辑,可
以节省设计时间并且提供更高效的逻辑综合和器件实现。
ALTREMOTE_UPDATE 宏功能
ALTREMOTE_UPDATE 宏功能将一个如同存储器的接口提供到远程系统更新电路,并且处
理 Stratix IV 器件逻辑中的移位寄存器的读和写协议。该实现适合通过使用器件中的
Nios II 处理器或用户逻辑实现出厂配置功能的设计。
图 10–28 显示了在 ALTREMOTE_UPDATE 宏功能和 Nios II 处理器或用户逻辑之间的接
口信号
图 10–28. 在 ALTREMOTE_UPDATE 宏功能和 Nios II 处理器之间的接口信号
ALTREMOTE_UPDATE
read_param
write_param
param[2..0]
data_in[23..0]
Nios II Processor or
User Logic
reconfig
reset_timer
clock
reset
busy
data_out[23..0]
f 要了解关于 ALTREMOTE_UPDATE 宏功能和图 10–28 显示的端口说明的更多信息,请参考
Remote Update Circuitry (ALTREMOTE_UPDATE) Megafunction User Guide。
Altera 公司 2011 年 12 月
Stratix IV 器件手册 第 1 卷
第 10 章 : Stratix IV 器件中的配置、 设计安全和远程系统更新
设计安全
10–58
设计安全
该部分对设计安全功能和它在 Stratix IV 器件中使用高级加密标准 (AES) 的实现进行
了概述。它也涵盖了 Stratix IV 器件中可用的新的安全模式。
因为在激烈的商业和军事环境中,Stratix IV 器件继续在更广泛和更多的关键设计中
扮演着角色,所以保护设计免受复制、逆向工程和篡改也更加重要。
Stratix IV 器件使用易失和非易失的安全功能支持来解决这些顾虑。Stratix IV 器件
能够使用 AES 算法、一个由 FIPS-197 认证的工业标准加密算法来解密配置比特流。
Stratix IV 器件有一个采用 256 位安全密钥的设计安全特性。
在器件操作期间,Stratix IV 器件在 SRAM 配置单元中存储配置数据。因为 SRAM 是易
失的,所以 SRAM 单元必须在每次器件上电时加载配置数据。在配置数据从存储器源 (
闪存或者一个配置器件 ) 被发送到器件时,截获配置数据是可能的。截获的配置数据
接下来可以用于配置另一个器件。
当使用 Stratix IV 设计安全功能时,安全密钥存储在 Stratix IV 器件中。根据不同
的安全模式,您可以使用同一密钥进行加密的配置文件对 Stratix IV 器件进行配置,
或者对于板极测试,使用普通的配置文件对 Stratix IV 器件进行配置。
当通过带有外部主机的 ( 例如 MAX II 器件或微处理器 ) 的 FPP 配置模式对
Stratix IV 器件进行配置时 , 或者当使用快速 AS 或 PS 配置方案时,都可以使用这一
设计安全功能。这一设计安全功能也可用于快速 AS 配置模式下的远程更新。当您使用
基于 JTAG 的配置对 Stratix IV 器件进行配置时,该设计安全功能不可用。要了解更
多信息,请参考第 10–62 页 “ 支持的配置方案 ”。
1
当您使用一个串行配置方案时,例如 PS 或快速 AS 时 , 不管您是否使能设计安全功能,配
置时间都是相同的。如果 FPP 方案和设计安全或解压缩功能一起使用,那么需要一个
×4 的 DCLK。与即没有设计安全也没有解压缩功能使能的 Stratix IV 器件的配置时间
相比,这个会导致更慢的配置时间。
Stratix IV 器件手册 第 1 卷
Altera 公司 2011 年 12 月
第 10 章 : Stratix IV 器件中的配置、 设计安全和远程系统更新
设计安全
10–59
Stratix IV 安全保护
通过使用配置比特流加密,Stratix IV 器件的设计免受非法复制,逆向工程以及篡
改。
针对非法复制的保护
安全密钥被安全的存储在 Stratix IV 器件中,不能够通过任何接口读取。除此之外,
因为在 Stratix IV 器件不支持配置文件读回 , 所以设计信息不能够被复制。
针对逆向工程的保护
从一个加密的配置文件中进行逆向工程非常难并且很花时间,因为 Stratix IV 配置文
件格式是专有的,并且文件包含需要特定解密的百万的位。逆向工程 Stratix IV 器件
也很难,因为器件是由最先进的 40- nm 工艺技术生产的。
针对篡改的保护
非易失的密钥是一次可编程的。在篡改保护位设置在 Quartus II 生成的密钥编程文件
后,只能使用加密了相同的密钥的配置文件对 Stratix IV 器件进行配置。
AES 解密模块
AES 解密模块的主要用途是在进入数据解压缩或配置之前解密配置比特流。
在手动加密数据之前,您必须在器件中进入和存储 256- 位安全密钥。通过使用备用电
池,您可以在非易失安全密钥和易失安全密钥之间进行选择。
在将安全密钥存储在密钥存储器之前,它被加扰,以便使任何人都很难使用器件解封
装检索存储的密钥。
灵活的安全密钥存储
Stratix IV 器件支持两类的安全密钥编程 — 易失的和非易失的密钥。表 10–19 列出
了易失的和非易失的密钥之间的区别。
表 10–19. 安全密钥选项
选项
易失密钥
非易失密钥
密钥编程性
可重编程、可擦除密钥
一次可编程的
外部电池
需要的
不需要
密钥编程方法 (1)
电路板上
打开和关闭电路板
设计保护
针对非法复制和逆向工程的
保护
针对非法复制和逆向工程的
保护。如果篡改保护位被设
置,那么是抗篡改的。
表 10–19 注释:
(1) 使用 JTAG 接口进行密钥编程。
您可以编程非易失密钥到 Stratix IV 器件,而无需使用一个外部电池。同样,对于任
何的 Stratix IV 电源输入,没有额外的要求。
Altera 公司 2011 年 12 月
Stratix IV 器件手册 第 1 卷
第 10 章 : Stratix IV 器件中的配置、 设计安全和远程系统更新
设计安全
10–60
VCCBAT 是易失的密钥存储器的专用电源,并且不和其它的片上电源共享,例如 VCCIO 或
VCC。不管片上电源供给的条件如何,VCCBAT 不断为易失性寄存器供电。
1
1
上电之后,您必须在密钥编程开始前等待 300 ms (PORSEL = 0) 或 12 ms (PORSEL =
1),以确保 VCCBAT 达到应有的电压。
要了解关于怎样计算用于易失密钥存储的电池的密钥保持时间的更多信息,请参考
Stratix III, Stratix IV, Stratix V, HardCopy III and HardCopy IV PowerPlay
Early Power Estimator。
f 要了解关于电池规范的更多信息,请参考 DC and Switching Characteristics for
Stratix IV Devices 章节。
f 要了解关于 VCCBAT 管脚连接建议的更多信息,请参考 Stratix IV GX and Stratix IV E
Device Family Pin Connection Guidelines。
Stratix IV 设计安全解决方案
Stratix IV 器件是基于 SRAM 的器件。为了提供设计安全,Stratix IV 器件需要一个
256 位的安全密钥进行配置比特流加密。
您可以根据以下的步骤进行安全配置,如图 10–29 所示 :
1. 将安全密钥编成到 Stratix IV 器件。
2. 通过 JTAG 接口,编程用户定义的 256 位 AES 密钥到 Stratix IV 器件中。
3. 加密配置文件,并且将其存储在外部储存器中。
4. 使用编程 Stratix IV 器件的相同的 256 位密钥加密配置文件。配置文件的加密是
使用 Quartus II software 完成的。加密的配置文件然后被加载到外部储存器中,
例如一个配置或闪存器件。
5. 配置 Stratix IV 器件。
Stratix IV 器件手册 第 1 卷
Altera 公司 2011 年 12 月
第 10 章 : Stratix IV 器件中的配置、 设计安全和远程系统更新
设计安全
10–61
系统上电时,外部的储存器件发送加密的配置文件到 Stratix IV 器件。
图 10–29. 设计安全
(1)
Stratix IV Device
User-Defined
Step 1
Key Storage
AES Key
AES
Decryption
Step 3
Encrypted
Step 2
Memory or
Configuration
Configuration
File
Device
图 10–29 注释 :
(1) 步骤 1、步骤 2 和步骤 3 与第 10–58 页 “ 设计安全 ”。
可用安全模式
以下的安全模式在 Stratix IV 器件中可用。
易失密钥
具有易失密钥编程和所需外部电源的安全操作:该模式接受加密和非加密的配置比特
流。仅对板极测试使用未加密的配置比特流支持。
非易失密钥
具有一次性的可编程 (OTP) 安全密钥编程的安全操作:这个模式接受加密和没有加密
的配置比特流。仅对板极测试使用没有加密的配置比特流。
具有篡改保护位设置的非加密密钥
具有 OTP 安全密钥编程的抗篡改模式的安全操作:只有加密的配置比特流可以配置器
件。篡改保护禁用未加密的配置比特流的 JTAG 配置。
1
在 Stratix IV 器件中使能篡改保护位禁用测试模式。这个过程是不可逆的,如果测试
模式被禁用,那么就会禁止 Altera 进行故障分析。请联系 Altera 技术支持来使能篡
改保护位。
Altera 公司 2011 年 12 月
Stratix IV 器件手册 第 1 卷
第 10 章 : Stratix IV 器件中的配置、 设计安全和远程系统更新
设计安全
10–62
无密钥操作
只有没有加密的配置比特流允许配置器件。
表 10–20 列出了不同的安全模式和每个模式支持的配置比特流。
表 10–20. 安全模式支持的
模式
(1)
功能
易失密钥
非易失密钥
具有篡改保护位设置的非易
失密钥
配置文件
安全
加密的
板极测试
无加密的
安全
加密的
板极测试
无加密的
安全 ( 抗篡改 )
(2)
加密的
表 10–20 注释 :
(1) 在无密钥操作中,仅支持没有加密的配置文件。
(2) 篡改保护位设置不会阻止器件被重配置。
支持的配置方案
当您加密 Stratix IV 器件时,根据选择的安全模式,Stratix IV 器件仅支持所选的配
置方案。
图 10–30 显示了当加密 Stratix IV 器件时的每个安全模式的限制。
图 10–30. Stratix IV 器件中的安全模式 — 序列和限制
No Key
Volatile Key
Unencrypted or
Encrypted
Configuration File
Unencrypted
Configuration File
Non-Volatile Key
Unencrypted or
Encrypted
Configuration File
Non-Volatile Key
with
Tamper-Protection
Bit Set
Encrypted
Configuration File
Stratix IV 器件手册 第 1 卷
Altera 公司 2011 年 12 月
第 10 章 : Stratix IV 器件中的配置、 设计安全和远程系统更新
设计安全
10–63
表 10–21 列出了每个安全模式支持的配置模式。
表 10–21. 各种安全模式所支持的配置模式
安全模式
(1)
配置文件
无密钥
没有加密的
有易失性密钥的安全保护
有易失性密钥的板极测试
加密的
没有加密的
无易失性密钥的安全保护
无易失性密钥的板极测试
加密的
没有加密的
在抗篡改模式下,使用非
易失性密钥以及篡改保护
设置的安全保护
加密的
所支持的配置模式
不采用设计安全功能的所有配置模式。
■
被动串行以及 AES ( 和 / 或者具有解压缩 )
■
快速被动并行以及 AES ( 和 / 或者具有解压缩 )
■
远程更新快速 AS 以及 AES ( 和 / 或者具有解压缩 )
■
快速 AS ( 和 / 或者具有解压缩 )
不采用设计安全功能的所有配置模式。
■
被动串行以及 AES ( 和 / 或者具有解压缩 )
■
快速被动并行以及 AES ( 和 / 或者具有解压缩 )
■
远程更新快速 AS 以及 AES ( 和 / 或者具有解压缩 )
■
快速 AS ( 和 / 或者具有解压缩 )
不采用设计安全功能的所有配置模式。
■
被动串行以及 AES( 和 / 或者具有解压缩 )
■
快速被动并行以及 AES ( 和 / 或者具有解压缩 )
■
远程更新快速 AS 以及 AES ( 和 / 或者具有解压缩 )
■
快速 AS ( 和 / 或者具有解压缩 )
表 10–21 注释 :
(1) 除了 FPP 和 AES ( 和 / 或者解压缩 ) 在一起使用时需要 ×4 的数据速率的 DCLK 以外,当与没有加密的配置模式相比时,对所需的配置
时间没有影响。
您可以将设计安全功能和其它的配置功能一起使用,例如压缩和远程系统更新功能。
当您将压缩功能和设计安全功能一起使用的时候,通过使用 Quartus II,配置文件首
先被压缩,然后被加密。在配置期间,Stratix IV 器件首先解密,然后解压缩配置文
件。
文档修订历史
表 10–22 列出了本章的修订历史。
表 10–22. 文档修订历史
日期
版本
2011 年 12 月
3.4
2011 年 4 月
3.3
2011 年 2 月
(1/2)
3.2
Altera 公司 2011 年 12 月
修订内容
更新了表 10–2 和表 10–7。
■
更新了“使用MAX II器件作为一个外部主机的FPP配置”、“快速主动串行配置(
串行配置器件 )” 和 “ 使用 MAX II 器件作为一个外部主机的 PS 配置 ”。
■
更新了表 10–10。
■
更新了“快速主动串行配置(串行配置器件)”、“使用MAX II器件作为外部主机
的 FPP 配置 ”、“ 配置数据解压缩 ” 和 “ 用户监控计时器 ” 部分。
■
更新了表 10–2、表 10–4、表 10–5、表 10–7 和表 10–9。
■
应用新的模板。
■
少量文本编辑。
Stratix IV 器件手册 第 1 卷
第 10 章 : Stratix IV 器件中的配置、 设计安全和远程系统更新
设计安全
10–64
表 10–22. 文档修订历史
日期
2010 年 3 月
2009 年 11 月
2009 年 6 月
版本
3.1
2.3
2.2
2009 年 3 月
2.1
2008 年 5 月
修订内容
■
添加 “ 在 AS 接口上连接串行配置器件的指南 ” 部分。
■
更新了 “ 上电复位电路 ” 和 “ 快速主动串行配置 ( 串行配置器件 )” 部分。
■
更新了表 10–2、表 10–4、表 10–5、表 10–10 和表 10–13。
■
更新了注释 5 的图 10–16 和图 10–17。
■
更新了图 10–4、图 10–5 和图 10–13。
■
更新了在 “ 配置方案 ” 部分的参考。
■
更新了表 10–1 和表 10–2。
■
更新了“使用MAX II器件作为外部主机的FPP配置”、“快速主动串行配置(串行
配置器件 )”、“ 器件配置管脚 ”、“ 远程系统更新 ”、“ 远程系统更新模式
”、“ 估计主动串行配置时序 ”、“ 远程系统更新状态机 ” 和 “ 用户监控计
时器 ” 部分。
■
删除表 10-4、表 10-7、表 10-8 和表 10-25。
■
少量文本编辑。
■
更新了 “VCCPD 管脚 ”、“ 使用 MAX II 器件作为外部主机的 FPP 配置 ”、 “ 估计
主动串行配置时序 ”、“ 快速主动串行配置 ( 串行配置器件 )”、“ 远程系统
更新 ”、“ 使用 MAX II 器件作为外部主机的 PS 配置 ” 和 “ 使用下载电缆的
PS 配置 ” 部分。
■
更新了表 10–3、表 10–13 和表 10–2。
■
添加引导句来提高搜索能力。
■
删除结论部分。
■
少量文本编辑。
■
更新了表 10–2。
■
更新了表 10–1、表 10–2 和表 10–9。
■
删除 “ 参考文件 ” 部分。
■
更新了 “ 快速主动串行配置 ( 串行配置器件 )” 和 “JTAG 配置 ” 部分。
■
更新了图 10–4、图 10–5、图 10–6 和图 10–13。
■
更新了图 10–2 和图 10–13。
3.0
2009 年 4 月
2008 年 11 月
(2/2)
2.0
1.0
Stratix IV 器件手册 第 1 卷
首次发布。
Altera 公司 2011 年 12 月
Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF

advertising