一種檢測(cè)SoC前后端ROM數(shù)據(jù)一致性的方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種檢測(cè)ROM數(shù)據(jù)一致性的方法,尤其涉及一種檢測(cè)SoC前后端ROM數(shù)據(jù)一致性的方法,屬于集成電路設(shè)計(jì)技術(shù)領(lǐng)域。
【背景技術(shù)】
[0002]片上系統(tǒng)SoC (System on Chip)技術(shù)是20世紀(jì)90年代以來迅速發(fā)展起來的超大規(guī)模集成電路的主流技術(shù),該技術(shù)是信息技術(shù)領(lǐng)域一門最新的先進(jìn)技術(shù),是集成電路最新技術(shù)與軟件技術(shù)的有機(jī)結(jié)合。SoC設(shè)計(jì)是一個(gè)復(fù)雜的過程,涵蓋了系統(tǒng)級(jí)設(shè)計(jì)、寄存器傳輸級(jí)RTL(Register Transmit Level)設(shè)計(jì)、可測(cè)試性設(shè)計(jì)、仿真驗(yàn)證、邏輯綜合、版圖設(shè)計(jì)、物理驗(yàn)證、寄生參數(shù)提取、后仿真等一系列步驟。通常邏輯綜合步驟之前稱為前端設(shè)計(jì),邏輯綜合步驟之后的稱為后端設(shè)計(jì)。
[0003]SoC技術(shù)以嵌入式系統(tǒng)為核心,以知識(shí)產(chǎn)權(quán)復(fù)用技術(shù)為基礎(chǔ),集軟/硬件于一體,并追求產(chǎn)品系統(tǒng)最大包容的集成芯片。通常情況下,SoC系統(tǒng)上電加載只讀存儲(chǔ)器ROM (ReadOnly Memory)中軟件程序,通過軟件程序配置其他模塊實(shí)現(xiàn)與中央處理單元核心協(xié)同工作。因此,仿真驗(yàn)證過程中的ROM數(shù)據(jù)與SoC最終版圖實(shí)現(xiàn)的ROM數(shù)據(jù)一致性顯得尤為重要。
[0004]SoC系統(tǒng)的軟件程序需要多次仿真驗(yàn)證迭代過程才能確定最終版本,而在設(shè)計(jì)流程中,為了縮短上市時(shí)間,通常在邏輯綜合之后將數(shù)據(jù)交由后端進(jìn)行版圖設(shè)計(jì)。這期間容易產(chǎn)生前后端ROM數(shù)據(jù)不一致的情況,從而導(dǎo)致SoC設(shè)計(jì)失敗。
【發(fā)明內(nèi)容】
[0005]由于前后端數(shù)據(jù)的不一致性,將會(huì)導(dǎo)致最終設(shè)計(jì)的失敗,因此需要一種高效和快速檢測(cè)SoC前后端ROM數(shù)據(jù)一致性的方法。
[0006]為解決上述技術(shù)問題,本發(fā)明采用以下技術(shù)方案,一種檢測(cè)SoC前后端ROM數(shù)據(jù)一致性的方法,包括以下步驟:
[0007]步驟1:編譯器產(chǎn)生ROM調(diào)試文件,通過腳本將ROM調(diào)試文件轉(zhuǎn)換成前端ROM數(shù)據(jù);
[0008]步驟2:查找SoC后端的電路網(wǎng)表文件中ROM單元的名稱,并從SoC后端的電路網(wǎng)表文件中提取ROM數(shù)據(jù);
[0009]步驟3:將提取的ROM數(shù)據(jù)根據(jù)ROM屬性整理輸出,得到SoC后端ROM數(shù)據(jù);
[0010]步驟4:將SoC前端ROM數(shù)據(jù)與SoC后端ROM數(shù)據(jù)進(jìn)行對(duì)比;
[0011 ] 步驟5:根據(jù)對(duì)比結(jié)果確定SoC前端ROM數(shù)據(jù)與SoC后端ROM數(shù)據(jù)是否一致。
[0012]其中,步驟2中,所述的電路網(wǎng)表文件為⑶L文件。
[0013]其中,步驟4之后還包括:將對(duì)比結(jié)果打印輸出。
[0014]采用上述技術(shù)方案帶來的有益效果是:
[0015]1.在SoC設(shè)計(jì)流程中,本發(fā)明能夠通過對(duì)比前后端ROM數(shù)據(jù)保證設(shè)計(jì)實(shí)現(xiàn)的準(zhǔn)確性;
[0016]2.在SoC設(shè)計(jì)流程中,本發(fā)明能夠準(zhǔn)確對(duì)比前后端ROM數(shù)據(jù),減少人工干預(yù)引入的錯(cuò)誤,提高工作效率;
[0017]3.在SoC設(shè)計(jì)流程中,本發(fā)明能夠自動(dòng)化對(duì)比前后端ROM數(shù)據(jù),貼近自動(dòng)化生產(chǎn)的主要設(shè)計(jì)流程。
【附圖說明】
[0018]圖1是本發(fā)明的流程圖。
【具體實(shí)施方式】
[0019]下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明做進(jìn)一步詳細(xì)的描述。
[0020]ROM 一致性檢查是指仿真模型中的數(shù)據(jù)和掩模版圖中的數(shù)據(jù)保持一致。由于標(biāo)準(zhǔn)SoC后端設(shè)計(jì)流程中,通過LVS(Layout Versus Schematic)步驟可以保證掩模版圖和電路網(wǎng)表的一致性,因此ROM仿真模型與掩模版圖一致性的檢查可以改為仿真模型與電路網(wǎng)表一致性的檢查。
[0021]電路網(wǎng)表的文件格式為ASCII碼格式,可以進(jìn)行通用文本處理;電路網(wǎng)表記錄了只讀存儲(chǔ)器的晶體管級(jí)連接關(guān)系,通過研究只讀存儲(chǔ)器電路原理,掌握只讀存儲(chǔ)器數(shù)據(jù)0和數(shù)據(jù)1的電路結(jié)構(gòu)形式,通過自動(dòng)化腳本提取電路網(wǎng)表的數(shù)據(jù)內(nèi)容;仿真模型的文件格式為ASCII碼格式,使用數(shù)據(jù)0和數(shù)據(jù)1記錄了只讀存儲(chǔ)器的內(nèi)容,可以直接與提取的數(shù)據(jù)內(nèi)容比較。
[0022]如圖1所示,一種檢測(cè)SoC前后端ROM數(shù)據(jù)一致性的方法,具體包括以下步驟:
[0023]步驟1:使用GCC編譯器產(chǎn)生ROM調(diào)試文件,通過bin2hex.pi腳本將ROM調(diào)試文件轉(zhuǎn)換成前端ROM數(shù)據(jù),前端ROM數(shù)據(jù)與由軟件Memory Compiler產(chǎn)生ROM時(shí)的初始化文件保持一致。
[0024]步驟2:運(yùn)行腳本cdl_cell.pi xx (xx為ROM的⑶L文件),查找⑶L文件中ROM單元的名稱,并從S⑶L文件中提取ROM數(shù)據(jù)。⑶L文件中ROM單元的名稱與Memory Compiler生成ROM時(shí)指定的名稱一致。
[0025]提取存儲(chǔ)數(shù)據(jù)時(shí),選擇CDL文件作為后端ROM提取數(shù)據(jù)的標(biāo)準(zhǔn),是因?yàn)檠谀N募礼SDII是可讀性較差的二進(jìn)制格式文件,而標(biāo)準(zhǔn)后端設(shè)計(jì)流程中,可以通過LVS(Lay0utVersus Schematic)步驟保證⑶L與⑶SII的一致性fDL文件實(shí)際上是一種SPICE網(wǎng)表文件,記錄了晶體管之間的互連關(guān)系;只讀存儲(chǔ)器通過晶體管連接到電源或者地線來存儲(chǔ)不同的數(shù)據(jù),在確定⑶L文件中單元名稱后,自動(dòng)調(diào)用extract_data.pi腳本,匹配⑶L文件中單元名稱之后的晶體管,CDL中的晶體管描述關(guān)鍵字為MNx(x為順序排列的阿拉伯?dāng)?shù)字),根據(jù)晶體管的第一個(gè)參數(shù)(柵極G)的連接關(guān)系判斷存儲(chǔ)數(shù)據(jù)。
[0026]步驟3:將從CDL文件中提取的ROM數(shù)據(jù)按照ROM數(shù)據(jù)寬度輸出到指定文件中,通常輸出文件命名為cdl.data,該文件內(nèi)容為0、1 二進(jìn)制數(shù)據(jù)。
[0027]步驟4:仿真模型中使用的存儲(chǔ)數(shù)據(jù)文件是后綴為RCF的ASCII碼格式,產(chǎn)生cdl.data文件后,自動(dòng)調(diào)用rcf_cdl_cpm.pi腳本,逐行對(duì)比前端RCF格式ROM數(shù)據(jù)文件與后端提取數(shù)據(jù)cdl.data文件。
[0028]該過程中,將在當(dāng)前執(zhí)行窗口打印輔助信息通知用戶對(duì)比結(jié)果;如:對(duì)比結(jié)果一致將打印“Congratulat1n ! ”;對(duì)比結(jié)果不一致將打印“Compare Failed ! ”,并打印不一致行號(hào),根據(jù)行號(hào)定位不一致數(shù)據(jù)信息。
[0029]以上所述僅為本發(fā)明的一種具體的實(shí)施方式。本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。
【主權(quán)項(xiàng)】
1.一種檢測(cè)SoC前后端ROM數(shù)據(jù)一致性的方法,其特征在于包括以下步驟: 步驟1:編譯器產(chǎn)生ROM調(diào)試文件,通過腳本將ROM調(diào)試文件轉(zhuǎn)換成SoC前端ROM數(shù)據(jù);步驟2:查找SoC后端的電路網(wǎng)表文件中ROM單元的名稱,并從SoC后端的電路網(wǎng)表文件中提取ROM數(shù)據(jù); 步驟3:將提取的ROM數(shù)據(jù)根據(jù)ROM屬性整理輸出,得到SoC后端ROM數(shù)據(jù); 步驟4:將SoC前端ROM數(shù)據(jù)與SoC后端ROM數(shù)據(jù)進(jìn)行對(duì)比; 步驟5:根據(jù)對(duì)比結(jié)果確定SoC前端ROM數(shù)據(jù)與SoC后端ROM數(shù)據(jù)是否一致。2.權(quán)利要求1所述的一種檢測(cè)SoC前后端ROM數(shù)據(jù)一致性的方法,其特征在于:步驟2中,所述的電路網(wǎng)表文件為CDL文件。3.權(quán)利要求1所述的一種檢測(cè)SoC前后端ROM數(shù)據(jù)一致性的方法,其特征在于:所述步驟4之后還包括:將對(duì)比結(jié)果打印輸出。
【專利摘要】本發(fā)明公開了一種檢測(cè)SoC前后端ROM數(shù)據(jù)一致性的方法,屬于集成電路設(shè)計(jì)技術(shù)領(lǐng)域。本方法包括確定產(chǎn)生前端ROM數(shù)據(jù)、提取電路網(wǎng)表ROM數(shù)據(jù)、整理輸出后端ROM數(shù)據(jù)和對(duì)比前后端ROM數(shù)據(jù)和結(jié)果輸出步驟。本發(fā)明自動(dòng)快速地實(shí)現(xiàn)了對(duì)比前后端ROM數(shù)據(jù),降低了人工成本,克服了人工干預(yù)的出錯(cuò)率高的問題。
【IPC分類】G06F11/20
【公開號(hào)】CN105279050
【申請(qǐng)?zhí)枴緾N201510631952
【發(fā)明人】谷佳華, 張勇, 常迎輝, 曾明, 田素雷, 楊松芳, 楊振學(xué)
【申請(qǐng)人】中國(guó)電子科技集團(tuán)公司第五十四研究所
【公開日】2016年1月27日
【申請(qǐng)日】2015年9月29日