基于Jenkins與vManager的邏輯設(shè)計(jì)驗(yàn)證持續(xù)集成平臺的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及芯片邏輯驗(yàn)證、軟件開發(fā)以及項(xiàng)目管理技術(shù)領(lǐng)域,具體涉及一種基于Jenkins與vManager的邏輯設(shè)計(jì)驗(yàn)證持續(xù)集成平臺。
【背景技術(shù)】
[0002]芯片邏輯設(shè)計(jì)與驗(yàn)證伴隨芯片復(fù)雜度的提高,已經(jīng)是極為復(fù)雜的工程,項(xiàng)目管理的難度也較大,如今大部分芯片的邏輯設(shè)計(jì)驗(yàn)證任務(wù),已經(jīng)借用了部分軟件開發(fā)的管理模式,例如版本管理,敏捷開發(fā),遞歸測試等。
[0003]敏捷開發(fā)以用戶的需求進(jìn)化為核心,采用迭代、循序漸進(jìn)的方法進(jìn)行軟件開發(fā)。在敏捷開發(fā)中,軟件項(xiàng)目在構(gòu)建初期被切分成多個(gè)子項(xiàng)目,各個(gè)子項(xiàng)目的成果都經(jīng)過測試,具備可視、可集成和可運(yùn)行使用的特征,其核心是更早更多的獲得投資回報(bào),降低投資風(fēng)險(xiǎn),適用于需求變化不可預(yù)測的場景,兩大核心是價(jià)值驅(qū)動和快速迭代。
[0004]持續(xù)集成是一種軟件開發(fā)實(shí)踐,要求團(tuán)隊(duì)成員經(jīng)常集成他們的工作,每個(gè)人至少每天集成一次,這導(dǎo)致每天有多個(gè)集成。集成是通過自動化的構(gòu)建進(jìn)行驗(yàn)證的,這些構(gòu)建運(yùn)行回歸測試,以盡快檢測集成錯(cuò)誤。團(tuán)隊(duì)發(fā)現(xiàn),這種方法會導(dǎo)致集成問題大幅減少,更快地實(shí)現(xiàn)有凝聚力的軟件開發(fā)。持續(xù)集成的核心價(jià)值在于:
降低風(fēng)險(xiǎn),每天都可能發(fā)生多次集成,有利于及早發(fā)現(xiàn)軟件質(zhì)量問題;
自動完成,通過自動化工具可以避免開發(fā)人員投入過多精力;
軟件運(yùn)行狀態(tài)隨時(shí)可看,可以增加領(lǐng)導(dǎo)和團(tuán)隊(duì)成員對項(xiàng)目的信心;
利于對未來進(jìn)行把控,持續(xù)集成的信息有利于我們對未來進(jìn)行更好地規(guī)劃和把控。
[0005]持續(xù)集成是為敏捷開發(fā)而創(chuàng)建的一種開發(fā)模式,它的實(shí)現(xiàn)依賴一套有效的工具。Jenkins是一個(gè)開源項(xiàng)目,提供了一種易于使用的持續(xù)集成系統(tǒng),使開發(fā)者從繁雜的集成中解脫出來,專注于更為重要的業(yè)務(wù)邏輯實(shí)現(xiàn)上。同時(shí)Jenkins能實(shí)施監(jiān)控集成中存在的錯(cuò)誤,提供詳細(xì)的日志文件和提醒功能,還能用圖表的形式形象地展示項(xiàng)目構(gòu)建的趨勢和穩(wěn)定性。Jenkins是一個(gè)持續(xù)集成工具。它可以根據(jù)設(shè)定持續(xù)定期編譯,運(yùn)行相應(yīng)代碼;運(yùn)行集成測試;將運(yùn)行結(jié)果發(fā)送至郵件,或展示成報(bào)告??梢宰岉?xiàng)目保持健康的狀態(tài)。如果任何新版本使項(xiàng)目失效,每個(gè)人都會在最短的時(shí)間內(nèi)通知到,然后問題被解決。接下來的開發(fā)將建立在一個(gè)健康正確的基礎(chǔ)上,而不是任由問題累積,最后失控。
[0006]VManager是Cadence的邏輯仿真驗(yàn)證規(guī)劃與管理解決方案,它和指標(biāo)驅(qū)動式驗(yàn)證(MDV)方法學(xué),綜合了可執(zhí)行驗(yàn)證計(jì)劃、覆蓋優(yōu)化方法、協(xié)作式管理工具、故障與覆蓋深度分析、以及對何時(shí)調(diào)配資源的清晰可見性等優(yōu)點(diǎn),將傳統(tǒng)方法的驗(yàn)證效率提高很多。此工具已經(jīng)成為大規(guī)模數(shù)字設(shè)計(jì)的標(biāo)準(zhǔn)驗(yàn)證管理工具,為提高數(shù)字設(shè)計(jì)的設(shè)計(jì)驗(yàn)證效率提供了保障。
[0007]VManager是一個(gè)專業(yè)化極強(qiáng)的工具,其主要作用是推進(jìn)邏輯驗(yàn)證的順利進(jìn)行,而并非一個(gè)專業(yè)的持續(xù)集成工具,他對版本監(jiān)控,定期自動測試,結(jié)果匯總等任務(wù)并不在行。若要在數(shù)字邏輯設(shè)計(jì)驗(yàn)證項(xiàng)目中實(shí)現(xiàn)有效的持續(xù)集成開發(fā),需要將VManager與Jenkins的優(yōu)勢進(jìn)行互補(bǔ)。這就需要將兩個(gè)工具進(jìn)行連接集成,形成一個(gè)完善的作業(yè)平臺。
【發(fā)明內(nèi)容】
[0008]本發(fā)明要解決的技術(shù)問題是:本發(fā)明目的在于提供一種基于Jenkins與vManager的邏輯設(shè)計(jì)驗(yàn)證持續(xù)集成平臺。
[0009]本發(fā)明所采用的技術(shù)方案為:
基于Jenkins與vManager的邏輯設(shè)計(jì)驗(yàn)證持續(xù)集成平臺,所述持續(xù)集成平臺包括版本管理系統(tǒng)、測試執(zhí)行系統(tǒng)、持續(xù)集成工具,其中版本管理系統(tǒng)為SVN服務(wù)器,測試執(zhí)行系統(tǒng)為vManager工具,持續(xù)集成工具為Jenkins服務(wù)器,通過連接Jenkins的持續(xù)集成自動化環(huán)境與vManager邏輯驗(yàn)證管理環(huán)境,實(shí)現(xiàn)對RTL代碼以及驗(yàn)證環(huán)境、測試用例、綜合腳本等的持續(xù)集成,使敏捷開發(fā)方法在邏輯設(shè)計(jì)驗(yàn)證領(lǐng)域得到有效應(yīng)用,提高芯片與FPGA開發(fā)的生產(chǎn)效率。
[0010]所述持續(xù)集成平臺的總體運(yùn)行流程如下:
1)項(xiàng)目開發(fā)人員向版本庫提交新的代碼;
2)SVN服務(wù)器探測到有新代碼提交,通過與Jenkins的程序掛鉤通知Jenkins有新代碼;
3)Jenkins在有新代碼提交時(shí),通過程序掛鉤啟動VManager的回歸測試腳本;
4)從代碼庫檢出最新代碼,通過VManager腳本啟動irun仿真器對代碼進(jìn)行編譯仿真,將得到的仿真結(jié)果進(jìn)行提取處理;
5)Jenkins得到VManager的遞歸測試結(jié)果,記錄在案:
6)Jenkins將此版本的測試報(bào)告與其他相關(guān)信息報(bào)告給開發(fā)人員以及項(xiàng)目主管。
[0011]所述步驟2 )中,在安裝部署SVN與Jenkins服務(wù)器時(shí),通過相關(guān)設(shè)置使得每次SVN有新代碼撿入時(shí),Jenkins服務(wù)器都被告知,使步驟2)自動完成。
[0012]所述步驟6)中,通過設(shè)置報(bào)告發(fā)送的郵件列表,使步驟6)自動完成。
[0013]所述步驟3)、4)、5)的運(yùn)行與VManager的運(yùn)行有關(guān),通過設(shè)置Jenkins,使每次有新代碼時(shí),自動執(zhí)行一個(gè)VManager的啟動腳本,讓VManager自動完成測試。
[0014]所述腳本先將新代碼檢出到仿真目錄下,調(diào)用irun編譯RTL代碼,驗(yàn)證平臺以及相關(guān)固件程序,運(yùn)行測試用例,并將結(jié)果進(jìn)行匯總分析。
[0015]當(dāng)自動測試結(jié)束后,Jenkins將VManager的測試結(jié)果報(bào)告給相關(guān)人員。
[0016]所述運(yùn)行流程中的仿真啟動腳本與結(jié)果分析腳本,根據(jù)具體的邏輯設(shè)計(jì)驗(yàn)證項(xiàng)目進(jìn)行設(shè)置,其基本結(jié)構(gòu)功能是相同的,腳本的詳細(xì)內(nèi)容,可以參見Cadence安裝目錄中VManager的參考教程。
[0017]本發(fā)明的有益效果為:
本發(fā)明將VManager與Jenkins進(jìn)行連接集成,將兩個(gè)工具的優(yōu)勢進(jìn)行互補(bǔ),形成一個(gè)完善的作業(yè)平臺,在數(shù)字邏輯設(shè)計(jì)驗(yàn)證項(xiàng)目中實(shí)現(xiàn)有效的持續(xù)集成開發(fā)。
【附圖說明】
[0018]圖1為Jenkins與vManager的邏輯設(shè)計(jì)驗(yàn)證持續(xù)集成平臺的工作流程圖;
圖2為Jenkins與vManager交互啟動測試并輸出結(jié)果的場景圖。
【具體實(shí)施方式】
[0019]下面通過說明書附圖,結(jié)合【具體實(shí)施方式】對本發(fā)明進(jìn)一步說明:
實(shí)施例1:
實(shí)施例1:
如圖1所示,基于Jenkins與vManager的邏輯設(shè)計(jì)驗(yàn)