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