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

基于FPGA的RAID控制卡實現(xiàn)及仿真研究

2007-01-01 00:00:00劉景寧劉曉芳
計算機應用研究 2007年1期

摘要:首先介紹了基于FPGA的一種RAID控制卡的原理及系統(tǒng)設計、印刷電路板(PCB)的具體實現(xiàn)。由于板卡運行在66MHz總線時鐘之上,必須考慮高頻下電路的性能及電路的信號完整性等, 因而在PCB設計階段對電路的仿真顯得尤為重要。還將介紹基于IBIS模型的信號完整性仿真分析,并利用信號噪聲分析軟件(Hyperlynx)對高速電路設計中的PCB布局布線、匹配電阻設計和并行線串擾分析進行深入研究。根據(jù)仿真分析結果調整原設計,從而提高了信號質量,減少開發(fā)成本。

關鍵詞:現(xiàn)場可編程邏輯陣列; 磁盤陣列; 仿真; 輸入/輸出緩沖器信息標準; 信號完整性

中圖法分類號:TP302.2文獻標識碼:A

文章編號:1001-3695(2007)01-0261-03

本項目是針對RAID5系列的高性能光纖磁盤陣列系統(tǒng)[1],采用FPGA技術設計一款RAID系統(tǒng)控制卡,實現(xiàn)磁盤陣列啟動、數(shù)據(jù)緩存(Cache)以及數(shù)據(jù)XOR校驗等功能。

廉價冗余磁盤陣列(Redundant Array of Inexpensive Disks,RAID)通過將數(shù)據(jù)分布在多個通道的多個磁盤上,利用并行處理機制使多個獨立磁盤協(xié)調工作,達到提高存取速度和增大存儲容量的目的。此外,磁盤陣列通過增加數(shù)據(jù)的冗余度提高數(shù)據(jù)的安全性。但計算出冗余信息卻需要消耗系統(tǒng)大量的處理資源。以RAID 5為例,在數(shù)據(jù)的寫操作和數(shù)據(jù)的恢復過程中需要執(zhí)行大量異或運算,過多的校驗計算任務占用了大量的CPU資源,這將導致磁盤陣列服務器對用戶請求的響應時間增加,系統(tǒng)的整體性能被削弱。因而采用擴展的硬件電路實現(xiàn)XOR運算,能夠將CPU從繁重的校驗任務中解脫出來,從而提高陣列服務器整體性能。

傳統(tǒng)的軟件實現(xiàn)RAID系統(tǒng)需要操作系統(tǒng)的支持,RAID的配置信息存在系統(tǒng)信息中,而不是存在硬盤上。當系統(tǒng)崩潰需重新安裝時,RAID的信息也會丟失。因此目前廣泛采用專用的硬件控制卡方式實現(xiàn)RAID系統(tǒng)。RAID控制卡實現(xiàn)系統(tǒng)的啟動及自身初始化及配置等工作。RAID控制卡是一個PCI從設備,接收并執(zhí)行來自系統(tǒng)的命令,主要實現(xiàn)磁盤陣列系統(tǒng)的初始化、配置及系統(tǒng)的啟動、陣列管理等工作。另外,在磁盤陣列中采用Cache,其作用主要是加速讀操作和緩存小寫,解決RAID5中小寫效率低下的問題。因此,RAID控制卡使用NVRAM(NonVolatile RAM)即非易失性隨機存儲器來增強陣列Cache的性能。

在板卡設計過程中,由于PCB板上電子元器件密度較大,走線較密,信號頻率最高達到66MHz,因此不可避免地要出現(xiàn)EMC(電磁兼容)和EMI(電磁干擾)問題。另外,RAID控制卡在進行PCB設計時由于要滿足PCI協(xié)議、集成電路芯片及其他元件的布線要求,其PCB設計要注意的問題更多。本文從項目系統(tǒng)設計、印刷電路板(PCB)設計等方面對整個電路作詳細介紹,并對基于高速數(shù)字電路仿真的信號完整性、并行線串擾以及EMC等問題進行深入研究分析,提出基于PCI總線的FPGA的PCB設計中需注意的問題及解決方法,相信對高速電子電路設計有很好的參考作用。

