一乐电子

 找回密码
 请使用微信账号登录和注册会员

QQ登录

只需一步,快速开始

微信扫码登录

手机号码,快捷登录

手机号码,快捷登录

搜索
查看: 6916|回复: 0

iMPACT简介

[复制链接]
发表于 2010-7-17 07:23 | 显示全部楼层 |阅读模式
1. iMPACT简介 1 X( B  t9 m- I& C
iMPACT 支持4种下载模式:边界扫描,从串模式、SelectMap模式以及Desktop配置模式。从串模式是一种常用配置电路,可用USB口或并口完成配置。 SelectMap模式是一种并行配置模式,速度快,但需要使用多个信号管脚。Desktop模式是一种高速配置模式,可配置FPGA、 PROM以及SystemACE,但需要专用的硬件设备。在实际中,由于边界扫描模式标准统一、设备简单,且可通过JTAG链路配置FPGA、CPLD以 及PROM,使用最为广泛。因此本节主要基于边界扫描模式来介绍IMPACT的使用方法。 1 u. Y, ]8 ]0 ]  N; K# @; j
当设计完成后,ISE调用BitGEN程序把布局布 线后的.ncd文件转化成.bit文件,包括了配置数据和配置指令。如果使用JTAG模式,可直接将.bit文件通过iMPACT文件配置到FPGA芯片 中。如果要用其它模式配置FPGA,则需要通过iMPACT进行格式转化,生成.mcs、.exo 以及.hex等文件格式,表M对常用的配置文件进行比较和说明。0 P  S9 N  f) A1 M
表5-19 常用的Xilixn FPGA配置文件格式列表
1 y. m! }4 d, @( Q1 J* D$ Y: Chttp://www.eefocus.com/data/08-03/4155_1205985007/1211976459.jpg* I$ v! H1 l, R& N
对于FPGA器件,iMPACT能够直接将.bit位流文件下载到芯片中,或者将其转换为PROM器件的EXO/MCS文件格式,并下载到PROM芯片中。 " V1 E) ?' z" @
2. iMPACT用户界面 ! @7 U) U6 [+ X3 g
有 两种方法可以启动iMPACT软件,一种是在ISE过程管理区中,点击Generate Programming File前面的“+”号,再双击“Configure Device”,在ISE环境下运行;另一种是通过点击“开始 程序 ISE9.1 Accessories iMPACT”,在Windows环境下单独运行。其用户界面如图M所示。
6 i1 w( i  J6 t- uhttp://www.eefocus.com/data/08-03/4155_1205985007/1206510043.jpg
& z" s) \( K2 D% L, `图5-35 iMPACT的用户界面6 P, c; x4 j9 j( O' i
iMPACT的用户界面主要由File、Edit、View、Operations、Options、Output、Debug、Window、Help菜单栏和常用工具栏组成。下面对常用的菜单栏操作进行简要介绍。
  • File菜单
% p5 O% O! ~1 \& `) d' f
        File菜单包含了常见的文件操作,其中的“Initialize Chain”用于自动完成边界扫描JTAG链上的器件类型和数目;“Export Project to CDF”用于把向前项目信息保存到CDF(Chain Description File)文件中。
  • Edit菜单
$ _# _( ?$ _& M, N% k5 Q
        Edit菜单包含了常用的配置操作,其中的“Add Device”用于手动创建JTAG扫描链时添加PROM或FPGA芯片;“Assign Configuration File”用于指定配置文件;“EDIT ROM”用于修改和删除PROM芯片;“Preference”用于设定iMPACT的通用选项。
  • View菜单
) Q* D8 r9 e" T+ `: t' O
        View菜单包含了各个窗口显示/关闭的操作。
  • Operations菜单
& p# W+ a% P3 i( S; N1 o# I" k5 S
Operations菜单包含了配置、验证、擦除以及各类验证操作。其中“Program”用于对器件编程,下载相应的配置文件;“Verify”用于验证下载是否正确;“Erase”用于擦除FPGA或PROM芯片内的内容。
  • Options菜单

/ r* \, j. P, P- p! x        Options菜单包含编程、擦除以及回读等选项。
  • Output菜单

4 a% c/ b" k! |3 A3 S( p" k        Output菜单包含了常用的电缆操作。其中“Cable Auto Connect”用于电缆自动连接;“Disconnect All Cables”用于断开所有电缆
  • Debug菜单
2 t3 v) ]) J, i
        Debug菜单包含了JTAG扫描连所有的调试操作。其中“Start/Stop Debug Chain”用于启动或停止调试;“Chain Integrity Test”用于扫描立案完整性测试;“IDCODE Test”用于IDCODE测试。
  • Window菜单
