0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Efinity軟件安裝教程與Efinity入門使用教程 大牛手把手教程

XL FPGA技術(shù)交流 ? 來源:XL FPGA技術(shù)交流 ? 作者: XL FPGA技術(shù)交流 ? 2024-05-20 17:10 ? 次閱讀

1.軟件安裝教程

step1:安裝Python,注意勾選“Add Python 3.7 to PATH” (2022版本及以后直接跳過該步驟)

注意:從2021.1就不需要單獨安裝python了,軟件安裝時會自己安裝python3.8,也不需要下載。

595d6596-f152-11ee-b759-92fbcf53809c.png

step2:安裝efinity。該步驟比較簡單,一路選擇Next,或者勾選同意。

5973ad9c-f152-11ee-b759-92fbcf53809c.png

stpe3:安裝補(bǔ)丁。如果所選擇的版本有補(bǔ)丁則安裝補(bǔ)丁,如果沒有則不必。

如果需要安裝補(bǔ)丁,則打開補(bǔ)丁文件夾,運行里面的run.bat文件。

59888fbe-f152-11ee-b759-92fbcf53809c.png

輸入y,按任意鍵退出。

59949d72-f152-11ee-b759-92fbcf53809c.png

如果安裝失敗,可能是軟件沒有關(guān)閉或者軟件沒有安裝在默認(rèn)路徑下。打開run.bat文件,里面的路徑默認(rèn)是

set DEFAULT_EFINITY_PATH=C:Efinity2022.2。

修改成自己的Efinity軟件安裝路徑即可。

stpe4:安裝下載器驅(qū)動。注意該步驟要插入下載器才可以檢測到相應(yīng)的下載器信息。

(1)打開zadig,

(2)選擇Options中l(wèi)ist all devices,

(3)勾掉Options中Ignore Hubs or Composite parents

(4)選擇相應(yīng)驅(qū)動;

(5)Driver中選擇libusbk替換現(xiàn)有驅(qū)動;

599bf1a8-f152-11ee-b759-92fbcf53809c.png

另外也可以通過YLS_DL驅(qū)動直接安裝。這種方式更簡單,也是推薦的方式。請參考下載器安裝。

注意:zadig的版本使用2.8或者以后的版本,舊的2.5版本會存在更換下載器的USB口需要重新安裝驅(qū)動的情況。

step5:安裝gtkwave

gtkwave的作用是用于在線調(diào)試。把gtkwave解壓到efinty安裝路徑下,然后添加環(huán)境變量,在變量path中添加gtkwave所在路徑,如“C:Efinitygtkwave64bin”保存即可以。

59b4e456-f152-11ee-b759-92fbcf53809c.png

59d87b64-f152-11ee-b759-92fbcf53809c.png

注意:在安裝完成Efinity之后,有些電腦在使用軟件時可能存在各種問題。請務(wù)必按照Efinity Software InstallationUser Guide中的指導(dǎo)安裝一些庫文件。只要按照下面的要求去安裝可以解決大部分問題。

59ebb986-f152-11ee-b759-92fbcf53809c.png

=================================

2、常見問題總結(jié)

(1)The installer has encountered an unexpected error installing this package . This may indicate a problem with this package. The error code is 2503

5a889ba2-f152-11ee-b759-92fbcf53809c.png

Python安裝過程報錯The error code is 2503的解決方案_谷哥的小弟的博客-CSDN博客

網(wǎng)上有一篇 Python安裝過程報錯The error code is 2503的解決方案 ,原文鏈接如下:

原文鏈接:https://blog.csdn.net/lfdfhl/article/details/105639792

(2)zadig安裝失敗

5a9bae68-f152-11ee-b759-92fbcf53809c.png

5b126cf6-f152-11ee-b759-92fbcf53809c.png

Zadig提示:system policy has been modified to reject unsigned drivers

以管理員身份運行zadig

說明:可能與別的驅(qū)動有沖突。

也可能是系統(tǒng)問題。

(3)軟件打開時指示IPC 沒有連接

