劉 亮,林福江
(中國科學技術大學 電子科學與技術系,安徽 合肥 230027)
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月首次發布規范以來,USB3.0已經在快速存儲、大數據高速傳輸等領域逐漸展現出強大的競爭力??v觀各個版本的USB硬件設計,USB3.0以其高達 5 Gb/s的 I/O轉換速率給設計者帶來了很大的難題,同時,功耗的控制也成為需要考慮的重要環節。本文將介紹多相位技術的一種應用,實現電路復雜度、實用性以及功耗方面的平衡。
目前,數字集成電路普遍采用CMOS工藝。COMS工藝的功耗估算[3],以反相器為例,設電路的工作頻率為f,其中每個周期的一半時間是通過PMOS管對負載電容器充電。若此時的電源電壓為Vdd,記電容器上的實時充電電壓為V,由于充電電流那么,這一期間轉移到電容器上的能量為將上式代入得到能量轉移為:

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

上述兩項是相等的。同樣,NMOS管能量消耗與電容器上存儲的能量相等。因此,一個反相器平均動態功率消耗大致為:P=CfVdd2。
經過上文的分析可知,降低CMOS電路功耗的三種主要途徑為:降低電源電壓Vdd、改進工藝減少負載電容C以及降低工作頻率f。對于USB3.0高達5 Gb/s的串行輸出,在供電電壓一定、制造工藝相同的條件下進行電路的優化,有效地降低內部器件的工作頻率,成為降低功耗的首要之選。
USB3.0發送模塊結構如圖1所示。

圖1 發送模塊結構
發送電路輸入的數據為36 bit位寬,包括32 bit數據和4 bit數據有效控制位;時鐘管理模塊根據不同的數據位寬,產生不同的時鐘,協調各模塊的同步運行。
如圖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,送入并轉串模塊,最終以差分輸出的方式輸出串行數據。
并轉串模塊是結構優化的重點[4]。傳統的并轉串電路通過移位寄存器實現,在0.15 μm CMOS工藝條件下只能達到3.0 Gb/s的頻率,并且所有器件運行在最高工作頻率,功耗將非常大。采用多相位技術后,數據位在8個同頻不同相的時鐘控制下并發處理,電路運行的時鐘頻率可以降為原先的1/8,顯著降低功耗。
并轉串模塊結構電路如圖2所示。

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

此段代碼實現了不同時鐘的數據位寬變換。
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所示。

圖3 Virtex-5 的 PLL 配置(0°~135°)
使用Verilog HDL[5]語言對并轉串部分進行描述,部分關鍵代碼如下:

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

圖4 ISE綜合的RTL圖
電路非常簡潔,8個部分結構完全一致,數據發送的精度取決于PLL的相位精度與8個相同結構單元的布線。顯然,PLL在625 MHz產生45°的相移間隔可以達到很高的精確度,門電路布線長度的一致性也很容易實現。也就是說該電路布局產生的時延可以做到基本一致,這一點對于高速電路的設計非常有利。
編寫 test bench,循環發送 8′h00~8′hFF 數據,在ISim中對設計的多相位發送電路進行仿真驗證,仿真波形如圖5所示,并轉串模塊輸入的數據為 8′hFF,圖中矩形框中為經過并轉串模塊后的8路獨立輸出,下方箭頭指向經過8輸入或門處理后的串行輸出,結果完全正確,滿足USB3.0協議規范要求。

圖5 仿真結果
多相位技術的應用可以使高速發送電路的大部分器件工作在一個相對較低的頻率下,并能在一定程度上降低制作器件的工藝難度。因此,多相位技術對降低功耗、提高性能而言,具有十分重要的現實意義。
[1]ANDERSON D,DZATKO D.USB系統體系 (第二版)[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數據發送器設計[D].長沙:國防科學技術大學,2010.
[5]夏字聞.Verilog數字系統設計(第二版)[M].北京:北京航空航天大學出版社,2008.