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

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

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

Efinity入門使用-v3

XL FPGA技術(shù)交流 ? 2024-11-06 15:56 ? 次閱讀

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


一、軟件預(yù)設(shè)置。

選項(xiàng)
說明
Usereditor
一般軟件自帶的編輯器功能有限,而外部編輯器功能要強(qiáng)大很多。所以建議大家使用外部編輯器。在User editor中輸入編輯器的路徑。
Use user editor as default editor for all files。如果希望每次點(diǎn)擊文件時(shí)是通過外部編輯器打開的,可以勾選Use user editor as default editor for all files。反之,如果希望使用自帶編輯器打開則不用勾選。
Top level project path
指定新建工程目錄。
Enable flow data integrity check

Open last project on startup
如果勾選此選擇,會(huì)打開上次關(guān)閉的工程
openfile usingdefault system application

Use lastwindow layoutsetting
使用上次軟件關(guān)閉時(shí)的窗口布局。
Auto-correct Tcl command
在tcl命令窗口中輸入命令時(shí)可以自動(dòng)修改存在的錯(cuò)誤。
Auto-loadPlace andRoute data
打開軟件是自動(dòng)加載布局布線的數(shù)據(jù)。建議關(guān)閉。
Migrate interfacedesign withdevicechange
修改器件時(shí),interface desiger中的配置也要修改。
EnableIP upgrades prompt on project load
用新版本打開老的軟件建的工程時(shí),打開該選項(xiàng)會(huì)提示IP需要更新,如果不想更新IP可以關(guān)閉這個(gè)選項(xiàng)。



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





二、新建工程

Step1:點(diǎn)擊設(shè)置

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

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

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

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

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

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


點(diǎn)擊ok,新建工程完成。

三、添加源文件

方法1:選擇Design右擊,點(diǎn)擊Create
方法2:自己建立文件,添加文件到工程:
Stp1:選擇Design右擊,點(diǎn)擊Add
方法1:選擇Design右擊,點(diǎn)擊Add
方法2:Project Editoràadd file Efinity還可以添加整個(gè)文件夾的文件,如圖選copy to project


四、管腳約束

這里我們以一個(gè)LED點(diǎn)燈為例,代碼如下:


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


Core 與interface的關(guān)系

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

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

interface與core的關(guān)系

interface界面

Bank電壓的設(shè)置

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


添加GPIO

Step1:右鍵選擇GPIO

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

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


選項(xiàng)

選擇

說明

Mode

Input,
output,
inout,
clkout

Input:把FPGA管腳設(shè)置為輸入;

Output:把FPGA管腳設(shè)置為輸出;

Inout:把FPGA管腳設(shè)置為雙向管腳;

Clkout:把FPGA管腳設(shè)置為時(shí)鐘輸出

Connection Type

Normal,gclk,pll_clkin,VREF

gclk走全局時(shí)鐘網(wǎng)線,可以驅(qū)動(dòng)PLL也可以直接驅(qū)動(dòng)內(nèi)部邏輯

用于普通的GPIO;

PLL_CLKIN表示這個(gè)IO是用于驅(qū)動(dòng)PLL的;

用于存儲(chǔ)器的參考管腳

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寄存器時(shí)需要添加指定寄存器的時(shí)鐘

Drive Strength

1,2,3,4

設(shè)置輸出IO的驅(qū)動(dòng)能力

Enable Slew Rate

Yes,no

是否命名能slew rate






右鍵添加GPIO

針對(duì)上面的工程我們的參數(shù)設(shè)置如下:
(1)Mode 設(shè)置為input
(2) I/O Standard根據(jù)所在的Bank來選擇電壓
Instacne Name: clk
Connection Type : pll_clkin
以arst_n為例 :
Mode : input
I/O standard :根據(jù)所在bank及bank電壓設(shè)置
Connection Type: normal
Register Option: none

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

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

PLLResourec


Output ClockInversion
on,off
翻轉(zhuǎn)時(shí)鐘輸出
ConnectionType

gclk,

rclk

時(shí)鐘類型
Clock Source

External,

Dynamic,Core

External指時(shí)鐘通過IO驅(qū)動(dòng);Dynamic:支持多路時(shí)鐘選擇;Core:時(shí)鐘通參考通過core供給

Automated clock

Calculation


打開時(shí)鐘計(jì)算和設(shè)置窗口

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


IO分配
點(diǎn)擊Show/Hide GPIO Resource Assigner,在Package Pin或者Resoure位置輸入管腳。


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


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

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


六 添加約束

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

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


編譯

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



七 添加debug

7.1通過向?qū)砑觗ebug

點(diǎn)擊Open Debugger Wizard

