當(dāng)前位置:首頁(yè) > 測(cè)試測(cè)量 > 測(cè)試測(cè)量
[導(dǎo)讀]在內(nèi)核芯片制造前傳統(tǒng)的驗(yàn)證與調(diào)試方法依賴于指令集仿真器(ISS)模型。不幸的是,ISS模型速度太慢,并且時(shí)序精度無(wú)法達(dá)到與系統(tǒng)硬件部分的RTL模型交互所需的要求。本文將提供一種采用虛擬系統(tǒng)原型實(shí)現(xiàn)系統(tǒng)級(jí)的多內(nèi)核系

內(nèi)核芯片制造前傳統(tǒng)的驗(yàn)證與調(diào)試方法依賴于指令集仿真器(ISS)模型。不幸的是,ISS模型速度太慢,并且時(shí)序精度無(wú)法達(dá)到與系統(tǒng)硬件部分的RTL模型交互所需的要求。本文將提供一種采用虛擬系統(tǒng)原型實(shí)現(xiàn)系統(tǒng)級(jí)的多內(nèi)核系統(tǒng)調(diào)試方法,該方法允許在PC機(jī)上實(shí)時(shí)執(zhí)行一個(gè)完整系統(tǒng)的周期精確仿真,而且執(zhí)行速度比基于ISS的仿真要快得多。

開發(fā)一個(gè)復(fù)雜的多內(nèi)核無(wú)線系統(tǒng)無(wú)疑是個(gè)艱巨的挑戰(zhàn),特別是當(dāng)內(nèi)核包含有高性能處理器和先進(jìn)的數(shù)字信號(hào)處理器(DSP) 時(shí)更是如此。等待硬件原型實(shí)現(xiàn)是不能令人接受的:關(guān)鍵的軟硬件折衷應(yīng)該在芯片制造之前盡早地完成。在內(nèi)核芯片制造前傳統(tǒng)的驗(yàn)證與調(diào)試方法依賴于指令集仿真 器(ISS)模型。不幸的是,ISS模型速度太慢,并且時(shí)序精度無(wú)法達(dá)到與系統(tǒng)硬件部分的RTL模型交互所需的要求。

在多內(nèi)核環(huán)境中問題更加嚴(yán)重,因?yàn)閱蝹€(gè)獨(dú)立的模擬器工具在調(diào)試模式下通常都缺少同步機(jī)制。結(jié)果是有些軟件開發(fā)和軟硬件集成工作必須等到無(wú)線硬件原型實(shí)現(xiàn)后才能開始。在昂貴、數(shù)量又少的硬件原型基礎(chǔ)上進(jìn)行開發(fā)和調(diào)試常常導(dǎo)致項(xiàng)目進(jìn)度的延遲,并會(huì)增加芯片返工的風(fēng)險(xiǎn)。

圖1:不同模型的速度和精度。

本文將提供一種采用虛擬系統(tǒng)原型實(shí)現(xiàn)系統(tǒng)級(jí)的多內(nèi)核系統(tǒng)調(diào)試方法,該方法允許在PC機(jī)上實(shí)時(shí)執(zhí)行一個(gè)完整系統(tǒng)的周期精確仿真,而且執(zhí)行速度比基于ISS的仿 真要快得多。該方法支持完整的系統(tǒng)級(jí)單步調(diào)試操作,其調(diào)試模式下的時(shí)序精度水平完全可以匹配實(shí)際設(shè)備指標(biāo)。另外,由于虛擬系統(tǒng)原型能讓開發(fā)人員在多系統(tǒng)環(huán) 境下快速精確地調(diào)試,因此給開發(fā)工作帶來了極大的便利。下文討論的包含二個(gè)ARM處理器和一個(gè)StarCore DSP的多內(nèi)核無(wú)線系統(tǒng)實(shí)例證明了該方法的有效性。

無(wú)線SoC實(shí)例

適合無(wú)線應(yīng)用的一個(gè)實(shí)際多內(nèi)核芯片整體架構(gòu)采用了通用CPU和專用DSP內(nèi)核來達(dá)到并行和專用處理的目的。另外該芯片還包含了用于片外通信的多層存儲(chǔ)器系統(tǒng)和多個(gè)外圍器件。

