精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

InterfaceDesinger 使用案例-v3

XL FPGA技術交流 ? 來源:易靈思FPGA技術交流 ? 作者:易靈思FPGA技術交流 ? 2024-07-17 16:24 ? 次閱讀

1、DDIO用法

2、時鐘輸出

3、Efinity處理三態端口問題

4、PLL的添加

5、HSIO的解串器用法

1、DDIO用法

對于輸入輸出IO很多時候會用到DDIO的用法。對于DDIO,就是時鐘的雙沿采集或者發送數據,所以必須要用到寄存器。它的設置也比較簡單,在intefaceDesigner中添加GPIO,并把register Option設置為register,另外要設置Double Data IO Option模式,分別為normal和resync。

422093a4-43d6-11ef-a4b4-92fbcf53809c.png

下圖是易靈思的GPIO的結構。

424419a0-43d6-11ef-a4b4-92fbcf53809c.png

對應上圖我們以ODDIO為例,分別標出了reg1,reg2和reg3三個寄存 器。當OUT0為上升沿的觸發信號,即HI,OUT1為下降沿的觸發信號,即LO。當DDIO模式設置為Normal mode時,OUT1經過reg3輸出;當設置為Resync mode時OUT1經過了reg2和reg3,reg2用于對數據打一拍來對齊數據,下面是數據的輸出波形。

425f5756-43d6-11ef-a4b4-92fbcf53809c.png

我們只需要在top模塊中添加相應信號即可以用于控制:

module DDIO_Test(...  otuputoddio_HI,  output oddio_LO,
...
);

下圖為數據輸入時的波形,分別對應 Normal和Resync mode。

42839698-43d6-11ef-a4b4-92fbcf53809c.png

2、時鐘輸出

易靈思所有的GPIO都可以用作時鐘輸出。這里我們提供兩種時鐘輸出方式。

方法一:把時鐘設置為clkout模式。下圖選自鈦金系列ds上的IO框圖 。從圖片上可以看到OUTCLK的路徑。

429c9d1e-43d6-11ef-a4b4-92fbcf53809c.png

在添加 GPIO時,設置Mode為clkout,并在output Clock中輸入時鐘名。

42c13a48-43d6-11ef-a4b4-92fbcf53809c.png

42db16e8-43d6-11ef-a4b4-92fbcf53809c.png

這里需要 注意的是,時鐘名不能從core直接輸出,而只能使用interface中使用的時鐘,如PLL輸出的時鐘或者GCLK輸入的時鐘。比如我們在代碼中定義了一個IO,如下:

module clk_test(...
output clk_100m,
...);

如果直接把代碼中定義的clk_100m直接配置給interface的GPIO,這時軟件會報錯。

方法二:

通過DDIO的方式設置時鐘輸出。IO模式設置為output,并打開Register Option及Double Data I/O Option,并指定時鐘。

42e1527e-43d6-11ef-a4b4-92fbcf53809c.png

4300e3b4-43d6-11ef-a4b4-92fbcf53809c.png

432eae16-43d6-11ef-a4b4-92fbcf53809c.png

程序內部分別對DDIO的高低位分部賦值為1或者0.

assign clk_out_inst_HI = 1'b1;assign clk_out_inst_LO=1'b0;

對于兩種方式的使用,Trion有很大一部分的GPIO不支持DDIO,只能使用第一種方式,鈦金所有的GPIO都支持DDIO;另外在源同步時鐘數據輸出時,DDIO的方式可以保證數據和時鐘的延時一致,所以易靈思推薦使用DDIO的方式。

3、Efinity處理三態端口問題

我們在處理三態門時一般都是用下面的語句;

inout bidr_pad;wirein;wire out;wireo_oe;
assign bidr_pad= o_en ? out :z; assignin=bidr_pad;

其實它對應的硬件結構就是下面的框圖。它涉及到3個信號:in,out,o_en。

當o_en = 1時,out可以通過out buf輸出到pad上,同時會反饋到in;

當o_en = 0時,out buf就是高阻態。in的信號就是通過外部pad通過in buf輸入進來。

4338425a-43d6-11ef-a4b4-92fbcf53809c.png

最初使用Efinity,因為架構差異,很多人被inout的使用難住了。這里來說明一下。在易靈思的產品架構中,原有的rtl代碼都是針對fabric的,也就邏輯部分。而IO被認為是外設。如下圖I/O Buffer部分相對于fabric是外設,它是在Efinity的interface Designer中設置的。這樣在rtl只需要定義:

inputin;outputout;output o_oe;

434f67f0-43d6-11ef-a4b4-92fbcf53809c.png

有了上面的認知,我們就容易理解在efinity中怎樣添加三態。

添加三態門的過程如下:

我們在interface中添加一個gpio,命名為sda,把Mode選擇為inout,