(1)設(shè)置Buffer Depth

(2)Input Pipeline Stage

(3)Capture control

(4)JTAG USER TAP

(5)修改時(shí)鐘域

(6)Probe Type


7.2手動(dòng)debug

手動(dòng)debug的方式就是自己一個(gè)個(gè)添加debug的信號(hào) ,當(dāng)然這種方式也可以添加 VIO,VIO可以通過JTAG產(chǎn)生一些控制信號(hào)。手動(dòng)添加debug的方式如下。

step1:點(diǎn)擊OpenDebugger打開Efinity Debugger頁面,在Perpectives下面選擇Profile Editor.

Step2:根據(jù)需要選擇添加VIO或者LA.

Step3: 以添加LA為例,點(diǎn)擊右側(cè)的add_probe來添加需要的信號(hào),然后在Name中修改信號(hào)名字,Width中指定信號(hào)位寬及Probe Trigger or Data中設(shè)置信號(hào)的觸發(fā)屬性。如果要?jiǎng)h除信號(hào)就點(diǎn)擊右側(cè)的帶“X"的remove Probe.

另外可以指定Data Depth,也就是數(shù)據(jù)采樣深度,Input Pipeline Stage對(duì)可以數(shù)據(jù)打拍,用于優(yōu)化時(shí)序。

step4 添加VIO。根據(jù)需要選擇vio界面的add source和add probe 來添加自己需要的信號(hào)。如果要?jiǎng)h除信號(hào)則選擇remove source/probe.

step5:點(diǎn)擊Generate,會(huì)在工程目錄下就會(huì)生成一個(gè)debug_top.v,把該文件添加到工程并例化。效果如下。

step6.添加JTAG。打開interface Designer,右擊選擇JTAG User Tap,添加JTAG Block,并指定JTAG resource,如下圖中選擇JTAG user1.然后生成約束例化信號(hào)。


注意通過向?qū)砑覦ebugger和通過手動(dòng)添加debuger這兩種方式不能共存。另外要注意在interface Designer中添加了User Tap之后,在添加向?qū)r(shí)要選擇不同的User Tap號(hào),否則會(huì)提示接口有占用。如下圖指示“ERROR: jtage resource = JTAG USER1 has been occupied"。


7.3 在線調(diào)試

該步驟需要在配置FPGA之后再能操作。

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

捕獲設(shè)置:

?觸發(fā)位置

?分段數(shù)量

?窗口嘗試


7.4 關(guān)閉debug
如果調(diào)試完成,想要關(guān)閉debug可以通過Project Editor --> Debugger下面的Debugger Auto Instantiation選項(xiàng),去掉勾選并點(diǎn)擊OK.

如果關(guān)閉成功會(huì)”Debugger was disabled. Please rerun the flow start from placement"的指示框。如果沒有出現(xiàn)則沒關(guān)關(guān)閉成功,需要重啟Efinity軟件再次關(guān)閉一次。



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


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


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

九 仿真


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

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

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

另外 關(guān)于interfce Designer接口的仿真模型在路徑C:\Efinity\2023.1\pt\sim_models\Verilog下。




原文標(biāo)題:Efinity入門使用-v3

