UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 20071

Spartan-3 配置 - DONE 引脚被外部置低;如何确定 DONE 引脚是否已被释放?

描述

如何确定 DONE 引脚已被外部置低,或 FPGA 是否还未释放该信号?

解决方案

DONE 引脚在默认情况下是一个漏极开路驱动器,必须被置于逻辑高电平,以便使多个 FPGA能够配置为串联菊花链结构。

当器件配置为串联菊花链结构时,上游器件在将配置数据传递给下游器件之前需进行完全编程。 上游器件编程完毕后,它会释放 DONE 引脚并在Startup过程等待,直到其他所有 FPGA 释放 DONE 引脚且 DONE 信号升高为止。

Spartan-3 器件在 DONE 管脚处包含一个可编程内部上拉电阻;该电阻通过 BitGen 中的DonePin 选项启动。 默认设置是启用上拉电阻 (pull-up)。pull-none 设置则关闭上拉,且只有当计划为该引脚连接外部上拉电阻时才能使用此设置。

此外,BitGen 中的 DriveDone 选项会使 FPGA 主动将 DONE 信号置为高电平,而不是简单释放该信号在串行菊花链结构中,只有最后一个器件可以使用该选项(否则,一旦配置信息被加载,上游器件就会主动将 DONE 信号置为高电平,造成共享 DONE 信号争用)。

确定 Spartan-3 器件是否已释放 DONE 引脚

您可以利用 JTAG 指令捕捉直接确定 DONE 引脚是否已被释放。利用指令捕捉寄存器访问内部 "release_done" 信号;该信号用于释放 DONE 引脚。

JTAG 指令捕捉

要想执行 JTAG 指令捕捉,应复位 TAP 控制器,然后移至 Shift-IR 状态。TCK 计时六次,同时保持 TMS=0。 器件将把 IR 捕捉值时钟输出到它的 TDO 引脚。Instruction_Capture 格式中的第 5 位表明 DONE 信号是否已被释放。以下内容来自 Spartan-3 BSDL 文件:

XC3S400_FG456 的INSTRUCTION_CAPTURE 属性:entity is

-- 当 DONE 被释放后,第 5 位是 1(启动序列的一部分)

-- 如果 house-cleaning 完成,第 4 位是 1

-- 第 3 位是 ISC_Enabled

-- 第 2 位是 ISC_Done

"XXXX01";

注:当进入 Shift-IR 状态时,IR-Capture 寄存器的第 1 位被移出。IR-Capture 寄存器的 LSB 首先被移出, 因此,10XXXX 被转移到 TDO。

BitGen 设置

再次检查用于生成比特流的启动顺序选项。在 DONE 释放周期中,定序器总是在该状态下等待,直到 DONE 被外部释放为止。此动作类似于 XC4000 FPGA 中的 SyncToDONE 行为。 但如果 GTS、GSR 或 GWE 选择在 DONE 之前释放,这样就无法保持 GTS、GSR 或 GWE 周期。 因此,默认设置下 DONE 位于序列中的第一位。对于真正的 SyncToDONE 动作而言,应将 GTS、GSR 和 GWE 周期设置为 BitGen 选项中的 DONE 值,以使这些信号随 DONE 转换(外部)为高电平时而进行转换。

如果 FPGA 在菊花链结构中,DONE 引脚可能被其他某个 FPGA 置为低电平。Spartan-3 器件的推荐启动选项如下:

DONE_cycle:4

GTS_cycle:5

GWE_cycle:6

AR# 20071
日期 12/15/2012
状态 Active
Type 综合文章
的页面