《電子技術應用》
您所在的位置:首頁 > 電源技術 > 設計應用 > 基于多相位技術的USB3.0發(fā)送電路設計
基于多相位技術的USB3.0發(fā)送電路設計
2015年微型機與應用第19期
劉 亮,林福江
(中國科學技術大學 電子科學與技術系,安徽 合肥 230027)
摘要: 根據USB3.0的發(fā)送速率要求和高速串行發(fā)送原理,使用Verilog HDL描述語言設計了一種基于多相位技術的USB3.0發(fā)送電路。電路各模塊在ISE中編譯和仿真,給出了電路實現的結構圖、模塊的接口信號以及部分程序和仿真波形圖,并將仿真結果進行比較驗證,證明多相位技術設計的電路能滿足數據發(fā)送的準確性和時序要求。
Abstract:
Key words :

  摘  要: 根據USB3.0的發(fā)送速率要求和高速串行發(fā)送原理,使用Verilog HDL描述語言設計了一種基于多相位技術的USB3.0發(fā)送電路。電路各模塊在ISE中編譯和仿真,給出了電路實現的結構圖、模塊的接口信號以及部分程序和仿真波形圖,并將仿真結果進行比較驗證,證明多相位技術設計的電路能滿足數據發(fā)送的準確性和時序要求。

  關鍵詞: USB3.0;多相位技術;Verilog HDL

0 引言

  USB(通用串行總線)是一種標準的傳輸接口[1],從1995年USB1.0版本開始,歷經USB1.1、全速USB2.0(FullSpeed)、高速USB2.0(HighSpeed),到USB3.0(SurperSpeed)[2],數據傳輸速率已經提升至5 Gb/s,相比USB 2.0的480 Mb/s提升了約10倍。從2008年11月首次發(fā)布規(guī)范以來,USB3.0已經在快速存儲、大數據高速傳輸等領域逐漸展現出強大的競爭力。縱觀各個版本的USB硬件設計,USB3.0以其高達5 Gb/s的I/O轉換速率給設計者帶來了很大的難題,同時,功耗的控制也成為需要考慮的重要環(huán)節(jié)。本文將介紹多相位技術的一種應用,實現電路復雜度、實用性以及功耗方面的平衡。

1 發(fā)送電路的功耗分析

  目前,數字集成電路普遍采用CMOS工藝。COMS工藝的功耗估算[3],以反相器為例,設電路的工作頻率為f,其中每個周期的一半時間LE}`RWXT278VNNYMZ)@]NX2.png是通過PMOS管對負載電容器充電。若此時的電源電壓為Vdd,記電容器上的實時充電電壓為V,由于充電電流B51AF@7D7C_4J){)[2G4G]8.jpg,那么,這一期間轉移到電容器上的能量為:$C]1N[UODA6B00Z3]RT`]}H.jpg,將上式代入得到能量轉移為:

  1.png

  這是一個經典的估算公式。同一期間PMOS管能量消耗為:

  2.png

  上述兩項是相等的。同樣,NMOS管能量消耗與電容器上存儲的能量相等。因此,一個反相器平均動態(tài)功率消耗大致為:P=CfVdd2。

  經過上文的分析可知,降低CMOS電路功耗的三種主要途徑為:降低電源電壓Vdd、改進工藝減少負載電容C以及降低工作頻率f。對于USB3.0高達5 Gb/s的串行輸出,在供電電壓一定、制造工藝相同的條件下進行電路的優(yōu)化,有效地降低內部器件的工作頻率,成為降低功耗的首要之選。

2 發(fā)送電路的結構與實現

  2.1 發(fā)送電路結構

  USB3.0發(fā)送模塊結構如圖1所示。

001.jpg

  發(fā)送電路輸入的數據為36 bit位寬,包括32 bit數據和4 bit數據有效控制位;時鐘管理模塊根據不同的數據位寬,產生不同的時鐘,協(xié)調各模塊的同步運行。

  如圖1所示,幀管理模塊以125 MHz/32 bit的速率從FIFO讀取數據并轉換成為500 MHz/8 bit數據流傳送至擾碼模塊;擾碼模塊和8 bit/10 bit編碼器模塊均采用500 MHz的時鐘,對并行8 bit的數據進行處理;經過  8 bit/10 bit編碼模塊后,數據流變成500 MHz/10 bit,送入并轉串模塊,最終以差分輸出的方式輸出串行數據。

  2.2 基于多相位技術的并轉串模塊結構

  并轉串模塊是結構優(yōu)化的重點[4]。傳統(tǒng)的并轉串電路通過移位寄存器實現,在0.15 ?滋m CMOS工藝條件下只能達到3.0 Gb/s的頻率,并且所有器件運行在最高工作頻率,功耗將非常大。采用多相位技術后,數據位在8個同頻不同相的時鐘控制下并發(fā)處理,電路運行的時鐘頻率可以降為原先的1/8,顯著降低功耗。

  并轉串模塊結構電路如圖2所示。

