一種生成Soc隨機(jī)驗(yàn)證平臺(tái)的方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及芯片的驗(yàn)證,特別是涉及一種生成SoC隨機(jī)驗(yàn)證平臺(tái)的方法。
【背景技術(shù)】
[0002]SoC芯片驗(yàn)證是對(duì)SoC芯片進(jìn)行全面的功能驗(yàn)證,以保障SoC芯片的正確工作。隨著集成電路產(chǎn)業(yè)的飛速發(fā)展,SoC芯片規(guī)模越來(lái)越大,設(shè)計(jì)也越來(lái)越復(fù)雜,使得SoC驗(yàn)證也越來(lái)越困難。圖1是傳統(tǒng)的驗(yàn)證平臺(tái)系統(tǒng)示意框圖,主要包括激勵(lì)產(chǎn)生模塊,待驗(yàn)證SoC芯片,結(jié)果比對(duì)模塊。每個(gè)驗(yàn)證場(chǎng)景幾乎都需要一個(gè)獨(dú)立的激勵(lì)產(chǎn)生模塊產(chǎn)生激勵(lì),因此驗(yàn)證場(chǎng)景越多,激勵(lì)產(chǎn)生模塊也就越多,工作量越大,代碼維護(hù)也更困難。以使用C語(yǔ)言編寫(xiě)激勵(lì)產(chǎn)生模塊為例,每種場(chǎng)景幾乎都需要一個(gè)C文件編寫(xiě)的激勵(lì)產(chǎn)生模塊,在需要驗(yàn)證該場(chǎng)景時(shí),使用C編譯器編譯該C文件,生成可執(zhí)行文件,提供給相應(yīng)的處理器進(jìn)行處理操作。然后啟動(dòng)驗(yàn)證平臺(tái),SoC芯片內(nèi)處理器將會(huì)載入這個(gè)文件,并且按照文件中激勵(lì)要求產(chǎn)生相應(yīng)的響應(yīng),完成功能的驗(yàn)證。即便兩種場(chǎng)景不同的變量只有一個(gè),例如某個(gè)寄存器的值,都需要編寫(xiě)多份的C文件進(jìn)行全面覆蓋。這樣的實(shí)現(xiàn)方式,存在很多的冗余工作。由于驗(yàn)證場(chǎng)景有很多,驗(yàn)證人員需要編寫(xiě)大量的C文件類型的test-case。這樣不但會(huì)給驗(yàn)證人員帶來(lái)大量的繁復(fù)勞動(dòng),而且對(duì)后期test-case的維護(hù)也相當(dāng)不利。
【發(fā)明內(nèi)容】
[0003]針對(duì)以上缺陷,本發(fā)明目的在于提出如何可提高測(cè)試代碼復(fù)用性,減少SoC芯片驗(yàn)證測(cè)試用例的編寫(xiě)工作,同時(shí)提高代碼的可維護(hù)性。
[0004]為了實(shí)現(xiàn)上述目的,本發(fā)明提供了一種生成Soc隨機(jī)驗(yàn)證平臺(tái)的方法,其特征在于,根據(jù)各種驗(yàn)證場(chǎng)景編寫(xiě)?yīng)毩⒌募?lì)產(chǎn)生模塊;提取各個(gè)激勵(lì)產(chǎn)生模塊需驗(yàn)證的可變參數(shù)為變量,所述變量通過(guò)隨機(jī)變量文件設(shè)定;所述隨機(jī)變量文件由隨機(jī)產(chǎn)生模塊自動(dòng)生成,激勵(lì)產(chǎn)生模塊依據(jù)隨機(jī)變量文件設(shè)定的變量生成對(duì)應(yīng)最終的Soc驗(yàn)證的可執(zhí)行文件。
[0005]所述的生成Soc隨機(jī)驗(yàn)證平臺(tái)的方法,其特征在于所述隨機(jī)產(chǎn)生模塊的隨機(jī)種子是可變的,相同的隨機(jī)種子生成的隨機(jī)變量文件相同。
[0006]所述的生成Soc隨機(jī)驗(yàn)證平臺(tái)的方法,其特征在于所述的激勵(lì)產(chǎn)生模塊可預(yù)先編譯生成可執(zhí)行文件。
[0007]本發(fā)明在傳統(tǒng)Soc驗(yàn)證技術(shù)上增加了隨機(jī)產(chǎn)生模塊,利用隨機(jī)產(chǎn)生模塊的隨機(jī)性,將傳統(tǒng)激勵(lì)產(chǎn)生模塊中的變量抽取出來(lái),由隨機(jī)產(chǎn)生模塊產(chǎn)生,使得激勵(lì)產(chǎn)生模塊變得很簡(jiǎn)單。甚至使用一個(gè)隨機(jī)產(chǎn)生模塊和一個(gè)激勵(lì)產(chǎn)生模塊就能完成所有場(chǎng)景的驗(yàn)證。激勵(lì)產(chǎn)生模塊可以得到最大程度的復(fù)用,大大減少了測(cè)試用例代碼的開(kāi)發(fā)工作量,同時(shí),代碼維護(hù)起來(lái)也非常方便。
【附圖說(shuō)明】
[0008]圖1是傳統(tǒng)的驗(yàn)證平臺(tái)系統(tǒng)示意框圖;
[0009]圖2是增加隨機(jī)產(chǎn)生模塊后的驗(yàn)證平臺(tái)系統(tǒng)示意框圖。
【具體實(shí)施方式】
[0010]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0011]圖2是增加隨機(jī)產(chǎn)生模塊后的驗(yàn)證平臺(tái)系統(tǒng)示意框圖,相比傳統(tǒng)的驗(yàn)證方法,增加了一個(gè)隨機(jī)產(chǎn)生模塊。以使用C語(yǔ)言編寫(xiě)激勵(lì)產(chǎn)生模塊為例,也可以是采用其它編程語(yǔ)言來(lái)實(shí)現(xiàn),使用該隨機(jī)產(chǎn)生模塊后,驗(yàn)證人員不用在C代碼的激勵(lì)產(chǎn)生模塊中直接將變量固定為一個(gè)值,可以將所有的變量從該C代碼提取出來(lái),由隨機(jī)產(chǎn)生模塊提供。
[0012]首先由隨機(jī)產(chǎn)生模塊隨機(jī)產(chǎn)生各個(gè)變量的值,可以在隨機(jī)產(chǎn)生模塊中對(duì)這些隨機(jī)變量進(jìn)行相應(yīng)的約束,以便隨機(jī)成符合規(guī)定的變量。
[0013]然后將這些變量值轉(zhuǎn)換為C語(yǔ)言能夠識(shí)別的語(yǔ)句,并放入到一個(gè)或多個(gè)文件中,同時(shí)在C代碼中使用include的方式將這些含有變量的文件包含,或者通過(guò)文件讀取的方式讀取相應(yīng)變量的值。通過(guò)這種方式實(shí)現(xiàn)后,每次只需要運(yùn)行一次隨機(jī)產(chǎn)生模塊,就產(chǎn)生一組隨機(jī)變量配置,將這些配置輸出到一個(gè)或多個(gè)固定名字的文件中,再在C激勵(lì)產(chǎn)生模塊中使用include的方式將這些文件導(dǎo)入或直接讀取的方式讀取。所以C激勵(lì)產(chǎn)生模塊本身不需要進(jìn)行任何改動(dòng)。
[0014]在驗(yàn)證SoC芯片的時(shí)候,只需要編譯一次SoC設(shè)計(jì)代碼,然后多次驗(yàn)證的時(shí)候,只需要使用一次隨機(jī)產(chǎn)生模塊,然后編譯一下C文件即可,非常方便使用。
[0015]為了能夠?qū)崿F(xiàn)驗(yàn)證場(chǎng)景的復(fù)現(xiàn),以便發(fā)現(xiàn)bug的時(shí)候可以查看,還需要對(duì)隨機(jī)產(chǎn)生模塊進(jìn)行改進(jìn),例如使用隨機(jī)種子的方式,使得隨機(jī)產(chǎn)生模塊在同一個(gè)隨機(jī)種子的作用下,每次產(chǎn)生的隨機(jī)變量都不會(huì)改變,而只有改變隨機(jī)種子,才會(huì)產(chǎn)生出不同的隨機(jī)變量。
[0016]這里的隨機(jī)產(chǎn)生模塊,可以使用不同的方式來(lái)實(shí)現(xiàn)。例如,可以使用systemverilog語(yǔ)言來(lái)編寫(xiě)隨機(jī)產(chǎn)生模塊,或者使用腳本語(yǔ)言來(lái)實(shí)現(xiàn)。實(shí)現(xiàn)方式簡(jiǎn)單多樣,驗(yàn)證人員可以根據(jù)自己的喜好選擇一種實(shí)現(xiàn)方式。
[0017]這里的激勵(lì)產(chǎn)生模塊,根據(jù)處理器的不同,也可以使用不同的語(yǔ)言來(lái)編寫(xiě),例如使用C語(yǔ)言,或者使用匯編語(yǔ)言。
[0018]綜上所述,針對(duì)集成電路芯片開(kāi)發(fā)必不可少的驗(yàn)證環(huán)節(jié)設(shè)計(jì)了本發(fā)明,該發(fā)明避免了直接編寫(xiě)大量測(cè)試文件、浪費(fèi)大量的工作量和不易維護(hù)的弊端,使用方便,實(shí)現(xiàn)方式多樣,且適用于任何SoC芯片的驗(yàn)證。
[0019]以上所揭露的僅為本發(fā)明一種實(shí)施例而已,當(dāng)然不能以此來(lái)限定本之權(quán)利范圍,本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例的全部或部分流程,并依本發(fā)明權(quán)利要求所作的等同變化,仍屬于本發(fā)明所涵蓋的范圍。
【主權(quán)項(xiàng)】
1.一種生成Soc隨機(jī)驗(yàn)證平臺(tái)的方法,其特征在于,根據(jù)各種驗(yàn)證場(chǎng)景編寫(xiě)?yīng)毩⒌募?lì)產(chǎn)生模塊;提取各個(gè)激勵(lì)產(chǎn)生模塊需驗(yàn)證的可變參數(shù)為變量,所述變量通過(guò)隨機(jī)變量文件設(shè)定;所述隨機(jī)變量文件由隨機(jī)產(chǎn)生模塊自動(dòng)生成,激勵(lì)產(chǎn)生模塊依據(jù)隨機(jī)變量文件設(shè)定的變量生成對(duì)應(yīng)最終的Soc驗(yàn)證的可執(zhí)行文件。
2.根據(jù)權(quán)利要求1所述的生成Soc隨機(jī)驗(yàn)證平臺(tái)的方法,其特征在于所述隨機(jī)產(chǎn)生模塊的隨機(jī)種子是可變的,相同的隨機(jī)種子生成的隨機(jī)變量文件相同。
3.根據(jù)權(quán)利要求2所述的生成Soc隨機(jī)驗(yàn)證平臺(tái)的方法,其特征在于所述的激勵(lì)產(chǎn)生模塊可預(yù)先編譯生成可執(zhí)行文件。
【專利摘要】本發(fā)明公開(kāi)了一種生成Soc隨機(jī)驗(yàn)證平臺(tái)的方法,其特征在于,根據(jù)各種驗(yàn)證場(chǎng)景編寫(xiě)?yīng)毩⒌募?lì)產(chǎn)生模塊;提取各個(gè)激勵(lì)產(chǎn)生模塊需驗(yàn)證的可變參數(shù)為變量,所述變量通過(guò)隨機(jī)變量文件設(shè)定;所述隨機(jī)變量文件由隨機(jī)產(chǎn)生模塊自動(dòng)生成,激勵(lì)產(chǎn)生模塊依據(jù)隨機(jī)變量文件設(shè)定的變量生成對(duì)應(yīng)最終的Soc驗(yàn)證的可執(zhí)行文件。在傳統(tǒng)Soc驗(yàn)證技術(shù)上增加了隨機(jī)產(chǎn)生模塊,利用隨機(jī)產(chǎn)生模塊的隨機(jī)性,將傳統(tǒng)激勵(lì)產(chǎn)生模塊中的變量抽取出來(lái),由隨機(jī)產(chǎn)生模塊產(chǎn)生,使得激勵(lì)產(chǎn)生模塊變得很簡(jiǎn)單。甚至使用一個(gè)隨機(jī)產(chǎn)生模塊和一個(gè)激勵(lì)產(chǎn)生模塊就能完成所有場(chǎng)景的驗(yàn)證。激勵(lì)產(chǎn)生模塊可以得到最大程度的復(fù)用,大大減少了測(cè)試用例代碼的開(kāi)發(fā)工作量,同時(shí),代碼維護(hù)起來(lái)也非常方便。
【IPC分類】G06F11-36
【公開(kāi)號(hào)】CN104536885
【申請(qǐng)?zhí)枴緾N201410788503
【發(fā)明人】陳明園, 余桉, 湯曉東
【申請(qǐng)人】記憶科技(深圳)有限公司
【公開(kāi)日】2015年4月22日
【申請(qǐng)日】2014年12月17日