1系統(tǒng)原理及硬件電路設計

本設計中采用PCI總線來作為控制卡與RAID之間數(shù)據(jù)傳輸?shù)臉蛄篬2]。控制卡PCI接口工作在32位數(shù)據(jù)寬度、33MHz~66MHz的總線時鐘之上,數(shù)據(jù)最大傳輸率高達266Mbps。系統(tǒng)原理如圖1所示。

系統(tǒng)工作原理:系統(tǒng)上電后,F(xiàn)PGA由其專用的配置芯片進行主動配置,10秒鐘內控制卡完成自身初始化工作。在磁盤陣列BIOS的Init功能執(zhí)行過程中,控制卡截獲中斷Int 19H,并將Flash中的陣列控制代碼作為新的中斷服務程序執(zhí)行。至此,控制卡即實現(xiàn)對磁盤陣列的主動控制,從而接管數(shù)據(jù)校驗、數(shù)據(jù)緩存等操作。控制卡啟動后控制和協(xié)調整個系統(tǒng),管理數(shù)據(jù)的流動。當數(shù)據(jù)用戶請求寫入數(shù)據(jù)時,控制卡緩存數(shù)據(jù)、計算數(shù)據(jù)的校驗和,并命令陣列存儲數(shù)據(jù)及校驗和。讀出數(shù)據(jù)時,控制卡命令陣列提取數(shù)據(jù)和相應的校驗信息,并緩存數(shù)據(jù)、校驗數(shù)據(jù)有效性。最近寫入或讀出的信息由控制卡緩存在本地的非易失的Cache中,以便進行數(shù)據(jù)保護和快速提取。

1.1數(shù)據(jù)緩存的控制功能模塊設計

本設計采用NVRAM實現(xiàn)磁盤陣列Cache。NVRAM由小型鋰電池和低功耗的SRAM(Static RAM,靜態(tài)隨機存儲器)組成。當系統(tǒng)斷電后,由此鋰電池對SRAM供電,所以NVRAM既繼承ROM(Read Only Memory,只讀存儲器)的優(yōu)點——具有非易失性,又摒棄ROM的缺點,支持快速寫操作。在本設計中,磁盤陣列控制器通過PCI總線讀寫NVRAM(選用ST公司 M48Z2M1Y),訪問磁盤陣列Cache。由FPGA芯片對NVRAM進行讀寫控制。NVRAM接口的引腳由信號Addr,DQ,En,Wn和Gn組成,其中信號Addr為單向地址信號;DQ為雙向數(shù)據(jù)信號。En,Wn和Gn信號分別為芯片使能、輸入使能及輸出使能等控制信號。當Wn為0寫NVRAM,為1讀NVRAM;當Gn信號為0時,DQ信號才輸出讀NVRAM的數(shù)據(jù)。讀NVRAM時,在A信號輸入地址,驅動控制信號(En=0;Wn=1;Gn=0),一個NVRAM讀周期(大約80ns)后,DQ信號輸出數(shù)據(jù);寫NVRAM時,在A信號輸入地址,在DQ信號輸入寫數(shù)據(jù),驅動控制信號(En=0;Wn=0;Gn=1),一個NVRAM寫周期(約80ns)后,數(shù)據(jù)寫入NVRAM。電路原理圖如圖2所示。

1.2陣列傳輸數(shù)據(jù)的XOR校驗功能模塊電路設計

在工作原理上,當接收到校驗計算任務后該控制卡能以PCI Master方式從內存讀取參加校驗計算的數(shù)據(jù)并通過硬件執(zhí)行校驗計算。當校驗結果計算完畢后再以Master方式將其寫回內存。模塊的硬件邏輯設計采用了并行的思想,令數(shù)據(jù)在PCI總線上的傳輸過程和校驗計算過程在時間上重疊,使得整個校驗過程耗費的時間等同于數(shù)據(jù)在總線上傳輸?shù)臅r間,從而最大限度地提高了校驗速度。該功能模塊不需要附加外圍電路,僅消耗FPGA 16KB的片內RAM以實現(xiàn)模塊功能。

