亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種利用perl腳本的仿真器多線程運(yùn)行方法

文檔序號(hào):8922736閱讀:359來源:國知局
一種利用perl腳本的仿真器多線程運(yùn)行方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及仿真器的,特別涉及一種利用PERL腳本的仿真器多線程運(yùn)行方法。
【背景技術(shù)】
[0002]UVM是芯片驗(yàn)證業(yè)界最新研發(fā)的一種驗(yàn)證方法學(xué)。工程師用它可創(chuàng)建堅(jiān)實(shí)、可重 用、具互操作性的驗(yàn)證組件和驗(yàn)證平臺(tái)。UVM提供基于SystemVerilog語言開發(fā)的一套庫函 數(shù),工程師通過調(diào)用庫可以省去自己從零開始開發(fā)驗(yàn)證環(huán)境的麻煩。
[0003] UVM與SystemVerilog為驗(yàn)證人員開發(fā)面向?qū)ο蟮尿?yàn)證環(huán)境提供了極大方便,使 得驗(yàn)證環(huán)境以及測(cè)試向量的開發(fā)效率大幅提高。然而隨之而來的是大量的測(cè)試向量需要 在仿真器上運(yùn)行,大的芯片驗(yàn)證項(xiàng)目會(huì)有幾千個(gè)測(cè)試向量,而且這些測(cè)試向量使用不同的 隨機(jī)數(shù)進(jìn)行隨機(jī)化測(cè)試,需要消耗大量的計(jì)算資源以及計(jì)算時(shí)間。大部分芯片設(shè)計(jì)所用的 服務(wù)器都具有多個(gè)計(jì)算單元,并且支持通過發(fā)布式任務(wù)提交將計(jì)算任務(wù)提交至不同服務(wù)器 上。新的EDA軟件也大多支持多處理器協(xié)同運(yùn)算,所以能夠較快的對(duì)大量測(cè)試激勵(lì)進(jìn)行仿 真。但是老版本的EDA工具有些并不支持多線程運(yùn)行,使用這樣的EDA仿真工具,就無法發(fā) 揮新的硬件平臺(tái)的效率。所以對(duì)于不愿意升級(jí)到最新版EDA工具,但是需要提高仿真效率 的團(tuán)隊(duì),就需要通過另外途徑來運(yùn)行多線程。
[0004]Perl語言是一種廣泛應(yīng)用的腳本語言。Perl是一種能完成任務(wù)的語言。從一開 始,Perl就設(shè)計(jì)成可以把簡(jiǎn)單工作簡(jiǎn)單化,同時(shí)又不失去處理困難問題能力的語言。它可 以很容易操作數(shù)字,文本,文件和目錄,計(jì)算機(jī)和網(wǎng)絡(luò),特別是程序的語言。這種語言應(yīng)該很 容易運(yùn)行外部的程序并且掃描這些程序的輸出獲取感興趣的東西。而且它還應(yīng)該很容易能 把這些你感興趣的東西交給其它程序做特殊的處理。當(dāng)然,這種語言還應(yīng)該很容易在任何 現(xiàn)代的操作系統(tǒng)上可以移植地編譯和運(yùn)行。Perl既強(qiáng)大又好用,所以它被廣泛地用于日常 生活的方方面面,從宇航工程到分子生物學(xué),從數(shù)學(xué)到語言學(xué),從圖形處理到文檔處理,從 數(shù)據(jù)庫操作到網(wǎng)絡(luò)管理。很多人用Perl進(jìn)行快速處理那些很難分析或轉(zhuǎn)換的大批量數(shù) 據(jù)。新版本的Perl,在編譯器安裝時(shí),可以選擇安裝支持多線程功能,此功能對(duì)多處理器的 平臺(tái)的應(yīng)用開發(fā),有巨大幫助。
[0005]Perl語言也廣泛應(yīng)用在集成電路的設(shè)計(jì)開發(fā)的各個(gè)環(huán)節(jié),一個(gè)完善的集成電路開 發(fā)環(huán)境中,一般會(huì)有大量的Perl程序用來自動(dòng)產(chǎn)生設(shè)計(jì)環(huán)境,自動(dòng)分析各設(shè)計(jì)步驟輸出的 報(bào)告,并提交設(shè)計(jì)代碼以及文檔等。

【發(fā)明內(nèi)容】