這個(gè)特殊芯片包含2個(gè)ARM926E CPU內(nèi)核,每個(gè)內(nèi)核擁有獨(dú)立的指令和數(shù)據(jù)緩存。其中一個(gè)ARM處理器運(yùn)行Linux操作系統(tǒng),并提供虛擬機(jī)、圖形化環(huán)境和消息等多個(gè)普通服務(wù)。另外一個(gè) ARM926E與DSP內(nèi)核聯(lián)系緊密,主要用于處理整個(gè)系統(tǒng)的通信和控制,需要時(shí)也能用于執(zhí)行特殊任務(wù)和應(yīng)用進(jìn)程。擁有2個(gè)CPU可以完全實(shí)時(shí)地處理各種 業(yè)務(wù),從而滿足無(wú)線設(shè)備的各項(xiàng)關(guān)鍵要求。

作為2個(gè)ARM內(nèi)核的重要補(bǔ)充,StarCore SC1200處理器可以加速多媒體數(shù)據(jù)處理,執(zhí)行無(wú)線調(diào)制解調(diào)器的處理任務(wù)以及其它DSP任務(wù)。這塊內(nèi)核內(nèi)置有2個(gè)獨(dú)立的執(zhí)行單元,每個(gè)單元都可以執(zhí)行乘 法累加(MAC)以及其它信號(hào)處理算法中常用的算術(shù)操作。DSP設(shè)計(jì)用于提供大部分的語(yǔ)音數(shù)據(jù)處理以及MP3、MPEG-4和H.264等多媒體數(shù)據(jù)解碼 服務(wù)。

作為無(wú)線芯片中的典型部件,層次化總線網(wǎng)絡(luò)可以提供專用的數(shù)據(jù)通道,減少業(yè)務(wù)流量,并提供通信所需的公共存儲(chǔ)模塊訪 問。在頂層,六條系統(tǒng)總線通過各自專用的存儲(chǔ)器子系統(tǒng)和外圍器件與處理器建立互連。所有這些總線都使用AHB協(xié)議,該協(xié)議是ARM公司定義的用于ARM處 理器內(nèi)核的先進(jìn)高速總線。

專用AHB總線允許全部三個(gè)處理器同時(shí)對(duì)存儲(chǔ)器進(jìn)行數(shù)據(jù)和指令存取,因而能夠消除多內(nèi)核設(shè)備常見的瓶頸問題。AHB系統(tǒng)級(jí)總線到更低層的總線通過橋進(jìn)行鏈接。三條專用存儲(chǔ)器總線提供對(duì)存儲(chǔ)器模塊的訪問,二條低速外圍器件總線連接片外通信用的定時(shí)器、中斷控制器和串行接口。

當(dāng)然,處理器之間也必須交換數(shù)據(jù)或控制信息。所有這類通信都是通過系統(tǒng)內(nèi)任何地方都能訪問的共享存儲(chǔ)器完成的。利用旗語(yǔ)(semaphore)和郵箱(mailbox)等現(xiàn)成技術(shù)即可提供處理器和外圍器件之間信息的安全傳送。

傳統(tǒng)的軟件建模

在SoC 生產(chǎn)出來以后才進(jìn)行驗(yàn)證勢(shì)必會(huì)使最終產(chǎn)品存在大量缺陷。即使設(shè)計(jì)中嵌入了專門用于調(diào)試的訪問路徑,可觀察性也相當(dāng)有限。而在實(shí)際應(yīng)用中,為了滿足緊迫的產(chǎn) 品上市時(shí)間要求,有用的調(diào)試功能往往會(huì)被刪除掉。因此協(xié)調(diào)與同步內(nèi)含多處理器的硬件驗(yàn)證測(cè)試非常困難,為了調(diào)試故障測(cè)試在處理器之間設(shè)置交叉觸發(fā)也有一定 的難度。

以前芯片架構(gòu)師和設(shè)計(jì)師在芯片制造之前是利用基于軟件的模型進(jìn)行完整的芯片驗(yàn)證和調(diào)試的。最常見的方法是使用為每個(gè)處理器設(shè)計(jì)的指令集仿真器模型。這些模型執(zhí)行的二進(jìn)制代碼與芯片中的實(shí)際處理器代碼完全相同,因此這些模型可以用來在SoC制造之前開發(fā)和調(diào)試軟件。

