當(dāng)前位置:首頁 > 智能硬件 > 智能硬件
[導(dǎo)讀]摘要:稱為第3代I/O接口技術(shù)的PCI Express總線規(guī)范的出現(xiàn),從結(jié)構(gòu)上解決了帶寬不足的問題,有著極為廣闊的發(fā)展前景。基于Verilog HDL硬件描述語言及可綜合化設(shè)計理念,完成了PCI Express IP核RTL代碼的設(shè)計。IP核代

摘要:稱為第3代I/O接口技術(shù)的PCI Express總線規(guī)范的出現(xiàn),從結(jié)構(gòu)上解決了帶寬不足的問題,有著極為廣闊的發(fā)展前景?;赩erilog HDL硬件描述語言及可綜合化設(shè)計理念,完成了PCI Express IP核RTL代碼的設(shè)計。IP核代碼使用Verilog HDL語言編寫,分模塊、分層次地設(shè)計了事務(wù)層、數(shù)據(jù)鏈路層和物理層的邏輯子層,并進(jìn)行了可綜合化設(shè)計與代碼風(fēng)格檢查。對設(shè)計的PCI Express IP核的功能分別從協(xié)議層次和應(yīng)用層次進(jìn)行了驗證。具體實現(xiàn)上,采用Denali公司的PureSuite測試套件對IP核的協(xié)議兼容性進(jìn)行驗證,驗證范圍覆蓋了IP核的3個層次以及配置空間,采用QuestaSim仿真工具對IP核的應(yīng)用層進(jìn)行驗證。仿真結(jié)果表明,設(shè)計的PCI Express IP核工作正常,性能優(yōu)良。
關(guān)鍵詞:PCI Express協(xié)議;IP核;驗證;I/O接口

0 引言
    當(dāng)下,計算機系統(tǒng)使用的主流內(nèi)部總線技術(shù)為PCI總線。隨著千兆以太網(wǎng)、RAID陣列等高帶寬設(shè)備的出現(xiàn),PCI總線133 MB/s的帶寬已明顯不能滿足應(yīng)用的需要。根據(jù)PCI總線的性能不足及計算機系統(tǒng)的應(yīng)用需求,第3代I/O總線接口技術(shù)PCI Express應(yīng)運而生。PCI Express是一種應(yīng)用于各種計算與通信平臺的高帶寬、點對點串行互聯(lián)協(xié)議,支持虛通道、流量控制機制及熱插撥,具有錯誤處理及錯誤報告功能,并在軟件上與PCI兼容,具有鮮明的技術(shù)優(yōu)勢和廣闊的應(yīng)用前景?;趯CI Express理論優(yōu)勢轉(zhuǎn)化為實際應(yīng)用優(yōu)勢的考慮,設(shè)計了PCI Express IP核,并進(jìn)行了可綜合化設(shè)計與代碼風(fēng)格檢查,最后對設(shè)計的PCI Express IP核分別從協(xié)議層次和應(yīng)用層次進(jìn)行了較為充分的功能驗證。

1 PCI Express協(xié)議
    較之PCI總線,PCI Express在總線技術(shù)與結(jié)構(gòu)上實現(xiàn)了較大飛躍,提供了高速、高性能、點到點、雙單工、串行、差分信號鏈路來互聯(lián)設(shè)備。PCI Express的基本結(jié)構(gòu)包括根復(fù)合體(Root Complex)、交換機(Switch)以及端點設(shè)備(Endpoint)等,本文設(shè)計的PCI Expresb;IP(Intellectual Property)核屬于PCI Express端點設(shè)備。PCI ExpreSS總線典型拓?fù)浣Y(jié)構(gòu)如圖1所示。


    根復(fù)合體(RC)為下層I/O設(shè)備連接到CPU和主存儲器系統(tǒng)提供了路徑,一個根復(fù)合體可支持一個或多個PCI Express端口;端點設(shè)備(EP)是PCI Express事務(wù)的請求發(fā)起者(Requester)或應(yīng)答者(Compieter),端點設(shè)備又分為傳統(tǒng)端點、PCI Express端點和根復(fù)合體集成端點;交換機(Switch)是由多個虛擬PCI-to-PCI橋設(shè)備組成的,其主要功能是為上游器件和下游器件的通信選擇路徑。
    PCI Express規(guī)范規(guī)定對于設(shè)備的設(shè)計采用分層結(jié)構(gòu),由下向上可分為物理層(Physical Layer)、數(shù)據(jù)鏈路層(Data Link Layer)和事務(wù)層(Transaction Layer),物理層又由邏輯子層和電氣子層組成。沿縱向來看,各層又可分為發(fā)送和接收2塊功能。發(fā)送功能塊構(gòu)成了設(shè)備的發(fā)送部分,處理向外的傳輸事務(wù);接收功能塊構(gòu)成了設(shè)備的接收部分,處理向內(nèi)的傳輸事務(wù)。典型PCI Express層次結(jié)構(gòu)如圖2所示。


    作為PCI Express協(xié)議的最高層,事務(wù)層主要負(fù)責(zé)以下任務(wù),如:基于流水線的分割事務(wù)協(xié)議;處理事務(wù)包的機制;基于“信用”的流量控制;支持?jǐn)?shù)據(jù)完整性。數(shù)據(jù)鏈路層位于事務(wù)層和物理層之間,為事務(wù)層TLP在鏈路中的傳輸提供可靠的傳輸機制。數(shù)據(jù)鏈路層完成的主要任務(wù)包括傳遞TLP、錯誤檢測和裁決、初始化和電源管理、產(chǎn)生DLLP。
    物理層位于PCI Express協(xié)議的最底層,決定了PCI Express總線接口的物理特性,如點對點串行連接、微差分信號驅(qū)動、熱撥插、可配置帶寬等。

