一乐电子

一乐电子百科

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

QQ登录

只需一步,快速开始

快捷登录

手机号码,快捷登录

搜索
查看: 6487|回复: 0
收起左侧

iMPACT简介

[复制链接]
发表于 2010-7-17 07:23 | 显示全部楼层 |阅读模式
1. iMPACT简介 # \& w& D) A0 p) H! ~, t
iMPACT 支持4种下载模式:边界扫描,从串模式、SelectMap模式以及Desktop配置模式。从串模式是一种常用配置电路,可用USB口或并口完成配置。 SelectMap模式是一种并行配置模式,速度快,但需要使用多个信号管脚。Desktop模式是一种高速配置模式,可配置FPGA、 PROM以及SystemACE,但需要专用的硬件设备。在实际中,由于边界扫描模式标准统一、设备简单,且可通过JTAG链路配置FPGA、CPLD以 及PROM,使用最为广泛。因此本节主要基于边界扫描模式来介绍IMPACT的使用方法。 2 A1 m; y' q5 q4 n2 [1 g
当设计完成后,ISE调用BitGEN程序把布局布 线后的.ncd文件转化成.bit文件,包括了配置数据和配置指令。如果使用JTAG模式,可直接将.bit文件通过iMPACT文件配置到FPGA芯片 中。如果要用其它模式配置FPGA,则需要通过iMPACT进行格式转化,生成.mcs、.exo 以及.hex等文件格式,表M对常用的配置文件进行比较和说明。, T# K1 y& O) L0 }. e) ]9 q
表5-19 常用的Xilixn FPGA配置文件格式列表) M  c9 h! W# e- g0 l5 [5 N) c
http://www.eefocus.com/data/08-03/4155_1205985007/1211976459.jpg; q* b, ~( F/ [. P- n7 I" w
对于FPGA器件,iMPACT能够直接将.bit位流文件下载到芯片中,或者将其转换为PROM器件的EXO/MCS文件格式,并下载到PROM芯片中。
4 g& \$ r& O# [1 J2. iMPACT用户界面
5 y' S: ]/ i+ N) P3 M4 I* R有 两种方法可以启动iMPACT软件,一种是在ISE过程管理区中,点击Generate Programming File前面的“+”号,再双击“Configure Device”,在ISE环境下运行;另一种是通过点击“开始 程序 ISE9.1 Accessories iMPACT”,在Windows环境下单独运行。其用户界面如图M所示。
  M1 ?1 y( T  x/ [9 t& _% P; Ehttp://www.eefocus.com/data/08-03/4155_1205985007/1206510043.jpg3 }$ x  V) ?6 M. D8 B1 A
图5-35 iMPACT的用户界面
* V4 D5 y# M$ Q6 |iMPACT的用户界面主要由File、Edit、View、Operations、Options、Output、Debug、Window、Help菜单栏和常用工具栏组成。下面对常用的菜单栏操作进行简要介绍。
  • File菜单
7 e% A& Q2 G8 Z1 W/ e, I6 r
        File菜单包含了常见的文件操作,其中的“Initialize Chain”用于自动完成边界扫描JTAG链上的器件类型和数目;“Export Project to CDF”用于把向前项目信息保存到CDF(Chain Description File)文件中。
  • Edit菜单

2 P$ G# K4 O( F# E% W9 q        Edit菜单包含了常用的配置操作,其中的“Add Device”用于手动创建JTAG扫描链时添加PROM或FPGA芯片;“Assign Configuration File”用于指定配置文件;“EDIT ROM”用于修改和删除PROM芯片;“Preference”用于设定iMPACT的通用选项。
  • View菜单

& g# o8 G) t3 i' Y        View菜单包含了各个窗口显示/关闭的操作。
  • Operations菜单
7 t8 D# m* ^/ |1 A: J4 L
Operations菜单包含了配置、验证、擦除以及各类验证操作。其中“Program”用于对器件编程,下载相应的配置文件;“Verify”用于验证下载是否正确;“Erase”用于擦除FPGA或PROM芯片内的内容。
  • Options菜单
- X  D* ~; }- n3 {/ Q. U
        Options菜单包含编程、擦除以及回读等选项。
  • Output菜单
% Z* R6 M4 R) Q, h5 p, N6 G
        Output菜单包含了常用的电缆操作。其中“Cable Auto Connect”用于电缆自动连接;“Disconnect All Cables”用于断开所有电缆
  • Debug菜单

5 x9 [" \  w* |7 r7 V3 S        Debug菜单包含了JTAG扫描连所有的调试操作。其中“Start/Stop Debug Chain”用于启动或停止调试;“Chain Integrity Test”用于扫描立案完整性测试;“IDCODE Test”用于IDCODE测试。
  • Window菜单
5 [* h7 [0 K% q1 R& J0 \- J
        Window菜单包含了窗口管理操作,如关闭窗口、上一下/下一个窗口等。
  • Help菜单
" y  |; \$ Y& s/ S
         Help菜单包含了iMPACT的在线帮助和版本信息。3 c' N$ B8 s, k2 H6 D! c
5.4.2 使用IMPACT创建配置文件
  D' t0 \6 x' c/ v+ V$ D一 个设计经过综合、实现之后,需要为器件生成相应的编程文件。ISE中内嵌了比特流生成器,可生成FPGA以及PROM格式文件,从而实现动态配置,并验证 数据是否正确。由于Xilinx FPGA支持多种配置模式,因此在完成数据配置之前,需要选择一个合适的模式,以避免出现编程错误
; F, r& ~0 C$ k2 o2 g2 |( ]1 M1. 配置参数设置窗口 - J" E1 P3 [5 m! P/ h) p
在过程窗口中,选中[Generate Programming File]并单击右键打开[Process Properties]窗口,在其中可完成对各类编程参数的选择和配置。 ! c( t  F- E( s4 x& o1 o8 c
(1)通用参数设置窗口
) ^/ U( s3 ~1 A# b. Y2 D6 K通用参数设置窗口如图5-36所示,主要选择配置文件的格式以及各种校验规则。
  O4 T4 E* G" b- D% dhttp://www.eefocus.com/data/08-03/4155_1205985007/1211976574.jpg# y6 `6 O# r8 ?4 Y3 r/ l9 H
图5-36 通用参数(General Options)设置窗口
6 j# d; ?2 z, T3 A7 |2 ]* D其中相应的选项说明如下:
  • 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位校验码。其默认值为不选中。
/ H& \. Y! A( D& _4 U, Y* C
(2)配置参数设置窗口
3 l  I/ y& o& b" O配置参数设置窗口如图5-37所示,主要完成配置电路所用管脚内部电阻的选择。
, A/ v( p4 u' I& V6 u7 Shttp://www.eefocus.com/data/08-03/4155_1205985007/1206510141.jpg
/ k5 b9 d0 x5 v# [% p图5-37 配置参数(Configuration Options)设置窗口! m4 H, T7 I+ N! g; W. q
其相应的选项说明如下:
  • 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”。
% R# O9 e, k4 u$ g
(3)配置启动参数设置窗口
; ~- d& s6 q( t2 d$ x0 s9 [8 a0 a配置启动参数设置窗口如图5-38所示,主要完成配置电路时钟信号以及时钟驱动方案的选择。' g3 z) o- m: ], ?0 o: N9 s
http://www.eefocus.com/data/08-03/4155_1205985007/1206510196.jpg$ X, X. P! l1 a+ Q/ L2 v) U
图5-38配置启动参数(Startup Options)设置窗口  O  ^) s6 c8 b/ e6 h
注意:图M的配置窗口对于不同系列的FPGA芯片是略存区别的。对于早期的Virtex和Spartan-2系列,还会有“Release Set/Reset(Output Events)”等选项,用于设置多少个时钟周期后,复位/置位内部锁存器、触发器。 , A& [% H2 _3 j4 I2 [) a
其相应的选项说明如下:
  • 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置高。默认值为不选中。
. Y1 ]( }# d# N) }
(4)回读方式参数设置窗口
) v6 _% j8 _: H: E回读方式参数设置窗口如图5-39所示,主要用于回读文件格式和回读模式的设置。  ]9 i3 j- ]! u4 o- g( H
http://www.eefocus.com/data/08-03/4155_1205985007/1206510242.jpg
% Q9 x+ n8 [0 T6 K% [8 o图5-39 回读方式参数(Raedback Options)设置窗口
. z! r/ E" w0 Y0 |0 z, W  L+ Z" v其相应的选项说明如下:
  • 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:用于配置是否选择建立屏蔽文件,用于确定位流文件中的一些位。默认值为不选择。

7 G: `6 A7 a' O! J* ~2 I8 Q(5)加密参数设置窗口 . Q* {0 x& K4 T% h6 |* G% ]
加密参数设置窗口如图5-40所示,主要完成配置文件加密选项的设置。
! J9 g- V) {7 X1 N; G) z- V2 z% Ahttp://www.eefocus.com/data/08-03/4155_1205985007/1206510293.jpg' O' J' V6 x( s, @% Y1 n
图5-40加密参数(Encryption Options)设置窗口
& Q- G6 u9 J* ~) U% Q; w- Y1 e其相应的选项说明如下:
  • Encrypt Bitstream
  • Key 0(Hex String)
  • Input Encryption Key File

6 @2 E% g* ?) b8 @$ F* E% W2.生成FPGA比特配置文件的操作 , L7 H6 u2 {7 T' r7 p
FPGA 配置文件主要用于调试阶段快速地通过JTAG模式配置FPGA,断电后芯片内的逻辑立刻消失,每次上电都需要重新配置。该操作比较简单,首先,根据在配置 启动参数中选择配置时钟为JTAG CLK,否则会产生警告,配置过程容易出错;其次,直接点击过程区的Generate Programming File即可,如图5-41所示。$ J# V( d& X% l- G& d3 i% q
http://www.eefocus.com/data/08-03/4155_1205985007/1206336090.jpg6 N( o2 ?6 c" v" S# }: h
图5-41 创建FPGA配置文件示意图& U) D; z) D. l- V) z8 b% i2 x
3.生成PROM比特配置文件的操作 . u: ~1 w, B. T0 |( c" D
只有生成PROM文件并下载PROM芯片中,才能保证FPGA上电后自动加载逻辑并正常工作。和生成FPGA配置文件相比,生成PROM配置文件较为麻烦,下面对其进行详细说明。
4 f$ `( T' r& s5 H1 J% v1) 将设计经过前仿、综合、实现以及后仿,确保设计无误。单击过程管理区中“Generate Programming File”前面的“+”号,双击“Generate PROM,ACE,or JTAG File”运行文件生成工具,弹出的文件界面如图5-42所示。
' c" N4 [5 q% s! B- H/ ohttp://www.eefocus.com/data/08-03/4155_1205985007/1211976980.jpg
* a  n4 S9 \3 N, x2 t6 h* v5 y1 s9 e图5-42 PROM配置文件生成工具界面                                                 图5-43 选择PROM芯片的类型和文件格式7 Y; r% u7 o' ]; a
2) 单击“Next”按钮,进入PROM器件选择界面,如图5-43所示。下面以Xilinx PROM为例进行说明。选中Xilinx PROM,在文件格式“PROM File Format”中选择EXO,将PROM配置文件的名字改成“sqrt_test”,确定PROM的存放位置。 $ A, n) e* N2 \9 A5 c" \5 c7 }
3)点击“Next”按钮,选 择PROM器件的型号,如图5-44所示。可以选中“Auto Select PROM”选项,由iMPACT自动选择合适的PROM芯片,也可以手动在“Select a PROM”选项的下拉框中选择合适的PROM芯片,然后单击“Add”按钮添加选中的器件。可根据需要反复多次,添加多个PROM芯片。此外,对于 XCF08P以上的批ROM芯片,还可以使能修改和压缩功能。
+ K4 X0 c2 A( x. Ohttp://www.eefocus.com/data/08-03/4155_1205985007/1211977015.jpg
1 ]* q; x4 ~! Q; u  \8 |; t- r图5-44 选择PROM芯片的型号                                                             图5-45 PROM配置文件生成器综合信息显示窗口# q: o3 K6 C$ {. |
4)单击“Next”,进入PROM文件综合信息显示窗口,如图5-45所示。如果确认信息无误,单击“Finish”,进入后续步骤;否则返回前面进行修改。
; Q! ^2 k: W  R. B7 O7 x5)单击“Finish”后弹出的配置文件加载窗口如图5-46所示。, r1 p( g% x/ g; U( i8 [3 W0 D8 K
http://www.eefocus.com/data/08-03/4155_1205985007/1206510382.jpg
9 L/ D7 `! [6 }4 g, U图5-46 比特文件选择界面
8 I" g* o& j+ Z6) 选择相应的文件后,单击“打开”按钮,将其加载。此时,iMPACT会根据加载的bit文件所对应的FPGA芯片计算PROM的容量,如果 PROM容量不够,会主动提醒用户修改PROM型号或者添加更多的PROM芯片;如果容量富裕,则会给出PROM的容量利用率,如图5-47所示。例如, 图中给出的设计使用了81.66%的PROM容量。此时,还可以在PROM、FPGA器件的图标上点击右键分别更新芯片型号和相应的.bit文件。% s  _4 W4 P  s& V8 D! I2 t
http://www.eefocus.com/data/08-03/4155_1205985007/1206510434.jpg
  P6 d& `& F  R' M( a! r图5-47 PROM容量显示界面
. K( x7 Q: H; g1 U7) 在iMPACT的过程管理窗口,双击“Generate File”,iMPACT会自动创建PROM配置文件。或在PROM上点击右键,选择“Generate File”也可完成。当配置文件创建成功后,显示文件大小以及所占PROM的容量,并在iMPACT界面上显示“PROM File Generation Succeeded”,如图5-48所示。
! A: r  G; D5 ^0 v; Zhttp://www.eefocus.com/data/08-03/4155_1205985007/1206510483.jpg
. G: T' ~" G1 K0 f: d+ J图5-48 PROM配置文件创建成功提示界面, D8 g5 B4 `0 p$ X
5.4.3 使用IMPACT配置芯片1 H; r( S6 {& ]( C2 Z( V" g: Q
0 d; h# f, y. M; G7 A
利用iMPACT配置芯片的操作流程见4.3.4节,这里就不再重复说明。& }  G/ J) Q. h7 Y5 u6 Q8 }
5.4.4 FPGA配置失败的常见问题9 j* H6 R. ?  B
  S! J- A# u9 T9 H
在配置FPGA器件时,经常会出现配置失败的情况,简单总结起来有下列几种情况,并给出响应的解决方案。
8 w- b  n9 O4 f1. JTAG链扫描失败 $ i6 j" O) z6 S: h, Q3 M
解 决方法:首先,检查所有芯片的TCK、TMS管脚是否和JTAG接口的TCK、TMS连接在一起;其次,检查配置电路的JTAG链路是否完整,从 JTAG接口的TDI到链首芯片的TDO、……、再到链尾芯片的TDO是否连接到JTAG接口的TDO;最后再检查电源是否正确。   N# \* [* G/ l7 }0 B6 ~
2.无法通过计算机并口配置 6 a+ M' J, n% s+ W7 D; E9 J
解决方法:首先,检查计算机并口是否插好;其次,采用质量更好的并口配置电缆(Parallel Cable-IV)或信号质量更好的USB配置电缆,排除下载线的问题。目前,最好采用速度更快、可靠性更高的USB下载线。
0 T: w8 c1 z3 h4 ]  z3. 无法正常配置
5 V9 d" K9 X2 z# Y解 决方法:检查配置时钟信号CCLK或JTAG时钟信号TCK是否存在干扰信号或过冲。如果存在干扰,判断干扰源,并增加滤波电路以消除干扰。如果有过冲, 说明该信号线阻抗可能由于较长不匹配,需要增加匹配电阻。一般情况下,CCLK信号的引线长度不超过10cm,还可通过增加源端匹配电阻(33~100 电阻)来改善时钟信号质量。
; Y. R; ^1 U# e- @, j! b此外,如果FPGA芯片的旁路电容设计不合理或数据线上有地线及弹信号,也会导致配置失败。 , r; Y8 j2 A: g0 U4 h7 M  h
4. DONE管脚状态始终为低 ! G6 x& }# |, R/ R6 m. [
解决方法:检测DONE管脚的负载是否太重,选择合适的上拉电阻。
# r# \: [, p8 Q: |2 W4 }5. DONE管脚已经变高,但器件仍不能正常工作
( S  ~+ D7 J5 a2 k解决方法:首先检查设计是否无误;其次,如果设计无误,再检查器件的启动顺序,参考配置流程,通过设计工具重新设置启动顺序。
8 [" G! N+ E) d6 y6. 模式管脚选择错误 ' r) G  g, I1 Q0 {
解决方法:根据模式选择管脚M[2:0]选择配置模式,当模式改变后,要修改位流文件中的配置时钟为CCLK还是TCK,否则容易配置失败 ! @3 i' J; [0 A! t+ K+ Z/ G
7. 器件上电后,有时候能配置成功,有时不成功 ( A5 A9 s+ l4 l  \
解决方法:这种情况,经常是由期间的复位未完成,就开始出现数据流。解决方法就是添加复位芯片,延长复位时间。

本版积分规则

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

GMT+8, 2025-4-28 16:27 , Processed in 0.051097 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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