圖2:無(wú)線SoC設(shè)計(jì)的調(diào)試要點(diǎn)。

然而,典型的ISS模型在仿真運(yùn)行大型軟件(比如實(shí)時(shí)操作系統(tǒng)(RTOS))時(shí)速度太慢。那些具有較高性能的ISS模型在犧牲精度的條件下才能達(dá)到較快的速 度。ISS模型的主要特點(diǎn)僅在于精確的指令,也就是說它們能夠如實(shí)地產(chǎn)生與制造芯片中處理器相同的結(jié)果運(yùn)行代碼。然而,處理器接口的逐個(gè)周期行為可能無(wú)法 匹配實(shí)際處理器內(nèi)核的行為。

在開發(fā)多內(nèi)核無(wú)線設(shè)備時(shí)ISS模型的缺點(diǎn)是一個(gè)大問題。由于對(duì)緩存和存儲(chǔ)器的訪問不具有周期精確 性,因此無(wú)法精確測(cè)量存儲(chǔ)器性能,也無(wú)法進(jìn)行詳細(xì)的架構(gòu)折衷。此外,針對(duì)SoC的剩余部分將ISS和硬件設(shè)計(jì)連接起來需要周期精確性,單憑指令精確性將極 大地限制可以執(zhí)行的軟硬件協(xié)同仿真的數(shù)量。而且不準(zhǔn)確的時(shí)序?qū)⒁馕吨幚砥鲀?nèi)核之間的交互操作有可能不匹配實(shí)際運(yùn)行情況,從而導(dǎo)致芯片和硬件原型制造出來 以后還要做進(jìn)一步的軟件開發(fā)和反復(fù)調(diào)試。

使用獨(dú)立的ISS模型會(huì)給調(diào)試帶來很大的限制。由于單個(gè)模型之間缺少同步機(jī)制,在試 圖調(diào)試故障測(cè)試案例時(shí)很難理解處理器之間是如何交互信息的。另外,由于內(nèi)核周邊環(huán)境中而不是內(nèi)核本身內(nèi)的時(shí)序問題會(huì)導(dǎo)致許多錯(cuò)誤發(fā)生(如競(jìng)態(tài)條件和死 鎖),因此使用單步執(zhí)行調(diào)試根本無(wú)法捕獲這些錯(cuò)誤。

從傳統(tǒng)角度看唯一的替代方案是針對(duì)處理器內(nèi)核使用周期精確性仿真模型。這 種模型犧牲速度換取精度,由于運(yùn)行速度太慢,仿真中只能執(zhí)行關(guān)鍵代碼中的一小部分。然而在單內(nèi)核芯片中,周期精確模型允許詳盡的測(cè)量,與硬件設(shè)計(jì)有更多的 交互,可提供精確調(diào)試所需的深度可觀察性。只有這些模型被鏈接進(jìn)一個(gè)公共驗(yàn)證環(huán)境、而且速度不重要的條件下多內(nèi)核調(diào)試才可能獲得相同的好處。

多內(nèi)核無(wú)線設(shè)計(jì)師真正需要的解決方案需要具有很高的仿真速度、完全的周期精確以及支持不同處理器之間精確控制和交互調(diào)試的集成環(huán)境。而能夠滿足所有這些要求的唯一已知解決方案就是虛擬系統(tǒng)原型技術(shù)。

虛擬系統(tǒng)原型

虛擬系統(tǒng)原型是一個(gè)基于軟件仿真、時(shí)序精確的電子系統(tǒng)級(jí)(ESL)模型,首先使用于架構(gòu)級(jí),然后在整個(gè)設(shè)計(jì)周期內(nèi)作為可執(zhí)行的黃金參考模型。虛擬系統(tǒng)原型可 以包含周期精確、所執(zhí)行的編譯鏈接目標(biāo)代碼與實(shí)際硬件相同的虛擬處理器模型,因此可以準(zhǔn)確地預(yù)測(cè)系統(tǒng)的實(shí)際行為。還可以增加總線、外圍器件和其它硬件設(shè)計(jì) 部分的周期精確模型,以便虛擬系統(tǒng)原型能夠?yàn)槎鄡?nèi)核無(wú)線SoC的完整行為建模。

