999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

PCIe總線物理層彈性緩沖設計與實現

2016-02-27 03:41:26廖寅龍
計算機技術與發展 2016年6期
關鍵詞:設計

廖寅龍,田 澤,趙 強,馬 超

(西安航空計算技術研究所 集成電路與微系統設計航空科技重點實驗室,陜西 西安 710068)

PCIe總線物理層彈性緩沖設計與實現

廖寅龍,田 澤,趙 強,馬 超

(西安航空計算技術研究所 集成電路與微系統設計航空科技重點實驗室,陜西 西安 710068)

PCIe是在PCI總線的基礎上提出的新一代總線和接口標準,它原來的名稱為“3GIO”,是由英特爾在2001年提出的。PCIe屬于高速串行點對點雙通道高帶寬傳輸,所連接的設備分配獨享通道帶寬,不共享總線帶寬,主要支持主動電源管理、錯誤報告、端對端的可靠性傳輸、熱插拔以及服務質量(QOS)等功能。PCIe作為高速串行數據總線以其眾多的優點在計算機、通訊、航空航天等領域得到了廣泛應用。為了實現穩定可靠的數據通訊,必須解決總線恢復時鐘域數據和本地時鐘域數據的同步問題,彈性緩沖區是實現PCIe總線接口數據同步機制的有效方法。文中根據PCIe協議要求,分析PCIe總線通信中時鐘偏差的多種場景,設計了一款采用20位數據總線,讀寫時鐘頻率可達250 MHz的彈性緩沖,有效解決了PCIe總線通信中總線恢復時鐘域與本地時鐘域的數據同步問題。

PCIe;彈性緩沖;同步FIFO;半滿

0 引 言

PCIe(PCI Express)是從PCI發展而來的一種系統互聯接口標準。PCI和PCI-X都是基于32位以及64位的并行總線,而PCIe則使用高速串行總線。PCIe后向兼容于PCI,能夠靈活地提供大峰值帶寬。PCIe鏈路由多條通路組成,在鏈路中增加更多的通路可提高PCIe鏈路的帶寬。規范支持的鏈路通路帶寬有x1、x4、x8和x16等[1-3]。

PCIe總線是高速串行總線,并行數據在物理層經過字節拆分、擾頻、8b/10b編碼、并串轉換等過程將數據包由差分驅動接口以2.5 Gbps(PCIe 2.0標準中此速率為5 Gbps)的速率傳輸出去,接收設備執行大致相反的過程完成串行數據包接收和并行數據重組。8b/10b編碼的目的則是為了將高頻時鐘嵌入到串行數據中,接收端內嵌時鐘和數據恢復電路(Clock and Data Recovery,CDR)可根據比特流中眾多的0和1轉換來重建接收時鐘,這樣就避免了在發送和接收端之間傳輸高達GHz的高頻時鐘[4-5]。

PCIe接收模塊CDR電路恢復時鐘及其本地時鐘并不是同源時鐘,雖然兩者的時鐘頻率在標稱上是一致的,但是也必然存在頻率的輕微不一致。所以,為了保證可靠地將CDR恢復時鐘域的數據同步到本地時鐘域,必須要考慮時鐘頻率偏差的影響,而彈性緩沖區可以很好地達到這個目的[6]。

1 PCIe彈性緩沖區原理

根據協議要求,PCIe總線在2.5 Gbps的速率下通信,允許有300ppm的誤差,所以總線頻率在2.499 25~2.500 75 GHz范圍內都是允許的。由于這個允許的總線偏差,兩個互相通信的PCIe總線設備,其工作頻率會有輕微的不一致。因此,在同一個設備中數據的發送和接收將處于兩個不同的時鐘域。彈性緩沖將在兩個時鐘域的數據同步中起到頻率補償的作用,使通過彈性緩沖向上提交的數據保持完整。

彈性緩沖擁有兩個時鐘,一個來自于CDR電路,用于接收數據寫入彈性緩沖;另一個用于從彈性緩沖中讀出數據。兩個時鐘可以是異步時鐘,并且時鐘頻率也可以不一樣。彈性緩沖具有上溢或者下溢的保護機制,用來監控彈性緩沖中數據的填充狀態,并自動填充或者刪除特定的字符數據。在PCIe總線中這個特定字符為SKP有序集中的SKP(K28.1)字符。每個SKP有序集由一個COM字符(K28.5)和3個SKP字符組成。為了保證彈性緩沖不上溢也不下溢,要求發送端周期性地發出SKP有序集。