安裝VC_redist.x64。相應(yīng)的安裝文件可以找FAE或者按照Efinity Software Installation User Guide中提供的鏈接自行下載。

(4)Efinity軟件打不開

可能是安裝了自己的字體。

說明(1)完整軟件安裝過程;

(2)補(bǔ)充軟件安裝可能存在的問題。

(5)Efinity單獨安裝programmer報錯

報錯如下:

Error: could not find USB backend,cannot perfom any USB operations。

5b18c632-f152-11ee-b759-92fbcf53809c.png

最近老是碰到客戶單獨安裝programmer會報錯的現(xiàn)象。經(jīng)過AE提示發(fā)現(xiàn),在efinity-installation.pdf安裝文檔中也有說明:單獨安裝programmer時是要安裝x86和x64的Microsoft Visual C++。

5b318a0a-f152-11ee-b759-92fbcf53809c.png





Efinity入門使用教程

1、 軟件預(yù)設(shè)置 2、新建工程 3、添加源文件 4、添加管腳約束 5、添加GPIO 6、PLL設(shè)置 7、添加debug 8、下載 9、仿真 軟件預(yù)設(shè)置。

f8cf483e-f089-11ee-b759-92fbcf53809c.png

f8ea3608-f089-11ee-b759-92fbcf53809c.png

選項 說明
Usereditor 一般軟件自帶的編輯器功能有限,而外部編輯器功能要強(qiáng)大很多。所以建議大家使用外部編輯器。在User editor中輸入編輯器的路徑。
Use user editor as default editor for all files。 如果希望每次點擊文件時是通過外部編輯器打開的,可以勾選Use user editor as default editor for all files。反之,如果希望使用自帶編輯器打開則不用勾選。
Top level project path 指定新建工程目錄。
Enable flow data integrity check
Open last project on startup 如果勾選此選擇,會打開上次關(guān)閉的工程
openfile usingdefault system application
Use lastwindow layoutsetting 使用上次軟件關(guān)閉時的窗口布局。
Auto-correct Tcl command 在tcl命令窗口中輸入命令時可以自動修改存在的錯誤。
Auto-loadPlace andRoute data 打開軟件是自動加載布局布線的數(shù)據(jù)。建議關(guān)閉。
Migrate interfacedesign withdevicechange 修改器件時,interface desiger中的配置也要修改。
EnableIP upgrades prompt on project load 用新版本打開老的軟件建的工程時,打開該選項會提示IP需要更新,如果不想更新IP可以關(guān)閉這個選項。

點擊preference,把Auto-load Place and route data前面的對勾去掉。其目的是為了防止軟件打開工程時加載時間太長。 如果需要加載數(shù)據(jù)可以點擊Load Place and Route Data

f9032960-f089-11ee-b759-92fbcf53809c.png

新建工程

Step1:點擊設(shè)置

Step2:在Top level project path中輸入路徑

Step3:點擊File -> Open Project,路徑會指向step2中設(shè)置的路徑

注意:易靈思的工程名為.xml,而不是.peri.xml,.peri.xml用于存放interface designer中的參數(shù)設(shè)置。

f91dc536-f089-11ee-b759-92fbcf53809c.png

Stp1:File -->Create Project Stp2:在Project Editor中選擇路徑并輸入工程名 Stp3:選擇器件(家族)及速率等級

f9363666-f089-11ee-b759-92fbcf53809c.png

輸入top module/Entity 注意:如果沒有輸入top module名,軟件會自己選擇top module,編輯結(jié)果不正確。

f9450a1a-f089-11ee-b759-92fbcf53809c.png

把retiming和seq_opt設(shè)置為0

f96cb894-f089-11ee-b759-92fbcf53809c.png

點擊ok,新建工程完成。

添加源文件

方法1:選擇Design右擊,點擊Create 方法2:自己建立文件,添加文件到工程: Stp1:選擇Design右擊,點擊Add

f97ded8a-f089-11ee-b759-92fbcf53809c.png

方法1:選擇Design右擊,點擊Add 方法2:Project Editoràadd file Efinity還可以添加整個文件夾的文件,如圖選copy to project