虛擬系統(tǒng)原型通過混合和匹配硬件和軟件部分實(shí)施架構(gòu)開發(fā)。針對(duì)實(shí)際行為建模的精確測(cè)量可以幫助系統(tǒng)架構(gòu)師在開發(fā)過程早期進(jìn)行精確的軟硬件折衷。當(dāng)建立最初的系統(tǒng)架構(gòu)模型后,虛擬系統(tǒng)原型就能成為可執(zhí)行的系統(tǒng)規(guī)范來進(jìn)一步推進(jìn)具體軟硬件實(shí)現(xiàn)的并行開發(fā)。

圖1 給出了與其它基于軟件方法相比之下的虛擬系統(tǒng)原型中處理器模型的性能。由于可以同時(shí)提供高速和周期精確性,虛擬系統(tǒng)原型在SoC開發(fā)中扮演著非常重要的角 色。而且虛擬系統(tǒng)原型可以運(yùn)行在標(biāo)準(zhǔn)PC平臺(tái)之上,因此它們能夠很容易地發(fā)布給系統(tǒng)架構(gòu)師、軟件工程師和硬件設(shè)計(jì)師,甚至在地理上分散的團(tuán)隊(duì)成員。

在本例中,為了實(shí)現(xiàn)虛擬系統(tǒng)原型的高效仿真,VaST系統(tǒng)技術(shù)公司同時(shí)提供了模型和基礎(chǔ)架構(gòu)。VaST仿真內(nèi)核能夠在包括處理器內(nèi)核、總線和外圍器件在內(nèi)的 各個(gè)模塊間實(shí)現(xiàn)精確的同步式交互,同時(shí)還能促進(jìn)與第三方調(diào)試器的透明通信。由于能夠執(zhí)行完整的系統(tǒng)級(jí)單步調(diào)試,因此能為調(diào)試提供時(shí)序精確性以匹配實(shí)際的配 置。

多內(nèi)核調(diào)試任何多內(nèi)核SoC設(shè)計(jì)都會(huì)面臨一些常見的調(diào)試挑戰(zhàn)。由于多處理器和外圍器件之間存在復(fù)雜交互,因此有許多通信鏈接需要深層次的觀察和調(diào)試才能確保生成高質(zhì)量的軟件。

對(duì)于非常依賴于通過存儲(chǔ)器進(jìn)行同步的設(shè)計(jì)來說,常見的缺陷包括不正確的存儲(chǔ)器訪問仲裁和不希望的數(shù)據(jù)差錯(cuò)。一些其它系統(tǒng)通過專用主機(jī)端口進(jìn)行直接通信,這是 管理通信的一種方便有效的方式。采用這種方法的系統(tǒng)常會(huì)發(fā)生同步問題,如果沒有仔細(xì)進(jìn)行設(shè)計(jì)和驗(yàn)證,可能會(huì)造成系統(tǒng)中斷甚至死鎖,這對(duì)調(diào)試來說是也是一個(gè) 艱巨的挑戰(zhàn)。

目前的關(guān)鍵是要能精確地評(píng)估各項(xiàng)系統(tǒng)性能、調(diào)試所有缺陷以便通過修改架構(gòu)或?qū)崿F(xiàn)糾正這些缺陷。典型問題與總線寬度以及由于大業(yè)務(wù)量引起的時(shí)延有關(guān),這二方面問題都是語(yǔ)音分析和綜合類的實(shí)時(shí)應(yīng)用所特有的,因?yàn)閷?shí)時(shí)應(yīng)用需要獲得性能的保證。

總之,在無(wú)線SoC驗(yàn)證期間必須調(diào)試和解決的典型問題有:

* 共享存儲(chǔ)器應(yīng)用

。數(shù)據(jù)混亂

。竟態(tài)條件

* 直接通信鏈路

。死鎖

。中斷

。缺輸入

* 處理器性能

。緩存

。管線中斷

。缺輸入

* 系統(tǒng)總線性能

。擁塞

* 外圍器件性能

。時(shí)延

