一乐电子

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

QQ登录

只需一步,快速开始

微信扫码登录

手机号码,快捷登录

手机号码,快捷登录

搜索
查看: 7244|回复: 0

iMPACT简介

[复制链接]
发表于 2010-7-17 07:23 | 显示全部楼层 |阅读模式
1. iMPACT简介
( m9 ?8 B- v6 o4 RiMPACT 支持4种下载模式:边界扫描,从串模式、SelectMap模式以及Desktop配置模式。从串模式是一种常用配置电路,可用USB口或并口完成配置。 SelectMap模式是一种并行配置模式,速度快,但需要使用多个信号管脚。Desktop模式是一种高速配置模式,可配置FPGA、 PROM以及SystemACE,但需要专用的硬件设备。在实际中,由于边界扫描模式标准统一、设备简单,且可通过JTAG链路配置FPGA、CPLD以 及PROM,使用最为广泛。因此本节主要基于边界扫描模式来介绍IMPACT的使用方法。 6 A! c+ s: U7 X& m1 v% G
当设计完成后,ISE调用BitGEN程序把布局布 线后的.ncd文件转化成.bit文件,包括了配置数据和配置指令。如果使用JTAG模式,可直接将.bit文件通过iMPACT文件配置到FPGA芯片 中。如果要用其它模式配置FPGA,则需要通过iMPACT进行格式转化,生成.mcs、.exo 以及.hex等文件格式,表M对常用的配置文件进行比较和说明。8 r" b) M- K# Q! y$ |/ j
表5-19 常用的Xilixn FPGA配置文件格式列表% M  k( t' X+ i( D+ f5 s: X
http://www.eefocus.com/data/08-03/4155_1205985007/1211976459.jpg
' {3 e5 R# V2 _* ^: B/ m5 x对于FPGA器件,iMPACT能够直接将.bit位流文件下载到芯片中,或者将其转换为PROM器件的EXO/MCS文件格式,并下载到PROM芯片中。
4 n* k: B8 Q- T; k+ ~2. iMPACT用户界面
% y+ a( O0 ~# u8 Z/ ?4 e6 B有 两种方法可以启动iMPACT软件,一种是在ISE过程管理区中,点击Generate Programming File前面的“+”号,再双击“Configure Device”,在ISE环境下运行;另一种是通过点击“开始 程序 ISE9.1 Accessories iMPACT”,在Windows环境下单独运行。其用户界面如图M所示。1 n: A* y# Y; @
http://www.eefocus.com/data/08-03/4155_1205985007/1206510043.jpg5 V% t8 W& ^0 u/ Q8 ?# W; i7 X' r5 j
图5-35 iMPACT的用户界面
. i) ]) w2 T$ ziMPACT的用户界面主要由File、Edit、View、Operations、Options、Output、Debug、Window、Help菜单栏和常用工具栏组成。下面对常用的菜单栏操作进行简要介绍。
  • File菜单

+ S, g, R# Q- G9 @        File菜单包含了常见的文件操作,其中的“Initialize Chain”用于自动完成边界扫描JTAG链上的器件类型和数目;“Export Project to CDF”用于把向前项目信息保存到CDF(Chain Description File)文件中。
  • Edit菜单

! o3 P1 X* P5 r. ^8 k        Edit菜单包含了常用的配置操作,其中的“Add Device”用于手动创建JTAG扫描链时添加PROM或FPGA芯片;“Assign Configuration File”用于指定配置文件;“EDIT ROM”用于修改和删除PROM芯片;“Preference”用于设定iMPACT的通用选项。
  • View菜单
8 E" \$ z4 K* i; [
        View菜单包含了各个窗口显示/关闭的操作。
  • Operations菜单

; w: p8 b, ^3 iOperations菜单包含了配置、验证、擦除以及各类验证操作。其中“Program”用于对器件编程,下载相应的配置文件;“Verify”用于验证下载是否正确;“Erase”用于擦除FPGA或PROM芯片内的内容。
  • Options菜单
* b+ f  g" D3 s- c
        Options菜单包含编程、擦除以及回读等选项。
  • Output菜单
