• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于PCIE2.0的物理層彈性緩沖器設(shè)計

      2014-06-07 05:53:21趙建中
      計算機工程 2014年10期
      關(guān)鍵詞:指令集緩沖器字符

      鄭 乾,晏 敏,趙建中,李 優(yōu),張 鋒

      (1.湖南大學(xué)物理與微電子科學(xué)學(xué)院,長沙410082;

      2.中國科學(xué)院微電子研究所專用集成電路與系統(tǒng)研究室,北京100020)

      基于PCIE2.0的物理層彈性緩沖器設(shè)計

      鄭 乾1,2,晏 敏1,趙建中2,李 優(yōu)2,張 鋒2

      (1.湖南大學(xué)物理與微電子科學(xué)學(xué)院,長沙410082;

      2.中國科學(xué)院微電子研究所專用集成電路與系統(tǒng)研究室,北京100020)

      彈性緩沖器是PCIE,USB等高速串行總線物理層接收器的重要組成部分,用于物理層接收器中恢復(fù)時鐘與本地時鐘的頻率補償和相位同步,對信號的傳輸質(zhì)量起著重要作用?;赑CIE2.0協(xié)議,采用存儲器常半滿的實現(xiàn)方式,設(shè)計一款深度、寬度均為10的彈性緩沖器。該彈性緩沖器應(yīng)用于PCIE2.0的物理層設(shè)計中,并采用SMIC 55 nm CMOS工藝實現(xiàn)。芯片測試結(jié)果表明,該彈性緩沖器滿足PCIE2.0協(xié)議的要求,可正常工作于500 MHz的時鐘頻率下,實現(xiàn)恢復(fù)時鐘與本地時鐘的頻率和相位補償,保證了接收器正常接收數(shù)據(jù)。

      彈性緩沖器;頻率補償;SKP指令集;半滿方式;異步FIFO

      1 概述

      PCI Express(PCIE)是第三代高性能 I/O總線,主要用于計算機與通信平臺等應(yīng)用的外圍I/O互連[1]。PCIE總線采用串行高速差分總線替代傳統(tǒng)的并行總線,并采用端到端的連接方式,能夠獲得更高的系統(tǒng)吞吐量,正在逐漸全面取代PCI和AGP總線,成為新的局部總線工業(yè)標(biāo)準(zhǔn)[2]。采用PCIE總線進行通信時,發(fā)送器采用差分對的方式發(fā)送串行差分信號,接收器則采用時鐘和數(shù)據(jù)恢復(fù)電路從接收到的串行差分信號中恢復(fù)出時鐘和發(fā)送器傳送過來的串行數(shù)據(jù)[3]。由于發(fā)送器與接收器均有自己的獨立時鐘源,兩者的時鐘頻率及相位可能存在一定的偏差,即接收端恢復(fù)出來的時鐘與本地的參考時鐘可能存在一定偏差。當(dāng)數(shù)據(jù)從恢復(fù)時鐘域傳至本地時鐘域時,需要進行跨時鐘域處理,保證信號傳輸?shù)钠焚|(zhì)。PCIE總線采用彈性緩沖器進行頻率補償和相位同步[4],保證數(shù)據(jù)正常傳輸。針對PCIE總線的實際工程應(yīng)用,本文采用半滿方式設(shè)計了一款彈性緩沖器。

      2 彈性緩沖器

      彈性緩沖器的作用在于橋接2個存在一定偏差的時鐘域以補償頻率和同步相位[5],即采用一個時鐘域(恢復(fù)時鐘)存放數(shù)據(jù)進入緩沖器,采用另一個時鐘域(本地時鐘)從緩沖器中移出數(shù)據(jù),同時監(jiān)測自身的狀態(tài)并且在適當(dāng)?shù)臅r候插入或移除特定字符來補償頻率偏差,避免溢出錯誤,如圖1所示。

      圖1 橋接2個不同時鐘域的彈性緩沖器

      2.1 時鐘頻率補償

      PCIE2.0協(xié)議規(guī)定總線的最高傳輸速率為5 Gb/s,容許的誤差范圍是+/-300 ppm,即總線允許的頻率范圍為4.998 5 GHz~5.001 5 GHz[6]。由于參考時鐘源不同,發(fā)送器與接收器的時鐘頻率可能出現(xiàn)微小偏差。如果用單元間距 UI來計算的話, 5 Gb/s的一個時鐘單元間距為 200 ps,由于有+/-300 ppm的余裕,因此最壞情況下時鐘單元間距分別為199.94 ps和200.06 ps,即兩端最大時鐘間距偏差為0.12 ps。因而約每隔1 666個周期,可能位移一個時鐘單元間距[1]。既然時鐘有差異,那么勢必要對數(shù)據(jù)進行緩存處理,才能避免錯誤的發(fā)生。在PCI Express總線中,通常在傳送的SKP指令集中插入或移除SKP字符來補償這種時鐘頻率偏差。

      2.2 SKP指令集

      PCIE總線協(xié)議規(guī)范了SKP指令集,該指令集由1個COM字符加3個SKP字符組成,如圖2所示。發(fā)送端將在一定字符間隔間發(fā)送SKP指令集[6]。因為在最差情況下,2個時鐘域之間大概每經(jīng)過1 666個周期位移一個時鐘單元間距,所以SKP指令集的傳輸間隔必須小于1 666個時鐘周期。根據(jù)PCI Express總線協(xié)議規(guī)范,發(fā)送端在1 180個~1 538個字符時間間隔(不是位時間)輸出SKP指令集,而彈性緩沖器在接收到SKP指令集時,最多可插入或移除2個SKP符號以補償兩端的時鐘頻率偏差。之所以不是位時間,是因為SKP符號的插入和移除每次都是整個字符在處理[7]。插入和移除的位置通常位于第一個SKP字符之后,目的是保證極性的正確性以避免8b/10b解碼過程發(fā)生極性錯誤。

      圖2 SKP指令集

      2.3 彈性緩沖器作用域

      典型用于PCIE等高速接口的彈性緩沖器架構(gòu)如圖3所示。彈性緩沖器位于解串器之后,8b/10b解碼器之前。因為彈性緩沖器是以符號的層次來補償頻率偏差,所以必須位于解串器之后。另外,PCIE總線協(xié)議規(guī)范了一種環(huán)回模式[7],即PCI Express設(shè)備可以將接收到的10位數(shù)據(jù)原封不動地通過發(fā)送端傳送回去,數(shù)據(jù)必須通過彈性緩沖器進行同步,所以必須位于8b/10b解碼器之前。

      圖3 高速接口彈性緩沖器典型架構(gòu)

      2.4 彈性緩沖器容量

      SKP指令集通常依據(jù)規(guī)定的時間間隔周期性送出,但當(dāng)TLP數(shù)據(jù)交易層封包很大的時候,必須等到整TLP封包發(fā)送完之后,才將累積的待傳送SKP指令集發(fā)送出去[5]。所以,需要考慮彈性緩沖器的深度以保證最大TLP數(shù)據(jù)傳送時,也能正常補償時鐘偏差而不出現(xiàn)溢出狀態(tài)。

      彈性緩沖器的大小通常取決于3個因素,分別是:傳送SKP指令集的時間間隔,設(shè)備支持的最大數(shù)據(jù)承載量(payload)及鏈路寬度[5]。SKP指令集字符間隔則明文指出為1 180個~1 538個字符,即最大間隔為1 538個字符。彈性緩沖器最大數(shù)據(jù)位移量的計算公式如下:

      PCIE總線允許的最大數(shù)據(jù)承載量是4 096個字符,TLP基本數(shù)據(jù)量則包括數(shù)據(jù)框開始符號(1個字符)、封包次序符號(2個字符)、封包標(biāo)頭(16個字符)、ECRC(4個字符)、LCRC(4個字符)以及數(shù)據(jù)框的退出符號(1個字符)總共28個字符[7]。而SKP指令集字符間隔則明文指出為1 180個 ~1 538個字符。

      根據(jù)最大數(shù)據(jù)位移量計算公式可知,最壞情況即當(dāng)兩端PCI Express設(shè)備以x1的連接狀態(tài)存在時,輸出端剛好必須輸出SKP指令集的時候,輸出最大數(shù)據(jù)承載量的封包。計算可得數(shù)據(jù)位移量為3.4個。

      3 彈性緩沖器原理及實現(xiàn)

      3.1 基本原理

      彈性緩沖器實質(zhì)上是一個異步FIFO[8],其寫時鐘為恢復(fù)時鐘,其讀時鐘為本地時鐘,FIFO深度則取決于數(shù)據(jù)最大位移量。

      若彈性緩沖器的讀寫時鐘頻率一致,彈性緩沖器正常傳送SKP指令集[9],如圖4所示。

      圖4 正常的SKP指令集傳送示意圖

      若寫時鐘頻率小于讀時鐘頻率時,讀出的數(shù)據(jù)多于寫入的數(shù)據(jù),彈性緩沖器在檢測到SKP指令集輸出時,根據(jù)實際的數(shù)據(jù)位移量在SKP指令集的第一個SKP字符之后插入1個或2個SKP字符[9],如圖5所示。

      圖5 插入SKP字符的SKP指令集傳送示意圖

      若寫時鐘頻率大于讀時鐘時,寫入的數(shù)據(jù)多于讀出的數(shù)據(jù),彈性緩沖器在檢測到SKP指令集輸入時,根據(jù)實際的數(shù)據(jù)位移量在SKP指令集的第一個SKP字符之后移除1個或2個SKP字符[9],如圖6所示。

      圖6 移除SKP字符的SKP指令集傳送示意圖

      3.2 實現(xiàn)方式

      彈性緩沖器的實現(xiàn)方式通常有2種:常半滿方式和流程控制方式[5]。常半滿方式采用把緩沖器維持在半滿狀態(tài)的方式實現(xiàn),當(dāng)檢測到SKP指令集的時候,若彈性緩沖器不處于半滿狀態(tài),寫時鐘頻率小于讀時鐘頻率時,保持讀地址指針不變,輸出插入的SKP字符,寫時鐘頻率大于讀時鐘頻率時,則保持寫地址指針不變,將寫入的SKP字符移除[10]。流程控制方式則不同于常半滿方式,該方式不把緩沖器維持在半滿狀態(tài),而是只維持在一個底端進入點的狀態(tài)[11],當(dāng)檢測到SKP指令集的時候,若寫時鐘頻率大于讀時鐘時,其工作過程與常半滿方式是一致的,而寫時鐘頻率小于讀時鐘頻率時,則產(chǎn)生相應(yīng)的使能信號,控制讀時鐘而不讓讀時鐘進行讀操作。常半滿方式與流程控制方式均有各自的優(yōu)缺點,常半滿方式實現(xiàn)的彈性緩沖器其緩沖器深度較深,等待時間較長,但其電路實現(xiàn)簡單,而且不用門控時鐘,有利于DFT的實現(xiàn)。流程控制方式則可降低緩沖器的深度,相應(yīng)等待時間較短,但需要添加額外的電路模塊去產(chǎn)生相應(yīng)的使能信號,較復(fù)雜,同時該使能信號必須控制后續(xù)解碼器等電路的時鐘,即會產(chǎn)生門控時鐘,不利于DFT的實現(xiàn)。本文基于常半滿方式實現(xiàn)彈性緩沖器。

      4 半滿彈性緩沖器結(jié)構(gòu)設(shè)計

      根據(jù)彈性緩沖器容量計算知道,當(dāng)PCIE總線允許的最大數(shù)據(jù)承載量是4 096個字符時,數(shù)據(jù)的位移量為3.4個,故彈性緩沖器的深度應(yīng)該為8,以滿足4個字符的位移量??紤]到讀寫時鐘本身存在相位偏差,故實際設(shè)計彈性緩沖器的深度為10,以保證在最差情況下彈性緩沖器依然能正常工作。

      本文的常半滿彈性緩沖器的基本結(jié)構(gòu)如圖7所示,包括讀寫地址指針模塊、讀寫地址指針同步模塊、數(shù)據(jù)位移量檢測模塊、SKP指令集檢測與增刪模塊和存儲器模塊。

      圖7 彈性緩沖器基本結(jié)構(gòu)

      4.1 讀寫地址指針

      讀寫地址指針模塊用來控制存儲器的讀寫地址指針。因為彈性緩沖器的深度為10,需要4位來編碼10個地址??紤]到讀寫地址指針以逐一遞增的方式改變,故采用二進制碼的編碼方式,即從0000~1111中選取10個地址??紤]地址指針比較需要在同一個時鐘域進行,而且采用格雷碼實現(xiàn)時鐘域過渡,故選取的地址范圍為0011~1100,讀地址read_addr從0011開始,寫地址write_addr從1000開始,循環(huán)變化,插入或移除SKP字符時保持地址不變。

      4.2 讀寫地址指針同步

      讀寫地址指針分別在讀寫時鐘控制下遞增,由于讀寫時鐘存在一定范圍的頻率差或者相位差,直接進行比較容易造成錯誤判斷,因此需將讀寫地址指針分別同步到同一個時鐘域下。二進制碼的編碼方式存在同時多位變化,為了避免毛刺的產(chǎn)生,需將二進制碼轉(zhuǎn)換為格雷碼,同步到另一個時鐘域,再將格雷碼轉(zhuǎn)換成為二進制碼[12]。

      4.3 數(shù)據(jù)位移量檢測

      數(shù)據(jù)位移量檢測模塊主要在于根據(jù)讀寫地址指針的差值來判斷實際緩沖器中的數(shù)據(jù)位移量。理論上讀寫地址指針的初始差值應(yīng)該為5。因為2個時鐘可能存在相位偏移,所以超前時鐘域?qū)?yīng)的讀寫地址指針的初始差值為6,滯后時鐘域?qū)?yīng)的讀寫地址指針的初始差值為5。彈性緩沖器開啟后,根據(jù)位移量的大小產(chǎn)生相應(yīng)的控制信號,對于寫時鐘域,當(dāng)位移量大于6時產(chǎn)生over信號,當(dāng)位移量大于7時產(chǎn)生over_more信號,當(dāng)位移量等于0時,產(chǎn)生彈性緩沖器full信號。對于讀時鐘域,當(dāng)位移量小于4時,產(chǎn)生under信號,當(dāng)位移量小于3時,產(chǎn)生under_ more信號,當(dāng)位移量等于0時,產(chǎn)生彈性緩沖器empty信號。

      4.4 SKP指令集檢測與增刪

      SKP指令集檢測與增刪模塊在于檢測數(shù)據(jù)流中的SKP指令集并根據(jù)數(shù)據(jù)位移量檢測模塊產(chǎn)生的控制信號進行SKP字符插入或移除。由于COM字符為K28.5字符,SKP字符為K28.0字符,因此分別用k28p5_wr、k28p0_wr、k28p5_rd、k28p0_rd分別代表寫入COM字符,寫入SKP字符,讀出COM字符,讀出SKP字符。為了保證檢測到SKP指令集以及在第一個SKP字符之后插入或移除SKP字符,采用三級流水線對這6個信號進行鎖存。同時,根據(jù)數(shù)據(jù)位移量模塊的控制信號,產(chǎn)生remove_skp以及insert_skp信號控制SKP字符的移除以及插入。當(dāng)over_more信號有效時,對寫入的SKP指令集移除2個SKP字符,當(dāng)over_more信號無效,over信號有效時,對寫入的SKP指令集移除一個SKP字符。當(dāng)under_more信號有效時,對輸出的SKP指令集插入2個SKP字符,當(dāng)under_ more信號無效,under信號有效時,對輸出的SKP指令集插入一個SKP字符。

      4.5 存儲器模塊

      該彈性緩沖器存儲單元位寬為10 bit,深度為10,故沒有采用專門的存儲單元庫實現(xiàn),而是采用寄存器來實現(xiàn)。即寄存器實現(xiàn)的雙口RAM結(jié)構(gòu)。

      5 彈性緩沖器的仿真驗證與電路實現(xiàn)

      本文的彈性緩沖器設(shè)計采用Verilog HDL硬件描述語言設(shè)計,通過VCS做功能仿真驗證。仿真結(jié)果如圖8~圖11所示。

      圖8 移除單個SKP字符的仿真結(jié)果

      圖9 插入單個SKP字符的仿真結(jié)果

      圖10 累積移除3個SKP字符的仿真結(jié)果

      圖11 累積插入3個SKP字符的仿真結(jié)果

      本文彈性緩沖器采用SMIC 55 nm CMOS工藝在不同的工藝角下進行綜合,讀、寫時鐘頻率均為500 MHz,并采用較為保守的時序約束,綜合所得電路的功耗和面積如圖12所示。其中,SS代表PVT:ss corner,1.08 V,125℃;TT代表 PVT:tt corner,1.2 V,25℃;FF代表PVT:ff corner,1.32 V, -40℃。

      圖12 彈性緩沖器面積與動態(tài)功耗綜合結(jié)果

      6 結(jié)束語

      本文設(shè)計一種彈性緩沖器,將該彈性緩沖器集成到PCIE2.0的物理層設(shè)計中,并采用SMIC 55 nm CMOS工藝進行流片,測試結(jié)果表明,該彈性緩沖器完全滿足PCIE2.0協(xié)議的具體要求,讀寫時鐘達到500 MHz,實現(xiàn)了頻率補償和相位同步,且數(shù)據(jù)能夠正常傳送。

      [1] Budruk R,Anderson D,Shanley T.PCI Express System Architecture[M].[S.l.]:MindShare,Inc.,2003.

      [2] 王 齊.PCI Express體系結(jié)構(gòu)導(dǎo)讀[M].北京:機械工業(yè)出版社,2010.

      [3] Dhawan S K.Introduction to PCI Express——A New High Speed Serial Data Bus[C]//Proc.of Nuclear Science Symposium Conference Record.[S.l.]:IEEE Press,2005:687-691.

      [4] Intel Corporation.PHY Interface for the PCI Express, SATA and USB 3.0 Architectures[EB/OL].(2013-10-23).http://www.intel.com/content/www/us/en/io/pciexpress/phy-interface-pci-express-sata-usb30-architectures. html.

      [5] Winkles J.Elastic Buffer Implementations in PCI Express Devices[EB/OL].(2003-11-12).http:// www.docin.com/p-118906415.html.

      [6] 劉瑞梅,韓曉毅.PCI Express總線PHY接口技術(shù)分析[J].河北建筑工程學(xué)院學(xué)報,2010,28(1):129-133.

      [7] 陳乃塘.從PCIe探索彈性緩沖器真義[J].電子測試, 2005,(10):48-51.

      [8] Cummings C E.Simulation and Synthesis Techniques for Asynchronous FIFO Design[EB/OL].(2005-06-16).http://www.docin.com/p-46476833.html.

      [9] 陳乃塘.PCI Express數(shù)據(jù)連接層與物理層(上)[J].電子測試,2004,(8):39-50.

      [10] 劉奇浩,翁惠輝.65 nm工藝下基于PCI Express2.0協(xié)議的物理編碼子層設(shè)計[J].中國集成電路,2013, (3):40-45.

      [11] Michelogiannakis G,Balfour J,Dally W J.Elastic-buffer Flow Control for On-chip Networks[C]//Proc.of the 15th International Symposium on High Performance Computer Architecture.Raleigh,USA:IEEE Press, 2009:151-162.

      [12] Schutti M,Pfaff M,Hagelauer R.Data Transfer Between Asynchronous ClockDomainsWithoutPain[D]. [S.l.]:Research Institute for Integrated Circuits,2000.

      編輯 任吉慧

      Design of Elastic Buffer at Physical Layer Based on PCIE2.0

      ZHENG Qian1,2,YAN Min1,ZHAO Jian-zhong2,LI You2,ZHANG Feng2
      (1.School of Physics and Electronics,Hunan University,Changsha 410082,China;
      2.ASIC&System Department,Institute of Microelectronics of Chinese Academy of Sciences,Beijing 100020,China)

      Elastic buffer is a very important function in receiver at high-speed serial protocols such as PCI Express (PCIE)and USB.The frequency delta and phase delta are managed perfectly to ensure data integrity by the elastic buffer when bridging local clock domain and recovered clock domain.This paper proposes elastic buffer logic in primed method to satisfy PCIE2.0 protocol specification.The width and depth of the elastic buffer are both 10.The proposed logic is integrated into Physical Layer(PHY)and implemented based on 55 nm CMOS process of SMIC.The result to be measured well agreeds with the actual requirement.It can work well under the frequency of 500 MHz and ensure data to

      ata correctly.

      elastic buffer;frequency compensation;SKP instruction set;half-full method;asynchronous First Input First Output(FIFO)

      1000-3428(2014)10-0071-05

      A

      TN942

      10.3969/j.issn.1000-3428.2014.10.014

      國家“863”計劃基金資助項目(2011AA010403)。

      鄭 乾(1987-),男,碩士研究生,主研方向:高速接口電路設(shè)計,計算機體系結(jié)構(gòu)設(shè)計;晏 敏,副教授;趙建中,助理研究員;李 優(yōu),博士研究生;張 鋒,副研究員。

      2013-11-04

      2013-12-10E-mail:zhengqian@hnu.edu.cn

      中文引用格式:鄭 乾,晏 敏,趙建中,等.基于PCIE2.0的物理層彈性緩沖器設(shè)計[J].計算機工程,2014, 40(10):71-75.

      英文引用格式:Zheng Qian,Yan Min,Zhao Jianzhong,et al.Design of Elastic Buffer at Physical Layer Based on PCIE2.0[J].Computer Engineering,2014,40(10):71-75.

      猜你喜歡
      指令集緩沖器字符
      尋找更強的字符映射管理器
      更正
      輕兵器(2022年3期)2022-03-21 08:37:28
      重載貨車用緩沖器選型的研究及分析
      鐵道車輛(2021年4期)2021-08-30 02:07:14
      3DNow指令集被Linux淘汰
      電腦報(2021年49期)2021-01-06 18:36:55
      字符代表幾
      一種USB接口字符液晶控制器設(shè)計
      電子制作(2019年19期)2019-11-23 08:41:50
      消失的殖民村莊和神秘字符
      實時微測量系統(tǒng)指令集及解析算法
      什么是AMD64
      基于覆蓋率驅(qū)動的高性能DSP指令集驗證方法
      計算機工程(2014年6期)2014-02-28 01:28:03
      岐山县| 齐河县| 宜春市| 晋中市| 永胜县| 茌平县| 海晏县| 禄劝| 柏乡县| 南昌市| 凌云县| 丰台区| 阳曲县| 观塘区| 永善县| 手机| 三台县| 琼结县| 遂宁市| 灌云县| 论坛| 昆明市| 来凤县| 阿勒泰市| 靖西县| 泰州市| 若尔盖县| 惠东县| 衢州市| 九龙坡区| 郴州市| 阿合奇县| 饶阳县| 齐齐哈尔市| 筠连县| 通州区| 娄烦县| 隆林| 吉林省| 家居| 上虞市|