系統(tǒng)級(jí)芯片(SoC)設(shè)計(jì)服務(wù)供應(yīng)商正面臨越來越大的壓力,需要不斷增強(qiáng)其設(shè)計(jì)和服務(wù)的靈活性。隨著靈活性的增加又要求供應(yīng)商更加仔細(xì)地驗(yàn)證整個(gè)系統(tǒng),而仿真則是驗(yàn)證的核心。本文以通用控制器為例,討論仿真在功能驗(yàn)證中的作用。
在討論SoC設(shè)計(jì)時(shí),功能驗(yàn)證是zui爭議性話題之一,可編程通用控制器也不例外。SoC主要針對(duì)便攜式消費(fèi)電器市場,如MP3播放器和yi動(dòng)電話等產(chǎn)品,我們對(duì)此花費(fèi)大量時(shí)間進(jìn)行可行性研究,力圖使最先提出的要求得到優(yōu)化。一個(gè)結(jié)構(gòu)完整、計(jì)劃周密的功能驗(yàn)證要占整個(gè)項(xiàng)目預(yù)算的40%,這樣做的結(jié)果可使客戶在拿到原始樣品的一周內(nèi)就可在器件上完成MP3音樂處理。
這類器件有幾個(gè)關(guān)鍵要求。首先顧名思義,可編程通用控制器必須靈活才能保證能在盡可能多的便攜式應(yīng)用中得到支持;此外,由于它定位于便攜式應(yīng)用,功耗是主要考慮因素,這就要求有多種功率管理模式和功能強(qiáng)大且復(fù)雜的時(shí)鐘方案;對(duì)很多該類器件來說,數(shù)據(jù)安全是另一個(gè)主要考慮因素,因此要用大量時(shí)間來保證存儲(chǔ)在嵌入式存儲(chǔ)器里的數(shù)據(jù)受到仔細(xì)的劃分和保護(hù)。
器件分為三個(gè)區(qū):處理器子系統(tǒng)、通信接口和管理模塊,整個(gè)結(jié)構(gòu)建立在ARM7TDMI系統(tǒng)處理器上(圖1),并有一些嵌入式存儲(chǔ)器和外設(shè)支持處理器的工作,包括UART、定時(shí)器、實(shí)時(shí)時(shí)鐘(RTC)、監(jiān)視計(jì)時(shí)器和中斷控制器,另外還有專用通信外設(shè)包括USB功能內(nèi)核、GPIO(通用輸入輸出)、UART和同步串行接口(SSP)等,以便于與外部器件的連接。專用管理電路則有電源、存儲(chǔ)器保護(hù)、安全電路、復(fù)位以及時(shí)鐘管理模塊等設(shè)計(jì)。
高帶寬外設(shè)置于Amba高性能總線(AHB)上,包括USB內(nèi)核和存儲(chǔ)器模塊。AHB最高時(shí)鐘頻率為64MHz,為保證AHB外設(shè)符合ARM Amba標(biāo)準(zhǔn),可由客戶提供USB,由芯片供應(yīng)商與IP庫供應(yīng)商提供存儲(chǔ)器模塊,這就是說需要設(shè)計(jì)特殊的封裝接口。另外還要設(shè)計(jì)存儲(chǔ)器保護(hù)單元,管理存儲(chǔ)器分區(qū)。
從上可以看出,一項(xiàng)很大且必須要認(rèn)真對(duì)待的問題就是要從多個(gè)不同來源得到眾多不同的IP,因?yàn)椴豢赡芤矝]必要在一個(gè)SoC(如本文所述的例子)設(shè)計(jì)中wan全驗(yàn)證所有功能模塊,畢竟采取IP復(fù)用方法的主要原因是為了縮短面市時(shí)間。
如前所述,設(shè)計(jì)既包括幾種來源不同的IP,也有原始邏輯。雖然新邏輯必須要作全面測試(這非常重要),但對(duì)于已有的硅片模塊,集成時(shí)只需驗(yàn)證其接口保證集成正確即可,這就是控制器設(shè)計(jì)方法。
綜合測試
我們建立一組回歸模擬模型,全面測試所有器件接口和新邏輯。但在某些時(shí)候,回歸模型會(huì)因?yàn)闀r(shí)間運(yùn)行太長而不能控制,而且結(jié)果會(huì)消失,因?yàn)楸粶y區(qū)域經(jīng)常有大量重復(fù)。由于總擔(dān)心還有缺陷存在,所以很難判斷何時(shí)應(yīng)停止測試。
對(duì)這類設(shè)計(jì)進(jìn)行模擬時(shí)通常的做法是采用分段方式。雖然在開發(fā)含有嵌入式處理器的SoC時(shí)采取這種分段模擬方式很重要,但并不能保證加上軟件后該器件功能就正確,因此人們普遍認(rèn)為光靠模擬還不行。和模擬環(huán)境相比,把軟件放在芯片上運(yùn)行可以使芯片以更多種方式工作,并且更加che底。
對(duì)于可編程通用控制器之類的器件,含有嵌入式處理器所帶來的好處經(jīng)常會(huì)被忽略。我們在模擬環(huán)境中采取的方法是以匯編程序?yàn)橹鞯臏y試,針對(duì)特定的要求,它包括用存儲(chǔ)器映射基準(zhǔn)測試模塊,使驗(yàn)證過程的各方面(配置、合格/不合格檢驗(yàn)和性能)通過匯編代碼本身進(jìn)行控制。
這也是我們所采納的一個(gè)經(jīng)過考驗(yàn)的方法,盡管用這些不同水平的模擬和增加代碼范圍來保證試驗(yàn)已經(jīng)足夠,但也不能忽視在器件上運(yùn)行的軟件,它畢竟是系統(tǒng)的一個(gè)有機(jī)組成部分。
在控制器開發(fā)中采用的另一個(gè)功能強(qiáng)大的驗(yàn)證技術(shù)是仿真,我們使用一個(gè)含有ARM處理器的現(xiàn)成仿真板。這是一種低成本高效率方案,其主要優(yōu)點(diǎn)是便攜性好,能讓客戶進(jìn)行初始軟件開發(fā),而且還讓我們對(duì)設(shè)計(jì)的RTL代碼進(jìn)行更詳盡的試驗(yàn),其數(shù)據(jù)輸出能力明顯高于仿真環(huán)境所能實(shí)現(xiàn)的程度。
從客戶觀點(diǎn)看,應(yīng)用仿真環(huán)境背后的主要?jiǎng)恿κ强蛻粢约翱蛻舻目蛻舳寄芊奖愕亻_發(fā)應(yīng)用代碼,這種方式很成功。一旦開發(fā)出與仿真有關(guān)的測試和軟件,問題的數(shù)量將會(huì)下降,但是發(fā)現(xiàn)的問題其復(fù)雜性和嚴(yán)重程度卻增加了。最復(fù)雜的問題一般只能通過應(yīng)用仿真之類的技術(shù)才能發(fā)現(xiàn),使用仿真的主要目的是在RTL用到芯片之前更c(diǎn)he底地預(yù)先運(yùn)行,因此先要把未修改的RTL用到FPGA中。
對(duì)于任何仿真方法,無論大小還是成本高低,都需要做一些折衷。系統(tǒng)速度必須可以按比例變化,就像我們的仿真方法一樣,還必須考慮構(gòu)建方案,因?yàn)橐粋€(gè)Altera FPGA的容量是有限的。 HSPACE=12>器件內(nèi)的SSP模塊樣式有重復(fù),所以不需要所有的都做仿真。可考慮兩種配置情況。可以證明,對(duì)控制器進(jìn)行仿真具有很大價(jià)值。
相關(guān)產(chǎn)品
免責(zé)聲明
- 凡本網(wǎng)注明“來源:化工儀器網(wǎng)”的所有作品,均為浙江興旺寶明通網(wǎng)絡(luò)有限公司-化工儀器網(wǎng)合法擁有版權(quán)或有權(quán)使用的作品,未經(jīng)本網(wǎng)授權(quán)不得轉(zhuǎn)載、摘編或利用其它方式使用上述作品。已經(jīng)本網(wǎng)授權(quán)使用作品的,應(yīng)在授權(quán)范圍內(nèi)使用,并注明“來源:化工儀器網(wǎng)”。違反上述聲明者,本網(wǎng)將追究其相關(guān)法律責(zé)任。
- 本網(wǎng)轉(zhuǎn)載并注明自其他來源(非化工儀器網(wǎng))的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé),不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品第一來源,并自負(fù)版權(quán)等法律責(zé)任。
- 如涉及作品內(nèi)容、版權(quán)等問題,請?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。