[0006] 為了解決現(xiàn)有技術(shù)的問題,本發(fā)明提供了一種利用PERL腳本的仿真器多線程運(yùn) 行方法,其通過使用最新的Perl編譯器的多線程調(diào)用模塊,使原本只支持單線程,單CPU的 邏輯仿真器,能夠同時(shí)啟動(dòng)多線程,調(diào)用多CPU同時(shí)工作,并能在UVM驗(yàn)證環(huán)境中同時(shí)運(yùn)行 多個(gè)測(cè)試向量,從而加快驗(yàn)證收斂速度的方法。
[0007] 本發(fā)明所采用的技術(shù)方案如下: 一種利用PERL腳本的仿真器多線程運(yùn)行方法,包括以下步驟: A、 先對(duì)運(yùn)行環(huán)境進(jìn)行基本設(shè)置; B、 對(duì)所有源文件進(jìn)行編譯; C、 借助Perl語言的多線程能力,啟動(dòng)多個(gè)仿真進(jìn)程,分別運(yùn)行不同的測(cè)試向量; D、 多線程逐個(gè)運(yùn)行所有的測(cè)試激勵(lì),等所有的方針完成后,分析測(cè)試結(jié)果,并輸出報(bào) 告。
[0008] 步驟A中,仿真器只啟動(dòng)一個(gè)線程。
[0009] 步驟A中,所述的基本設(shè)置包括運(yùn)行目錄的準(zhǔn)備,初始化文件的生成,源代碼文件 的檢出。
[0010] 步驟B中,所述的源文件包括被測(cè)對(duì)象的源代碼,測(cè)試平臺(tái)的源代碼,所有測(cè)試激 勵(lì)的源代碼。
[0011] 本發(fā)明提供的技術(shù)方案帶來的有益效果是: 本發(fā)明利用Perl腳本使單線程仿真器支持多線程UVM測(cè)試向量并行運(yùn)行,通過使用最 新的Perl編譯器的多線程調(diào)用模塊,使原本只支持單線程,單CPU的邏輯仿真器,能夠同時(shí) 啟動(dòng)多線程,調(diào)用多CPU同時(shí)工作,并能在UVM驗(yàn)證環(huán)境中同時(shí)運(yùn)行多個(gè)測(cè)試向量,從而加 快驗(yàn)證收斂速度。
【附圖說明】
[0012] 為了更清楚地說明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使 用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于 本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他 的附圖。
[0013] 圖1為現(xiàn)有技術(shù)下單線程運(yùn)行UVM測(cè)試向量的流程圖。
[0014] 圖2為現(xiàn)有技術(shù)下利用多線程仿真器多線程運(yùn)行UVM測(cè)試向量的流程圖。
[0015] 圖3為本發(fā)明的利用Perl腳本使單線程仿真器支持多線程UVM測(cè)試向量并行運(yùn) 行的流程圖。
【具體實(shí)施方式】
[0016] 為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明實(shí)施方 式作進(jìn)一步地詳細(xì)描述。
[0017] 實(shí)施例一 如圖1,為傳統(tǒng)的仿真器單線程運(yùn)行方法:假設(shè)需要運(yùn)行n個(gè)測(cè)試激勵(lì),第一步先對(duì)運(yùn) 行環(huán)境進(jìn)行基本設(shè)置,包括運(yùn)行目錄的準(zhǔn)備,初始化文件的生成,源代碼文件的檢出等。第 二步對(duì)所有源文件,包括被測(cè)對(duì)象的源代碼,測(cè)試平臺(tái)的源代碼,所有測(cè)試激勵(lì)的源代碼進(jìn) 行編譯。第三步,單線程逐個(gè)運(yùn)行所有的測(cè)試激勵(lì),等所有的方針完成后,分析測(cè)試結(jié)果,并 輸出報(bào)告。所有以上步驟都基于單線程進(jìn)行執(zhí)行,這是最傳統(tǒng)的模式,對(duì)仿真器軟件以及硬 件平臺(tái),都沒有特殊要求,但是執(zhí)行需要較長(zhǎng)時(shí)間。
[0018] 如圖2,為現(xiàn)有技術(shù)下多線程仿真器的多線程運(yùn)行方法: 假設(shè)EDA軟件以及硬件平臺(tái)都支持多線程,需要運(yùn)行n個(gè)測(cè)試激勵(lì),第一步先對(duì)運(yùn)行環(huán) 境進(jìn)行基本設(shè)置,包括運(yùn)行目錄的準(zhǔn)備,初始化文件的生成,源代碼文件的檢出等,這步只 啟動(dòng)一個(gè)線程。第二步對(duì)所有源文件,包括被測(cè)對(duì)象的源代碼,測(cè)試平臺(tái)的源代碼,所有測(cè) 試激勵(lì)的源代碼進(jìn)行編譯,這一步可以啟動(dòng)多個(gè)線程。第三步,多線程線程逐個(gè)運(yùn)行所有的 測(cè)試激勵(lì),等所有的方針完成后,分析測(cè)試結(jié)果,并輸出報(bào)告。第一步以及最后一步基于單 線程進(jìn)行執(zhí)行,中間的編譯,仿真都啟動(dòng)多線程,這對(duì)仿真器軟件以及硬件平臺(tái),都要求有 多線程支持,執(zhí)行時(shí)間大為縮短。
[0019] 本實(shí)施例針對(duì)硬件平臺(tái)支持多線程,但是EDA仿真軟件只有單線程的情況,可以 使用如圖3所示的方法,在仿真的步驟借助Perl語言的多線程能力,啟動(dòng)多個(gè)仿真進(jìn)程,分 別運(yùn)行不同的測(cè)試向量,雖然每個(gè)仿真進(jìn)程都是單線程的,但是由于多個(gè)仿真進(jìn)程同時(shí)啟 動(dòng),也大大加速了仿真的進(jìn)度。
[0020] 以下是為使用Perl具體實(shí)現(xiàn)多進(jìn)程仿真的代碼示例:
首先最外層循環(huán)將所有的測(cè)試激勵(lì)以及隨機(jī)數(shù)種子0-9都遍歷一遍。內(nèi)層程序中,先 檢測(cè)一下正在運(yùn)行的線程有哪些,如果正在運(yùn)行的線程的數(shù)目小于可以并行運(yùn)行的線程數(shù) 目nb_pr〇cesS,我們就以當(dāng)前的隨機(jī)數(shù)種子和測(cè)試激勵(lì)名為參數(shù),再啟動(dòng)一個(gè)子進(jìn)程,并且 記錄下來。如果正在運(yùn)行的線程的數(shù)目不小于可以并行運(yùn)行的線程數(shù)目nb_pr〇cesS,我們 則每隔一個(gè)時(shí)間周期ck_interVal檢測(cè)一次正在運(yùn)行的進(jìn)程數(shù),直到正在運(yùn)行的線程的數(shù) 目小于可以并行運(yùn)行的線程數(shù)目nb_pr〇cesS,我們?cè)俨迦胍粋€(gè)進(jìn)程。通過以上操作,我們可 以保證在所有仿真結(jié)束前,總會(huì)有nb_process個(gè)進(jìn)程在同時(shí)執(zhí)行。這里的nb_process- 般設(shè)置為當(dāng)前硬件平臺(tái)支持的最大線程數(shù)目。
[0021] 通過以上的Perl腳本的使用,單線程仿真器就可以支持多線程UVM測(cè)試向量批處 理時(shí)的并行運(yùn)行了,仿真時(shí)間可以大幅降低。
[0022] 以上所述僅為本發(fā)明的較佳實(shí)施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和 原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【主權(quán)項(xiàng)】
1. 一種利用PERL腳本的仿真器多線程運(yùn)行方法,包括以下步驟: A、 先對(duì)運(yùn)行環(huán)境進(jìn)行基本設(shè)置; B、 對(duì)所有源文件進(jìn)行編譯; C、 借助Perl語言的多線程能力,啟動(dòng)多個(gè)仿真進(jìn)程,分別運(yùn)行不同的測(cè)試向量; D、 多線程逐個(gè)運(yùn)行所有的測(cè)試激勵(lì),等所有的方針完成后,分析測(cè)試結(jié)果,并輸出報(bào) 告。2. 根據(jù)權(quán)利要求1所述的一種利用PERL腳本的仿真器多線程運(yùn)行方法,其特征在于, 所述的步驟A中,仿真器只啟動(dòng)一個(gè)線程。3. 根據(jù)權(quán)利要求1所述的一種利用PERL腳本的仿真器多線程運(yùn)行方法,其特征在于, 所述的步驟A中,所述的基本設(shè)置包括運(yùn)行目錄的準(zhǔn)備,初始化文件的生成,源代碼文件的 檢出。4. 根據(jù)權(quán)利要求1所述的一種利用PERL腳本的仿真器多線程運(yùn)行方法,其特征在于, 所述的步驟B中,所述的源文件包括被測(cè)對(duì)象的源代碼,測(cè)試平臺(tái)的源代碼,所有測(cè)試激勵(lì) 的源代碼。
【專利摘要】本發(fā)明涉及仿真器的,特別涉及一種利用PERL腳本的仿真器多線程運(yùn)行方法。本發(fā)明利用Perl腳本使單線程仿真器支持多線程UVM測(cè)試向量并行運(yùn)行,通過使用最新的Perl編譯器的多線程調(diào)用模塊,使原本只支持單線程,單CPU的邏輯仿真器,能夠同時(shí)啟動(dòng)多線程,調(diào)用多CPU同時(shí)工作,并能在UVM驗(yàn)證環(huán)境中同時(shí)運(yùn)行多個(gè)測(cè)試向量,從而加快驗(yàn)證收斂速度。
【IPC分類】G06F17/50
【公開號(hào)】CN104899369
【申請(qǐng)?zhí)枴緾N201510291677
【發(fā)明人】耿介, 姜?jiǎng)P, 于治樓
【申請(qǐng)人】浪潮集團(tuán)有限公司
【公開日】2015年9月9日
【申請(qǐng)日】2015年6月1日
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1