002.jpg

  為了適應輸入數據的位寬需求,在并轉串模塊輸入端插入一個數據位寬轉換模塊,將10 bit位寬的數據調整為8 bit位寬,也就是將500 MHz的10 bit并行數據調整為625 MHz的8 bit并行數據流。主要方法為:將500 MHz*10 bit的數據流拼接為125MHz*40 bit的并行數據流,輸出則使用625 MHz時鐘以8 bit的位寬讀出。部分關鍵代碼如下:

  reg[39:0] shift_buf40;

  always@(posedge clk_500M_i or negedge rstn_i)begin

  if(!rstn_i)

  shift_buf40<=40′h0;

  else//拼接成40 bit

  shift_buf40<={shift_buf10,shift_buf40[39:10]};

  end

  reg stitch_load;//40 bit載入信號

  always@(posedge clk_625M_i or negedge rstn_i)begin

  if(!rstn_i)

  stitch_load<=1′b0;

  else if(clk_625M_i)

  stitch_load<=~stitch_load;

  else

  stitch_load<=1′b0;

  end

  reg[39:0]stitch_buf40;

  always@(posedge clk_625M_i or negedge rstn_i)begin

  if(!rstn_i)

  stitch_buf40<=40′h0;

  else if(stitch_load)

  stitch_buf40<=shift_buf40;//40 bit載入

  else

  stitch_buf40<={stitch_buf40[7:0],

  stitch_buf40[39:8]};//每個clk移位8 bit

  end

  assign split_buf8_o=stitch_buf40[7:0];

  此段代碼實現了不同時鐘的數據位寬變換。

  PLL產生8個頻率為625 MHz的Clock,相鄰時鐘間相移為45°,占空比為1:1。通過8輸入的或門,在1/8時刻允許8 bit并行數據的某一位數據輸出。在此選用Xilinx的Virtex-5系列FPGA進行設計仿真驗證,由于單個PLL資源所限,使用2個PLL進行8路多相時鐘輸出:其中一個PLL產生0°、45°、90°和135°相移,另一個PLL則產生180°、225°、270°和315°的相移,其配置如圖3所示。

003.jpg

  2.3 并轉串模塊的電路實現

  使用Verilog HDL[5]語言對并轉串部分進行描述,部分關鍵代碼如下:

  reg sdata_0;

  always@(clk_mp045_i or clk_mp090_i)begin

  if(clk_mp045_i &!clk_mp090_i)

  sdata_0<=pdata_i[0];

  else

  sdata_0<=1′b0;

  end

  以上是其中的1/8個數據處理模塊,經過ISE綜合后得到的RTL電路如圖4所示。

004.jpg

  電路非常簡潔,8個部分結構完全一致,數據發(fā)送的精度取決于PLL的相位精度與8個相同結構單元的布線。顯然,PLL在625 MHz產生45°的相移間隔可以達到很高的精確度,門電路布線長度的一致性也很容易實現。也就是說該電路布局產生的時延可以做到基本一致,這一點對于高速電路的設計非常有利。

3 仿真及驗證

005.jpg

  編寫test bench,循環(huán)發(fā)送8′h00~8′hFF數據,在ISim中對設計的多相位發(fā)送電路進行仿真驗證,仿真波形如圖5所示,并轉串模塊輸入的數據為8′hFF,圖中矩形框中為經過并轉串模塊后的8路獨立輸出,下方箭頭指向經過8輸入或門處理后的串行輸出,結果完全正確,滿足USB3.0協(xié)議規(guī)范要求。

4 結論

  多相位技術的應用可以使高速發(fā)送電路的大部分器件工作在一個相對較低的頻率下,并能在一定程度上降低制作器件的工藝難度。因此,多相位技術對降低功耗、提高性能而言,具有十分重要的現實意義。

  參考文獻

  [1] ANDERSON D, DZATKO D. USB系統(tǒng)體系(第二版)[M].孟文,譯.北京:中國電力出版社,2003.

  [2] Hewlett-Packard Company, Intel. Universal serial bus 3.0 specification revision1.0[R]. USA: Hewlett-Packard Company, 2008.

  [3] 汪小會.集成電路低功耗設計[J].電子工程師,2006(1):9-11.

  [4] 亓磊.3.125Gbps高速串行RapidIO數據發(fā)送器設計[D].長沙:國防科學技術大學,2010.

  [5] 夏字聞.Verilog數字系統(tǒng)設計(第二版)[M].北京:北京航空航天大學出版社,2008.


此內容為AET網站原創(chuàng),未經授權禁止轉載。