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