PCIe:緩和一致性與互操作性挑戰(zhàn)
早自五年前PCI Express(PCIe)的初始階段,PCIe就已成了實質(zhì)上跨越所有細(xì)分市場并占主導(dǎo)地位的互連協(xié)議。今天,所有主要芯片組廠商正將PCIe技術(shù)植入到他們的芯片組中。PCIe技術(shù)已廣泛應(yīng)用在服務(wù)器、工作站、存儲系統(tǒng)、路由器、交換機(jī)和一系列測量應(yīng)用中。PCIe的迅速推廣導(dǎo)致了許多不同的PCIe規(guī)范的實現(xiàn)方式。
本文引用地址:http://www.ex-cimer.com/article/191786.htm盡管理論上來說,每一個實現(xiàn)方式應(yīng)遵從PCIe規(guī)范且應(yīng)具有與所有其他的實現(xiàn)方式互操作的能力。但實際的情況卻是,有一些既不一致又不具備互操作性的設(shè)備進(jìn)入市場。因為那時有人認(rèn)為盡管非一致的或不具互操作性的器件流片后的維修成本很高,但與其投放市場后所獲得的收益來比還是少很多,并認(rèn)為確保器件流片前的一致性和互操作性驗證是任何PCIe開發(fā)過程中最為重要的挑戰(zhàn)。
意識到這筆巨大成本后,EDA行業(yè)發(fā)布了許多能夠解決這個挑戰(zhàn)的方案。這些方案從高級驗證、斷言語言和方??延伸到功能覆蓋工具和特定協(xié)議一致性測試的工具包。即便是有許多解決方案可從EDA行業(yè)獲得,但為確保流片前器件的一致性和互操作性而選擇最佳的解決方案,也要求對導(dǎo)致器件不一致或互操作性的問題有一個透徹的理解。
一致性驗證的挑戰(zhàn)
對大多數(shù)的產(chǎn)品開發(fā)團(tuán)隊來說,驗證過程始于驗證計劃的創(chuàng)立。協(xié)議規(guī)范是針對任何驗證計劃的主要輸入之一。通過甚至是最簡單的測量,PCIe基礎(chǔ)規(guī)范是一個足以將最富經(jīng)驗的產(chǎn)品開發(fā)團(tuán)隊弄混淆的復(fù)雜規(guī)范。這種復(fù)雜性不僅是由于其龐大的文檔數(shù)量,而且是因為這樣一個事實:為了完全理解規(guī)范,開發(fā)團(tuán)隊要求理解所有基本規(guī)范。執(zhí)行該過程是相當(dāng)困難的,況且目前包括PCIe基礎(chǔ)規(guī)范在內(nèi)的許多規(guī)范仍在不斷改進(jìn)中。保持PCIe基礎(chǔ)規(guī)范的更新需要花費大量的、在驗證過程的關(guān)鍵階段通常無法獲得的寶貴時間。所以,當(dāng)考慮流片前一致性解決方案時,開發(fā)團(tuán)隊要避免停留在對規(guī)范的每個細(xì)節(jié)的更新上。因此,選擇一個專注于PCIe規(guī)范的開發(fā)團(tuán)隊所實現(xiàn)的解決方案尤為關(guān)鍵。該專業(yè)團(tuán)隊須確保其解決方案與改進(jìn)中的規(guī)范保持同步更新。
當(dāng)通讀完P(guān)CIe基礎(chǔ)規(guī)范或任何與之相關(guān)規(guī)范后,你會設(shè)想器件將如何工作。盡管諸如PCI-SIG的標(biāo)準(zhǔn)機(jī)構(gòu)在大力刪除其規(guī)范中的所有模棱兩可的內(nèi)容,但這些規(guī)范保留對互操作性的開放,并且假定這些規(guī)范是給開發(fā)人員閱讀的。最好的情況是,這些假設(shè)在開發(fā)人員之間以及和該規(guī)范的作者(規(guī)范的作者是PCI-SIG)意圖是一致的。然而,實際的情況往往是缺乏這種一致性。更為普遍的是,開發(fā)人員之間有著不同的設(shè)想。在這種情況下,這些設(shè)想的差異只有在廣泛的討論之后才能形成解決方案,這就往往要求規(guī)范作者的指導(dǎo)。最壞的情況是所有開發(fā)人員的設(shè)想一致,但這些設(shè)想都與規(guī)范的意圖不一致。在這種情況下,開發(fā)出來的設(shè)備自然是不符合規(guī)范要求的。因此,任何流片前一致性解決方案都是很關(guān)鍵的,這些解決方案主要是針對已確認(rèn)的或已解決的所有方案開發(fā)過程中產(chǎn)生的設(shè)想。通常來說,隨著更多的開發(fā)人員復(fù)查和應(yīng)用該解決方案,這些設(shè)想會確立和解決。這樣的結(jié)果是,當(dāng)一個解決方案在行業(yè)中獲得更廣泛的認(rèn)同后,在解決方案的精確性上將會更有信心。
由于器件的尺寸及其復(fù)雜性方面的難度持續(xù)增加、例舉的任務(wù)要比驗證少許多,所有可能的情況都變得相當(dāng)困難,以及無法被驗證過程所覆蓋的器件特性正呈現(xiàn)上升的趨勢。盡管PCIe規(guī)范詳細(xì)描述了成百上千個寄存器、多個復(fù)雜狀態(tài)機(jī)和許多可選功能,但這并不是PCIe規(guī)范獨有的問題。針對這個整個行業(yè)所面臨的問題,覆蓋驅(qū)動驗證方法已開發(fā)出來并得到成功的驗證。這些方法通常包含斷言語句在器件中的位置及其驗證環(huán)境。一旦斷言被加入,隨機(jī)激勵將應(yīng)用在該器件上且覆蓋統(tǒng)計會被采集,這在覆蓋驅(qū)動驗證方法中是十分有用的。任何流片前一致性解決方案必須包含一套健壯的斷言和一個針對覆蓋統(tǒng)計采集的工具。
IP驗證帶來的挑戰(zhàn)
隨著PCIe的日新月異,PCIe設(shè)計核正迅速的成為商用部件。通常,當(dāng)可以從許多廠家獲得多種PCIe設(shè)計核時,通過對器件從零開始來構(gòu)造一個PCIe設(shè)計核的附加值是微乎其微的。理想的情況是,所有市面上的PCIe設(shè)計核應(yīng)該是免費糾錯的。然而,實際的情況往往并非如此。所以,采用PCIe設(shè)計核的開發(fā)團(tuán)隊所面臨的挑戰(zhàn)是確定怎樣處理可能驗證過的核。大多數(shù)的開發(fā)團(tuán)隊既沒有這樣做,也不希望為一個準(zhǔn)驗證的PCIe設(shè)計核分配資源去再驗證。于是,一個可提供完全的、自包含驗證環(huán)境的流片前一致性解決方案可起到填補這個缺口的作用。但前提條件是假定該解決方案可以輕易的與設(shè)備集成在一起。此外,只要為這個任務(wù)分配一定的資源,任何由該解決方案指定的問題一定可輕易的被調(diào)試和解決。
互操作性被定義為一個設(shè)備與其他設(shè)備通信的能力。在PCIe領(lǐng)域,只有當(dāng)設(shè)備能正確的管理其連接和信息交換時,才意味著兩個設(shè)備是具備互操作性的。針對一個要成為完全互操作性的設(shè)備來說,該設(shè)備需能夠與市面上所有可能的設(shè)備進(jìn)行連接和信息交換。互操作性在流片前環(huán)境中是相當(dāng)困難的。在理想的流片前互操作性驗證環(huán)境中,兩個PCIe設(shè)備的模型是完整的,且使用了適當(dāng)?shù)募?。開發(fā)團(tuán)隊在構(gòu)造這種類型的互操作性環(huán)境過程中所面臨的第一個挑戰(zhàn)是找到一個合適的和自愿的合作伙伴。一旦確定了合作伙伴且分派了法律義務(wù),該問題將會成為集成兩種模式的一種。其中一個模型對開發(fā)團(tuán)隊而言是缺乏經(jīng)驗的。隨著問題的出現(xiàn),要求開發(fā)團(tuán)隊為兩個設(shè)備提供一定程度上的支持。解決這些問題是一件相當(dāng)繁瑣的任務(wù),因為調(diào)試通常包含來自不同組織的眾多開發(fā)人員。通常,將這些問題融合在一起從而避免大量的這類測試。
評論