iMPACT學習記錄


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

  • 工具圖標:

 image

  • 配置標簽:源窗口中包含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模式:

image

生成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中每個字節內越靠右位越低  

 image

  • 數據流的組合

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM