BY Anatoli Curran
在 Vivado/ISE 中遇到許可問題時,該怎么辦呢?
本文介紹了使用不同類型的許可證時可能遇到的不同問題。您可單擊以下標題,以跳轉(zhuǎn)到當前使用的許可證類型的相關內(nèi)容。
首先值得注意的是,賽靈思可提供單機版許可證和浮動許可證(或者網(wǎng)絡浮動許可證服務器)。
單機版許可證是鎖定到特定機器或硬件保護裝置的加密“密鑰”。許可證不予計數(shù),這表示在任一機器上可供任一用戶同時運行的許可證數(shù)量沒有限制。
網(wǎng)絡浮動許可證允許用戶在可訪問已標識的許可證服務器的任何機器上使用許可證。而加密“密鑰”則鎖定到運行 FLEX 許可證服務器守護程序的許可證服務器主機。對于此類許可證的使用將進行“計數(shù)”,即 FLEX 許可證管理器會記錄該服務器托管的“席位”數(shù)量。
根據(jù)所使用的許可證類型,如下建議將有助于解決您遇到的許可問題。
浮動許可證相關問題
單機版許可證相關問題
硬件保護裝置相關許可信息和已知問題
IP 核許可證相關問題
浮動許可證相關問題:
首先,您需要確認問題源自于浮動許可證服務器端還是來自于客戶端。
所謂“浮動許可證服務器端”,指的是用于運行浮動許可證的服務器。
“客戶端”指的是用于運行出現(xiàn)許可問題的賽靈思工具的 PC。
首先,請檢查浮動許可證服務器端。
浮動許可證服務器端:
在客戶端上,確認浮動許可證服務器是否已啟動并且正常運行。
打開命令提示符,使用 CD 命令轉(zhuǎn)至 lnx64.o 所在位置,例如:../Xilinx/Vivado/2019.1/bin/unwrapped/lnx64.o
在其中運行以下命令:
lmutil lmstat –a –c @ -i
(例如,lmutil lmstat –a –c 2100@server123 -i)
Windows:
從 win64.o 所在位置(例如:C:/Xilinx/Vivado/2019.1/bin/unwrapped/win64.o)運行以下命令
lmutil lmstat –a –c @ -i
(例如,lmutil lmstat –a –c 2100@server123 -i)
接下來檢查 lmgrd 和 xilinxd 是否均已啟動,如下所示:
如果服務器未啟動,您將會看到錯誤消息,指示服務器尚未運行。
在此階段,您可集中識別導致服務器未運行的原因。
建議最好從浮動許可證服務器 debug.log 文件開始調(diào)試。在此文件中會顯示有關為何該服務器未啟動或無法運行的詳情。
浮動許可證服務器一旦啟動后,就會創(chuàng)建 debug.log 文件。許可證服務器管理員知曉此文件的位置。
根據(jù)該日志文件中的消息,下一步您應該就可以在賽靈思網(wǎng)站上搜索此特定錯誤或參考信息,因為在“答復記錄”中已經(jīng)識別并記錄了大量已知問題:https://china.xilinx.com/support/answer-navigation/design-tools/licensin...
此外,還請查閱Vivado 2017.3 許可變更論壇主題。
其中有一項重大變更與將許可實用程序升級到 Flex 11.14.1 相關。
(賽靈思答復記錄 69377)中陳述如下,使用 Vivado 2017.3 和更高版本的 Vivado 時,所有浮動許可證用戶都必須將其許可證實用工具升級到 FlexLM 11.14.1.0 或更高版本,這樣 Vivado 才能提取這些許可證。
低于 Vivado 2017.3 的 Vivado 版本以及 ISE 14.7 和更低版本可以正常使用所有先前版本的 flexlm 實用程序,例如,v11.13。但是,賽靈思建議升級到 FlexLM 11.14.1.0 或更高版本。
運行以上命令 (lmutil lmstat…) 時,您還會看到服務器啟動時所使用的 flexlm 版本。
您應該可以看到,對于 lmgrd 和 xilinxd,版本均為 v11.14.1,如下圖所示:
在某些情況下,lmgrd 以 v11.14.1 啟動,但 xilinxd 仍使用較低版本(如 v11.13)運行。
在此類情況下,Vivado 仍將無法從服務器中識別并檢出必要的許可證。
如果發(fā)生這種情況,可從 china.xilinx.com 下載頁面找到并獲取許可實用程序。
對應 Windows 或 Linux 操作系統(tǒng)使用的實用程序是不同的。
完成下載并將其解壓到服務器后,請從上述實用程序的解壓位置使用 lmgrd 啟動浮動許可證服務器。
隨后,它將調(diào)用 xilinxd 供應商守護程序(此守護程序與 lmgrd v11.14 位于相同位置)。
注意:如果浮動許可證明確指向特定版本的 xilinxd.exe 位置(即,直接指向浮動許可證文件內(nèi)部),那么將改為調(diào)出該版本的 xilinxd 供應商守護程序,而不是調(diào)用更高版本的 v11.14。
如果情況如此,請編輯 lic 文件并指向最新 xilinxd.exe 的位置,或者從許可證文件的 VENDOR 行中移除此路徑。
如果浮動許可證服務器位于 Windows 操作系統(tǒng)上并且在此機器上未安裝任何 Vivado 工具,那么使用 lmgrd v11.14 啟動浮動許可證服務器后,在 debug.log 文件中可能會顯示“xilinxd exited with status 53”之類的錯誤。如果發(fā)生此類情況,請參閱(賽靈思答復記錄 69969),以了解有關如何解決此類問題的詳情。
如需了解有關如何啟動浮動許可證服務器的一般說明,請參閱 (UG973)。其中第 3 章包含一節(jié)題為“提供基于證書的浮動許可證 (Serving Certificate-Based Floating Licenses)”的內(nèi)容。
完成上述檢查后,下一步是檢查客戶端以了解為何客戶端機器無法從浮動許可證服務器獲取必要的許可證。
客戶端:
關于在客戶端上出現(xiàn)的此類行為,有幾個常見的原因:
環(huán)境變量:
在含網(wǎng)絡路徑(格式為 port@server)的客戶端 PC 中,可能未將 XILINXD_LICENSE_FILE 或 LM_LICENSE_FILE 環(huán)境變量設置為指向許可證服務器。
注意:XILINXD_LICENSE_FILE 環(huán)境變量旨在用于指向任意賽靈思相關許可證,而 LM_LICENSE_FILE 環(huán)境變量則應用于其他非賽靈思相關許可證(例如,Mentor Graphics、Synopsys 許可證等)。
“版本已到期”限制:
客戶端可能已安裝更新版本的 Vivado 發(fā)行版,由于存在“版本已到期”限制,當前浮動許可證對于此類版本無效。
如需了解版本限制及其工作方式的相關說明,請參閱(賽靈思答復記錄 33770)。
如需了解更多信息,請參閱“許可常見問題解答 (Licensing FAQ)”頁面上的“到期與保修期 (Expiration and Warranty Period)”部分:http://china.xilinx.com/tools/faq.htm
選項文件 INCLUDE 列表:
當特定浮動許可證文件上已設置選項 (.opt) 文件時,可能會發(fā)生此問題。選項文件允許您控制哪些用戶有權(quán)或無權(quán)從浮動許可證服務器檢出特定許可功能或者整個許可證文件。
對于未添加到 .opt 文件的 INCLUDE 列表中的用戶,將在 debug.log 文件中顯示類似“user is not on INCLUDE list for feature”的消息。
如需了解 Flexera 選項文件的創(chuàng)建和管理的相關信息,請查閱 Flexnet 許可文檔。
以上列出的均為最常見的問題,當然可能導致客戶端無法從浮動許可證服務器檢出許可證的因素并不止于此。
單機版許可證相關問題:
如果賽靈思軟件/工具無法識別許可證,問題可能出在哪里?
在此類情況下,常見問題原因包括:
Windows:
許可證位于 Vivado 無法檢測的文件夾中:
如果單機版許可證不在默認位置 %APPDATA%/.Xilinx(在 Windows 操作系統(tǒng)中默認位置通常為 C:/.Xilinx),并且未設置 XILINXD_LICENSE_FILE 或 LM_LICENSE_FILE,那么 Vivado/ISE 工具將無法檢測單機版許可證。
請參閱 http://china.xilinx.com/tools/faq.htm 上的“賽靈思軟件工具(CORE Generator 除外)查找許可證的搜索順序和位置 (What are the search order and locations...)”部分,以了解合法搜索路徑。
主機 ID 錯誤:
如果許可證的 hostID 與所使用的機器的 hostID 不匹配,那么該功能仍會顯示在 VLM/XLCM 中,但無法使用。
Linux:
許可證位于 Vivado 無法檢測的文件夾中:
在 Linux 操作系統(tǒng)上,單機版許可證的默認許可位置為 $HOME/.Xilinx。
如果許可證不在此位置,并且未設置 XILINXD_LICENSE_FILE 或 LM_LICENSE_FILE,那么 Vivado/ISE 工具將無法檢測單機版許可證。
主機 ID 錯誤:
如果許可證的 hostID 與所使用的機器的 hostID 不匹配,那么該功能仍會顯示在 VLM/XLCM 中,但無法使用。
以太網(wǎng)地址報告為“000000000000”
有一個 Linux 上獨有的命令問題,即用于 Flex 許可證的 HostID 以太網(wǎng)地址在某些機器上報告為“000000000000”。
在此情況下,Vivado Flex Licensing API 不會對 HostID 進行驗證,導致無法授予許可證。
此問題的解決方案是更改端口名稱。如需了解更多信息,請參閱(賽靈思答復記錄 60510)。
硬件保護裝置相關許可信息和已知問題:
什么是硬件保護裝置?為何使用它?
如果要在其他機器上使用單機版許可證,那么就需要考慮向 Flexera 購買和使用硬件保護裝置。
硬件保護裝置并非 USB 記憶棒,它只是一個可轉(zhuǎn)移 ID(硬件保護裝置的主機 ID)。
以下是 Flexnet 硬件保護裝置示例:
在生成單機版許可證時,您可以選擇并指定此許可證的硬件保護裝置的 FlEX ID。
請參閱(賽靈思答復記錄 42410),以了解詳情。
這樣您就可以將此硬件保護裝置與自己的許可證一起從一臺 PC 轉(zhuǎn)移到另一臺 PC,并且隨后賽靈思工具將能夠在不同機器上檢測并使用此許可證。
從何處購買硬件保護裝置?
賽靈思已停售硬件保護裝置。
可直接向 Flexera 購買該裝置。
如需了解有關訂購硬件保護裝置的其他信息,請聯(lián)系 Flexera。
Flexera 的硬件保護裝置申請電子郵件地址為:flexid@flexerasoftware.com
注意:在 Linux 操作系統(tǒng)上針對 FLEX ID 硬件保護裝置不提供官方支持。僅在 Windows 平臺上才支持 USB 硬件保護裝置許可。根據(jù)(賽靈思答復記錄 35027)中的信息,對于 Linux 操作系統(tǒng)上的許可,賽靈思不提供用于支持 USB 硬件保護裝置的驅(qū)動。
雖然無官方支持,但部分客戶已報告稱其能夠安裝并成功使用 Linux FlexID-9 硬件保護裝置驅(qū)動來獲取 FLEX 許可。
通常只要系統(tǒng)能夠識別硬件保護裝置,F(xiàn)LEX 許可就有效。
要獲取硬件守護裝置的 FLEX ID 并檢查是否已識別出該硬件守護裝置,請通過命令提示符使用 CD 轉(zhuǎn)至 win64.o 的位置。
例如:C:/Xilinx/Vivado/2019.2/bin/unwrapped/win64.o
在其中運行以下命令
lmutil lmhostid -flexid
如果已識別出硬件保護裝置,那么 Vivado 應該可以正常發(fā)現(xiàn)并使用以該硬件保護裝置的 FLEX ID 為目標生成的許可證。
如果未能識別該硬件保護裝置,請參閱下文以獲取更多詳細信息。
與硬件保護裝置相關的已知問題:
① Vivado 2017.3 和更高版本使用較低版本的 HASP4 硬件保護裝置時,無法檢測到有效的單機版許可證。
如需了解解決方案,請參閱(賽靈思答復記錄 70201)
② 在 64 位 Windows 操作系統(tǒng)上無法識別出第二個 FlexNet ID 硬件保護裝置。
要了解解決方案,請參閱(賽靈思答復記錄 43209)
③ 在 Windows 中安裝和下載 USB 硬件保護裝置驅(qū)動。
如需了解更多信息,請參閱(賽靈思答復記錄 47132)
如果 Vivado 無法識別 FLEXId-9 硬件保護裝置,我該怎么辦?
調(diào)試流程如下所述:
將硬件保護裝置插入機器后,如果已正確安裝其驅(qū)動,那么該硬件保護裝置的紅色指示燈將點亮,如下圖所示:
如果紅色指示燈未點亮,則表明該硬件保護裝置的驅(qū)動很可能存在問題。
在此情況下,請遵循(賽靈思答復記錄 47132)中概述的步驟,以使 Windows 操作系統(tǒng)能夠識別出此裝置。
注意:對于(賽靈思答復記錄 47132)中的步驟 6,您必須將 haspsrm_win64.dll 和 haspsrm_win32.dll 一并復制到 %windir%/System32 中,然后還需要將這兩個庫(haspsrm_win64.dll 和 haspsrm_win32.dll)都復制到 %windir%/SysWOW64 中。
僅將 haspsrm_win32.dll 復制到 %windir%/System32 中并將 haspsrm_win64.dll 復制到 %windir%/SysWOW64 中是無效的,因為如上文所述,這兩個文件在這兩處位置中都必須存在。
完成上述操作后,請重新啟動 PC。這樣硬件保護裝置上的指示燈應顯示為紅色,從而表明已成功檢測到此硬件保護裝置。
另請參閱(賽靈思答復記錄 70201),以了解以下問題:
如果 FlexNet 硬件保護裝置為舊的 HASP4 硬件保護裝置,而非新型 HASP HL 硬件保護裝置,那么 Vivado 2017.3(和更高版本的 Vivado)將無法檢測出該硬件保護裝置,這樣也就無法從中檢出許可證。
如果使用的是舊硬件保護裝置(如 HASP4),那么可供選擇的操作如下:
訂購新型 HASP HL 硬件保護裝置,以配合新工具一起使用
重新生成許可證,以 NIC ID(網(wǎng)絡接口卡 ID)或 DISK_SERIAL_NUM(而非您的硬件保護裝置的 ID)為目標。
IP 核許可證相關問題:
對于任何 IP 核許可問題,您需要確認問題在于 IP 核許可證文件本身(許可證安裝問題、許可證文件遇到“版本已到期”限制或者設計中的特定 IP 存在 IP 核許可證錯誤或缺失等),還是賽靈思工具無法在浮動許可證服務器或本地機器中找到并檢出有效的 IP 核許可證文件。
如果您在 Vivado 中遇到 IP 核許可錯誤,要確認設計中包含具體哪些 IP 以及針對這些 IP 核找到了哪些許可證,請打開 Vivado,并單擊位于“Reports”標簽下的“Report IP Status”。
或者,您可在 Tcl 控制臺中運行“report_ip_status”命令,這樣即可生成“IP 狀態(tài)匯總 (IP Status Summary)”。
“IP 狀態(tài)匯總 (IP Status Summary)”將包含有關設計中找到的所有 IP 以及針對這些 IP 找到的許可證的信息。
您可在其中看到 Purchased/Bought、Hardware_Evaluation (HW_Eval)、Design_Linking 或 Included。
要生成比特流,需要 bought(完整)IP 核許可證或完整系統(tǒng)硬件評估 (Full Hardware Evaluation) IP 核許可證。
如果在某個 IP 核上出現(xiàn) Design_Linking,那么它就是 Vivado 中出現(xiàn) IP 核許可錯誤的原因。
如需了解 LogiCORE IP 核完整系統(tǒng)硬件評估許可證和 LogiCORE IP 核設計鏈接許可證的相關限制,請參閱以下答復記錄:
(賽靈思答復記錄 42380)- LogiCORE IP 核硬件評估許可證有什么特性/限制?
(賽靈思答復記錄 42379)- LogiCORE IP 核僅仿真 (Design_Linking) 許可證有什么特性/限制?
XILINXD_LICENSE_FILE 變量
如果許可證列為 Design_Linking,但您擁有有效的許可證,且該許可證已正確安裝并顯示在 Vivado License Manager (VLM) 中,那么可能 Vivado 無法檢測此 IP 核許可證的位置。
建議將 XILINXD_LICENSE_FILE 環(huán)境變量設置為指向默認位置 %APPDATA%/.Xilinx(通常在 Windows 上此位置為 C:/.Xilinx,或者在 Linux 上此位置為 $HOME/.Xilinx),即使 IP 核單機版許可證位于此 .Xilinx 文件夾中也是如此。
這樣 Vivado 將在此處查找 IP 核許可證。
下一步是重新打開 Vivado,并再次執(zhí)行 report_ip_status 掃描。
然后確認這次針對設計中找到的所有 IP 是否能顯示 Purchased/Bought 或 HW_Eval(而不是 Design_Linking)。
只要顯示的是這兩種許可之一,那么下一步即可更新當前網(wǎng)表。
網(wǎng)表更新:
曾經(jīng)出現(xiàn)過這樣的情況,用戶已添加有效的新許可證,但由于存在 IP 核相關許可問題,導致比特流生成仍以失敗告終。
這其中問題在于添加新的完整 (Full) 許可證或硬件評估 (HW Eval) 許可證后,未更新當前網(wǎng)表。
生成 IP 核時,許可信息存儲在網(wǎng)表文件中,即使許可證情況發(fā)生變化,也是如此。例如,原先您沒有許可證,但隨后添加了完整 (full purchased) 許可證(而非評估 (evaluation) 許可證)。
在此情況下,您將需要更新存在問題的 IP 上的輸出產(chǎn)品(或者對于塊設計,改為針對塊設計執(zhí)行此操作),以更新網(wǎng)表。
否則,只要不更新輸出產(chǎn)品,就不會更新網(wǎng)表,而且仍將指向舊許可證,即使已安裝有效的許可證后也是如此。
請遵循(賽靈思答復記錄 58758)中的步驟進行操作,這些步驟應可幫助您解決此 IP 核許可問題。
IP 核:
在某些情況下,還需要清除 IP 高速緩存。
您可通過兩種方式清除 IP 高速緩存。
在 GUI 中的 IP 設置下,有一個按鈕用于清除工程的 IP 高速緩存:
或者,可通過運行以下 Tcl 命令來清除 IP 高速緩存:
config_ip_cache -clear_output_repo
編輯:hfy
-
Linux
+關注
關注
87文章
11213瀏覽量
208736 -
服務器
+關注
關注
12文章
8978瀏覽量
85100 -
ISE
+關注
關注
1文章
100瀏覽量
36433 -
Vivado
+關注
關注
19文章
806瀏覽量
66240
發(fā)布評論請先 登錄
相關推薦
評論