435bf182-43d6-11ef-a4b4-92fbcf53809c.png

點擊show/Hide GPIO Resource Assigner,打開IO分配界面分配IO.

438ccff0-43d6-11ef-a4b4-92fbcf53809c.png

點擊保存和Generate Efintiy Constraint Files.

43bb37c8-43d6-11ef-a4b4-92fbcf53809c.png

打開工程面板下面的Result下的xxx_template.v,可以看到里面添加了

43d49a42-43d6-11ef-a4b4-92fbcf53809c.png

Inputsda_IN,output sda_OE,output sda_OUT

三個信號,把這三個信號復制到工程文件的頂層中去,這樣就定義好了一個inout,可以直接全用了。

另外如果要添加IO寄存可以根據實際需要去選擇,同時要注意為寄存器選擇準確的時鐘。


這樣就不用再寫assign sda = oe ? sda_out :z; 這樣的語句,因為oe就是sda_OE, sda_out對應的就是接口生成的sda_OUT。

在Efinity的.v文件中不支持inout 雙向口的定義,另外Efinity也不支持‘z’這種定義。

4、PLL的添加

易靈思的FPGA在生成PLL的方式與別的廠家稍有區別,這與其的core和interface架構是相對應的。對于易靈思的FPGA來講,PLL,GPIO,MIPI,LVDS和DDR相對于core部分都是外設。而這些外設的設置都是在interface designer中的。下面以pll的添加為例,對于trion系列的設置簡單說明。鈦金系列會稍微的區別,但是只要了解了一個,另一個都是大同小異的。

一、PLL的添加

(1)打開interface desinger。

43e50508-43d6-11ef-a4b4-92fbcf53809c.png

(2)選擇pll右擊選擇Createblock,就可以添加pll

43ff13da-43d6-11ef-a4b4-92fbcf53809c.png

(3)這里我們把pll的例化名修改為pll_inst,并且按回車(必須回車)。

PLL resource對應PLL的位置,這也是易靈思的PLL使用與別家有區別的地方,必須要指定PLL的位置。

clock source是指pll參考時鐘的源來自哪里,包括外部和內部。

External clock:指示參考時鐘的源,包括參考時鐘0,參考時鐘1。

44208e34-43d6-11ef-a4b4-92fbcf53809c.png

(4)點擊Automated Clock Calculation打開時鐘設置界面。trion最多可以設置3個時鐘,紅包框中的箭頭和x可以用于打開和關閉相應的時鐘。

443badd6-43d6-11ef-a4b4-92fbcf53809c.png

(5)設置完成上面的操作之后,我們需要指定PLL的參考時鐘來源。從ds上我們可以看到PLL_BL0有兩個時鐘源,分別是REFCLK0和REFCLK1,分別對應GPIOL_15_PLLIN0和GPIOL_19_PLLIN1。

然后再添加PLL的參考時鐘腳,這里我們例化為pll_ref_clk,并要把connection Type設置為pll_clkin。并分配到GPIOL_15_PLLIN0上,因為上面選擇了External Clock0。這樣PLL的設置就差不多了。

4444f030-43d6-11ef-a4b4-92fbcf53809c.png

446bc41c-43d6-11ef-a4b4-92fbcf53809c.png

二、關于時鐘源

44852a88-43d6-11ef-a4b4-92fbcf53809c.png

在選擇clock source時,有三個選項,分別是external, core和dynamic。

external好理解,就是參考時鐘從外部IO進入的,上面的設置就是。

core是指時鐘從FPGA內部給PLL的參考,比如一個PLL的輸出給另一個PLL做參考時,第二個PLL的參考就是設置成core,或者從GCLK進入FPGA再環到PLL的輸入。

至于Dynamic Clock就是動態輸入選擇,支持多路選擇,如下圖,可以支持兩個core和兩個external時鐘。但是因為PLL不支持動態重配置,所以這個功能應用有限。

448ec840-43d6-11ef-a4b4-92fbcf53809c.png

三、PLL的反饋方式

PLL有三種反饋,core,Local和internal。

44aa73a6-43d6-11ef-a4b4-92fbcf53809c.png

從下面的圖來看,不同的反饋位置是不一樣的。core的反饋路徑是從FPGA的core內部來反饋,可以保證輸入時鐘與輸出時鐘同頻同相。這在源同步設計中是很有用的。而local和internal可以支持輸出更多的頻率,大家可以在操作中發現如果是core反饋的話,有些頻率是設置不出來的,而local和interanl卻可以。


44c498da-43d6-11ef-a4b4-92fbcf53809c.png

上面描述其實描述相對粗糙,語句什么的也沒有太去考慮措辭,花半個小時BB下,能用起來就行,如果實在有看不懂的,歡迎留言。

5、HSIO的解串器用法

在interface中添加一個IO,注意要分給HSIO,HVIO是不支持4位解器的。這里我們定義一個iserdes3的GPIO,方向為輸入。