1.3陣列啟動的控制功能模塊電路設計

根據(jù)PCI協(xié)議中利用擴展ROM實現(xiàn)系統(tǒng)啟動的相關介紹,我們可以在該陣列控制卡上實現(xiàn)擴展ROM,擴展ROM的代碼主要包含兩部分,即一部分是在Init功能中截獲BIOS的19H中斷;另一部分是自定義新的Int 19H中斷服務程序實現(xiàn)從控制卡啟動操作系統(tǒng)。具體方法是在板卡上用一塊Flash放置擴展ROM代碼和磁盤陣列控制代碼并編寫相應的控制邏輯以允許程序對其進行訪問。本設計選用AMD公司閃存系列——AM29DL640D,其存儲空間分為四個,兩個8Mb區(qū)和兩個24Mb區(qū),以此來實現(xiàn)并發(fā)的存取操作。另外,AM29DL640D支持8位或16位數(shù)據(jù)模式,由BYTE#信號控制。當BYTE#為高時,DQ0~DQ15有效;為低時,DQ0~DQ7有效。另外,CE#,OE# ,WE#分別為片選信號,輸出使能信號和寫使能信號。Flash的控制邏輯由FPGA實現(xiàn)。

1.4PCI總線接口電路設計

目前大多數(shù)系統(tǒng)廠家的PCI總線接口均是采用國外的專用控制芯片,但用戶可能只用到PCI接口芯片的部分功能,造成一定的資源浪費,并且在設計上也不能根據(jù)系統(tǒng)要求靈活配置。基于以上考慮,本設計采用FPGA(現(xiàn)場可編程門陣列)實現(xiàn)PCI總線協(xié)議,將PCI接口邏輯與用戶其他邏輯集成到一個FPGA芯片上,從而實現(xiàn)緊湊的系統(tǒng)設計。當系統(tǒng)升級時,只需對FPGA器件重新進行邏輯設計,而無須更新PCB版圖。PCI規(guī)范定義了一系列的電氣兼容要求,如信號環(huán)境和I/O緩沖等,因而,考慮開發(fā)一個PCI接口之前必須根據(jù)這些電氣要求選擇合適的FPGA。當然FPGA的選擇還要考慮其他一些設計要求,如邏輯資源是否豐富,是否需要實現(xiàn)內部RAM,內部RAM的規(guī)模有多大等等。除電氣規(guī)范外,F(xiàn)PGA必須同時滿足PCI規(guī)范的嚴格時序要求。本設計選用Altera 公司Cyclone系列——EP1C12Q240C6[3,7]。我們復用Altera的pci_mt32宏核來實現(xiàn)對設備的PCI接口的設計。通過IP復用技術可以減少開發(fā)時間,并且有助于提高設計的穩(wěn)定性。

PCI總線接口電路單元是整個設計的核心部分,在進行FPGA引腳分配時應充分考慮PCI協(xié)議和PCB布局布線等因素的制約。另外,板卡兼容3.3V和5V(即通用卡)的PCI信號,然而Cyclone系列FPGA引腳只支持3.3V PCI信號環(huán)境,因此在PCI金手指與FPGA芯片之間必須進行電平轉換。在硬件電路上采用IDT公司QuickSwitch系列芯片——QS3861。當QS3861處于使能狀態(tài)時,其輸出電壓隨輸入電壓變化,當輸入電壓上升時,芯片的內阻和輸出端電壓值也隨之增加,但輸出電壓的最大值由芯片工作電壓值決定,即

閾值電壓Vt的典型值為1V。例如,當Vcc為5V時,輸出電壓最大值為4V,即當輸入電壓值再繼續(xù)增大時,輸出端電壓被箝位在4V。利用這個特性,我們可以實現(xiàn)5V PCI信號到3.3V PCI信號的轉換[4,7]。電路原理圖如圖3所示。

圖3PCI接口模塊電路原理圖

1.5FPGA配置電路設計

