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

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

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

聊一下Efinity的一些功能及個人使用感受

e9Zb_gh_8734352 ? 來源:FPGA技術(shù)聯(lián)盟 ? 2023-02-21 17:35 ? 次閱讀

做為FPGA的集成開發(fā)環(huán)境,不同的廠家其實大同小異。很多國產(chǎn)廠家,如安路,高云,會在軟件上貼近Xilinx和Intel,以節(jié)省客戶的軟件使用成本。而國產(chǎn)廠商的易靈思的集成開發(fā)環(huán)境Efinity似乎并不像大廠,顯得差異更大一些。但經(jīng)過一段時間的使用,我個人認為并不需要因為差異大些就過于排斥,Efinity在使用上并不會麻煩。 接下來我們來聊一下Efinity的一些功能及個人使用感受。主要包括以下幾個方面:

(1)軟件安裝;
(2)軟件界面;
(3)控制面板;
(4)預(yù)設(shè)置;
(5)工程編譯器;
(6)interface 與Core架構(gòu);
(7)在線調(diào)試;
(8)配置方式;

1、軟件安裝

這里以windows系統(tǒng)為例。Efinity的軟件安裝過程相對操作步驟多些,但是過程也很清晰。包括python的安裝、Efinity的安裝、驅(qū)動的安裝和在線調(diào)試工具的安裝。而且Efinity軟件比較小,只有1G左右,另外Efinity也沒有把器件庫單獨分離,整個安裝時間相對短很多。再者Efinity也沒有l(wèi)icense的限制,也就沒有因為license過期而需要等待重新申請的過程,這對于很多FPGA開發(fā)應(yīng)該說輕松不少。

2、軟件界面

打開Efinity界面如圖1,大致的框架與其它廠商也沒有多大差別,有控制面板,代碼編輯器,控制臺,信息欄等,畢竟都是FPGA集成開發(fā)環(huán)境,也不能差異大到哪兒去。 有些地方個人認為需要調(diào)整,比如編譯時沒有進度條,也沒有時間指示,不過左下方也有信息提示;另外項目路徑放在軟件最上方,各個窗口之間灰度空白縮小一點等小細節(jié)也可以稍做調(diào)整。但對于一個只開發(fā)了三年左右的FPGA集成環(huán)境,已經(jīng)非常不錯了。

e6f1aed0-b1ca-11ed-bfe3-dac502259ad0.png

圖1

3、控制面板

下面主要來聊下控制面板??刂泼姘宸殖伤牟糠郑毫鞒炭刂婆_、工程面板、網(wǎng)表面板,輸出面板。

流程控制臺:深藍色的dashboard部分就是流程控制臺,

如圖2。主要控制程序的編譯流程,包括綜合、布局、布線和生成燒寫文件。另外兩個是停止和單步流程運行。這與所有廠家都大同小異。

e71ea124-b1ca-11ed-bfe3-dac502259ad0.png ?

圖2 工程面板(Project):客戶可以在工程向?qū)е刑砑釉次募?,IP和仿真文件等。另外也可以查看選擇的器件、工程路徑及頂層文件等信息,如圖3所示。

e7312164-b1ca-11ed-bfe3-dac502259ad0.png

圖3 網(wǎng)表面板(netlist):客戶可以在這里查看工程中生成的網(wǎng)表,包括hierarchy、Elaborated和Synthesized三種,如圖4所示。

e74269f6-b1ca-11ed-bfe3-dac502259ad0.png

圖4 輸出面板(Result):這里主要是工程編譯生成的各種報告及資源使用詳情,時序裕量、時鐘MAX值等,如圖5所示。 輸出面板(Result):這里主要是工程編譯生成的各種報告及資源使用詳情,時序裕量、時鐘MAX值等,如圖5所示。

e7605222-b1ca-11ed-bfe3-dac502259ad0.png

圖5 總的來說,控制面板中工程編譯信息都是很詳細的,而且輸出信息以文件的形式給出在保存和發(fā)送上也是很方便的。

4、預(yù)設(shè)置(preferences)

在預(yù)設(shè)功能中這里主要提兩個功能,其余大家可以在使用中體會。如圖6所示,一個是外部編譯器,另一個是Auto-load Place and Route Data。當然其余功能也很重要。 一般來說軟件自帶編輯器功能有限,所以集成環(huán)境一般都支持指定外部編譯器。

Efinity同樣也支持外部編譯器件,并且操作上相對某些集成環(huán)境也更簡單,只需要在Preferences下面指定外部編譯器件的執(zhí)行文件路徑即可 如果雙擊Project下的Design或者在Hierarchy下面的文件,文件會以自帶的編輯器件打開。只有選擇文件右擊,并行選擇Open with user Editor時才會通過用戶設(shè)置的編譯器打開,看似麻煩一些,卻可以同時使用兩種編譯器件。