f992762e-f089-11ee-b759-92fbcf53809c.png

管腳約束

這里我們以一個LED點燈為例,代碼如下:

f9b7d338-f089-11ee-b759-92fbcf53809c.png

Efinty是通過interface designer工具來設(shè)置IO等和外設(shè)相關(guān)的接口電氣屬性的。Interface designer操作界面的打開通過下面的Open Interface Desinger來實現(xiàn)。

f9cb931e-f089-11ee-b759-92fbcf53809c.png

Core 與interface的關(guān)系

Eifinty采用的把邏輯資源和硬核資源分開的架構(gòu),代碼部分只針對邏輯資源,也就是我們這里提到的Core,而IO及其他硬核部分的配置在interface Designer工具中。下圖是interface與Core的關(guān)系,它們之間通過被稱作Siganl Interface的連線資源實現(xiàn)互聯(lián)。

因為習(xí)慣問題,使用者在最初一定會存在一些問題,但是習(xí)慣之后它也是有不少優(yōu)勢存在的。比如說,在前期的硬件設(shè)計中,只需要在Interface Designer中添加已添加的IO及其他需要的硬件接口,并通過一鍵檢測就可以很清楚的知道與外設(shè)的連接是否合理,不需要考慮內(nèi)部因為沒有完整的程序而可能被優(yōu)化的風(fēng)險。另外有些interface的選項在修改之后可以不需要先編譯而直接生成數(shù)據(jù)流。

f9d83420-f089-11ee-b759-92fbcf53809c.png

interface與core的關(guān)系

f9ff5898-f089-11ee-b759-92fbcf53809c.png

interface界面

Bank電壓的設(shè)置

告訴軟件FPGA目前的bank電壓,硬件電路的bank電壓要和interface中的一致,如果電壓設(shè)置不一致可能存在長時間運行致使芯片失效。設(shè)置位置在Device Setting -->I/O Banks

fa135802-f089-11ee-b759-92fbcf53809c.png

添加GPIO

Step1:右鍵選擇GPIO

Step2:根據(jù)選擇的是單線還是多線來選擇Create Block還是Create Bus

Step3:編輯IO屬性,IO屬性如下:

選項 選擇 說明
Mode Input,
output,
inout,
clkout
Input:把FPGA管腳設(shè)置為輸入;
Output:把FPGA管腳設(shè)置為輸出;
Inout:把FPGA管腳設(shè)置為雙向管腳;
Clkout:把FPGA管腳設(shè)置為時鐘輸出
Connection Type Normal,gclk,pll_clkin,VREF gclk走全局時鐘網(wǎng)線,可以驅(qū)動PLL也可以直接驅(qū)動內(nèi)部邏輯
用于普通的GPIO;
PLL_CLKIN表示這個IO是用于驅(qū)動PLL的;
用于存儲器的參考管腳
Register Option None,register 是否添加IO寄存器,推薦添加。
I/O Standard 3.3v,1.8v,1.2V,1.5v 設(shè)置IO的電平
Double Data I/O Option None,normal,resync 是否設(shè)置IO為雙延采樣
Clock 當(dāng)打開IO寄存器時需要添加指定寄存器的時鐘
Drive Strength 1,2,3,4 設(shè)置輸出IO的驅(qū)動能力
Enable Slew Rate Yes,no 是否命名能slew rate

fa27f884-f089-11ee-b759-92fbcf53809c.png

右鍵添加GPIO 針對上面的工程我們的參數(shù)設(shè)置如下: (1)Mode 設(shè)置為input (2) I/O Standard根據(jù)所在的Bank來選擇電壓 Instacne Name: clk Connection Type : pll_clkin

fa4452b8-f089-11ee-b759-92fbcf53809c.png

以arst_n為例 : Mode : input I/O standard :根據(jù)所在bank及bank電壓設(shè)置 Connection Type: normal Register Option: none

fa614198-f089-11ee-b759-92fbcf53809c.png

以4位輸出的led為例: (1)Name :o_led (3)位寬從3到0 Mode: output