Cyclone系列FPGA支持三種配置方式,即主動串行配置(AS)、被動串行配置(PS)和基于JATG(Joint Test Action Group)配置。控制卡支持AS和JATG兩種方式。對于AS配置方式,需由專用串行配置芯片(本設計選用EPCS4,容量為4MB)對FPGA進行主動配置,作為目標設備的FPGA產(chǎn)生控制信號和同步時序控制信號。當系統(tǒng)上電時,Cyclone先通過nCSO信號拉低nCS,再通過ADSO信號向配置芯片發(fā)送配置命令和地址,作為對配置命令的應答。配置芯片在DCLK的下降沿通過DATA0信號發(fā)送配置數(shù)據(jù);在上升沿通過Cyclone鎖存配置數(shù)據(jù)。當配置完成時,Cyclone釋放CONF_DONE信號,由于外加上拉電阻作用,CONF_DONE置1。若CONF_DONE信號在配置結束后沒有被正常拉高,Cyclone拉低nSTATUS以啟動配置芯片重新進行配置。另外,由ByteBlasterⅡ下載電纜通過Quartus軟件將配置文件下載到配置芯片。電路原理圖如圖4所示。對于JATG配置方式,主要適用于在線配置,相關參考文章較多,本文不再介紹。

圖4配置電路原理圖

1.6其他電路模塊

控制卡除以上主要電路模塊以外,還包括了電源模塊、USB接口模塊和LCD接口模塊等,由于均為通用電路模塊,本文略。

2PCB關鍵技術

本設計采用四層板結構:信號層-地層-電源層-信號層。普通信號線寬10mil,地線≥30mil,電源線≥20mil。控制卡主要使用的電壓為3.3V和1.5V,因此對電源層進行了分割。其他電源(5V)則采取在信號層上走線(遵循電源布線的原則)的方式。

由于元件密度較大,信號頻率高和PCI協(xié)議規(guī)范復雜等問題,在控制卡關鍵電路的PCB設計中,應注意如下幾點:(1)關鍵信號一般要相鄰地平面[5],如PCI中的高頻信號、高速信號、時鐘信號等要相鄰地平面布線,以減少電磁輻射防止EMI。對于PCI控制信號中的CLK,CBEN[03],F(xiàn)RAME#,TRDY#,IRDY#等信號,布線時應該盡量走第一信號層。

(2)PCI信號線的走線長度的要求。CLK信號線的長度為2 500mil±100mil。其他信號走線長度應小于1 500mil。對于時鐘線可采取蛇形走線的方式。

(3)PCI總線信號PRSNT1#的PRSNT2#中必須有一個接地。

(4)對于不實現(xiàn)JTAG邊界掃描的板子,必須將引腳TDI與TDO連接起來,以使掃描鏈不至于斷開。

(5)從PCI金手指到去耦電容器焊盤的走線長度不超過250mil,線寬不小于20mil。

(6)注意FPGA去耦電容的布局,使去耦電容與FPGA電源和地端連線盡量短。

3PCB仿真

由于控制板PCI時鐘頻率較高和布線密度較大,為保證板卡質量,減少開發(fā)成本,在設計中我們采用了仿真技術來預測可能引起的信號完整性、串繞以及EMC問題,檢測已經(jīng)完成的布線的傳輸性能,綜合多方面考慮,定出合理的布線約束條件和終端匹配策略等。本設計選用高速仿真工具——Hyperlynx,其提供的BoardSim功能用于布線完成后對PCB的仿真,它包含快速仿真和詳細仿真兩種方式。快速仿真用于快速地分析設計中的信號完整性、電磁兼容性和串擾問題,生成串擾強度報告等。詳細仿真用于對指定網(wǎng)絡進行仿真,可以從示波器觀察波形,并可利用軟件提供的終端適配向導為電路計算出合適的匹配電阻,從而改善信號質量。

3.1仿真模型的建立

器件的仿真模型選用了IBIS模型[6]。IBIS模型是一種基于V/I曲線對輸入/輸出緩沖器快速、準確地提取電氣特性的模型,是反映芯片驅動和接收電氣特性的一種國際標準。它提供一種標準的文件格式來記錄驅動源輸出阻抗、上升—下降時間、輸入負載等參數(shù),非常適合作振鈴、串擾等高頻效應的計算與仿真。IBIS模型一般可從芯片供應商的網(wǎng)站下載。本設計從相關網(wǎng)站上分別獲取以下器件的IBIS模型:QS3861,Cyclone,AM29DL640D,M48Z2M1Y等。