2 PCI Express IP核設(shè)計
2.1 結(jié)構(gòu)設(shè)計
    從層次上來講,PCI Express IP核實現(xiàn)了PCI Express協(xié)議定義的所有3個層次:事務(wù)、數(shù)據(jù)鏈路和物理的邏輯部分。從結(jié)構(gòu)上來講,PCI Express IP核主要由用戶接口模塊、發(fā)送數(shù)據(jù)包解析模塊、電源管理模塊、DLLP仲裁模塊、TLP仲裁模塊、重傳緩沖模塊、CRC生成模塊、幀信息生成模塊、數(shù)據(jù)鏈路層數(shù)據(jù)流仲裁模塊、LTSSM狀態(tài)機模塊、SKP發(fā)生模塊、LTSSM用有序集發(fā)生模塊、物理層數(shù)據(jù)流仲裁模塊、通道分配模塊、通道合并模塊、亂序模塊、解亂序模塊、PIPE接口模塊、接收數(shù)據(jù)包解析模塊和接收緩沖模塊組成。本文重點介紹用戶接口模塊和發(fā)送數(shù)據(jù)包解析模塊。
    用戶接口模塊是用戶邏輯與PCI Express IP核進(jìn)行數(shù)據(jù)交互的橋梁,該模塊分為發(fā)送接口和接收接口2部分。一方面,用戶邏輯按照規(guī)定的時序通過該模塊把欲發(fā)送的數(shù)據(jù)發(fā)送到PCI Express鏈路;另一方面,PCI Express IP核接收來自PCI Express鏈路上的數(shù)據(jù),處理后通過該模塊發(fā)送給用戶邏輯。
    發(fā)送數(shù)據(jù)包解析模塊的主要任務(wù)之一負(fù)責(zé)解析TLP包,并提供給TLP仲裁模塊進(jìn)行傳輸。
    發(fā)送數(shù)據(jù)包解析模塊的第2個功能為實現(xiàn)流控機制。流控機制是PCI Express中最基本的機制之一,流控機制雖然是對本地緩存的一種有效保護(hù),但對TLP的收發(fā)性能有很大的影響。流量的初始化和更新均使用DLLP來完成;初始化使用FC Initl和FC Init2DLLP來完成;更新使用FC Updata DLLP來完成。
2.2 接口設(shè)計
    接口設(shè)計主要包括本地接口設(shè)計、配置寄存器擴展接口設(shè)計和電源管理接口設(shè)計3部分。
    本地接口用于用戶邏輯與遠(yuǎn)端PCI Express設(shè)備之間傳輸TLP,在本地接口總線上所傳輸?shù)腡LP均需滿足標(biāo)準(zhǔn)的PCI Express數(shù)據(jù)包格式。本地接口又分為發(fā)送接口和接收接口,PCI Express IP核通過發(fā)送接口在PCI Express鏈路上發(fā)送PCI Express包,通過接收接口從PCI Exp ress鏈路上接收PCI Express包。
    配置寄存器擴展接口主要用于實現(xiàn)額外的PCI能力項和配置寄存器。根據(jù)PCI Express規(guī)范,原則上只有跟PCI Express配置相關(guān)的寄存器才可以放入配置空間。本文設(shè)計的PCI Express IP核是PCI Express端點(Endpoint),故使用標(biāo)準(zhǔn)Type0配置空間,該空間占用了0x000~0x0 BF地址范圍,配置寄存器擴展接口可使用空間的地址范圍從0x0C0~0xFFF。

3 PCI Express IP核功能驗證
    驗證是比設(shè)計更重要的一個環(huán)節(jié),它穿越了整個設(shè)計流程,以便盡早發(fā)現(xiàn)設(shè)計中可能存在的錯誤和缺陷。功能驗證指驗證RTL代碼是否符合原始的設(shè)計需求和規(guī)格,在這里指驗證設(shè)計的PCI Express IP核是否符合PCI Express規(guī)范。本文采用基于虛擬平臺的驗證方法對設(shè)計的PCI Express IP核進(jìn)行協(xié)議層驗證和應(yīng)用層驗證。
