本發(fā)明涉及芯片開發(fā),尤其涉及一種芯片ddr仿真中處理ddr配置的方法、系統(tǒng)、電子設(shè)備及存儲(chǔ)介質(zhì)。
背景技術(shù):
1、在芯片設(shè)計(jì)領(lǐng)域,驗(yàn)證(verification)工作貫穿整個(gè)設(shè)計(jì)流程,從行為級(jí)hdl設(shè)計(jì),一直到芯片流片(tape-out)之前都需要進(jìn)行大量的eda(eletronic?designautomation,電子設(shè)計(jì)自動(dòng)化)仿真驗(yàn)證,當(dāng)前驗(yàn)證工作已經(jīng)占整個(gè)設(shè)計(jì)工作70%左右。其中,ddr(double?data?rate?sdram,雙倍速率同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器)配置與驗(yàn)證是soc(system?on?a?chip)芯片設(shè)計(jì)中的關(guān)鍵環(huán)節(jié),整個(gè)soc系統(tǒng)的性能與ddr的性能直接相關(guān)。ddr的內(nèi)部是一個(gè)存儲(chǔ)陣列,將數(shù)據(jù)“填”進(jìn)去,可以將它想象成一張表格,與表格的檢索原理一樣,先指定一個(gè)行(row),再指定一個(gè)列(column),我們就可以準(zhǔn)確地找到所需要的單元格,這就是內(nèi)存芯片尋址的基本原理。
2、ddr仿真驗(yàn)證(或稱ddr性能仿真),是在ddr設(shè)計(jì)完成之后,通過eda工具對(duì)其性能進(jìn)行仿真和測(cè)試以驗(yàn)證性能是否符合期望;驗(yàn)證通過后,就可以在實(shí)際的芯片上進(jìn)行配置該ddr。當(dāng)前,進(jìn)行芯片ddr配置的過程可以概括如下:首先,ddr設(shè)計(jì)人員將ddr相關(guān)的寄存器配置信息提供給驗(yàn)證人員——通常以excel?表格的形式提供;驗(yàn)證人員接收所述ddr的excel?表格后,將所述excel?表格中的配置轉(zhuǎn)換成systemverilog(一種硬件描述和驗(yàn)證語(yǔ)言)文件形式后,在eda工具上進(jìn)行eda仿真驗(yàn)證;在驗(yàn)證人員完成仿真驗(yàn)證之后,設(shè)計(jì)人員再將通過驗(yàn)證的ddr設(shè)計(jì)對(duì)應(yīng)的excel?表格配置發(fā)布給軟件人員;軟件人員接收到所述excel?表格后,將excel?表格轉(zhuǎn)換成c語(yǔ)言的形式在芯片上面進(jìn)行ddr的配置操作。
3、對(duì)于ddr設(shè)計(jì)人員提供的ddr?配置文件(通常為excel?表格文件),如果其中的ddr配置信息存在問題,一些問題會(huì)在仿真驗(yàn)證階段中暴露出來,此時(shí),驗(yàn)證人員會(huì)將相關(guān)問題定位后反饋給設(shè)計(jì)人員,以便設(shè)計(jì)人員及時(shí)修正。然而,在芯片的實(shí)際開發(fā)過程中發(fā)現(xiàn),由于仿真驗(yàn)證階段需要運(yùn)行的測(cè)試案例case復(fù)雜且繁多,某些ddr配置問題需要運(yùn)行完大量的測(cè)試案例之后才能暴露出來。作為舉例,比如當(dāng)ddr顆粒存在時(shí)序違例問題時(shí),驗(yàn)證人員往往需要在完成一些測(cè)試案例case的仿真之后,通過仿真日志文件(log文件)獲取和定位ddr配置存在的問題。參見圖1所示,示例了一個(gè)ddr顆粒的時(shí)序違例時(shí),仿真?log文件中的時(shí)序違例報(bào)錯(cuò)信息,該示例中,報(bào)錯(cuò)類型為trtw(read?to?write?delay)時(shí)序違例。所述trtw參數(shù)表示從最后一個(gè)讀命令發(fā)出到第一個(gè)寫命令之間的最小時(shí)間間隔,這個(gè)參數(shù)用于確保在讀取操作完成后有足夠時(shí)間進(jìn)行數(shù)據(jù)總線切換和電平穩(wěn)定。當(dāng)trtw參數(shù)出現(xiàn)時(shí)序違例時(shí),這個(gè)時(shí)序違例通常是在ddr的隨機(jī)測(cè)試案例random?case?中報(bào)出來,在此測(cè)試案例之前需要運(yùn)行大量的其它測(cè)試案例。然后,驗(yàn)證人員需要將得到的ddr配置問題反饋給設(shè)計(jì)人員;設(shè)計(jì)人員根據(jù)驗(yàn)證反饋的問題找到相關(guān)的參數(shù)后,對(duì)參數(shù)進(jìn)行修正,再將修正后的ddr配置文件反饋給驗(yàn)證人員進(jìn)行驗(yàn)證;驗(yàn)證人員在驗(yàn)證通過后,將驗(yàn)證通過結(jié)果再反饋給設(shè)計(jì)人員;設(shè)計(jì)人員再將通過驗(yàn)證的ddr設(shè)計(jì)對(duì)應(yīng)的excel?表格配置發(fā)布給軟件人員。
4、可以看出,由于ddr配置的有些錯(cuò)誤問題可能需要在完成大量的仿真測(cè)試案例之后才能被定位,導(dǎo)致仿真驗(yàn)證的迭代周期增加,影響了芯片開發(fā)效率,增加了芯片開發(fā)的時(shí)間成本和人力成本。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明的目的在于:克服現(xiàn)有技術(shù)的不足,提供了一種芯片ddr仿真中處理ddr配置的方法、系統(tǒng)、電子設(shè)備及存儲(chǔ)介質(zhì)。本發(fā)明能夠在ddr仿真驗(yàn)證的ddr初始化階段提前判斷ddr是否存在時(shí)序違例問題,進(jìn)一步還可以將該時(shí)序違例問題涉及的ddr時(shí)序參數(shù)的相關(guān)信息輸出,可以顯著縮短ddr的仿真迭代周期,從而提高芯片開發(fā)效率。
2、為實(shí)現(xiàn)上述目標(biāo),本發(fā)明提供了如下技術(shù)方案:
3、一種芯片ddr仿真中處理ddr配置的方法,包括如下步驟:
4、采集用戶選擇的目標(biāo)ddr顆粒類型,獲取該目標(biāo)ddr顆粒類型對(duì)應(yīng)的時(shí)序參數(shù)以及各時(shí)序參數(shù)的計(jì)算公式;
5、將前述時(shí)序參數(shù)的計(jì)算公式添加到ddr仿真測(cè)試案例的初始化信息中;
6、啟動(dòng)芯片ddr模塊的eda仿真后,獲取前述仿真測(cè)試案例,通過初始化單元進(jìn)行時(shí)鐘和ddr模塊的初始化,在初始化過程中,所述初始化單元能夠檢查ddr的參數(shù)配置,所述檢查包括獲取寄存器的關(guān)鍵字段以獲取關(guān)鍵字段下各時(shí)序參數(shù)的值作為實(shí)際值;其中,所述初始化單元還被配置為:根據(jù)初始化信息中的時(shí)序參數(shù)的計(jì)算公式來計(jì)算相應(yīng)時(shí)序參數(shù)的值,作為期望值,將所述期望值與前述實(shí)際值進(jìn)行比對(duì);以及在ddr初始化結(jié)束時(shí),生成包括前述比對(duì)結(jié)果的檢查報(bào)告;
7、初始化完成后,正常運(yùn)行所述仿真測(cè)試案例,直至仿真結(jié)束。
8、進(jìn)一步,當(dāng)時(shí)序參數(shù)的實(shí)際值與期望值不匹配時(shí),判定該時(shí)序參數(shù)不符合ddr配置要求,在所述檢查報(bào)告中輸出比對(duì)不一致的時(shí)序參數(shù)信息,包括參數(shù)名稱、期望值、實(shí)際值和期望值的計(jì)算公式。
9、進(jìn)一步,還包括ddr參數(shù)配置模塊,其用于采集用戶針對(duì)不同ddr顆粒類型配置的時(shí)序參數(shù)信息;其中,針對(duì)不同類型的ddr顆粒能夠配置不同的時(shí)序參數(shù),針對(duì)同一時(shí)序參數(shù),能夠配置其在不同的ddr顆粒類型下的計(jì)算公式。
10、進(jìn)一步,還包括用戶圖形操作界面,通過用戶圖形操作界面輸出不同ddr顆粒類型的操作選項(xiàng),以供用戶選擇目標(biāo)ddr顆粒類型。
11、進(jìn)一步,所述ddr顆粒類型包括基于標(biāo)準(zhǔn)雙倍數(shù)據(jù)率內(nèi)存的ddr2、ddr3、ddr4和ddr5,以及基于低功耗雙倍數(shù)據(jù)率內(nèi)存的lpddr2、lpddr4、lpddr4和lpddr5,針對(duì)所述ddr2、ddr3、ddr4?、ddr5、lpddr2、lpddr4、lpddr4和lpddr5在界面上分別設(shè)置有操作按鈕;
12、當(dāng)采集用戶選擇其中一個(gè)ddr顆粒類型對(duì)應(yīng)的操作按鈕時(shí),該ddr顆粒類型即為目標(biāo)ddr顆粒類型。
13、進(jìn)一步,將所述用戶圖形操作界面集成在eda工具的仿真運(yùn)行界面中;
14、此時(shí),在所述仿真運(yùn)行界面中設(shè)置有多個(gè)ddr顆粒類型按鈕和一個(gè)運(yùn)行按鈕run,需要運(yùn)行相應(yīng)類型的ddr顆粒的仿真時(shí),用戶點(diǎn)擊對(duì)應(yīng)的ddr顆粒類型按鈕以選擇目標(biāo)ddr顆粒類型,根據(jù)選擇的目標(biāo)ddr顆粒類型,eda工具獲取對(duì)應(yīng)的時(shí)序參數(shù)和計(jì)算公式;
15、在采集到用戶點(diǎn)擊運(yùn)行按鈕run的操作時(shí),eda工具啟動(dòng)仿真。
16、進(jìn)一步,所述運(yùn)行按鈕run上設(shè)置有初始化進(jìn)度條,在初始化完成時(shí),所述初始化進(jìn)度條變成預(yù)設(shè)顏色,此時(shí),觸發(fā)檢查報(bào)告生成并存儲(chǔ)至預(yù)設(shè)路徑下。
17、本發(fā)明還提供了一種芯片ddr仿真中處理ddr配置的系統(tǒng),所述系統(tǒng)包括:
18、信息采集單元,用于采集用戶選擇的目標(biāo)ddr顆粒類型,獲取該目標(biāo)ddr顆粒類型對(duì)應(yīng)的時(shí)序參數(shù)以及各時(shí)序參數(shù)的計(jì)算公式;
19、參數(shù)處理單元,用于將前述時(shí)序參數(shù)的計(jì)算公式添加到ddr仿真測(cè)試案例的初始化信息中;
20、初始化單元,用于在啟動(dòng)芯片ddr模塊的eda仿真后,獲取前述仿真測(cè)試案例,進(jìn)行時(shí)鐘和ddr模塊的初始化;其中,在初始化過程中,所述初始化單元被配置為:檢查ddr的參數(shù)配置,所述檢查包括獲取寄存器的關(guān)鍵字段以獲取關(guān)鍵字段下各時(shí)序參數(shù)的值作為實(shí)際值;以及,根據(jù)初始化信息中的時(shí)序參數(shù)的計(jì)算公式來計(jì)算相應(yīng)時(shí)序參數(shù)的值,作為期望值;以及,將所述期望值與前述實(shí)際值進(jìn)行比對(duì);以及,在ddr初始化結(jié)束時(shí),生成包括前述比對(duì)結(jié)果的檢查報(bào)告;
21、仿真驗(yàn)證單元,用于正常運(yùn)行所述仿真測(cè)試案例,直至仿真結(jié)束。
22、本發(fā)明還提供了一種電子設(shè)備,?包括:
23、至少一個(gè)處理器;
24、以及與所述至少一個(gè)處理器通信連接的存儲(chǔ)器;
25、其中,所述存儲(chǔ)器存儲(chǔ)有可被所述至少一個(gè)處理器執(zhí)行的指令,所述指令被所述至少一個(gè)處理器執(zhí)行,以使所述至少一個(gè)處理器能夠執(zhí)行前述任一項(xiàng)所述的方法。
26、本發(fā)明還提供了一種存儲(chǔ)有計(jì)算機(jī)指令的計(jì)算機(jī)存儲(chǔ)介質(zhì),其中,所述計(jì)算機(jī)指令用于使所述計(jì)算機(jī)執(zhí)行根據(jù)前述任一項(xiàng)所述的方法。
27、本發(fā)明由于采用以上技術(shù)方案,與現(xiàn)有技術(shù)相比,作為舉例,具有以下的優(yōu)點(diǎn)和積極效果:本發(fā)明能夠在ddr仿真驗(yàn)證的ddr初始化階段提前判斷ddr是否存在時(shí)序違例問題,進(jìn)一步還可以將該時(shí)序違例問題涉及的ddr時(shí)序參數(shù)的相關(guān)信息輸出,可以顯著縮短ddr的仿真迭代周期,從而提高芯片開發(fā)效率。