SKP有序集的周期必須要考慮最壞情況,PCIe總線速率與標準速率最大可允許300ppm,那么總線上通信的兩個PCIe設備時鐘最大可以有600ppm。這意味著1 666個時鐘周期就可能有一個2.5 GHz時鐘周期的時鐘偏差。這要求發送端發送SKY有序集的周期必須小于1 666個周期。根據協議定義要求,發送端在1 180~1 538個SKP有序集傳輸時間內,必須發出一個SKP有序集出來。接收端彈性緩沖接收到這個有序集后,根據恢復時鐘和本地時鐘的狀態,可以決定在這個有序集中增加或者刪除2個COM字符,從而達到消除發送端和接收端時鐘偏差的目的。

在發送端正在發送大數據包的TLP(傳輸層包)而導致SKP有序集不能及時發送的情況下,為保證擁有足夠的SKP有序集來保證彈性緩沖正常工作,這些不能按時發出的SKP有序集應該在發送端緩存起來,并等待TLP發送結束,然后立刻將緩沖的SKP有序集發送出去[7-9]。

2 PCIe彈性緩沖區設計

彈性緩沖的緩沖容量由3個因素決定:SKP有序集的發送周期、器件支持的最大數據包的大小及總線的鏈路寬度。這3個要素共同決定了到達接收端的SKP有序集的最大時間間隔。這個最大間隔時間是由可能大于協議要求的1 180~1 538個有序集產生的。比如,當需要發送一個SKP有序集時,發送端正在發送一個TLP包,那么SKP有序集必須在當前TLP包發送完成后才可以進行發送。最壞的情況是,PCIe總線處于X1狀態,而且在需要發送SKP有序集的時候,發送端剛好已經開始發送總線所支持最大TLP包數據。

規劃彈性緩沖的容量大小,必須基于最壞的情況來考慮,其最大可能偏差的計算公式如下:

Max_symbols_shifted=1 666-1((Max_Payload_Size+TLP_Overhead)Link_With-1+1 538)

(1)

式中,Max_symbols_shifted為緩沖最大可能偏差;Max_Payload_Size為器件支持的最大TLP包的數據負載長度;TLP_Overhead固定為28個字符時間,包含包起始字符、結束字符、幀頭及CRC字段等;Link_With為總線通信通道數目,這個值通常取1。

彈性緩沖主要包含了一個FIFO,在正常模式下,這個FIFO應該是半滿的。如果彈性緩沖的寫入時鐘與讀出時鐘頻率嚴格相等,那么FIFO將總是處于半滿狀態。如果彈性緩沖的寫入時鐘與讀出時鐘頻率存在頻率偏差,那么彈性緩沖將緩存在彈性緩沖中的SKP有序集中的SKP字符刪除或者插入,保持FIFO是半滿的狀態。根據式(1),在最壞情況下依然能保持FIFO半滿狀態,那么彈性緩沖中FIFO的深度必須大于Max_symbols_shifted的2倍。

在PCIe總線接收端,根據總線恢復時鐘及本地時鐘的快慢情況,彈性緩沖區可以分為以下幾種情況進行處理:

(1)總線恢復時鐘快于本地時鐘。

當總線恢復時鐘快于本地時鐘的時候,寫入彈性緩沖區的數據將會比讀出數據多,本地時鐘域在獲得SKP有序集的COM字符時,彈性緩沖中FIFO數據將會超過半滿狀態,如圖1所示。

如果本地時鐘在彈性緩沖區獲得SKP有序集的時候,彈性緩沖FIFO的數據超過半滿狀態大于2個字符,那么彈性緩沖控制彈性緩沖FIFO的讀指針在讀SKP有序集的時候加3;彈性緩沖FIFO的數據超過半滿狀態1個字符,那么彈性緩沖控制彈性緩沖FIFO的讀指針在讀SKP有序集的時候加2;彈性緩沖FIFO的數據剛好半滿狀態,那么彈性緩沖控制彈性緩沖FIFO的讀指針在讀SKP有序集的時候加1。

(2)總線恢復時鐘慢于本地時鐘。

當總線恢復時鐘慢于本地時鐘的時候,寫入彈性緩沖區的數據將會比讀出數據少,本地時鐘域在獲得SKP有序集的COM字符時,彈性緩沖中FIFO數據將會少于半滿狀態,如圖2所示。

