USB 2.0主控器軟硬件協(xié)同仿真系統設計
摘要:為了能夠充分、快速驗證USB 2.0主控器的功能,設計了一個(gè)軟硬件協(xié)同仿真平臺。其中,CPU模型部分采用一種高效的SystemC模型,而不使用基于指令集的復雜CPU模型。測試用例采用抽象層次更高的C語(yǔ)言編寫(xiě),通過(guò)調用仿真平臺對外提供的API完成激勵生成與響應檢查。結果表明,該方式能夠有效降低對仿真資源的占用,減少仿真時(shí)間;同時(shí)使軟件人員能在IP的硬件驗證階段就能完成軟件的設計測試工作,縮短軟硬件接口整合時(shí)間,加快開(kāi)發(fā)進(jìn)度。
關(guān)鍵詞:軟硬協(xié)同;聯(lián)合仿真引擎;CPU模型;通用串行總線(xiàn);主控器;片上系統
USB由于具有傳輸速度快、支持即插即用和熱插拔、供電方式靈活、總線(xiàn)結構簡(jiǎn)單、使用和擴展靈活等優(yōu)點(diǎn),已經(jīng)成為業(yè)界主流的工業(yè)接口標準,并在SoC設計中得到了廣泛的應用。在典型的應用案例中,USB主控器作為SoC中的一個(gè)子模塊,和其他子模塊有復雜的互聯(lián)、通信關(guān)系,同時(shí)也受系統主CPU的控制。在這樣一個(gè)復雜的系統中,如何驗證USB主控器設計的正確性以及其和SoC系統其他模塊協(xié)同工作的完整性對項目成功與否是非常關(guān)鍵的。本文設計了一種軟硬件協(xié)同仿真平臺來(lái)驗證應用在數字電視SoC中的USB2.0主控器,本平臺為SoC的驗證提供了一個(gè)高效、系統的解決方案。結果表明效果良好。
1 待驗證USB 2.0主控器系統結構
本文驗證的USB 2.0主控器完全兼容USB 1.1規范,EHCI主機控制器接口規范和OCHI主機控制器接口規范。該USB 2.0主控制器包含一個(gè)高速主控器和一個(gè)全速主控制器,其中高速主控器基于EHCI接口規范實(shí)現,用來(lái)和連接到根端口的高速(傳輸速率為480 Mb/s)模式外設進(jìn)行通信。全速模式主控制器基于OHCI接口規范實(shí)現,使USB 2.0主控器可以與全速和低速(傳輸速率為12 Mb/s和1.5Mb/s)外設進(jìn)行通信。系統CPU可以通過(guò)該主控器的AHB Slave接口對其進(jìn)行控制。該主控器中還包含AHB Master接口單元,能夠扮演AHB Master的角色直接控制主控器與系統存儲器之間的數據交換,不需要通過(guò)外部DMA控制器的控制,方便系統集成,加快該主控器與系統內存之間的數據交換。該主控器的物理接口端提供滿(mǎn)足UTMI+接口規范的接口,通過(guò)與PHY相連,可以直接與外設進(jìn)行通信。圖1為該主控器的系統結構框圖,圖中主控器的列表處理器模塊是系統中主要的控制器,其包含多個(gè)狀態(tài)機用來(lái)處理規范中描述符定義的內容。
2 驗證仿真系統介紹
2.1 使用傳統平臺驗證USB主控器的不足
USB主控器真實(shí)的工作環(huán)境需要有硬件和軟件協(xié)同配合,在傳統驗證平臺下,從整個(gè)驗證過(guò)程來(lái)看,硬件人員需要描述一套基于Verilog HDL的測試激勵模擬軟件環(huán)境驗證其功能,之后軟件人員還要再寫(xiě)一遍基于C程序的軟件環(huán)境驗證其功能,這樣造成工作的重疊。同時(shí)傳統驗證平臺使用Verilog HDL編寫(xiě),抽象層次較低,在描述高抽象結構(如USB的描述符的數據結構)時(shí)比較復雜,而使用抽象層次更高的C語(yǔ)言會(huì )相對簡(jiǎn)單。
評論