通過提供綜合的驗(yàn)證環(huán)境以及能夠快速執(zhí)行實(shí)際代碼的一致性處理器模型,虛擬系統(tǒng)原型能使所有這些問題的調(diào)試變得更加容易。與其它基于軟件的方法相比,虛擬系 統(tǒng)原型能夠更加容易地設(shè)置復(fù)雜的測(cè)試方案,而且由于能夠鏈接到第三方調(diào)試器,在單步執(zhí)行中能夠更加容易地全面觀察設(shè)計(jì)內(nèi)部細(xì)節(jié)。利用虛擬系統(tǒng)原型調(diào)試這些 問題的最關(guān)鍵點(diǎn)如圖2所示。

結(jié)論

設(shè)計(jì)、驗(yàn)證和調(diào)試一個(gè)復(fù)雜的多內(nèi)核無(wú)線SoC不 是一件簡(jiǎn)單的事情。調(diào)試器只能提供較差的硬件內(nèi)部可見性,再加上成本和進(jìn)度的壓力都要求使用基于軟件的方法。不幸的是,傳統(tǒng)的軟件技術(shù)存在速度和精度問 題,極大地限制了其測(cè)試和調(diào)試與處理器間同步、共享資源競(jìng)爭(zhēng)以及性能有關(guān)的常見問題的能力。

利用虛擬系統(tǒng)原型能夠盡早實(shí)施軟 件開發(fā)和調(diào)試,并具有更好的可觀察性能。從上述帶2個(gè)ARM CPU內(nèi)核和1個(gè)StarCore處理器內(nèi)核的設(shè)計(jì)實(shí)例可以看出,控制、測(cè)量和調(diào)試復(fù)雜多內(nèi)核交互操作的能力是項(xiàng)目成功的關(guān)鍵。實(shí)現(xiàn)這種解決方案的回報(bào)是 巨大的:高效的架構(gòu)開發(fā),并行的軟硬件開發(fā),產(chǎn)品化芯片首次流片成功帶來的巨大商業(yè)機(jī)會(huì)等等。

未來SoC測(cè)試面臨的挑戰(zhàn)

SOC 內(nèi)部晶體管集成度的增長(zhǎng)遠(yuǎn)遠(yuǎn)高于芯片引腳的增長(zhǎng),有限的管腳資源使得外部數(shù)據(jù)帶寬和內(nèi)部數(shù)據(jù)帶寬之間的差異越來越大。這種差異不僅降低了內(nèi)部模塊的可測(cè) 性,還加大了間接復(fù)用方案中測(cè)試生成的難度。同時(shí),具有一定故障覆蓋率的測(cè)試數(shù)據(jù)會(huì)隨著電路集成度和規(guī)模的增加而增加,大量的測(cè)試數(shù)據(jù)會(huì)對(duì)直接復(fù)用方案中 的測(cè)試訪問的頻率和帶寬提出要求。

SOC嵌入了類型豐富的IP模塊,一些公司已將模擬電路、數(shù)字電路、嵌入式DRAM等不同 形式的模塊集成到芯片中。隨著技術(shù)的發(fā)展,將有更多的電路類型被集成到SOC中,如嵌入式的FPGA、Flash、射頻發(fā)生器等?;旌闲盘?hào)測(cè)試在SOC測(cè) 試中占有重要地位,現(xiàn)有的復(fù)用方案還未解決該問題。

迄今為止,還沒有一個(gè)貫穿IP模塊和SOC設(shè)計(jì)始終的完整的SOC測(cè)試解 決方案,因?yàn)檫@不僅需要盡快訂立相關(guān)的國(guó)際標(biāo)準(zhǔn),還需要進(jìn)行一些關(guān)于復(fù)用方法上的研究,例如,如何在進(jìn)行IP模塊的測(cè)試開發(fā)中引入可復(fù)用的因素,使得模塊 級(jí)的測(cè)試信息對(duì)被集成環(huán)境具有更好的適應(yīng)性,能被更高層電路模塊的測(cè)試開發(fā)高效率地復(fù)用;研究基于復(fù)用的測(cè)試集成和優(yōu)化技術(shù),利用已有模塊測(cè)試信息,集成 出更高層模塊的測(cè)試并保證其可復(fù)用性等。
 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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