圖1 恢復時鐘快于本地時鐘

圖2 恢復時鐘慢于本地時鐘

如果本地時鐘在彈性緩沖區獲得SKP有序集的時候,彈性緩沖FIFO的數據少于半滿狀態達2個字符,那么彈性緩沖控制彈性緩沖FIFO的讀指針在讀SKP有序集的時候停頓2個本地時鐘周期;彈性緩沖FIFO的數據少于半滿狀態1個字符,那么彈性緩沖控制彈性緩沖FIFO的讀指針在讀SKP有序集的時候停頓1個本地時鐘周期;彈性緩沖FIFO的數據剛好半滿狀態,那么彈性緩沖控制彈性緩沖FIFO的讀指針在讀SKP有序集的時候加1[10-11]。

3 PCIe彈性緩沖區仿真

文中所描述的彈性緩沖采用Verilog HDL語言設計,保證邏輯設計與工藝無關,可方便應用于FPGA設計或者ASIC芯片設計中。對設計代碼采用SPYGLASS工具進行代碼風格檢查及CDC(時鐘域檢查),保證代碼的可靠性。同時構建仿真平臺,模擬恢復時鐘及本地時鐘的頻率差異的多種情況,保證彈性緩沖區正常工作[12-13]。

4 結束語

文中分析了高速串行總線PCIe數據通訊的同步問題,研究了彈性緩沖進行高速串行總線數據同步的基本原理,根據PCIe總線協議提出了一種適用于PCIe總線的彈性緩沖設計方法,并驗證了其可行性。同時,該彈性緩沖設計方法的提出對其他高速串行通信的通信緩沖設計也有一定的參考意義。

[1] 馬 萍,唐衛華,李緒志.基于PCI Express總線高速數采卡的設計與實現[J].微計算機信息,2008,24(25):116-118.

[2] 徐君明,裴先登,王海衛,等.高性能計算機I/O技術PCI Express分析[J].計算機工程,2004,30(12):6-7.

[3] 王 齊.PCI Express體系結構導讀[M].北京:機械工業出版社,2010:350-362.

[4] 馬鳴錦.PCI、PCI-X和PCI Express的原理及體系結構[M].北京:清華大學出版社,2007.

[5] Data book PEX 8311 detailed technical specification[M].[s.l.]:PLX Technology,2009.

[6] Joe Winkles J.Elastic buff implementation in PCI express device[M].[s.l.]:Mindshare Inc,2003.

[7] PCI-SIG.PCI ExpresTM base specification revision[S].[s.l.]:PCI-SIG,2005.

[8] PCI-SIG.PCI Express? 2.0 base specification revision[S].[s.l.]:PCI-SIG,2006.

[9] Dally W J.Virtual-channel flow control[J].IEEE Transactions on Parallel and Distributed Systems,1992,3(2):194-205.

[10] 劉洪波,龍 娟,郝曉莉,等.異步FIFO狀態判斷的研究與設計[J].微電子學與計算機,2007,24(3):81-84.

[11] 張維旭,賀占莊.基于FPGA的異步FIFO設計[J].計算機技術與發展,2006,16(7):168-170.

[12] 郭 蒙,田 澤,蔡葉芳,等.1553B總線接口SoC驗證平臺的實現[J].航空計算技術,2008,38(6):99-101.

[13] 韓 霞,楊洪斌,吳 悅.面向SoC的事務級驗證研究[J].計算機技術與發展,2007,17(3):33-36.

Design and Implementation of PCIe Physical Layer Elastic-buffer

LIAO Yin-long,TIAN Ze,ZHAO Qiang,MA Chao

(Key Laboratory of Aeronautics Science and Technology of Integrate Circuit and Micro-system Design, AVIC Computing Technique Research Institute,Xi’an 710068,China)

PCIe is a new generation of bus and interface based on PCI bus,its original name is "3GIO",was introduced by Intel in 2001.PCIe belongs to dual channel high bandwidth transmission of high speed serial point to point,the connected equipment allocates unshared bandwidth of channel that do not share bus bandwidth,mainly supporting the functions including active power management,bug reports,end to end transmission of the reliability,hot swappable and Quality of Service (QoS) etc.PCIe had been widely applied in computer,communication,aeronautics and astronautics and other fields as the high-speed-serial data bus.In order to realize stable and reliable communication,elastic-buffer is considered as necessary in PCIe which is used to ensure data integrity between the recovered clock domain and the local clock domain.It analyzes the clock-skew under the variable scenes based on PCIe specification and designs a kind of elastic-buffer with 20 bits data bus and 250 MHz R/W clock frequency,solving the problem of data synchronization between bus recovery clock domain and local clock domain.