fa7ffcbe-f089-11ee-b759-92fbcf53809c.png

PLL設(shè)置 PLL是FPGA內(nèi)部常用的配置項。Ti60F225有4個PLL,如下圖所示,分別為PLL_BL,PLL_TL,PLL_TR和PLL_BR。

Instance Name 用戶定義
PLLResourec
Output ClockInversion on,off 翻轉(zhuǎn)時鐘輸出
ConnectionType gclk,
rclk
時鐘類型
Clock Source External,
Dynamic,Core
External指時鐘通過IO驅(qū)動;Dynamic:支持多路時鐘選擇;Core:時鐘通參考通過core供給
Automated clock
Calculation
打開時鐘計算和設(shè)置窗口

fa946ce4-f089-11ee-b759-92fbcf53809c.png

針對上面的工程,我們的參數(shù)設(shè)置如下: 右擊PLL ->add Block Instance Name:根據(jù)需要輸入 PLL Resource:PL_TR0 Clock Source: external,core,dynamic External Clock :External Clock

fac24fa6-f089-11ee-b759-92fbcf53809c.png

IO分配

fae039c6-f089-11ee-b759-92fbcf53809c.png

點擊Show/Hide GPIO Resource Assigner,在Package Pin或者Resoure位置輸入管腳。

faef0d0c-f089-11ee-b759-92fbcf53809c.png

檢測Interface設(shè)計是否存在問題。

fb060426-f089-11ee-b759-92fbcf53809c.png

保存設(shè)置,點擊Check Design,檢查interface是否存在問題。

再點Generate Efinity Constraint Files,我們就可以在Result --> interface下面看到生成一些文件。通過xxx_template.v復(fù)制例化接口

fb17a190-f089-11ee-b759-92fbcf53809c.png

添加約束

添加約束的目的是為了告訴FPGA你的設(shè)計指標(biāo)及運行情況。在上面的生成約束之后,在Result àxx.sdc中提供約束參考(請注意該文件不能直接添加到工程中,需要熱復(fù)制到別的指定目錄),對于gclk時鐘需要手動添加約束的時鐘周期,對于PLL生成的時鐘已經(jīng)約束完整。

編譯完成之后可以查看時序報告,也可以通過routing àxx.timing.rpt來查看路徑詳細(xì)延時信息,如果想查看更可以通過指令來打印或者通過print_critical_path來控制打印的路徑數(shù)量 。

fb372c2c-f089-11ee-b759-92fbcf53809c.png

fb529e80-f089-11ee-b759-92fbcf53809c.png

編譯

點擊dashboard中Toggle Automated Flow來設(shè)置是單步還是全程編譯(暗色是單步),下面是綜合,布局,布線,生成數(shù)據(jù)流,stop的相應(yīng)按鍵。軟件左下角會的編譯進(jìn)行提示編譯進(jìn)程。

fb694b80-f089-11ee-b759-92fbcf53809c.png

添加debug

點擊Open Debugger Wizard

(1)設(shè)置Buffer Depth

(2)Input Pipeline Stage

(3)Capture control

(4)JTAG USER TAP

(5)修改時鐘域

(6)Probe Type

fb8ba90a-f089-11ee-b759-92fbcf53809c.png

fb9b7c04-f089-11ee-b759-92fbcf53809c.png

觸發(fā)條件的設(shè)置

捕獲設(shè)置:

?觸發(fā)位置

?分段數(shù)量

?窗口嘗試

fba515fc-f089-11ee-b759-92fbcf53809c.png

下載程序 配置方式.易靈思的FPGA支持以下幾種配置方式。

主動模式(SPI Active)— AS模式 通過SPI專用插座在線燒寫FLASH,F(xiàn)LASH離線燒寫好了再焊接,F(xiàn)PGA自己主動通過從非易失性的SPI FLASH讀取bit流進(jìn)行加載,支持X1 X2 X4,x8(不同的FPGA支持的位寬有區(qū)別)
被動模式(SPI Passive)— PS模式 上位機(jī)或者MCU通過SPI接口向FPGA發(fā)送bit流文件,對FPGA進(jìn)行加載 ?支持X1 X2 X8 X16 X32
JTAG模式 上位機(jī)通過JTAG口將bit流文件發(fā)送到FPGA,對FPGA進(jìn)行加載
SPI Active using JTAG bridge — Bridge模式 通過FPGA的JTAG口燒寫和FPGA連接的SPI FLASH

