AR# 56363

|

Spartan-6 FPGA 设计咨询 — 如果在配置器件时引脚上出现逆变值,JTAG 边界扫描测试就可能失败。

描述

设计咨询包含 Spartan-6 系列。当在经过配置的 Spartan-6 器件上执行边界扫描测试时,可能因 EXTEST 而产生错误值并由 SAMPLE 指令读取。当 IOB 经过配置包含逆变器后,该逆变器也包含在焊盘至边界扫描单元的路径上。这会导致由该单元驱动和或采样的异常值,以及后续边界扫描测试矢量的失败。SAMPLE、PRELOAD、EXTEST 以及 INTEST JTAG 指令都会受到影响。只有在对器件进行配置并且配置 IOB 以包含逆变器的时候才会出现这种问题。

解决方案

在通过引脚进行 BSCAN 测试时,以下条件会导致该问题的出现:

  • 配置 Spartan-6 FPGA
  • 对 IOB 进行编程以包含逆变器

有几种解决方法可以采用。

(1) 阻止 FPGA 配置通过保持低 INIT 引脚或者在通过闪存进行配置时改变 MODE 引脚值,可实现这一点。
(2) 使用 PROG 引脚或电源周期清除预配置并预防重配置。
(3) 利用不使用输入端逆变的设计方案覆盖 FPGA 配置。可使用 SVF 文件在 JTAG 工具上完成。使用 BitGen 中的压缩功能来创建和生成带有简单逻辑的虚设计。这将最小化 SVF 加载时间。
(4) 修改初始设计以避免 IOB 逆变路径。用户可识别使用逆变路径的 IOB(例如通过 FPGA 编辑器或逆变边界扫描值),并将逆变器放在 CLB 中。 下面是一个 LUT1 逆变器实例,通过 UCF LOC 约束将该逆变器放入 CLB 中。

VHDL:

  -- LUT1 逆变器   LUT1_inst : LUT1     参数映射 (INIT => "01")     port map (       O => LED7, -- LUT general output       I0 => IN7 -- LUT input     );

UCF:

  # UCF 约束将 LUT1_inst 逆变器放入 SLICE(与放入 IOB 的情况进行对比)   INST LUT1_inst LOC=SLICE_X*Y*;

Revision History
6/13/2013 - Initial release

链接问答记录

主要问答记录

Answer Number 问答标题 问题版本 已解决问题的版本
34856 Design Advisory Master Answer Record for Spartan-6 FPGA N/A N/A
AR# 56363
日期 02/18/2014
状态 Active
Type 设计咨询
器件
Tools
People Also Viewed