PCIe;elastic-buffer;synchronous-FIFO;half-full

2015-08-31

2015-12-09

時間:2016-05-25

中國航空工業集團公司創新基金(2010BD63111)

廖寅龍(1982-),男,工程師,研究方向為SoC設計與驗證;田 澤,博士,研究員,中國航空工業集團首席技術專家,研究方向為SoC設計、嵌入式系統設計、VLSI設計等。

http://www.cnki.net/kcms/detail/61.1450.TP.20160525.1708.042.html

TP39

A

1673-629X(2016)06-0168-03

10.3969/j.issn.1673-629X.2016.06.037

猜你喜歡
設計
二十四節氣在平面廣告設計中的應用
河北畫報(2020年8期)2020-10-27 02:54:06
何為設計的守護之道?
現代裝飾(2020年7期)2020-07-27 01:27:42
《豐收的喜悅展示設計》
流行色(2020年1期)2020-04-28 11:16:38
基于PWM的伺服控制系統設計
電子制作(2019年19期)2019-11-23 08:41:36
基于89C52的32只三色LED搖搖棒設計
電子制作(2019年15期)2019-08-27 01:11:50
基于ICL8038的波形發生器仿真設計
電子制作(2019年7期)2019-04-25 13:18:16
瞞天過?!律O計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
從平面設計到“設計健康”
商周刊(2017年26期)2017-04-25 08:13:04
主站蜘蛛池模板: 欧美a级完整在线观看| 99久久性生片| 日韩第九页| 精品视频在线一区| 天堂在线视频精品| 中文字幕久久亚洲一区| 综合亚洲网| 国产日本欧美在线观看| 亚洲一区二区三区麻豆| 欧美成a人片在线观看| 精品三级网站| 亚洲丝袜中文字幕| 欧美日韩亚洲综合在线观看| 在线看片免费人成视久网下载| a在线亚洲男人的天堂试看| 国产 在线视频无码| 国模极品一区二区三区| 中文字幕伦视频| 手机在线看片不卡中文字幕| 亚洲无线一二三四区男男| 欧美视频免费一区二区三区| 国产乱人伦AV在线A| 婷婷亚洲最大| 成人国产免费| 国产第八页| 九九这里只有精品视频| 亚洲成人网在线播放| 国产精品亚洲综合久久小说| 亚洲自拍另类| 毛片视频网址| 成人毛片在线播放| 成人一区专区在线观看| 欧美国产视频| 亚洲天堂视频在线播放| 成人小视频在线观看免费| 超薄丝袜足j国产在线视频| 国内精品视频在线| 中文国产成人精品久久| 国产男女XX00免费观看| a欧美在线| 色婷婷亚洲十月十月色天| 国产美女无遮挡免费视频| 欧美天堂在线| 自拍偷拍欧美| 午夜a视频| 成人免费网站在线观看| 亚洲精品第一在线观看视频| 日韩欧美在线观看| 97在线公开视频| 国产欧美日韩综合一区在线播放| 亚洲av片在线免费观看| 久久久久亚洲AV成人人电影软件 | 日韩国产黄色网站| 亚洲av无码人妻| 久久精品嫩草研究院| 香蕉视频国产精品人| 日本伊人色综合网| 91外围女在线观看| 国产精品 欧美激情 在线播放| 亚洲视频三级| 国产黄在线免费观看| 精品偷拍一区二区| 欧美三级日韩三级| 亚洲丝袜第一页| 国产精品亚洲αv天堂无码| 亚洲欧美日本国产综合在线| 蜜芽国产尤物av尤物在线看| 激情视频综合网| 亚洲欧美日韩成人高清在线一区| 亚洲国模精品一区| 91黄视频在线观看| 国产高清又黄又嫩的免费视频网站| 日本欧美一二三区色视频| 成人久久精品一区二区三区| 91小视频在线| 精品视频在线观看你懂的一区| 久久久久青草大香线综合精品| 国产一级做美女做受视频| 亚洲午夜久久久精品电影院| 日本日韩欧美| 国产精品视频白浆免费视频| 国产精品永久不卡免费视频 |