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