+ {" R5 ^  x5 K* V, q. S
        Window菜单包含了窗口管理操作,如关闭窗口、上一下/下一个窗口等。
  • Help菜单

. u' V$ J8 m; O. v5 e8 \         Help菜单包含了iMPACT的在线帮助和版本信息。) c1 S. Y8 e8 O  M8 `$ X
5.4.2 使用IMPACT创建配置文件+ g; P: N! H2 U' D
一 个设计经过综合、实现之后,需要为器件生成相应的编程文件。ISE中内嵌了比特流生成器,可生成FPGA以及PROM格式文件,从而实现动态配置,并验证 数据是否正确。由于Xilinx FPGA支持多种配置模式,因此在完成数据配置之前,需要选择一个合适的模式,以避免出现编程错误 * O6 j+ x5 t* W8 a& a0 h$ u
1. 配置参数设置窗口 ! h/ f/ H/ U) \- _# @
在过程窗口中,选中[Generate Programming File]并单击右键打开[Process Properties]窗口,在其中可完成对各类编程参数的选择和配置。 0 |- k7 g$ o) S2 z( M
(1)通用参数设置窗口
0 E2 r6 x2 y' |7 O通用参数设置窗口如图5-36所示,主要选择配置文件的格式以及各种校验规则。
8 R4 q5 w; i' w0 q$ s" t0 Yhttp://www.eefocus.com/data/08-03/4155_1205985007/1211976574.jpg1 U; @2 G) ]! ~* R' c
图5-36 通用参数(General Options)设置窗口
. P+ {) |% o3 L* W2 p% I其中相应的选项说明如下:
  • Run Design Rules Checker(DRC):运行设计规则校验。建议使用该功能,在位流文件生成中进行规则校验,这样可对NCD文件进行评估。其默认值为选中。
  • Creat Bit File:创建位流文件。用于设计在实现后生成可配置的比特文件。其默认值为选中。
  • Creat Binary Configuration File:创建二进制配置文件。其默认值为不选中。
  • Creat ASCII Configuration File:创建ASCII配置文件。其默认值为不选中。
  • Creat IEEE 1532 Configuration File:创建符合IEEE 1532标准的配置文件,仅对Virtex系列芯片有关。其默认值为不选中。
  • Creat BitStream Compression:使能比特文件压缩功能,可节约PROM的存储空间。其默认值为不选中。
  • Enable Debugging of Serial Mode BitStream:使能比特文件的调试功能。其默认值为不选中。
  • Enable Cyclic Redundancy Checking(CRC):使能循环冗余校验,在配置数据中添加4位校验码。其默认值为不选中。
& \& |! F  \3 s/ O
(2)配置参数设置窗口 & a3 A  }, G9 {
配置参数设置窗口如图5-37所示,主要完成配置电路所用管脚内部电阻的选择。
  I9 `. O) |8 t3 l8 E7 U6 Mhttp://www.eefocus.com/data/08-03/4155_1205985007/1206510141.jpg
# k. k/ V5 d+ p  r. `! F! c图5-37 配置参数(Configuration Options)设置窗口$ ^7 _$ W$ Y, {& U: V; L
其相应的选项说明如下:
  • Configuration Rate:配置数据速率。其默认值为4Mbps。
  • Configuration Clk(Configuration Pins):用于选择配置时钟管脚CCLK内部是否使用上拉电阻,有“Pull up”和“Float”两种选择。选择上拉可以减小时钟信号线上的干扰信号,默认值为选择内部上拉。
  • Configuration Pin M0:用于选择模式控制管脚M0的内部电阻阻值,有“Pull Up”、“Float”和“Pull Down”3种选择,分别对应着上拉、悬空和下拉,其电阻值的范围为50 ~ 100 ,上拉和下拉能在一定程度上减小干扰。默认值为选择内部上拉。
  • Configuration Pin M1:用于选择模式控制管脚M1的内部电阻阻值。同M0的说明。
  • Configuration Pin M2:用于选择模式控制管脚M2的内部电阻阻值。同M0的说明
  • Configuration Pin Program:用于选择编程控制管脚PROG的内部电阻阻值,有“Pull Up”、“Float”和“Pull Down”3种选择,分别对应着上拉、悬空和下拉,上拉和下拉能在一定程度上减小干扰,避免非法操作。默认值为选择内部上拉。
  • Configuration Pin Done:用于选择DONE管脚的内部电阻阻值,有“Pull Up”、“Float”和“Pull Down”3种选择,分别对应着上拉、悬空和下拉,其电阻值的范围为2 ~ 18 。由于DONE信号为集电极开路输出,必须有终端电阻才能正常工作,如果外部电路中没有上拉电阻,则必须选择“Pull Up”;同样,在选择“Float”时,要保证外部电路中已有上拉电阻。
  • Configuration Pin Init
  • Configuration Pin CS
  • Configuration Pin DIn
  • Configuration Pin Busy
  • Configuration Pin RdWr
  • JTAG Pin TCK:用于选择JTAG时钟管脚TCK的内部电阻阻值,有“Pull Up”、“Float”和“Pull Down”3种选择,分别对应着上拉、悬空和下拉,建议选择内部上拉。默认值为选择内部上拉。
  • JTAG Pin TDI:用于选择JTAG输入数据管脚TDI的内部电阻阻值,同TCK的说明。
  • JTAG Pin TDO:用于选择JTAG输出数据管脚TDO的内部电阻阻值,同TCK的说明。
  • JTAG Pin TMS:用于选择JTAG测试模式选择管脚TMS的内部电阻阻值,同TCK的说明。
  • Unused IO Pins:用于选择未用管脚的内部电阻选择,同TCK的说明。默认值为FFFFFFFF。
  • User ID Code(8 Digital Hexadecimal):用户码身份输入,其格式为8个16进制数。
  • DCI Update Mode:用于选择设计DCI进行阻抗调整的模式,有“As Required”、“Continuous”和“Quiet(Off)”3种选择,分别对应着仅在需要时调整阻抗、连续调整阻抗以及达到初始后便不再调 整阻抗的3种模式。默认值为“As Required”。

6 a' O) l$ `% k! S2 ~4 ~6 R) D(3)配置启动参数设置窗口
4 p) Q. X! e7 M+ i配置启动参数设置窗口如图5-38所示,主要完成配置电路时钟信号以及时钟驱动方案的选择。; ^7 o" f$ |! n/ H7 o
http://www.eefocus.com/data/08-03/4155_1205985007/1206510196.jpg
) Z+ V+ {. @4 o& E1 ]# O, U. A图5-38配置启动参数(Startup Options)设置窗口" S) ~1 X6 h# C% \& }+ N& j3 ?
注意:图M的配置窗口对于不同系列的FPGA芯片是略存区别的。对于早期的Virtex和Spartan-2系列,还会有“Release Set/Reset(Output Events)”等选项,用于设置多少个时钟周期后,复位/置位内部锁存器、触发器。 9 A- W% I8 ^( m
其相应的选项说明如下:
  • FPGA Start-Up Clock:用于选择FPGA芯片的配置时钟,有“CCLK”、“User Clock”和“JTAG Clock”3个可选项。当配置模式为主模式时,则配置时钟由FPGA芯片生成;当配置模式为从模式时,则配置时钟由外部提供。当配置PROM器件时,必 须选择CCLK时钟;当选择JTAG模式的配置时钟,该时钟由JTAG接口TCK信号提供。用户自定义的配置时钟User Clock目前很少使用。默认值为CCLK。
  • Enable Internal Done Pipe:用于选择是否等待插入的延迟信号CFG_DONE后,DONE管脚有效,对于高速配置方案非常有效。默认值为不选择。
  • Done(Output Events):用于设置多少个CFG_DONE周期后,使DONE信号有效。默认值为4。
  • Enable Outputs(Output Events):用于设置多少个时钟周期后,将输入、输出管脚从三态条件释放到实际的输入、输出结构。默认值为5。
  • Release Write Enable(Output Events):用于设置多少个时钟周期后,释放全局写信号到触发器和存储器。如果选择“Done”参数,表示当Done脚为高时,释放写使能信号;选择“Keep”,用于保持当前的写使能信号。默认值为6。
  • Release DLL(Output Events):用于设置等待多少个时钟周期后,DLL输出有效。默认值为“No Wait”。
  • Match Cycle:用于设置是否等到DCI匹配后,再进入启动周期。默认值为“No Wait”。
  • Drive Done Pin High:用于设置是否将Done置高。默认值为不选中。
) {. h/ Y, P6 B7 }7 M
(4)回读方式参数设置窗口
- X% s1 ~8 H) h! f( G) |回读方式参数设置窗口如图5-39所示,主要用于回读文件格式和回读模式的设置。' [( B' p5 {" }" Y! w" u
http://www.eefocus.com/data/08-03/4155_1205985007/1206510242.jpg
* m' T2 t: p. J( I" }# d图5-39 回读方式参数(Raedback Options)设置窗口
) T+ K" |; d- d6 I+ S* O其相应的选项说明如下:
  • Security: 用于设置是否在回读和重新配置数据时设置保护模式,有“Enable Readback and Reconfiguration”、“Disable Readback”和“Disable Readback and Reconfiguration”3个选项,分别对应着使能回读和重新配置数据、禁止回读以及禁止回读和重新配置数据。其中,禁止回读和重配置是处于对设 计保护考虑的;回读执行时,需要由M0/RTRIG脚产生一个上升沿来启动,需要一个外部的逻辑电路驱动CCLK时钟,以回读!RDATA管脚上的每一位 数据。
  • Create ReedBack Data Files:用于创建回读文件。默认值为不选中。
  • Allow SelectMAP Pins to Persist:用于配置完成后是否保留SelectMAP配置模式的配置管脚。使能时,可利用其完成数据的回读,否则当配置完成后,配置管脚将被释放,变成用户管脚。默认值为不保留配置管脚。
  • Creat Logic Allocation File:用于配置是否建立一个逻辑定位文件。该文件包含了锁存器、触发器、输入输出管脚的位流位置和块存储器的位流位置。默认值为不选中。
  • Creat Mask File:用于配置是否选择建立屏蔽文件,用于确定位流文件中的一些位。默认值为不选择。