3.1 協(xié)議層驗證
    本文采用Denali公司的PureSuite測試工具對PCI Express IP核的協(xié)議層進(jìn)行驗證。PureSuite可以測試PCI Express設(shè)計的兼容性,包含完整的測試用例,且與PCI-SIG的兼容性驗收列表完全匹配。PureSuite覆蓋了物理層、數(shù)據(jù)鏈路層、事務(wù)層以及配置空間,包括定向測試和隨機測試,使用PureSpec總線功能模型對待測設(shè)計施加合適的激勵,該功能模型使用SOMA配置文件來約束功能模型的行為和特性。PureSu ite充分發(fā)揮了Denali的先進(jìn)特性,自動產(chǎn)生測試激勵,并報告測試結(jié)果。使用PureSuite對PCI Express IP核進(jìn)行兼容性測試主要需要四個步驟,測試平臺搭建、測試用例選擇、運行仿真、查看結(jié)果。
    測試平臺搭建主要包括對DUT的實例化以及創(chuàng)建約束DUT特性的SOMA文件。首先,編寫Testbench文件,把Denali的模型和監(jiān)視器以及DUT連接起來,并指定對應(yīng)的SOMA文件,分別對上述3個模塊進(jìn)行特性約束。其次,使用Denali的圖形化工具PureView創(chuàng)建DUT監(jiān)視器模塊及其SOMA文件,需要把PCI Express IP核的特性全部寫入該SOMA文件中。
    由于Denali的PureSuite包含了一套完整的測試用例,其中有許多是DUT所不具備的能力,故在運行仿真前需要選擇與DUT配套的測試用例,當(dāng)然也可以指定一些測試用例進(jìn)行單獨測試,以禁止運行DUT所不具有的特性的測試用例。PureSuite提供5大類測試,包括事務(wù)層測試、PHY測試、數(shù)據(jù)鏈路層測試、配置空間測試和虛通道測試,本文的設(shè)計不包括PHY部分,故僅對DUT進(jìn)行了其余4類測試。
    在進(jìn)行協(xié)議層仿真時,本文使用NC-SIM仿真工具在Linux系統(tǒng)下進(jìn)行。仿真平臺搭建好后,需要編寫運行腳本文件。在編寫腳本文件中,主要包括對代碼進(jìn)行編譯、指定編譯器及其參數(shù)、指定仿真頂層等。一切準(zhǔn)備就緒后,便可以運行仿真。在仿真過程中需要查看仿真波形,要在仿真頂層文件“tb.v”中把保存波形數(shù)據(jù)庫,在仿真過程中或仿真結(jié)束后用SimVision工具打開波形數(shù)據(jù)庫查看波形。
    仿真過程結(jié)束后,PureSuite會生成一個測試結(jié)果文件puresuite.status,該文件包含了仿真運行的詳細(xì)結(jié)果及統(tǒng)計結(jié)果,整個設(shè)計的4類測試項均測試成功。
3.2 應(yīng)用層驗證
    在應(yīng)用層驗證中主要驗證DUT是否能夠正確處理數(shù)據(jù)包,包括是否能夠正確發(fā)送用戶邏輯產(chǎn)生的數(shù)據(jù)包和是否能夠正確接收鏈路上的數(shù)據(jù)包,并路由到正確的目標(biāo)地址。同時,兼顧測試PCI Express IP核的部分協(xié)議兼容性。應(yīng)用層驗證需要為DUT搭建一個應(yīng)用環(huán)境,包括一個內(nèi)部SRAM,一片F(xiàn)LASH存儲器和通用輸入輸出接口。DUT的PHY使用Xilinx的GTP模型,主機模型使用由某公司提供的PCI Express根復(fù)合體仿真模型。


    代碼覆蓋率是驗證結(jié)果的重要質(zhì)量標(biāo)志,有助于指導(dǎo)驗證計劃的改進(jìn)。通過QuestaSim 6.3d的代碼覆蓋率計算,如圖3所示,PCI Expre ss IP核的代碼覆蓋率達(dá)到了令人滿意的效果。

4 結(jié)語
    攻克了基于信用的流量控制機制、電源管理機制、錯誤檢測與處理報告機制、LTSSM狀態(tài)機等多個技術(shù)難關(guān)后,本文完成了PCI Express IP核RTL代碼的設(shè)計。基于PureSuite測試套件及QuestaSim仿真工具對設(shè)計的IP核進(jìn)行了全方位的功能驗證,并對驗證過程發(fā)現(xiàn)的問題逐一進(jìn)行修正。仿真結(jié)果表明,設(shè)計的PCI Express IP核實現(xiàn)了預(yù)期功能,達(dá)到了設(shè)計技術(shù)指標(biāo)。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