iMPACT 概述
主要用於器件編程和文件生成,使用賽靈思通信線(MutiPRO Desktop Tool, Parallel Cable IV,或者Platform Cable USB)直接對FPGA、CPLD或PROM進行多種模式的配置;邊界掃描模式可進行所有元件配置,從串和SelectMAP模式則僅可配置FPGA,在Desktop配置模式CPLD和PROM可配置,在直接SPI模式可編程select SPI serial flash(STMicro: M25P, M25PE, M45PE 或 Atmel: AT45DB)。
可生成System ACE CF, PROM, SVF, STAPL, 和 XSVF等類型的文件。
其它任務:回讀和驗證設計配置數據;調試配置問題;執行SVF和XSVF文件。
功能實現相關資源
- 輸入文件:CPLD(JEDEC or ISC);FPGA(BMM, ELF, BIT, or ISC);PROM(MCS, EXO, TEK, or ISC);SPI/BPI PROM(MCS, EXO, TEK, or HEX)
- 邊界掃描文件(BSDL):僅用於邊界掃描編程,用VHDL描述其結構和功能特征,在iMPACT安裝時加載並自動識別使用,可通過新建配置手動加載非賽靈思器件.bsd文件
- 配置格式文件(CFI):由PROMGen創建.cfi 並用於賽靈思PROM(XCF08P, XCF16P, and XCF32P)
- 輸出文件:MCS, EXO, TEK, HEX, BIN, or ISC files for PROM file generation, ACE files for System ACE CF file generation, and SVF, STAPL, or XSVF files for SVF- STAPL-XSVF file generation and IPF files for project management.
- PROM文件:iMPACT生成的PROM編程文件
- 支持的通信線:
Name
Platforms
Voltages
Modes
Default Speeds
Parallel Cable IV (Model DLC7)
PC
1.5, 1.8, 2.5, 3.3, 5V
Boundary-Scan Slave Serial SPI Direct Configuration
5 MHz
Platform Cable USB
PC
1.5, 1.8, 2.5, 3.3, 5V
Boundary-Scan Slave Serial SPI Direct Configuration
6 MHz
MultiPRO
PC
1.5 - 5V
Desktop Configuration Boundary-Scan Slave Serial SelectMAP SPI Direct Configuration
2.5 MHz
- 工具圖標:
- 配置標簽:源窗口中包含7個可選配置模式標簽,雙擊其一可激活(Boundary-Scan, Slave Serial, SelectMAP, Desktop Configuration, Direct SPI Configuration, System ACE, and PROM File Formatter);進程窗口顯示相應模式下的配置操作標簽(Program, Verify, and Get Device ID等)
- 鍵盤快捷方式
Key |
Function |
Key |
Function |
F1 |
Help |
Ctrl+D |
Add Xilinx® Device |
Ctrl+N |
New |
Ctrl+I |
Initialize Chain |
Ctrl+G |
Assign Configuration File |
Ctrl+O |
Open |
Ctrl+H |
Open Configuration Archive |
ALT+F |
File Menu |
Ctrl+K |
Add Non-Xilinx Device |
ALT+E |
Edit Menu |
Ctrl+S |
Save |
ALT+V |
View Menu |
Ctrl+J |
Save As |
ALT+P |
Operations Menu |
Ctrl+X |
Cut |
ALT+T |
Options Menu |
Ctrl+C |
Copy |
ALT+O |
Output Menu |
Ctrl+V |
Paste |
ALT+G |
Debug Menu |
Ctrl+A |
Select All |
ALT+W |
Window Menu |
Ctrl+U |
Unselect All |
ALT+H |
Help Menu |
邊界掃描配置(JTAG)
- 操作任何支持JTAG模式的器件,對非賽靈思器件采用BYPASS和HIGHZ模式。串行傳輸,包括TDI, TCK, TMS和TDO四個引腳
- 啟動邊界掃描:雙擊Boundary-Scan圖標,add devices, initialize the Boundary-Scan chain, establish cable connections
- 手動創建鏈接:雙擊Boundary-Scan圖標、右鍵Add Xilinx Device or Add Non-Xilinx Device、在原鏈選中某連線右鍵可添加器件
- 可選操作:由於不同器件和配置文件對應不同的操作,具體情況應通過右鍵器件查看
- SPI(Serial Peripheral Interface):4線同步串行主/從接口,可通過它實現對SPI配置閃存<Atmel AT45DB family, ST Micro MP25P, M25PE and MP45PE families> 的直接<將配置線連到配置存儲器的SCLK, SS_n, MOSI, MISO口>/FPGA間接配置信息存儲<將配置信息發送給FPGA,再在FPGA中實現數據轉換和存儲器傳送;支持該功能的器件有Spartan-3A, Spartan-3E, and Virtex-5;更多信息參考XAPP445文檔>
- 通過FPGA配置SPI/BPI存儲器件:iMPACT配置FPGA為Boundary-Scan-to-SPI or BPI轉換模式,配置時要進行Add Xilinx Device、Add New Configuration File、Enable Programming of SPI Flash Device Attached to this FPGA or Enable Programming of BPI Flash Device Attached to this FPGA、選一個SPI/BPI器件
其它配置方法
- 從串模式:所有賽靈思FPGA支持的串行線編程,同時需要額外的時鍾源,一次一位。
- SelectMAP模式:允許通過字節寬的端口進行最多3個賽靈思器件的並行編程,一次8位。僅MultiPRO線可實現,支持所有Virtex和部分Spartan器件。
- Desktop模式:用Desktop工具配置線配置單個非易失賽靈思器件(CPLD/PROM);配置前必須進行配置設定(編程、擦除、回讀、編程XPLA USE等選項)
- 直接SPI模式:
生成PROM文件
- 雙擊PROM File Formatter進行文件格式選擇並生成相應文件
- PROM文件生成器功能:將BIT文件轉換為賽靈思和第三方PROM編程器兼容的PROM文件格式;將多個BIT文件合並成單個PROM文件用於菊花鏈式的應用;(利用賽靈思FPGA可重配置功能)進行單個PROM的多應用配置存儲
- 四種類型的PROMs:賽靈思串並雙功能PROM;第三方/通用並行PROM;第三方串行SPI接口PROM;多設計版本的PROM
- 賽靈思PROM:用於對賽靈思FPGA進行主串菊花鏈式配置
- 通用並行PROM:常用於首個器件處於從並模式下,用CPLD或微處理器下進行FPGA的菊花鏈式編程,多數據流僅被允許在並行PROM中存儲和配置
- SPI接口PROM:可同時實現該類PROM的讀/寫功能
- 多設計版本PROM:內部存有多個不同電路的配置信息
- 輸入文件:一個或多個BIT文件
- 輸出文件:PROM文件(TEK, MCS, EXO, HEX, UFP, or BIN);PRM文件(多配置芯片的統籌響應文件)
- BIT轉換PROM:將bit文件中每個字節的位進行反轉(可關閉該功能),bit文件越靠左越低位,ROM中每個字節內越靠右位越低
- 數據流的組合
Number of Applications |
Number of FPGA Devices to Configure |
Number of Data Streams and BIT Files |
Single Application |
Single Device |
One data stream with a single BIT file. |
Daisy chain of devices |
One data stream with multiple BIT files. |
|
Multiple daisy chains of devices |
Multiple data streams with multiple BIT files in each data stream. Each data stream includes configuration data for a different daisy chain of devices. |
|
Multiple Applications (Reprogramming) |
Single device |
Multiple data streams with a single BIT file in each data stream. |
Daisy chain of devices |
Multiple data streams with multiple BIT files in each data stream. Each data stream programs the group of devices for a different application. |
生成和使用配置文件
- 邊界掃描文件:SVF(串行向量格式,包含配置模式和數據);STAPL(標准測試和編程語言,用於描述系統可編程操作的標准文件格式);XSVF(賽靈思串行向量格式,通過二進制格式和壓縮算法實現數據的壓縮存儲);不同的器件命令集不盡相同且有沖突,應針對進行修改,不可混合加載。
- View > View SVF/STAPL File可查看相應文件信息;Operations > Execute XSVF/SVF選擇執行相應文件
- System ACE CF:一個雙芯片配置方案,需要System ACE CF Controller,以及一個CompactFlash card/one-inch Microdrive disk;可實現單源多芯片配置、多配置位流控制、基於網絡(IRL)的配置更新、hot-swapping、進程內核初始化和軟件存儲;操作模式分兩種(Novice:默認模式,每個配置地址有等量器件;Expert:不同的配置地址可有不同量器件)。 可進行的設置(尺寸:選定存儲容量;預定空間:用於存儲處理器代碼或通用數據;配置名稱:最多8個字母;位置:文件保存位置;指定配置地址和設計名稱)
配置調試
- 初始化鏈未能全部顯示BSCAN鏈上的所有器件:主要是由於部分器件連接到了其它JTAG線上。解決方案=>運行鏈路完整性測試(Debug > Chain Integrity Test);降低傳輸速度(Output > Cable Setup);向FPGA的PROG端口發送脈沖(可清除所有上電斜率所引起的錯誤);復查器件勘誤表;進行硬件調試(逐個JTAG鏈中的每個器件檢測和調試);檢查供電源
- iMPACT不能成功編程FPGA:可能是文件生成問題或系統級問題。解決方案=>讀取狀態寄存器值分析(Debug > Read Status Register);核實DCM/DCI等待在BitGen >Start Up options中進行了設置(允許在DCM被鎖定/DCI匹配后再開始配置,其設定在ISE中的Generate Programming File > Properties > Start Up Option: Wait for DCM / DCI);降低下載速度(減小噪聲對配置識別的影響);檢查供電源/系統級推斷
- iMPACT未能成功識別FPGA:可能是文件生成問題或系統級問題。解決方案=>核對多次嘗試的錯誤碼是否一致(變化說明設計的運行會影響識別操作);核對器件功能正確性(如果Done且CRC無錯則說明配置是成功下到器件了的);核對一個簡單設計是否可成功識別;核對設計中是否有SRL16/Distributed RAM元件
- iMPACT未能成功擦除器件:軟件會進行擦除和復檢,然后再進行其它操作=>降低下載速度;復查器件勘誤表;向供電引腳發送脈沖;檢查供電源
- iMPACT不能成功進行空白核對:器件編程前必須通過空白核對以保證器件被完全擦除,否則無法進行后續的配置下載。解決方案=>降低下載速度;復查器件勘誤表;進行硬件調試
- iMPACT不能成功編程PROM/CPLD器件:不能成功核實用於核對正確寄存器設置的嵌入器件內部的編程算法,解決方案=>降低下載速度;復查器件勘誤表;使用默認用戶設置;進行硬件調試
- iMPACT不能成功檢測PROM/CPLD器件:可能由文件錯誤/硬件和板級問題導致,解決方案=>降低下載速度;確保正確的文件被用於檢測器件;復查器件勘誤表;進行硬件調試
- 邊界掃描狀態機調試:由測試連接口控制器TAP的狀態機結構實現配置序列的傳送。通過Debug->Enable/Disable Debug Chain命令實現配置序列的控制傳送和分析
- Debug > Chain Integrity Test用於檢測器件到器件的端口連接問題,識別斷線等情況
- Debug > IDCODE Test發送命令並回讀器件的32位識別序列,用於識別器件
- Debug > Read Device Status
- 從串配置失敗常見問題及原因:
DONE pin did not go low. Please check cable connection. Programming terminated due to error.(PROG/DONE引腳信號沒有拉低)
DONE pin did not go high. Programming terminated due to error.(器件模式引腳未設成從串模式/DIN,INIT,CCLK引腳未連接上/噪聲影響/硬件未調節好/配置文件有誤)
- SelectMAP配置失敗常見問題及原因:
DONE pin did not go high. Programming terminated due to error. Programming failed.(器件模式引腳未設置成SelectMAP模式/有引腳未連接恰當/CS引腳錯誤的連向了器件/噪聲影響/硬件未調節好/配置文件有誤)
配置下載線
- iMPACT支持多種下載線,具體性能特點由列表給出
Name |
Platforms |
Voltages |
Modes |
Default Cable Speeds |
Parallel Cable IV (Model DLC7) |
PC |
1.5, 1.8, 2.5, 3.3, 5V |
Boundary-Scan Slave Serial SPI Direct Configuration |
5 MHz |
Platform Cable USB |
PC |
1.5, 1.8, 2.5, 3.3, 5V |
Boundary-Scan Slave Serial SPI Direct Configuration |
6 MHz |
MultiPRO |
PC |
1.5 - 5V |
Desktop Configuration Boundary-Scan Slave Serial SelectMAP SPI Direct Configuration |
2.5 MHz |
並行IV線是高速並行接口配置下載線,支持所有賽靈思器件。平台USB接口線利用USB串口實現配置,支持所有賽靈思器件。MultiPRO桌面工具自動識別和調整IO電壓標准,同時進行並行的配置下載實現。
- Linux下載線驅動:不同版本的Linux都有對應的驅動,沒有通用的版本從而不具備可移植性。
- 連接下載線:Cable Auto Connect/Cable Setup、失敗時先檢查電源和地的連接、Output > Cable Disconnect
批處理模式
直接進行器件相關操作,GUI不會出現,可在開啟iMPACT時指定使用該模式(命令行輸入命令-> iMPACT -batch)。
按命令名稱和功能都有分類,且有詳細的命令格式和功能介紹,這里從略。。。。。。
命令行模式
器件操作不可以直接通過命令行進行,而是命令行調用GUI來實現。但如果-batch命令開啟,則所有命令構成批處理,實現直接器件操作。
Switch |
Parameters |
Notes |
-batch |
<file> |
If the -batch command line switch is used, then all other command line switches are ignored, and iMPACT goes into interactive batch mode (if a file is passed as part of -batch, then it runs the file). |
-j or -jedec |
jedec file name (.jed extension) |
If a fully specified pathname is not provided then the specified file is assumed to be in the current working directory. |
-b or -bitstream |
bitstream file name (.bit extension) |
If a fully specified pathname is not provided then the specified file is assumed to be in the current working directory. |
-i or -isc |
isc file name (.isc extension) |
If a fully specified pathname is not provided then the specified file is assumed to be in the current working directory. |
-c or -cdf |
cdf file name (.cdf extension) |
If a fully specified pathname is not provided then the specified file is assumed to be in the current working directory. |
-p or -prom |
mcs, exo or hex file name (.exo, .mcs, .hex extensions respectively) |
If a fully specified pathname is not provided then the specified file is assumed to be in the current working directory. |
-port |
PC: auto,lpt1,lpt2,lpt3,com1, com2,com3,usb0,usb1, usb2 UNIX: auto,/dev/ttya,/dev/ttyb /dev/tty00 dev/tty01 |
auto means automatically detect cable available and connect to it. If the -port switch is not specified, the application does not attempt cable connection at start-up. |
-mode |
bscan,sserial,smap, cf, mpm, bsfile, dtconfig, pff, prom, file, config, file |
Indicates the configuration mode in which to start the application. The default configuration mode is Boundary-Scan (bscan). Indicates the configuration files. |
-baud |
auto,9600,19200,38400,57600 {-pref <name:value>} |
When the -port switch selects a serial port connection (com1,com2,com3,/dev/ttya,/dev/ttyb) this switch indicates the connection speed (baud rate). auto indicates that the speed selection should automatically choose the fastest possible. The default -baud value is auto. Sets the preferences and values of the preferences that are allowable in the Preferences dialog box. |
邊界掃描簡介
邊界掃描也稱為IEEE Standard 1149.1標准的通信協議、JTAG。其正常工作需要TAP控制器、指令寄存器和數據寄存器三個主要功能部件。TAP包括4個接口線,分別是TCK、TMS、TDI和TDO,實現數據和指令的發出和回讀,具體功能有:
- TCK:用於控制數據和指令傳輸識別的時鍾信號
- TMS:向TAP控制器傳送模式的端口,TAP控制器是個16狀態的有限狀態機
- TDI:串行數據輸入端口
- TDO:串行數據輸出端口
TAP控制器包含的16個狀態:
- Test-Logic-Reset:TMS保持5個時鍾以上的高電平,控制器處於復位狀態
- Run-Test-Idle:運行就緒,准備好進行相關配置和回讀等操作
- Select-DR-Scan:掃描操作數據寄存器前的一個暫態
- Select-IR-Scan:掃描操作指令寄存器前的一個暫態
- Capture-DR:允許時鍾上升沿的時候把數據寫到指定的數據寄存器中
- Shift-DR:每個時鍾上升沿向寄存器移入一位數據
- Exit1-DR:過渡到Pause-DR/Update-DR的暫態
- Pause-DR:實現數據傳輸的暫停功能
- Exit2-DR:過渡到Shift-DR/Update-DR的暫態
- Update-DR:時鍾下降沿時將DR數據傳送到並行鎖存輸出中
- Capture-IR:允許時鍾上升沿的時候把數據寫到指定的指令寄存器中
- Shift-IR:每個時鍾上升沿向寄存器移入一位數據
- Exit1-IR:過渡到Pause-IR/Update-IR的暫態
- Pause-IR:實現數據傳輸的暫停功能
- Exit2-IR:過渡到Shift-IR/Update-IR的暫態
- Update-IR:時鍾下降沿時將IR數據傳送到並行鎖存輸出中
邊界掃描常用指令用於實現具體掃描功能:
- BYPASS:用於實現其它元件間數據的快速傳輸
- SAMPLE/PRELOAD:測試器件常規操作的表現
- EXTEST:進行脫板電路和板級互聯測試
- INTEST:使能在線測試,盡管元件早已設置在板子上了
- HIGHZ:強制將所有驅動置為高阻態
- IDCODE:將編碼植入芯片,以此來確定產品包含哪些元件
- USERCODE:提供用戶可編程32位識別碼以用於測試
推薦學習
文檔程序:Xilinx ISE Help/Software Help/iMPACT Help