文章出處:【微信公眾號(hào):易靈思FPGA技術(shù)交流】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

    關(guān)注

    1624

    文章

    21616

    瀏覽量

    601105
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Efinity入門使用-v2

    。 原文標(biāo)題:Efinity入門使用-v2
    的頭像 發(fā)表于 11-06 15:56 ?6次閱讀

    Efinity入門使用-v4

    Efinity入門使用-v4 文章出處:【微信公眾號(hào):易靈思FPGA技術(shù)交流】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
    的頭像 發(fā)表于 11-06 15:56 ?7次閱讀

    Efinity RISC-V IDE入門使用-4

    原文標(biāo)題:Efinity RISC-V IDE入門使用-4
    的頭像 發(fā)表于 11-01 11:06 ?98次閱讀

    Efinity軟件安裝-v5

    python3.8,也不需要下載。 ? ? ? ? ?step2:安裝efinity。該步驟比較簡(jiǎn)單,一路選擇Next,或者勾選同意。stpe3:安裝補(bǔ)丁。如果所選擇的版本有補(bǔ)丁則安裝補(bǔ)丁,如果沒有則不
    的頭像 發(fā)表于 11-01 11:06 ?73次閱讀

    淺析SDIO協(xié)議V2和V3版本的區(qū)別

    SDIO(Secure Digital Input/Output)協(xié)議V2和V3在多個(gè)方面存在顯著的區(qū)別,這些區(qū)別主要體現(xiàn)在功能支持、硬件要求、安全性以及支持的協(xié)議等方面。以下是對(duì)這些區(qū)別的詳細(xì)分析
    發(fā)表于 09-18 08:32

    榮耀Magic V3即將登陸英國(guó)市場(chǎng)

    7月12日榮耀震撼發(fā)布了其最新力作——榮耀Magic V3,這款折疊屏旗艦手機(jī)憑借其前所未有的輕薄設(shè)計(jì),折疊后厚度僅9.2mm,重量輕至226g,再次刷新了行業(yè)記錄,迅速吸引了全球消費(fèi)者的目光。近日
    的頭像 發(fā)表于 07-19 16:44 ?867次閱讀

    InterfaceDesinger 使用案例-v3

    ? 1、?DDIO用法 2、 時(shí)鐘輸出 3、 Efinity處理三態(tài)端口問題 4、 PLL的添加? 5、HSIO的解串器用法 ? 1、DDIO用法 對(duì)于輸入輸出IO很多時(shí)候會(huì)用到DDIO的用法。對(duì)于
    的頭像 發(fā)表于 07-17 16:24 ?909次閱讀
    InterfaceDesinger 使用案例-<b class='flag-5'>v3</b>

    京東方創(chuàng)新柔性O(shè)LED折疊屏解決方案助力榮耀Magic V3及Vs3系列發(fā)布

    7月12日,榮耀Magic旗艦新品發(fā)布會(huì)盛大舉辦,新一代輕薄折疊旗艦產(chǎn)品Magic V3及Vs3系列驚艷亮相。BOE(京東方)以f-OLED高端柔性折疊屏解決方案助力榮耀Magic V3及Magic Vs
    的頭像 發(fā)表于 07-12 18:09 ?1311次閱讀

    維信諾供貨榮耀Magic V3折疊屏手機(jī)

    強(qiáng)大依舊,輕薄進(jìn)階。7月12日,榮耀舉行Magic 旗艦新品發(fā)布會(huì)。維信諾供貨榮耀Magic V3手機(jī),助力全新旗艦折疊機(jī)更輕薄、更強(qiáng)大。
    的頭像 發(fā)表于 07-12 18:07 ?1332次閱讀

    Efinity RISC-V IDE入門使用-3

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

    TSER953 4.16Gbps V3鏈接串行器數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《TSER953 4.16Gbps V3鏈接串行器數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 07-02 09:25 ?9次下載
    TSER953 4.16Gbps <b class='flag-5'>V3</b>鏈接串行器數(shù)據(jù)表

    Arm新Arm Neoverse計(jì)算子系統(tǒng)(CSS):Arm Neoverse CSS V3和Arm Neoverse CSS N3

    Neoverse計(jì)算子系統(tǒng)(CSS)包括Arm Neoverse CSS V3和Arm Neoverse CSS N3。 Arm推出Neoverse CSS N3V3 Arm Ne
    的頭像 發(fā)表于 04-24 17:53 ?944次閱讀
    Arm新Arm Neoverse計(jì)算子系統(tǒng)(CSS):Arm Neoverse CSS <b class='flag-5'>V3</b>和Arm Neoverse CSS N<b class='flag-5'>3</b>

    Efinity軟件安裝-v3

    安裝python了,軟件安裝時(shí)會(huì)自己安裝python3.8,也不需要下載。 step2 :安裝efinity。該步驟比較簡(jiǎn)單,一路選擇Next,或者勾選同意。 stpe3:安裝補(bǔ)丁。如果所選擇的版本有
    的頭像 發(fā)表于 03-29 08:38 ?328次閱讀

    Arm發(fā)布Neoverse V3和N3 CPU內(nèi)核

    在計(jì)算市場(chǎng)持續(xù)迎來變革的背景下,Arm公司發(fā)布了其最新一代Neoverse CPU內(nèi)核設(shè)計(jì),分別為Neoverse V3(代號(hào)Poseidon)和N3(代號(hào)Hermes),兩款內(nèi)核將為服務(wù)器、云計(jì)算和基礎(chǔ)設(shè)施領(lǐng)域帶來更大規(guī)模和更快速度的計(jì)算能力。
    的頭像 發(fā)表于 02-27 09:27 ?855次閱讀
    Arm發(fā)布Neoverse <b class='flag-5'>V3</b>和N<b class='flag-5'>3</b> CPU內(nèi)核

    瑞薩Flash程序員V3 發(fā)布說明

    電子發(fā)燒友網(wǎng)站提供《瑞薩Flash程序員V3 發(fā)布說明.pdf》資料免費(fèi)下載
    發(fā)表于 02-19 09:37 ?1次下載
    瑞薩Flash程序員<b class='flag-5'>V3</b> 發(fā)布說明