摘要:后文全用表示,同樣適用于的發送器和接收器可以獨立的同步進行初始化。使用的任何都是多帶帶的進行復位,復位操作與復位完全獨立。復位序列要求的時間是決定了的。在復位過程中,必須保持為低。
所有IP核沒有正確工作,原因一半是時鐘,一半是復位。
匯總篇:
目錄
????????復位與初始化部分其實還挺復雜,還好GTX已經幫我們做好了,不想麻煩的直接跳到文末看結論~~~不過了解下也挺有意思的~~
????????同時GTX復位也挺隨意的,你想怎么復位都可以,支持整體復位,單個組件復位。我們也可以不復位,核不會因為我們沒有進行軟復位就不對核進行復位,在上電之后會自動進行一系列的復位,不隨你的意志而轉移。下面我們就來仔細研究研究GTX的復位吧!
????????鑒于筆者剛學習FPGA半年時間,對一些底層內容還不是很熟悉,所以本章內容基本為UG476關于復位和初始化章節的翻譯。
????????在FPGA上電配置之后,必須進行初始化才能使用GTX/GTH。(后文全用GTX表示,同樣適用于GTH)GTX的發送器(TX)和接收器(RX)可以獨立的同步進行初始化。
GTX的TX和RX初始化包含兩步:
????????GTX的TX和RX能從QPLL或者CPLL接收一個時鐘。所以在TX/RX初始化之前必須對相關的PLL(QPLL/CPLL)進行初始化。TX/RX使用的任何PLL都是多帶帶的進行復位,PLL復位操作與TX/RX復位完全獨立。TX/RX的數據路徑復位必須在相關的PLL復位完成,locked之后進行。(就跟我們使用PLL ?IP核一樣,等locked拉高之后,時鐘穩定才能使用)
?看圖說話:TX/RX是獨立的并行的進行復位操作。
????????GTX的TX和RX使用一個狀態機來控制初始化過程,并被劃分為幾塊來分別復位。該劃分允許復位狀態機按順序控制復位過程:PMA可以首先被復位,PCS可以在TXUSERRDY或者 RXUSERRDY信號被斷言后進行復位。在需要的時候,它也同樣允許PMS,PCS,他們內部的功能模塊獨立的進行復位。
????????GTX提供了兩種復位類型: initialization 和 component。
? Initialization Reset:?初始化復位。這種復位用作GTX完全復位。必須在設備上電及配置完成之后。在必要的時候,TX端口和RX端口的復位(GTTXRESET 和 GTRXRESET)同樣可被用來重新初始化GTX的TX和RX。 ?
? Component Reset:?模塊復位。對TX / RX 多帶帶部分進行復位。 TX模塊復位端口包括TXPMARESET 和TXPCSRESET 。RX 模塊復位端口包含RXPMARESET,RXDFELPMRESET,EYESCANRESET, RXPCSRESET, RXBUFRESET和 RXOOBRESET。(有木有很多很復雜。。)
注:
兩種復位類型主要有以下不同:
TX部分:
?RX部分:
GTX的初始化復位 (initialization reset) 只能使用順序復位模式(Sequential mode )。?
GTX的TX復位只能使用順序復位模式(Sequential mode )。
GTX的RX復位可以使用兩種復位模式:
Sequential mode :順序復位。隨復位狀態機(initialization 或 component)順序復位各個部分。
Single mode :多帶帶復位。僅復位單個部分(PMA、PCS、內部功能塊)。
復位完成由信號(TX/RX)RESETDONE表示,由低到高。
復位模式對CPLL和QPLL沒有任何影響。GTX也可以被軟件進行彈性復位設置,不管是哪種模式。
使用GTRESETSEL來選擇復位模式,RESETOVRD必須驅動為低電平。詳細見下表:
?注:復位前,GTRESETSEL和RESETOVRD需要300-500ns的有效時間。
????????在相關時鐘邊沿信號被檢測到之前,CPLL必須使用CPLLPD端口來下電。在CPLLPD被釋放后,CPLL在使用之前必須進行復位。每個GTX通道都有3個專用端口用來CPLL復位。如下圖:
?CPLLRESET :CPLL的復位輸入。推薦設計是一個時鐘周期。
CPLLLOCK ?:拉高時,表示CPLL的復位完成。
內部CPLL復位信號:低有效。但是由GTX內部電路產生的真正的CPLL復位必須比CPLLRESET高脈沖時間要長。這個時間跟帶寬、時鐘頻率等有關。
QPLL復位大致與CPLL相同。放張圖:
????????開門見山的說:GTX的TX復位只能使用順序復位模式(Sequential mode )。
????????GTX的TX使用一個復位狀態機來控制復位過程。TX復位分為兩部分:TX PMA和TX PCS。
????????回憶下(1)GTX基本知識所介紹的:GTX的TX和RX均有PMA+PCS兩個子層組成。
?????????在整個PMA和PCS中,都由這個復位狀態機按順序執行復位。如下圖:
?????????使用TXPMARESET來對TX進行復位,TXRESETDONE拉高表示復位完成。
? ? ? 直到TXUSERRDY被檢測為高時,TX復位狀態機才對PCS進行復位。但是,驅動TXUSERRDY為高需滿足以下條件:
端口 | 方向 | 時鐘域 | 描述 |
GTTXRESET | 輸入 | 異步 | TX復位,驅動為高,然后釋放,來啟動整個TX復位序列。復位序列要求的時間是決定了的。 |
TXPMARESET | 輸入 | 異步 | TX PMA復位。驅動為高,然后釋放,來啟動TX PMA復位過程。在順序復位模式時,這個復位端口將激活PMA和PCS都復位。 |
TXPCSRESET | 輸入 | 異步 | TX PCS復位。驅動為高,然后釋放,來啟動TX PCS復位過程。在順序復位模式時,這個復位端口將激活PMA和PCS都復位。 |
TXUSERRDY | 輸入 | 異步 | 在TXUSRCLK和TXUSRCLK2時鐘穩定后,用戶應用將該端口驅動為高。例如:使用了MMCM,那么MMCM的locked信號就可以用到這里。 |
TXRESETDONE | 輸出 | TXUSRCLK2 | 拉高表示復位完成。 |
CFGRESET | 輸入 | 異步 | 保留。 |
TXPMARESETDONE | 輸出 | 異步 | 拉高表示TX-PMA復位完成。 |
PCSRSVDOUT | 輸出 | 異步 | 保留。 |
TX復位必須滿足下列條件:
1. ?使用順序復位模式,GTRESETSEL必須為低。.
2. ?GTTXRESET必須使用。
3. ?在復位完成前(TXRESETDONE拉高),TXPMARESET和TXPCSRESET 必須驅動為低不變。
4. ?在PLL locked之前,GTTXRESET不能被驅動為低。
如果加載配置時,復位模式默認為順序復位模式,在配置加載后等待最少500ns,C/QPLLRESET 和GTTXRESET 就可以被斷言了。
如果復位模式為single mode,用戶必須:
1. ?在配置加載完成后,等待最少500ns。
2. ?將復位模式改為順序復位模式?Sequential mode。
3. ?再等待300-500ns。
4. ?斷言 C/QPLLRESET和 GTTXRESET。
推薦的設計是使用來自相關的CPLL或者QPLL的PLLLOCK 來釋放GTTXRESET由高到低。
TX復位狀態機等GTTXRESET拉高,開始TX復位,直到GTTXRESET被釋放低為止。
如下圖所示:
?
GTX允許用戶在任意時刻對TX進行復位,只需要給GTTXRESET一個有效的高脈沖信號。 TXPMARESET_TIME和 TXPCSRESET_TIME 可以被設置為靜態的也可以通過DRP端口來動態設置以適配在申請 GTTXRESET之前要求的復位時間。
當使用GTTXRESET時必須滿足以下條件:
????????TX PMA和 TX PCS 可以多帶帶進行復位。在 TXPMARESET 或者 TXPCSRESE復位過程完成之前,TGTTXRESET必須保持為低。驅動TXPMARESET從高到低來啟動PMA復位程序, 在TXPMARESET復位過程中,TXPCSRESET必須保持為低。
????????在順序復位模式,復位狀態機在PMA復位完成后,(如果TXUSERRDY為高)自動開始PCS復位。如下圖:
?當TXUSERRDY為高時,驅動TXPCSRESET由高到低來啟動PCS復位程序。在PCS復位過程中,TXPMARESET 必須保持為低。
在順序復位模式,復位狀態機僅復位PCS,如下圖:
已經快11點了,累了,溜了溜了,,,放張圖:
?
由GTX核分別輸出了發送端TX和接收端RX的初始化完成信號:
TX:?gt0_tx_fsm_reset_done_out(output)
RX: gt0_rx_fsm_reset_done_out(output)
直接使用這兩個信號就好,TX復位完成就可以開始發送數據,RX復位就可以接收數據。
也可以加個信號 GT_RESET_DONE;
assign GT_RESET_DONE = gt0_tx_fsm_reset_done_out && gt0_rx_fsm_reset_done_out;
先用起來,后面再深入研究,不過了解了復位過程發現還是有點意思~
OK,前面說了一大堆結論卻還是很簡單的~
拿去搬磚吧~
???
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/125575.html
摘要:年月日,機器之心曾經推出文章為你的深度學習任務挑選最合適從性能到價格的全方位指南。如果你想要學習深度學習,這也具有心理上的重要性。如果你想快速學習深度學習,多個廉價的也很好。目前還沒有適合顯卡的深度學習庫所以,只能選擇英偉達了。 文章作者 Tim Dettmers 系瑞士盧加諾大學信息學碩士,熱衷于開發自己的 GPU 集群和算法來加速深度學習。這篇博文最早版本發布于 2014 年 8 月,之...
摘要:阿里云服務器平臺在云端提供統一硬件平臺與中間件,可大大降低加速器的開發與部署成本。我們相信,通過即開即用的硬件資源統一的軟硬件邏輯開發接口和市場,阿里云能夠真正兌現計算資源平民化的承諾。 阿里云ECS的異構計算團隊和高性能計算團隊一直致力于將計算資源平民化;高性能計算團隊在做的E-HPC就是要讓所有云上用戶都能夠瞬間擁有一個小型的超算集群,使得超算不再僅僅是一些超算中心和高校的特權;而...
摘要:文章翻譯自深度學習是一個計算需求強烈的領域,的選擇將從根本上決定你的深度學習研究過程體驗。因此,今天就談談如何選擇一款合適的來進行深度學習的研究。此外,即使深度學習剛剛起步,仍然在持續深入的發展。例如,一個普通的在上的售價約為美元。 文章翻譯自:Which GPU(s) to Get for Deep Learning(http://t.cn/R6sZh27)深度學習是一個計算需求強烈的領域...
摘要:在低端領域,在上訓練模型的價格比便宜兩倍。硬件定價價格變化頻繁,但目前提供的實例起價為美元小時,以秒為增量計費,而更強大且性能更高的實例起價為美元小時。 隨著越來越多的現代機器學習任務都需要使用GPU,了解不同GPU供應商的成本和性能trade-off變得至關重要。初創公司Rare Technologies最近發布了一個超大規模機器學習基準,聚焦GPU,比較了幾家受歡迎的硬件提供商,在機器學...
摘要:本文將告訴你如何用最省錢的方式,來搭建一個高性能深度學習系統。 由于深度學習的計算相當密集,所以有人覺得必須要購買一個多核快速CPU, 也有人認為購買快速CPU可能是種浪費。?那么,這兩種觀點哪個是對的? 其實,在建立深度學習系統時,最糟糕的事情之一就是把錢浪費在不必要的硬件上。 本文將告訴你如何用最省錢的方式,來搭建一個高性能深度學習系統。當初,在我研究并行深度學習過程中,我構建了一個GP...
閱讀 3733·2023-01-11 11:02
閱讀 4243·2023-01-11 11:02
閱讀 3049·2023-01-11 11:02
閱讀 5180·2023-01-11 11:02
閱讀 4733·2023-01-11 11:02
閱讀 5532·2023-01-11 11:02
閱讀 5312·2023-01-11 11:02
閱讀 3986·2023-01-11 11:02