另外需要注意JTAG配置使用bit文件,Flash配置使用hex文件,配置過程中需要注意讀取正常的ID,燒寫flash可以勾去VerIfy After Programming節(jié)省時間

fbd2a526-f089-11ee-b759-92fbcf53809c.png

fbe63974-f089-11ee-b759-92fbcf53809c.png

仿真

易靈思為所有IP提供了仿真模型

以FIFO為例,在工具欄中選擇IP Catalog

Open IP Callog ->Memory ->FIFO->以默認(rèn)參數(shù)生成IP 找到IP生成路徑下的Testbench文件夾。把modelsim路徑轉(zhuǎn)向該文件夾(注意路徑方向“/”) 運行do sim.do

fc9289d6-f089-11ee-b759-92fbcf53809c.png

另外 關(guān)于interfce Designer接口的仿真模型在路徑C:Efinity2023.1ptsim_modelsVerilog下。

fcabd530-f089-11ee-b759-92fbcf53809c.png

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • python
    +關(guān)注

    關(guān)注

    55

    文章

    4768

    瀏覽量

    84378
收藏 人收藏

    評論

    相關(guān)推薦

    Efinity入門使用-v2

    。 原文標(biāo)題:Efinity入門使用-v2 文章出處:【微信公眾號:易靈思FPG
    的頭像 發(fā)表于 11-06 15:56 ?58次閱讀

    Efinity入門使用-v3

    Please rerun the flow start from placement"的指示框。如果沒有出現(xiàn)則沒關(guān)關(guān)閉成功,需要重啟Efinity軟件再次關(guān)閉一次。八?配置FPGA配置方式.易靈思的FPGA
    的頭像 發(fā)表于 11-06 15:56 ?54次閱讀

    Efinity軟件安裝-v5

    DEFAULT_EFINITY_PATH=C:\Efinity\2022.2。修改成自己的Efinity軟件安裝路徑即可。stpe4:
    的頭像 發(fā)表于 11-01 11:06 ?98次閱讀

    FPGA軟件Efinity入門使用-v7

    ? 一、 軟件預(yù)設(shè)置 二、新建工程 三、添加源文件 四、添加管腳約束 五、添加GPIO 六、 PLL設(shè)置 七、IPM添加IP 八、 添加debug 九、下載 十、仿真 十一、查看軟件版本?? 一
    的頭像 發(fā)表于 10-21 18:55 ?575次閱讀
    FPGA<b class='flag-5'>軟件</b><b class='flag-5'>Efinity</b><b class='flag-5'>入門</b>使用-v7

    Efinity編譯生成文件使用指導(dǎo)-v1

    接上篇: (6)查看Unassigned Core Pins。 在placement下面的palce.rpt文件中搜索 Unassigned C ore Pins就可以看到。它說明這些管腳沒有用于內(nèi)部連接。 大家可以點擊這個鏈接查看上文 Efinity編譯生成文件使用指導(dǎo)
    的頭像 發(fā)表于 08-13 14:22 ?644次閱讀
    <b class='flag-5'>Efinity</b>編譯生成文件使用指導(dǎo)-v1

    Efinity debuger常見問題總結(jié)-v2

    Efinity在Debug時會出現(xiàn)UUID mismatch錯誤。很多剛開始使用的人經(jīng)常遇到。下面我們做一個總結(jié)。歡迎遇到案例時共同分享。
    的頭像 發(fā)表于 07-11 11:39 ?1985次閱讀
    <b class='flag-5'>Efinity</b> debuger常見問題總結(jié)-v2

    Efinity RISC-V IDE入門使用-3

    自從新版本的Efinity RISC-V IDE發(fā)布之后,這直沒有時間操作一下,它為RISC-V ' C '和' c++ '軟件開發(fā)提供了一個完整、無縫的環(huán)境;今天終于安裝了,但安裝
    的頭像 發(fā)表于 07-09 08:46 ?982次閱讀
    <b class='flag-5'>Efinity</b> RISC-V IDE<b class='flag-5'>入門</b>使用-3

    手把手教你排序算法怎么寫

    今天以直接插入排序算法,給大家分享一下排序算法的實現(xiàn)思路,主要包含以下部分內(nèi)容:插入排序介紹插入排序算法實現(xiàn)手把手教你排序算法怎么寫在添加新的記錄時,使用順序查找的方式找到其要插入的位置,然后將
    的頭像 發(fā)表于 06-04 08:03 ?628次閱讀
    <b class='flag-5'>手把手</b>教你排序算法怎么寫

    手把手帶你移植HAL庫函數(shù)

    開發(fā)者更高效地進(jìn)行嵌入式開發(fā)。手把手帶你移植HAL庫函數(shù)HAL庫提供了一套抽象接口,使開發(fā)者無需直接操作底層硬件寄存器,就能實現(xiàn)對硬件的控制。這種抽象使得代碼能夠更
    的頭像 發(fā)表于 05-18 08:04 ?1593次閱讀
    <b class='flag-5'>手把手</b>帶你移植HAL庫函數(shù)

    國產(chǎn)FPGA應(yīng)用專題--易靈思Efinity軟件使用心得

    并不像大廠,顯得差異更大一些。但經(jīng)過一段時間的使用,我個人認(rèn)為并不需要因為差異大些就過于排斥,Efinity在使用上并不會麻煩。 接下來我們來聊一下Efinity的一些功能及個人使用感受。主要包括以下幾個方面: (1)軟件
    的頭像 發(fā)表于 04-23 15:38 ?1968次閱讀
    國產(chǎn)FPGA應(yīng)用專題--易靈思<b class='flag-5'>Efinity</b><b class='flag-5'>軟件</b>使用心得

    Efinity Interface Designer報錯案例-v2

    to efx_pnr... 原因:(1)有些客戶使用Win7版本,目前Efinity對Win7的支持不好。建議升級成win10。 ????(2)殺毒軟件刪除了文件,實際interface生成約束是沒有問題的,客戶pnr
    的頭像 發(fā)表于 04-07 08:41 ?1227次閱讀
    <b class='flag-5'>Efinity</b> Interface Designer報錯案例-v2

    Efinity軟件安裝-v3

    安裝python了,軟件安裝時會自己安裝python3.8,也不需要下載。 step2 :安裝efini
    的頭像 發(fā)表于 03-29 08:38 ?343次閱讀

    工程送樣!手把手教你用好廣和通RedCap模組FG131&amp;amp;FG132系列

    工程送樣!手把手教你用好廣和通RedCap模組FG131&FG132系列
    的頭像 發(fā)表于 01-11 18:22 ?650次閱讀
    工程送樣!<b class='flag-5'>手把手</b>教你用好廣和通RedCap模組FG131&amp;amp;FG132系列

    Efinity Interface Designer報錯案例-v0

    to efx_pnr... 原因:(1)有些客戶使用Win7版本,目前Efinity對Win7的支持不好。建議升級成win10。 ????(2)殺毒軟件刪除了文件,實際interface生成約束是沒有問題的,客戶pnr的時候
    的頭像 發(fā)表于 12-12 09:52 ?812次閱讀
    <b class='flag-5'>Efinity</b> Interface Designer報錯案例-v0

    Efinity Interface Designer報錯案例-v1

    to efx_pnr... 原因:(1)有些客戶使用Win7版本,目前Efinity對Win7的支持不好。建議升級成win10。 ????(2)殺毒軟件刪除了文件,實際interface生成約束是沒有問題的,客戶pnr的時候
    的頭像 發(fā)表于 12-12 09:52 ?1129次閱讀
    <b class='flag-5'>Efinity</b> Interface Designer報錯案例-v1