3.2仿真策略及結果分析

由于控制卡電路結構緊湊,PCB按照電路功能模塊進行布局。因此在仿真階段,主要從以下幾個方面對布線后的PCB進行板極仿真(BoardSim)。

3.2.1快速分析整板信號完整性(SI)和EMC問題

通過設置Board Wizard對整板進行SI和EMC快速分析。分析結果以報告形式給出。根據(jù)報告分析板上所有網(wǎng)絡的信號完整性,以下信號串擾較強:LPCI_REQN,LPCI_AD31,LPCI_AD21,LPCI_IDSEL,PCI_FRAMEN等。因此在關鍵信號仿真策略中,將對它們進行詳細仿真,并尋找其解決方法。

3.2.2時鐘網(wǎng)絡的SI分析

這部分仿真主要針對PCI時鐘信號進行仿真。將時鐘激勵源設置為66MHz。圖5為時鐘布線及修改前后仿真的波形。

圖5時鐘走線及修改前后的仿真波形圖

從圖5(a)可以看出,時鐘接收端波形正向過沖、負向過沖、振鈴現(xiàn)象較為嚴重。通過分析,在本設計中這些信號的完整性問題主要源于傳輸線過長、信號線網(wǎng)的阻抗失配,或阻抗不連續(xù)。由于PCI協(xié)議中對時鐘走線長度有很嚴格的規(guī)定,因此在保證傳輸線長度的前提下必須給時鐘信號加上適合的終端匹配來改善時鐘信號線的傳輸特性。終端匹配電阻的阻值可以通過Terminator Wizard來精確地計算出,匹配方式采取在信號接收端串聯(lián)一個50Ω的電阻。修改后的信號仿真波形得到了很大的改善(圖5(c))。

3.2.3PCI關鍵信號詳細仿真

本仿真策略主要是針對PCI中的高頻信號進行詳細仿真,對串擾嚴重的信號確定其調整策略。從PCI金手指到FPGA的布線密度較大許多信號線不可避免的需要平行