這一點在使用Quartusprame的自帶編輯器件insert功能時會有深刻體會到在某個時刻它的優(yōu)勢。 另外還有一個Auto-load Place and Route Data功能值的一提,該功能可能根據(jù)需要來選擇加載時是否可以加載布局布線的數(shù)據(jù)。如果不加載布局布線的數(shù)據(jù)可以節(jié)省打開軟件的時間以及節(jié)省編譯時間,還可以手動加載,也算比較靈活的一個功能。

e7804488-b1ca-11ed-bfe3-dac502259ad0.png

圖6

5、工程編輯器(Project Editor)

軟件使用中的大部分功能都在Project Editor中,包括工作設(shè)置,工程文件的添加,器件的指定、綜合和布具布線的設(shè)置及優(yōu)化選項、位流文件的生成方式及在線調(diào)試文件的指定。

相對來說沒有大廠的功能豐富,但功能劃分比較清晰而都是在設(shè)計中用得到的。

下面來簡單聊下部分功能。

工程設(shè)置(Project):工程設(shè)置包括工程名、工程位置、器件家族及器件的型號和速度等級這些常用項。一目了然,毋需多言,如圖7所示。

e792d44a-b1ca-11ed-bfe3-dac502259ad0.png

圖7 設(shè)計文件添加:這里用于指定頂層文件,添加源文件及約束文件,如圖8所示。

e7b0ca72-b1ca-11ed-bfe3-dac502259ad0.png

圖8 除了可以單獨添加文件外,Efinity還可以添加整個文件夾的文件,如圖9所示。

另外還支持把外部文件導入到工程目錄下,如果不導入工程,也可以指定相對路徑或者全路徑。

這個功能比較靈活支持各種方式的文件添加,是比較方便的。

e7ced792-b1ca-11ed-bfe3-dac502259ad0.png

圖9 綜合(Synthesis):綜合頁面有關(guān)于綜合的優(yōu)化選項,添加參數(shù)和宏定義等,常用的功能都是存在的,如圖10所示。

e7daef8c-b1ca-11ed-bfe3-dac502259ad0.png

圖10 布局布線(Place and Route):如圖11所示,布局布線功能相對簡單,有6個優(yōu)化策略和種子選擇。

另外也可以通過命令來掃描策略和控制種子運行數(shù)量,操作也非常簡單,另外結(jié)論會以文件的形式輸出,一目了然。

e7e8080c-b1ca-11ed-bfe3-dac502259ad0.png

圖11 有關(guān)于位數(shù)據(jù)流和調(diào)試就不再展開,留給大家自己去親自體驗下。

我們可以來對比一個點,而別的廠家,比如xilinx和intel,頂層文件是在在Hierachy中指定,并把Hierachy擺放在一個主要的位置,顯得更一目了然。

而Efinity的工程的頂層文件需要手動輸入,如果沒有輸入會自動檢測,但是并不一定準確。

上面的網(wǎng)表中也講到Efinity也有Hierachy的功能,但感覺已經(jīng)弱化了它的重要性。

在應(yīng)用中只要稍加注意或者使用習慣之后,是不會存在任何問題的。

6、Inteface 與Core分析的架構(gòu)

Eifinty與別的器件廠商集成環(huán)境的一個很大不同之處在于,Eifinty采用的把邏輯資源和硬核資源分開的架構(gòu),如圖12所示。

代碼部分只針對邏輯資源,也就是我們這里提到的Core,而IO及其他硬核部分的配置在interface Designer工具中。

下圖是interface與Core的關(guān)系,它們之間通過被稱作Siganl Interface的連線資源實現(xiàn)互聯(lián)。

這里要提到的是因為習慣問題,使用者在最初一定會存在一些問題,但是習慣之后它也是有不少優(yōu)勢存在的。

比如說,在前期的硬件設(shè)計中,只需要在Interface Designer中添加已添加的IO及其他需要的硬件接口,并通過一鍵檢測就可以很清楚的知道與外設(shè)的連接是否合理,不需要考慮內(nèi)部因為沒有完整的程序而可能被優(yōu)化的風險。

當然,它也有不靈活之處。不如通過代碼復(fù)制來的簡單快捷,雖然也可以通過文件設(shè)置再導入,但是文件的編輯上也會相對麻煩一些。

e7f9e4e6-b1ca-11ed-bfe3-dac502259ad0.png

