通用控制器功能驗(yàn)證中的仿真應(yīng)用
發(fā)布時(shí)間:2007/8/24 0:00:00 訪問(wèn)次數(shù):517
系統(tǒng)級(jí)芯片(SoC)設(shè)計(jì)服務(wù)供應(yīng)商正面臨越來(lái)越大的壓力,需要不斷增強(qiáng)其設(shè)計(jì)和服務(wù)的靈活性。隨著靈活性的增加又要求供應(yīng)商更加仔細(xì)地驗(yàn)證整個(gè)系統(tǒng),而仿真則是驗(yàn)證的核心。本文以通用控制器為例,討論仿真在功能驗(yàn)證中的作用。
在討論SoC設(shè)計(jì)時(shí),功能驗(yàn)證是最具爭(zhēng)議性話題之一,可編程通用控制器也不例外。SoC主要針對(duì)便攜式消費(fèi)電器市場(chǎng),如MP3播放器和移動(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音樂(lè)處理。
這類器件有幾個(gè)關(guān)鍵要求。首先顧名思義,可編程通用控制器必須靈活才能保證能在盡可能多的便攜式應(yīng)用中得到支持;此外,由于它定位于便攜式應(yīng)用,功耗是主要考慮因素,這就要求有多種功率管理模式和功能強(qiáng)大且復(fù)雜的時(shí)鐘方案;對(duì)很多該類器件來(lái)說(shuō),數(shù)據(jù)安全是另一個(gè)主要考慮因素,因此要用大量時(shí)間來(lái)保證存儲(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庫(kù)供應(yīng)商提供存儲(chǔ)器模塊,這就是說(shuō)需要設(shè)計(jì)特殊的封裝接口。另外還要設(shè)計(jì)存儲(chǔ)器保護(hù)單元,管理存儲(chǔ)器分區(qū)。
從上可以看出,一項(xiàng)很大且必須要認(rèn)真對(duì)待的問(wèn)題就是要從多個(gè)不同來(lái)源得到眾多不同的IP,因?yàn)椴豢赡芤矝](méi)必要在一個(gè)SoC(如本文所述的例子)設(shè)計(jì)中完全驗(yàn)證所有功能模塊,畢竟采取IP復(fù)用方法的主要原因是為了縮短面市時(shí)間。
如前所述,設(shè)計(jì)既包括幾種來(lái)源不同的IP,也有原始邏輯。雖然新邏輯必須要作全面測(cè)試(這非常重要),但對(duì)于已有的硅片模塊,集成時(shí)只需驗(yàn)證其接口保證集成正確即可,這就是控制器設(shè)計(jì)方法。
綜合測(cè)試
我們建立一組回歸模擬模型,全面測(cè)試所有器件接口和新邏輯。但在某些時(shí)候,回歸模型會(huì)因?yàn)闀r(shí)間運(yùn)行太長(zhǎng)而不能控制,而且結(jié)果會(huì)消失,因?yàn)楸粶y(cè)區(qū)域經(jīng)常有大量重復(fù)。由于總擔(dān)心還有缺陷存在,所以很難判斷何時(shí)應(yīng)停止測(cè)試。
對(duì)這類設(shè)計(jì)進(jìn)行模擬時(shí)通常的做法是采用分段方式。雖然在開(kāi)發(fā)含有嵌入式處理器的SoC時(shí)采取這種分段模擬方式很重要,但并不能保證加上軟件后該器件功能就正確,因此人們普遍認(rèn)為光靠模擬還不行。和模擬環(huán)境相比,把軟件放在芯片上運(yùn)行可以使芯片以更多種方式工作,并且更加徹底。
對(duì)于可編程通用控制器之類的器件,含有嵌入式處理器所帶來(lái)的好處經(jīng)常會(huì)被忽略。我們?cè)谀M環(huán)境中采取的方法是以匯編程序?yàn)橹鞯臏y(cè)試,針對(duì)特定的要求,它包括用存儲(chǔ)器映射基準(zhǔn)測(cè)試模塊,使驗(yàn)證過(guò)程的各方面(配置、合格/不合格檢驗(yàn)和性能)通過(guò)匯編代碼本身進(jìn)行控制。
這也是我們所采納的一個(gè)經(jīng)過(guò)考驗(yàn)的方法,盡管用這些不同水平的模擬和增加代碼范圍來(lái)保證試驗(yàn)已經(jīng)足夠,但也不能忽視在器件上運(yùn)行的軟件,它畢竟是系統(tǒng)的一個(gè)有機(jī)組成部分。
在控制器開(kāi)發(fā)中采用的另一個(gè)功能強(qiáng)大的驗(yàn)證技術(shù)是仿真,我們使用一個(gè)含有ARM處理器的現(xiàn)成仿真板。這是一種低成本高效率方案,其主要優(yōu)點(diǎn)是便攜性好,能讓客戶進(jìn)行初始軟件開(kāi)發(fā),而且還讓我們對(duì)設(shè)計(jì)的RTL代碼進(jìn)行更詳盡的試驗(yàn),其數(shù)據(jù)輸出能力明顯高于仿真環(huán)境所能實(shí)現(xiàn)的程度。
從客戶觀點(diǎn)看,應(yīng)用仿真環(huán)境背后的主要?jiǎng)恿κ强蛻粢约翱蛻舻目蛻舳寄芊奖愕亻_(kāi)發(fā)應(yīng)用代碼,這種方式很成功。一旦開(kāi)發(fā)出與仿真有關(guān)的測(cè)試和軟件,問(wèn)題的數(shù)量將會(huì)下降,但是發(fā)現(xiàn)的問(wèn)題其復(fù)雜性和嚴(yán)重程度卻增加了。最復(fù)雜的問(wèn)題一般只能通過(guò)應(yīng)用仿真之類的技術(shù)才能發(fā)現(xiàn),使用仿真的主要目的是在RTL用到芯片之前更徹底地預(yù)先運(yùn)行,因此先要把未修改的RTL用到FPGA中。
對(duì)于任何仿真方法,無(wú)論大小還是成本高低,都需要做一些折衷。系統(tǒng)速度必須可以按比例變化,就像我們的仿真方法一樣,還必須考慮構(gòu)建方案,因?yàn)橐粋(gè)Altera FPGA的容量是有限的。 HSPACE=12>器件內(nèi)的SSP模塊樣式有重復(fù),所以不需要所有的都做仿真。可考慮兩種配置情況?梢宰C明,對(duì)控制器進(jìn)行仿真具有很大價(jià)值。
時(shí)鐘速度
現(xiàn)在來(lái)看看與RTC有關(guān)的問(wèn)題,我們?cè)O(shè)法通過(guò)提高時(shí)鐘速度來(lái)檢驗(yàn)。這可以讓我們?cè)跀?shù)分鐘內(nèi)檢驗(yàn)實(shí)時(shí)時(shí)鐘的各方面,而不用等待實(shí)際那么長(zhǎng)的時(shí)間。RTC時(shí)鐘有個(gè)1H
系統(tǒng)級(jí)芯片(SoC)設(shè)計(jì)服務(wù)供應(yīng)商正面臨越來(lái)越大的壓力,需要不斷增強(qiáng)其設(shè)計(jì)和服務(wù)的靈活性。隨著靈活性的增加又要求供應(yīng)商更加仔細(xì)地驗(yàn)證整個(gè)系統(tǒng),而仿真則是驗(yàn)證的核心。本文以通用控制器為例,討論仿真在功能驗(yàn)證中的作用。
在討論SoC設(shè)計(jì)時(shí),功能驗(yàn)證是最具爭(zhēng)議性話題之一,可編程通用控制器也不例外。SoC主要針對(duì)便攜式消費(fèi)電器市場(chǎng),如MP3播放器和移動(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音樂(lè)處理。
這類器件有幾個(gè)關(guān)鍵要求。首先顧名思義,可編程通用控制器必須靈活才能保證能在盡可能多的便攜式應(yīng)用中得到支持;此外,由于它定位于便攜式應(yīng)用,功耗是主要考慮因素,這就要求有多種功率管理模式和功能強(qiáng)大且復(fù)雜的時(shí)鐘方案;對(duì)很多該類器件來(lái)說(shuō),數(shù)據(jù)安全是另一個(gè)主要考慮因素,因此要用大量時(shí)間來(lái)保證存儲(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庫(kù)供應(yīng)商提供存儲(chǔ)器模塊,這就是說(shuō)需要設(shè)計(jì)特殊的封裝接口。另外還要設(shè)計(jì)存儲(chǔ)器保護(hù)單元,管理存儲(chǔ)器分區(qū)。
從上可以看出,一項(xiàng)很大且必須要認(rèn)真對(duì)待的問(wèn)題就是要從多個(gè)不同來(lái)源得到眾多不同的IP,因?yàn)椴豢赡芤矝](méi)必要在一個(gè)SoC(如本文所述的例子)設(shè)計(jì)中完全驗(yàn)證所有功能模塊,畢竟采取IP復(fù)用方法的主要原因是為了縮短面市時(shí)間。
如前所述,設(shè)計(jì)既包括幾種來(lái)源不同的IP,也有原始邏輯。雖然新邏輯必須要作全面測(cè)試(這非常重要),但對(duì)于已有的硅片模塊,集成時(shí)只需驗(yàn)證其接口保證集成正確即可,這就是控制器設(shè)計(jì)方法。
綜合測(cè)試
我們建立一組回歸模擬模型,全面測(cè)試所有器件接口和新邏輯。但在某些時(shí)候,回歸模型會(huì)因?yàn)闀r(shí)間運(yùn)行太長(zhǎng)而不能控制,而且結(jié)果會(huì)消失,因?yàn)楸粶y(cè)區(qū)域經(jīng)常有大量重復(fù)。由于總擔(dān)心還有缺陷存在,所以很難判斷何時(shí)應(yīng)停止測(cè)試。
對(duì)這類設(shè)計(jì)進(jìn)行模擬時(shí)通常的做法是采用分段方式。雖然在開(kāi)發(fā)含有嵌入式處理器的SoC時(shí)采取這種分段模擬方式很重要,但并不能保證加上軟件后該器件功能就正確,因此人們普遍認(rèn)為光靠模擬還不行。和模擬環(huán)境相比,把軟件放在芯片上運(yùn)行可以使芯片以更多種方式工作,并且更加徹底。
對(duì)于可編程通用控制器之類的器件,含有嵌入式處理器所帶來(lái)的好處經(jīng)常會(huì)被忽略。我們?cè)谀M環(huán)境中采取的方法是以匯編程序?yàn)橹鞯臏y(cè)試,針對(duì)特定的要求,它包括用存儲(chǔ)器映射基準(zhǔn)測(cè)試模塊,使驗(yàn)證過(guò)程的各方面(配置、合格/不合格檢驗(yàn)和性能)通過(guò)匯編代碼本身進(jìn)行控制。
這也是我們所采納的一個(gè)經(jīng)過(guò)考驗(yàn)的方法,盡管用這些不同水平的模擬和增加代碼范圍來(lái)保證試驗(yàn)已經(jīng)足夠,但也不能忽視在器件上運(yùn)行的軟件,它畢竟是系統(tǒng)的一個(gè)有機(jī)組成部分。
在控制器開(kāi)發(fā)中采用的另一個(gè)功能強(qiáng)大的驗(yàn)證技術(shù)是仿真,我們使用一個(gè)含有ARM處理器的現(xiàn)成仿真板。這是一種低成本高效率方案,其主要優(yōu)點(diǎn)是便攜性好,能讓客戶進(jìn)行初始軟件開(kāi)發(fā),而且還讓我們對(duì)設(shè)計(jì)的RTL代碼進(jìn)行更詳盡的試驗(yàn),其數(shù)據(jù)輸出能力明顯高于仿真環(huán)境所能實(shí)現(xiàn)的程度。
從客戶觀點(diǎn)看,應(yīng)用仿真環(huán)境背后的主要?jiǎng)恿κ强蛻粢约翱蛻舻目蛻舳寄芊奖愕亻_(kāi)發(fā)應(yīng)用代碼,這種方式很成功。一旦開(kāi)發(fā)出與仿真有關(guān)的測(cè)試和軟件,問(wèn)題的數(shù)量將會(huì)下降,但是發(fā)現(xiàn)的問(wèn)題其復(fù)雜性和嚴(yán)重程度卻增加了。最復(fù)雜的問(wèn)題一般只能通過(guò)應(yīng)用仿真之類的技術(shù)才能發(fā)現(xiàn),使用仿真的主要目的是在RTL用到芯片之前更徹底地預(yù)先運(yùn)行,因此先要把未修改的RTL用到FPGA中。
對(duì)于任何仿真方法,無(wú)論大小還是成本高低,都需要做一些折衷。系統(tǒng)速度必須可以按比例變化,就像我們的仿真方法一樣,還必須考慮構(gòu)建方案,因?yàn)橐粋(gè)Altera FPGA的容量是有限的。 HSPACE=12>器件內(nèi)的SSP模塊樣式有重復(fù),所以不需要所有的都做仿真。可考慮兩種配置情況?梢宰C明,對(duì)控制器進(jìn)行仿真具有很大價(jià)值。
時(shí)鐘速度
現(xiàn)在來(lái)看看與RTC有關(guān)的問(wèn)題,我們?cè)O(shè)法通過(guò)提高時(shí)鐘速度來(lái)檢驗(yàn)。這可以讓我們?cè)跀?shù)分鐘內(nèi)檢驗(yàn)實(shí)時(shí)時(shí)鐘的各方面,而不用等待實(shí)際那么長(zhǎng)的時(shí)間。RTC時(shí)鐘有個(gè)1H
熱門點(diǎn)擊
- 基于AT89C51型單片機(jī)的號(hào)音自動(dòng)播放器設(shè)
- 基于S3C2410的RTC模塊應(yīng)用設(shè)計(jì)
- 三相計(jì)量IC增加電能質(zhì)量監(jiān)測(cè)功能
- 晶圓級(jí)可靠性測(cè)試成為器件和工藝開(kāi)發(fā)的關(guān)鍵步驟
- 基于IIC1.0的時(shí)鐘芯片應(yīng)用程序設(shè)計(jì)
- 80C51復(fù)位標(biāo)志位的設(shè)置與應(yīng)用研究
- 一種基于單片機(jī)的新型線陣CCD電路
- 一種基于單片機(jī)的正弦波輸出逆變電源的設(shè)計(jì)
- PIC單片機(jī)引腳中斷程序的設(shè)計(jì)技巧
- 數(shù)字圖像盲水印算法與LDPC碼的聯(lián)合方案
推薦技術(shù)資料
- 電源管理 IC (PMIC)&
- I2C 接口和 PmBUS 以及 OTP/M
- MOSFET 和柵極驅(qū)動(dòng)器單
- 數(shù)字恒定導(dǎo)通時(shí)間控制模式(CO
- Power Management Buck/
- 反激變換器傳導(dǎo)和輻射電磁干擾分析和抑制技術(shù)
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動(dòng)IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計(jì)
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究