標籤:
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引腳未串連上/雜訊影響/硬體未調節好/設定檔有誤)
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
iMPACT學習記錄