% t* ^6 e& w. @& S9 `4 P
        Output菜单包含了常用的电缆操作。其中“Cable Auto Connect”用于电缆自动连接;“Disconnect All Cables”用于断开所有电缆
  • Debug菜单

2 R$ f" x  V7 ~$ J( r        Debug菜单包含了JTAG扫描连所有的调试操作。其中“Start/Stop Debug Chain”用于启动或停止调试;“Chain Integrity Test”用于扫描立案完整性测试;“IDCODE Test”用于IDCODE测试。
  • Window菜单

+ {( R: p: _6 [, l        Window菜单包含了窗口管理操作,如关闭窗口、上一下/下一个窗口等。
  • Help菜单

: M$ q$ e. S) f' S# c         Help菜单包含了iMPACT的在线帮助和版本信息。
9 h# S' [8 x" @  c7 n: S1 g+ o5.4.2 使用IMPACT创建配置文件
+ D+ c5 c1 a) [8 g一 个设计经过综合、实现之后,需要为器件生成相应的编程文件。ISE中内嵌了比特流生成器,可生成FPGA以及PROM格式文件,从而实现动态配置,并验证 数据是否正确。由于Xilinx FPGA支持多种配置模式,因此在完成数据配置之前,需要选择一个合适的模式,以避免出现编程错误 2 x! l/ |; v* ]! g9 [
1. 配置参数设置窗口 5 n, n0 [% a- n- C4 Z/ M( P5 t
在过程窗口中,选中[Generate Programming File]并单击右键打开[Process Properties]窗口,在其中可完成对各类编程参数的选择和配置。
% ]& E) Y6 i( h: \8 \7 \7 a+ q(1)通用参数设置窗口
& p, _  q! u) L4 N. R6 {通用参数设置窗口如图5-36所示,主要选择配置文件的格式以及各种校验规则。7 S8 Y2 `& h# o; G9 t
http://www.eefocus.com/data/08-03/4155_1205985007/1211976574.jpg5 _2 x1 q1 n8 r( N8 m
图5-36 通用参数(General Options)设置窗口
  V7 R* Y8 i( |+ K' a) P其中相应的选项说明如下:
  • 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位校验码。其默认值为不选中。

; |4 D; K1 j) u+ n' T(2)配置参数设置窗口
0 f! h- i  T: L9 X( L5 R5 R配置参数设置窗口如图5-37所示,主要完成配置电路所用管脚内部电阻的选择。/ p6 T! C5 [/ x! f$ _2 N) c0 Q
http://www.eefocus.com/data/08-03/4155_1205985007/1206510141.jpg
/ v& T3 ^: l3 F2 G图5-37 配置参数(Configuration Options)设置窗口0 `# B: A% y$ k' W" U
其相应的选项说明如下:
  • 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”。
/ n3 H  E% b0 T( k. @/ b
(3)配置启动参数设置窗口 - E! U: ^, n# f/ g9 |) ^& L
配置启动参数设置窗口如图5-38所示,主要完成配置电路时钟信号以及时钟驱动方案的选择。
6 K/ X, U: d' E8 `' Phttp://www.eefocus.com/data/08-03/4155_1205985007/1206510196.jpg0 a6 ?6 s/ C+ a
图5-38配置启动参数(Startup Options)设置窗口7 E/ U( @8 G1 O; i$ r, g
注意:图M的配置窗口对于不同系列的FPGA芯片是略存区别的。对于早期的Virtex和Spartan-2系列,还会有“Release Set/Reset(Output Events)”等选项,用于设置多少个时钟周期后,复位/置位内部锁存器、触发器。
7 f6 Q) k1 @% `7 p+ }* B其相应的选项说明如下:
  • 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置高。默认值为不选中。

/ U/ h4 E( y3 r9 G/ |(4)回读方式参数设置窗口 7 \, A0 v8 x, z5 Z1 ~
回读方式参数设置窗口如图5-39所示,主要用于回读文件格式和回读模式的设置。
6 p: B' J/ U& i3 w0 v! {5 Q/ K6 [( shttp://www.eefocus.com/data/08-03/4155_1205985007/1206510242.jpg0 Z8 T, W! ]- `2 B; g7 u3 B2 m
图5-39 回读方式参数(Raedback Options)设置窗口6 c9 i2 H8 P: N3 ~: |: U
其相应的选项说明如下:
  • 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:用于配置是否选择建立屏蔽文件,用于确定位流文件中的一些位。默认值为不选择。

0 x" n$ t+ M  F9 K# |(5)加密参数设置窗口
1 a# W) O) S$ Q5 ?: F# c5 U/ a4 Z加密参数设置窗口如图5-40所示,主要完成配置文件加密选项的设置。  ?/ m$ ^9 E+ L. g0 i: C$ s
http://www.eefocus.com/data/08-03/4155_1205985007/1206510293.jpg7 Q# d3 ~; q" j. P6 q3 a! R$ F
图5-40加密参数(Encryption Options)设置窗口
, M% C; I% {' |. }$ ^其相应的选项说明如下:
  • Encrypt Bitstream
  • Key 0(Hex String)
  • Input Encryption Key File
! R' W& q2 L/ @2 g1 a- m
2.生成FPGA比特配置文件的操作
: H1 ~/ H2 v# f$ D5 pFPGA 配置文件主要用于调试阶段快速地通过JTAG模式配置FPGA,断电后芯片内的逻辑立刻消失,每次上电都需要重新配置。该操作比较简单,首先,根据在配置 启动参数中选择配置时钟为JTAG CLK,否则会产生警告,配置过程容易出错;其次,直接点击过程区的Generate Programming File即可,如图5-41所示。
: _) E: |) Z, |. t  Thttp://www.eefocus.com/data/08-03/4155_1205985007/1206336090.jpg
8 R0 v0 X2 X  _" ~图5-41 创建FPGA配置文件示意图
9 @* f1 [" V7 X3.生成PROM比特配置文件的操作 5 w1 n; d) X6 N, b1 o
只有生成PROM文件并下载PROM芯片中,才能保证FPGA上电后自动加载逻辑并正常工作。和生成FPGA配置文件相比,生成PROM配置文件较为麻烦,下面对其进行详细说明。
' H2 U! V% B2 N& Q" H% W; r: O1) 将设计经过前仿、综合、实现以及后仿,确保设计无误。单击过程管理区中“Generate Programming File”前面的“+”号,双击“Generate PROM,ACE,or JTAG File”运行文件生成工具,弹出的文件界面如图5-42所示。: ~, A8 X1 K# k! M% _% y; r  @3 Y* A
http://www.eefocus.com/data/08-03/4155_1205985007/1211976980.jpg
4 ^! W' X! q1 `  r  Y) v! O图5-42 PROM配置文件生成工具界面                                                 图5-43 选择PROM芯片的类型和文件格式
/ v, J3 e" h, Q0 e! L1 b2) 单击“Next”按钮,进入PROM器件选择界面,如图5-43所示。下面以Xilinx PROM为例进行说明。选中Xilinx PROM,在文件格式“PROM File Format”中选择EXO,将PROM配置文件的名字改成“sqrt_test”,确定PROM的存放位置。
( O7 b, M* A7 ]. ?# M1 p: |8 X3)点击“Next”按钮,选 择PROM器件的型号,如图5-44所示。可以选中“Auto Select PROM”选项,由iMPACT自动选择合适的PROM芯片,也可以手动在“Select a PROM”选项的下拉框中选择合适的PROM芯片,然后单击“Add”按钮添加选中的器件。可根据需要反复多次,添加多个PROM芯片。此外,对于 XCF08P以上的批ROM芯片,还可以使能修改和压缩功能。 - q6 U  `  v9 H: q; N2 @- z/ K
http://www.eefocus.com/data/08-03/4155_1205985007/1211977015.jpg
0 L; O8 }2 L/ t8 n, Q/ r6 L! s图5-44 选择PROM芯片的型号                                                             图5-45 PROM配置文件生成器综合信息显示窗口
& g! r8 V8 x0 U; t7 t, w% a4)单击“Next”,进入PROM文件综合信息显示窗口,如图5-45所示。如果确认信息无误,单击“Finish”,进入后续步骤;否则返回前面进行修改。
* H3 J, Z$ }% L5 t5)单击“Finish”后弹出的配置文件加载窗口如图5-46所示。
5 y$ W9 q) `/ k% chttp://www.eefocus.com/data/08-03/4155_1205985007/1206510382.jpg1 E5 W( ]5 i. i
图5-46 比特文件选择界面
; @/ {; A& ?' r! Z2 W6) 选择相应的文件后,单击“打开”按钮,将其加载。此时,iMPACT会根据加载的bit文件所对应的FPGA芯片计算PROM的容量,如果 PROM容量不够,会主动提醒用户修改PROM型号或者添加更多的PROM芯片;如果容量富裕,则会给出PROM的容量利用率,如图5-47所示。例如, 图中给出的设计使用了81.66%的PROM容量。此时,还可以在PROM、FPGA器件的图标上点击右键分别更新芯片型号和相应的.bit文件。
6 \) _- ?! L0 g# _: T+ S/ ]http://www.eefocus.com/data/08-03/4155_1205985007/1206510434.jpg4 M2 H" D4 {1 l$ M* Q6 H( f
图5-47 PROM容量显示界面
: |7 C' H6 s) }& X, {7) 在iMPACT的过程管理窗口,双击“Generate File”,iMPACT会自动创建PROM配置文件。或在PROM上点击右键,选择“Generate File”也可完成。当配置文件创建成功后,显示文件大小以及所占PROM的容量,并在iMPACT界面上显示“PROM File Generation Succeeded”,如图5-48所示。
" Y! E7 G1 [; L5 N5 ?6 \; w# hhttp://www.eefocus.com/data/08-03/4155_1205985007/1206510483.jpg% v" q4 n5 D( A. [. ^
图5-48 PROM配置文件创建成功提示界面
0 c4 a% p& g: x; W4 F; D5.4.3 使用IMPACT配置芯片3 `4 N3 J6 y1 h" Y" @