圖12 這里以GPIO為例,如圖13所示,可以設(shè)置例化名,指定IO類型,設(shè)置電平標準,選擇是否支持寄存器,選擇是否支持DDR數(shù)據(jù)及信號驅(qū)動強度等。

這相對于在RTL文件直接用input或者output來定義信號來說,更有利于理解GPIO的內(nèi)部結(jié)構(gòu)及其使用規(guī)則。

整體來說這種interface和core分析的架構(gòu)優(yōu)勢很明顯。

e807b08a-b1ca-11ed-bfe3-dac502259ad0.png

圖13

7、在線調(diào)試

Efinity的在線調(diào)試工具名為Debbuger,如圖14所示,目前只支持post-map網(wǎng)表 elaborated(綜合前)網(wǎng)表,如圖3所示,如intel的signalTap一樣,用戶可以通過簡單的點擊信號來選擇,用戶可以通過選擇不同的時鐘域,把信號自動分到不同的界面,操作相對簡單。

另外在勾選了Capture Control選項之后,也可以支持任意觸發(fā)位置和分段觸發(fā)。這都是Efinity相對具有的優(yōu)點。

但由于軟件開發(fā)時間比較短,不足之處也是有的,Efinity的Debbuger工具占用資源相對多些,對時序也會有些影響。

并且目前也不支持上電觸發(fā)和多級觸發(fā)等功能。但是相應(yīng)的功能和優(yōu)化也已經(jīng)在迭代開發(fā)中,每個一新發(fā)布的版本都值得期待。

e816569e-b1ca-11ed-bfe3-dac502259ad0.png

圖14

8、配置方式

目前Efinity支持的配置有AS模式,PS模式、jTAG模式和Jtag Bradge四種模式。

這幾種模式也是最常用的,各個廠家差異幾近相似。

大廠模式更多些,但這些模式在實際使用中——由其在中低端器件上——使用者寥寥無幾。

圖15是一個Programmer界面。Efinity的Programmer界面比較樸素,連進度條也沒有,不過通過打印信息可以看到配置進程。

e83de736-b1ca-11ed-bfe3-dac502259ad0.pnge8920870-b1ca-11ed-bfe3-dac502259ad0.png ????

另外Efinity仿真模型也都是能RTL代碼的形式存在,在通過第三方仿真時也不需要編譯庫等等。

Efinity也有通過指令控制之類一些軟件使用功能,這里不再一一列舉。

總結(jié)來說,Efinity是一個具備FPGA開發(fā)完整功能的集成開發(fā)環(huán)境,雖然相對大的廠商Xilinx和Intel的集成開發(fā)環(huán)境功能還有一段距離,但是只要存在的功能都顯示出了清晰明了的特征,相對都操作更簡單直接。并且在每一個版本的迭代上功能都越來越豐富。

我們也由衷期待易靈思在FPGA這個行業(yè)越做越好,為國產(chǎn)FPGA行業(yè)帶來更多創(chuàng)新和更長足的發(fā)展。

如果想快速上手易靈思的FPGA,可以選擇“XEM_T20”FPGA模塊快速上手,直接上手編程,實現(xiàn)您的idea在FPGA上。





審核編輯:劉清

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

    關(guān)注

    1630

    文章

    21769

    瀏覽量

    604648
  • 時鐘
    +關(guān)注

    關(guān)注

    11

    文章

    1740

    瀏覽量

    131630
  • 編譯器
    +關(guān)注

    關(guān)注

    1

    文章

    1638

    瀏覽量

    49197

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