44d1d874-43d6-11ef-a4b4-92fbcf53809c.png

在GPIO的屬性中,打開register,再打開Enable Deserialization就打開了解串器。Serial Clock Pin Name和Clock分別對應解串器的串行和并行時鐘,需要指出的是在使用解串器時不能打開DDIO功能,所以串行時鐘和并行時鐘的關系只是能是4倍關系。

假如串行時鐘是100MHz,那么轉換成的4位并行數據就降速到25MHz。

4519122a-43d6-11ef-a4b4-92fbcf53809c.png

在設置對應時鐘時會有相位的要求。如果同相位會提示錯誤信息

45360182-43d6-11ef-a4b4-92fbcf53809c.png

保存并點擊生成約束之后,在生成的template文件中就可以看到生成的IO端口已經變成4位位寬。

45546dde-43d6-11ef-a4b4-92fbcf53809c.png

(* syn_peri_port = 0 *) input [3:0] iserdes3,

審核編輯 黃宇
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Interface
    +關注

    關注

    0

    文章

    103

    瀏覽量

    38588
  • desinger
    +關注

    關注

    0

    文章

    1

    瀏覽量

    3410
收藏 人收藏

    評論

    相關推薦

    摩托羅拉v3電路圖

    摩托羅拉v3電路圖   •
    發表于 06-16 08:16 ?214次下載
    摩托羅拉<b class='flag-5'>v3</b>電路圖

    ITIL V3白皮書

    《翰緯ITIL v3 白皮書》是一本概要性的參考手冊,力圖通過較短的篇幅,簡明扼要地向讀者說明ITIL v3 的演化進程、基本理論、以及國內應用方面的探討,為讀者更加深入的理解和應
    發表于 08-06 11:56 ?0次下載

    v3送話器改裝

    v3送話器改裝
    發表于 07-13 02:16 ?2004次閱讀
    <b class='flag-5'>v3</b>送話器改裝

    逆變器V3框圖及外接電路圖

    逆變器V3框圖及外接電路圖
    發表于 07-20 14:57 ?909次閱讀
    逆變器<b class='flag-5'>V3</b>框圖及外接電路圖

    升壓變換器V3的電路圖

    升壓變換器V3的電路圖
    發表于 07-21 07:58 ?875次閱讀
    升壓變換器<b class='flag-5'>V3</b>的電路圖

    V3硬件設計指南V1.0

    V3硬件設計指南,全志V3硬件設計參考資料
    發表于 02-23 16:52 ?68次下載

    GAKATO光速達中控解決方案V3

    GAKATO光速達中控解決方案V3
    發表于 01-04 13:56 ?0次下載

    NODEMCU V3燒寫 AT固件

    NODEMCU V3燒寫 AT固件NODEMCU V3燒寫AT指令固件,保存配置圖。1.AT固件 AiCloud 2.0 AT(32mbit) 2.刷寫工具 flash download tools 3.6.4 3.串口調試工具
    發表于 10-28 12:36 ?19次下載
    NODEMCU <b class='flag-5'>V3</b>燒寫 AT固件

    突變體C v3 ThumbStick PCB開源

    電子發燒友網站提供《突變體C v3 ThumbStick PCB開源.zip》資料免費下載
    發表于 07-25 10:46 ?0次下載
    突變體C <b class='flag-5'>v3</b> ThumbStick PCB開源

    Arduino合成器V3設計案例

    電子發燒友網站提供《Arduino合成器V3設計案例.zip》資料免費下載
    發表于 08-11 09:50 ?2次下載
    Arduino合成器<b class='flag-5'>V3</b>設計案例

    NodeMCU V2 Amica V3 Lolin的盾牌

    電子發燒友網站提供《NodeMCU V2 Amica V3 Lolin的盾牌.zip》資料免費下載
    發表于 08-24 10:05 ?2次下載
    NodeMCU <b class='flag-5'>V</b>2 Amica <b class='flag-5'>V3</b> Lolin的盾牌

    使用Arduino Nano V3制作雕刻南瓜

    電子發燒友網站提供《使用Arduino Nano V3制作雕刻南瓜.zip》資料免費下載
    發表于 12-21 14:12 ?0次下載
    使用Arduino Nano <b class='flag-5'>V3</b>制作雕刻南瓜

    CCE4503評估板V3

    CCE4503評估板V3
    發表于 05-12 19:31 ?0次下載
    CCE4503評估板<b class='flag-5'>V3</b>

    CCE4503評估板V3

    CCE4503評估板V3
    發表于 06-29 19:23 ?0次下載
    CCE4503評估板<b class='flag-5'>V3</b>

    FET430UIF V3固件降級程序

    FET430UIF V3固件降級程序V3 ---> ?V2
    發表于 10-10 11:47 ?0次下載