7 e# J2 Z& O9 }6 k利用iMPACT配置芯片的操作流程见4.3.4节,这里就不再重复说明。
! d, l" D5 m3 K1 g- H# ^, z5.4.4 FPGA配置失败的常见问题
7 ^5 s6 j, g: W. |8 J

$ F1 V1 W* y+ Y3 q3 }0 C在配置FPGA器件时,经常会出现配置失败的情况,简单总结起来有下列几种情况,并给出响应的解决方案。 " v* {- d. g% Y0 K) {: q' l
1. JTAG链扫描失败
& D6 D) y+ G% Y) S3 T5 h4 Q/ n3 T解 决方法:首先,检查所有芯片的TCK、TMS管脚是否和JTAG接口的TCK、TMS连接在一起;其次,检查配置电路的JTAG链路是否完整,从 JTAG接口的TDI到链首芯片的TDO、……、再到链尾芯片的TDO是否连接到JTAG接口的TDO;最后再检查电源是否正确。
" l4 i& |% x  J9 X) u2.无法通过计算机并口配置
* p3 x; ]2 |% Y. i5 e$ ^解决方法:首先,检查计算机并口是否插好;其次,采用质量更好的并口配置电缆(Parallel Cable-IV)或信号质量更好的USB配置电缆,排除下载线的问题。目前,最好采用速度更快、可靠性更高的USB下载线。 ) v6 a* Z1 @8 r9 O, |
3. 无法正常配置 # q& d) e  U' k/ C9 ]- L# H/ z* d
解 决方法:检查配置时钟信号CCLK或JTAG时钟信号TCK是否存在干扰信号或过冲。如果存在干扰,判断干扰源,并增加滤波电路以消除干扰。如果有过冲, 说明该信号线阻抗可能由于较长不匹配,需要增加匹配电阻。一般情况下,CCLK信号的引线长度不超过10cm,还可通过增加源端匹配电阻(33~100 电阻)来改善时钟信号质量。
% R7 J9 ^" _% I; v9 v此外,如果FPGA芯片的旁路电容设计不合理或数据线上有地线及弹信号,也会导致配置失败。
, H9 j5 r" \' |% ~8 J4. DONE管脚状态始终为低
% ~) o* a: L  K* ?* }解决方法:检测DONE管脚的负载是否太重,选择合适的上拉电阻。
& T3 a6 M$ [% E5 g5. DONE管脚已经变高,但器件仍不能正常工作
  {9 U: f* K3 X1 @1 j" m解决方法:首先检查设计是否无误;其次,如果设计无误,再检查器件的启动顺序,参考配置流程,通过设计工具重新设置启动顺序。
5 D5 E( g3 o0 S1 d6 C1 D& ]8 t* c  l6. 模式管脚选择错误 * q8 z. X7 o8 u, x' ?9 ?
解决方法:根据模式选择管脚M[2:0]选择配置模式,当模式改变后,要修改位流文件中的配置时钟为CCLK还是TCK,否则容易配置失败
9 g* J+ P" u; ^) r2 H5 l. i7. 器件上电后,有时候能配置成功,有时不成功 3 W8 H5 P0 S7 Z3 N2 Y8 Q
解决方法:这种情况,经常是由期间的复位未完成,就开始出现数据流。解决方法就是添加复位芯片,延长复位时间。

本版积分规则

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

GMT+8, 2026-2-25 16:44 , Processed in 0.031091 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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