布線,而隨著線與線之間的距離越來越近,相互間的電磁干擾和耦合程度的強度增大,串繞問題就會突顯出來,串繞有可能引起假時鐘,間歇性數(shù)據(jù)錯誤等,對鄰近信號的傳輸質量造成影響。由產(chǎn)生串繞的原理可知,縮短并行的線長,增加線與線之間的距離改變線寬,改變線厚度,減少介電常數(shù)減少電介質厚度,改變在層間的位置都可以減少串繞的強度。以下以串擾嚴重、仿真波形較差的LPCI_AD23信號為例,說明對關鍵信號的仿真過程。信號激勵源為66MHz。圖6(a)中實線為LPCI_AD23初始布線,虛線為串擾信號,圖6(b)為修改布線前的仿真波形。分析發(fā)現(xiàn),波形失真主要由于走線過長而引發(fā)串擾。因此通過調整布局布線(調整后的布局布線(圖6(c))來減小走線長度以降低串擾。可以看出調整后的串擾信號明顯減少,仿真波形(圖6(d))也有了較大改善。

圖6LPCI_AD23調整前后布局布線以及仿真波形

本設計中,端接匹配電阻的方式對于串擾問題往往能得到較好的調整效果,但會導致在信號終端聚集大量電阻,且PCI金手指到FPGA信號密集、元器件較多,布局難度增大,因此調整策略以修改布線方式為主。對于少數(shù)無法通過調整布局布線獲得較好信號完整性的PCI關鍵信號,我們才采取端接匹配電阻的方式。

4結束語

對高速復雜的數(shù)字系統(tǒng)而言,信號完整性仿真分析對于電路板設計是至關重要的。利用仿真結果來修正設計的不足,及時解決電路板信號完整性問題,避免重復制版,縮短了設計周期,節(jié)約了設計成本。

目前該RAID控制卡已經(jīng)投入使用,在66MHz的總線時鐘下,板卡能夠按照預訂功能正常工作。

參考文獻:

[1]張江陵, 馮丹. 海量信息存儲[M]. 北京:科學出版社, 2003.

[2]唐玉華. PCI總線的傳輸協(xié)議概述[J]. 計算機工程與科學,1998,20(2):7478.

[3]Cyclone Device Handbook[M]. Altera Corporation, 2003.

[4]Stratix PCI Development Board Datasheet[M]. Altera Corporation,2003.

[5]Howard W Johnson, Martin Graham. High Speed Digital Design[M].Prentice Hall, 1993. 341367.

[6]方國華,劉光斌,余志勇.基于IBIS模型的信號完整性仿真分析[J].電子產(chǎn)品可靠性與環(huán)境試驗,20-04,(6):6871.

[7]http://www.altera.com[EB/OL].

作者簡介:

劉景寧(1957),女,湖北武漢人,副教授,碩士生導師,主要研究方向為計算機存儲系統(tǒng);

劉曉芳(1980),女,湖北武漢人,碩士研究生,主要研究方向為基于磁盤陣列的硬件設計;范俊(1980),湖北溪水人,男,主要研究方向為嵌入式軟硬件設計;童薇(1977),女,湖北武漢人,博士研究生,主要研究方向為基于磁盤陣列的硬件設計。

注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文

主站蜘蛛池模板: 国产xx在线观看| 国产精品吹潮在线观看中文| 国产精品成人第一区| 鲁鲁鲁爽爽爽在线视频观看| 五月婷婷伊人网| 日韩欧美国产精品| 国产精品一区二区国产主播| 国产精品欧美在线观看| 一级毛片免费不卡在线| 在线观看av永久| 2024av在线无码中文最新| 国产18页| 精品久久久久久中文字幕女| 干中文字幕| 午夜福利免费视频| 免费人成网站在线观看欧美| 国产国语一级毛片| 午夜电影在线观看国产1区| 欧美综合中文字幕久久| 久久人人97超碰人人澡爱香蕉| 五月激情婷婷综合| 青青热久麻豆精品视频在线观看| 国产精品伦视频观看免费| 久久精品只有这里有| 国产精品页| 国产精品999在线| 国产大片喷水在线在线视频| 欧美性猛交xxxx乱大交极品| 欧美一区二区三区不卡免费| 国产99视频在线| 亚洲欧洲日产无码AV| 无遮挡国产高潮视频免费观看| a级毛片网| 色综合天天综合中文网| 99re热精品视频中文字幕不卡| 成人在线观看一区| 中日韩一区二区三区中文免费视频 | 夜色爽爽影院18禁妓女影院| 在线观看欧美精品二区| 啪啪啪亚洲无码| 久久6免费视频| 国产99视频精品免费观看9e| 国产黄色片在线看| 日韩专区第一页| 九九九精品成人免费视频7| 亚洲三级视频在线观看| 国产在线视频导航| 久久精品日日躁夜夜躁欧美| 久久国产拍爱| 人妻精品全国免费视频| 日本久久网站| 国产精品视频久| 国产一级α片| 亚洲日本www| 在线不卡免费视频| 四虎精品黑人视频| 成人va亚洲va欧美天堂| 99re这里只有国产中文精品国产精品| 91在线精品免费免费播放| 国模私拍一区二区三区| 欧美一级专区免费大片| 亚洲中文无码av永久伊人| 午夜天堂视频| 国产日韩欧美在线播放| 国产精品乱偷免费视频| 三上悠亚一区二区| 国产成人夜色91| 亚洲中文字幕无码爆乳| 国产人成在线观看| 伊人久久大香线蕉影院| 久久精品波多野结衣| 国产精品冒白浆免费视频| 伊人色天堂| 欧美精品亚洲二区| 99偷拍视频精品一区二区| 伊在人亚洲香蕉精品播放| 国产激情无码一区二区APP | 中文字幕 欧美日韩| 91 九色视频丝袜| 美女免费黄网站| 久久久噜噜噜| 国产精品流白浆在线观看|