文章出處:【微信號:gh_873435264fd4,微信公眾號:FPGA技術(shù)聯(lián)盟】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    一下IGBT驅(qū)動中的參考電位問題

    大家好,今天一下IGBT驅(qū)動中的**參考電位**問題。我們都知道IGBT的驅(qū)動參考電平都是基于 **器件自身的發(fā)射極** ,當柵極相對于發(fā)射極電位 **超過閾值電壓時,器件就會開通** , **小于閾值電壓后,器件就會關(guān)斷** 。
    的頭像 發(fā)表于 11-09 15:19 ?1154次閱讀
    <b class='flag-5'>聊</b><b class='flag-5'>一下</b>IGBT驅(qū)動中的參考電位問題

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

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

    MATLAB gui 的一些書和大家分享一下

    MATLAB gui 的一些書和大家分享一下鏈接:http://pan.baidu.com/s/1gehqUfL 密碼:ljqc鏈接:http://pan.baidu.com/s/1geluJE7 密碼:nr7m
    發(fā)表于 02-21 12:57

    介紹一下UPS的一些基礎(chǔ)知識

    機房UPS電源實際負載容量與負載量是怎么計算的?2018-09-16正文:、首先介紹一下UPS的一些基礎(chǔ)知識1、為什么用UPS?UPS的作用是什么?至于為什么用UPS?就是為了不停電。UPS的三
    發(fā)表于 11-16 07:16

    講解一下SQLite的安裝和一些基本操作

    SQLite是款輕型的嵌入式關(guān)系數(shù)據(jù)庫,輕量級,效率高,操作起來也特別方便我們今天來講解一下SQLite的安裝和一些基本操作在 Windows 上安裝 SQLite請訪問 SQLite 下載頁
    發(fā)表于 12-15 07:52

    處理原理圖的一些技巧

    處理原理圖的一些技巧     最近在畫個原理圖,把一些比較好的經(jīng)驗分享一下,比較普通的就不提了。1.把每個功能
    發(fā)表于 11-21 13:56 ?696次閱讀

    關(guān)于顯示器選購的一些

    顯示器的上市日期是消費者極其容易忽略的點,特別是促銷活動期間,一些看似折扣力度很大的商品可能已經(jīng)是好多年前的陳年舊款了,做工和品控明顯已經(jīng)過時,一些追求新潮的消費者應(yīng)該會尤為介意這點。
    的頭像 發(fā)表于 04-17 15:21 ?3173次閱讀
    <b class='flag-5'>聊</b><b class='flag-5'>一</b><b class='flag-5'>聊</b>關(guān)于顯示器選購的<b class='flag-5'>一些</b>事

    匯總一下能夠幫助樹莓派初學者入門的一些資源

    樹莓派運行的是Linux系統(tǒng),因此需要對Linux的命令和操作進行熟悉,我個人的體會Linux的命令行就跟當年我們學的DOS系統(tǒng)樣,記住一些最基本的命令,或者隨時查閱。
    的頭像 發(fā)表于 04-04 14:43 ?1.2w次閱讀

    關(guān)于C語言的一些特殊功能介紹

    C語言之所以那么受歡迎,除了C語言歷史悠久之外,還有它具有一些編程語言沒有的功能。那么,今年我們就來了解一下C語言的一些特殊功能。
    的頭像 發(fā)表于 08-18 15:31 ?2477次閱讀
    關(guān)于C語言的<b class='flag-5'>一些</b>特殊<b class='flag-5'>功能</b>介紹

    有關(guān)Redis的一些思考和理解

    。 我們能在網(wǎng)絡(luò)上輕易地找到關(guān)于 Redis 具體知識點的講解,但很少有文字說明為什么會有這項技術(shù),筆者希望通過本文總結(jié)一下個人目前對 Redis 的理解。 1. 初識 Redis 最開始的時候,筆者是通過網(wǎng)絡(luò)上面的一些項目教程了解到 Redis 的,當時教程里說把首頁數(shù)
    的頭像 發(fā)表于 10-30 11:21 ?553次閱讀

    Flutter的一些技巧

    想你非常有必要嘗試一下。 我接觸Android開發(fā)也有幾年了,前段時間公司大力推廣Flutter技術(shù),所以有幸嘗試了一下。本人直信奉善于總結(jié)是不斷進步的不二法寶,這樣你才能不斷的超越同行,不被裁員,所以在此準備以切身體驗提供
    的頭像 發(fā)表于 02-12 11:46 ?2059次閱讀
    Flutter的<b class='flag-5'>一些</b>技巧

    單片機學習之路一些常見的疑問也是我的個人學習總結(jié)

    單片機學習之路一些常見的疑問也是我的個人學習總結(jié)
    發(fā)表于 11-14 11:51 ?22次下載
    單片機學習之路<b class='flag-5'>一些</b>常見的疑問也是我的<b class='flag-5'>個人</b>學習總結(jié)

    單片機學習之路一些常見的疑問也是我的個人學習總結(jié)

    單片機學習之路一些常見的疑問也是我的個人學習總結(jié)
    發(fā)表于 11-14 15:21 ?12次下載
    單片機學習之路<b class='flag-5'>一些</b>常見的疑問也是我的<b class='flag-5'>個人</b>學習總結(jié)

    get與post的請求一些區(qū)別

    今天再次看到這個問題,我也有了一些新的理解和感觸,臨時回顧了一下 get 與 post 的請求的一些區(qū)別。
    的頭像 發(fā)表于 09-07 10:00 ?1420次閱讀

    芯片設(shè)計的NDR是什么?

    今天突然想route相關(guān)的問題,講講NDR是什么,我也梳理總結(jié)一下我對NDR的認識。
    的頭像 發(fā)表于 12-06 15:14 ?2213次閱讀