. N% t5 E. e( A6 n" c(5)加密参数设置窗口
: I6 z! w! V; g/ I* N加密参数设置窗口如图5-40所示,主要完成配置文件加密选项的设置。& L# p7 H1 Y8 \
http://www.eefocus.com/data/08-03/4155_1205985007/1206510293.jpg
. o' U: H$ s0 W图5-40加密参数(Encryption Options)设置窗口
5 ?2 K& z0 F, {9 a其相应的选项说明如下:
  • Encrypt Bitstream
  • Key 0(Hex String)
  • Input Encryption Key File
, N  ?4 t0 ~" o& M3 g* V
2.生成FPGA比特配置文件的操作 + I  N) j4 k0 W9 z/ U/ n! R
FPGA 配置文件主要用于调试阶段快速地通过JTAG模式配置FPGA,断电后芯片内的逻辑立刻消失,每次上电都需要重新配置。该操作比较简单,首先,根据在配置 启动参数中选择配置时钟为JTAG CLK,否则会产生警告,配置过程容易出错;其次,直接点击过程区的Generate Programming File即可,如图5-41所示。5 J! O4 I" ~# m2 Y% {
http://www.eefocus.com/data/08-03/4155_1205985007/1206336090.jpg# z& i* w+ }' i* ]
图5-41 创建FPGA配置文件示意图+ ]9 @" A8 t+ I- C, j0 C% }
3.生成PROM比特配置文件的操作
8 f8 c- l' M0 z; x% [* W只有生成PROM文件并下载PROM芯片中,才能保证FPGA上电后自动加载逻辑并正常工作。和生成FPGA配置文件相比,生成PROM配置文件较为麻烦,下面对其进行详细说明。+ X# r& V6 E3 {, D1 ~" i9 a4 a
1) 将设计经过前仿、综合、实现以及后仿,确保设计无误。单击过程管理区中“Generate Programming File”前面的“+”号,双击“Generate PROM,ACE,or JTAG File”运行文件生成工具,弹出的文件界面如图5-42所示。" p  {0 M- K0 g5 E
http://www.eefocus.com/data/08-03/4155_1205985007/1211976980.jpg
, k9 Y& i9 \9 Z6 g3 S图5-42 PROM配置文件生成工具界面                                                 图5-43 选择PROM芯片的类型和文件格式
9 Y% K5 R; o4 A2 s" R9 W- ]0 o2) 单击“Next”按钮,进入PROM器件选择界面,如图5-43所示。下面以Xilinx PROM为例进行说明。选中Xilinx PROM,在文件格式“PROM File Format”中选择EXO,将PROM配置文件的名字改成“sqrt_test”,确定PROM的存放位置。 1 g; Q. w; K3 O& S
3)点击“Next”按钮,选 择PROM器件的型号,如图5-44所示。可以选中“Auto Select PROM”选项,由iMPACT自动选择合适的PROM芯片,也可以手动在“Select a PROM”选项的下拉框中选择合适的PROM芯片,然后单击“Add”按钮添加选中的器件。可根据需要反复多次,添加多个PROM芯片。此外,对于 XCF08P以上的批ROM芯片,还可以使能修改和压缩功能。
4 B/ T  T1 l0 }4 yhttp://www.eefocus.com/data/08-03/4155_1205985007/1211977015.jpg
. h* \# ~% M& \/ _- p* t图5-44 选择PROM芯片的型号                                                             图5-45 PROM配置文件生成器综合信息显示窗口
3 ^2 k, I8 B/ i$ B4)单击“Next”,进入PROM文件综合信息显示窗口,如图5-45所示。如果确认信息无误,单击“Finish”,进入后续步骤;否则返回前面进行修改。
4 g& P% t* U3 g4 H5 V5)单击“Finish”后弹出的配置文件加载窗口如图5-46所示。
' R: N9 V  _" L, S* L! r" Y: X* vhttp://www.eefocus.com/data/08-03/4155_1205985007/1206510382.jpg
! Q/ F1 c# c5 A. z% f图5-46 比特文件选择界面
7 p$ r4 y+ q$ M: R" a) D' `6) 选择相应的文件后,单击“打开”按钮,将其加载。此时,iMPACT会根据加载的bit文件所对应的FPGA芯片计算PROM的容量,如果 PROM容量不够,会主动提醒用户修改PROM型号或者添加更多的PROM芯片;如果容量富裕,则会给出PROM的容量利用率,如图5-47所示。例如, 图中给出的设计使用了81.66%的PROM容量。此时,还可以在PROM、FPGA器件的图标上点击右键分别更新芯片型号和相应的.bit文件。8 w8 o" i5 Z  h* D4 Y" o
http://www.eefocus.com/data/08-03/4155_1205985007/1206510434.jpg  u7 X0 U, Q; j3 h+ H* o3 v
图5-47 PROM容量显示界面$ i7 w/ d$ I. X9 w
7) 在iMPACT的过程管理窗口,双击“Generate File”,iMPACT会自动创建PROM配置文件。或在PROM上点击右键,选择“Generate File”也可完成。当配置文件创建成功后,显示文件大小以及所占PROM的容量,并在iMPACT界面上显示“PROM File Generation Succeeded”,如图5-48所示。1 G3 p* v4 g0 G4 n) H
http://www.eefocus.com/data/08-03/4155_1205985007/1206510483.jpg
+ G+ j! K7 Z8 ~; v图5-48 PROM配置文件创建成功提示界面1 k. S  X3 i* z- _$ L
5.4.3 使用IMPACT配置芯片
% d  E! R* j! E. G4 P7 Z- [+ s
  ?# T4 d7 v+ a5 W4 ]% |* E& m
利用iMPACT配置芯片的操作流程见4.3.4节,这里就不再重复说明。, ^8 U. H; C' p/ C& {/ D1 e
5.4.4 FPGA配置失败的常见问题- N( O( H* q# L9 X0 d: b7 G

: q$ ], Y; O" t" c% `: @在配置FPGA器件时,经常会出现配置失败的情况,简单总结起来有下列几种情况,并给出响应的解决方案。 2 E' f7 C3 V1 q3 N* W) d
1. JTAG链扫描失败
9 D9 D$ u% k/ p4 e. Y解 决方法:首先,检查所有芯片的TCK、TMS管脚是否和JTAG接口的TCK、TMS连接在一起;其次,检查配置电路的JTAG链路是否完整,从 JTAG接口的TDI到链首芯片的TDO、……、再到链尾芯片的TDO是否连接到JTAG接口的TDO;最后再检查电源是否正确。
4 ?- g0 T1 H# n4 K' ^$ E$ }2.无法通过计算机并口配置 % @  d! j( X; y
解决方法:首先,检查计算机并口是否插好;其次,采用质量更好的并口配置电缆(Parallel Cable-IV)或信号质量更好的USB配置电缆,排除下载线的问题。目前,最好采用速度更快、可靠性更高的USB下载线。
5 g5 h' O; k' p$ r3. 无法正常配置 4 i3 Z& U( {$ c; N" B$ P
解 决方法:检查配置时钟信号CCLK或JTAG时钟信号TCK是否存在干扰信号或过冲。如果存在干扰,判断干扰源,并增加滤波电路以消除干扰。如果有过冲, 说明该信号线阻抗可能由于较长不匹配,需要增加匹配电阻。一般情况下,CCLK信号的引线长度不超过10cm,还可通过增加源端匹配电阻(33~100 电阻)来改善时钟信号质量。 6 x7 B- H+ A6 j# X% _  O+ z; A! ?
此外,如果FPGA芯片的旁路电容设计不合理或数据线上有地线及弹信号,也会导致配置失败。 ) O/ P* w0 w# N; y) [( C2 g
4. DONE管脚状态始终为低 2 e/ u! x7 R" V' D0 o
解决方法:检测DONE管脚的负载是否太重,选择合适的上拉电阻。
1 l, }2 E3 g2 k, [9 t/ ^- }* P5. DONE管脚已经变高,但器件仍不能正常工作 : Y. q: b) ]  Z7 Q6 n
解决方法:首先检查设计是否无误;其次,如果设计无误,再检查器件的启动顺序,参考配置流程,通过设计工具重新设置启动顺序。 - b7 o: O( f8 R3 P5 C0 F
6. 模式管脚选择错误 % u0 _8 d* s1 a
解决方法:根据模式选择管脚M[2:0]选择配置模式,当模式改变后,要修改位流文件中的配置时钟为CCLK还是TCK,否则容易配置失败 / s# O& `0 _+ I, M7 j
7. 器件上电后,有时候能配置成功,有时不成功
( D* \* ^; O" _9 c解决方法:这种情况,经常是由期间的复位未完成,就开始出现数据流。解决方法就是添加复位芯片,延长复位时间。

本版积分规则

QQ|一淘宝店|手机版|商店|一乐电子 ( 粤ICP备09076165号 ) 公安备案粤公网安备 44522102000183号

GMT+8, 2025-10-28 12:44 , Processed in 0.033124 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表