王 渙
(中國電子科技集團(tuán)公司第四十七研究所,沈陽 110032)
上個世紀(jì)90年代初,由于集成電路制造技術(shù)和EDA 工具的快速發(fā)展,芯片設(shè)計規(guī)模和設(shè)計復(fù)雜度急劇提高,出現(xiàn)了一批像ARM 這樣的專門為第三方公司提供可復(fù)用的集成電路模塊的IP 供應(yīng)商。IP 供應(yīng)商的出現(xiàn)和SoC 設(shè)計方法學(xué)的普及,極大地促進(jìn)了集成電路設(shè)計業(yè)的發(fā)展,伴隨著IP的推廣和使用,也出現(xiàn)了一系列急需解決的問題。IP 供應(yīng)商需要提供怎樣的文件;IP 使用者如何才能快速對其進(jìn)行修改以適應(yīng)設(shè)計者的需要;如何解決IP的接口標(biāo)準(zhǔn)問題;如何建立一個相對客觀的IP 評價體系,實(shí)現(xiàn)對IP 質(zhì)量的評估;如何進(jìn)行IP 驗(yàn)證;如何有效地建立起IP的保護(hù)體系。這一系列問題的出現(xiàn),最終導(dǎo)致了IP 核標(biāo)準(zhǔn)的產(chǎn)生[1]。圖1為集成電路IP核標(biāo)準(zhǔn)體系。
IP 核的開發(fā)流程,大致分為以下幾個步驟:①IP 核開發(fā)指南的編寫;②IP 核的設(shè)計;③IP 核的驗(yàn)證。
開發(fā)指南一般包括以下幾個部分:①目錄結(jié)構(gòu)管理規(guī)范;②可交付項規(guī)范;③文檔結(jié)構(gòu)規(guī)范指南;④文檔書寫標(biāo)準(zhǔn);⑤驗(yàn)證平臺開發(fā)指南;⑥Verilog HDL 編碼指南。
圖1 集成電路IP 核標(biāo)準(zhǔn)體系
在IP 核的開發(fā)過程中,都要遵循IP 核的各項開發(fā)文檔進(jìn)行,IP 核開發(fā)文檔流程如圖2 所示。
首先,要確定IP 核的規(guī)格。IP 核的規(guī)格至少包括以下內(nèi)容:概述、功能需求、性能需求、物理需求、詳細(xì)的結(jié)構(gòu)模塊框圖、對外系統(tǒng)接口的詳細(xì)定義、可配置功能詳細(xì)描述、需要支持的制造測試方法、需要支持的驗(yàn)證策略等。確定規(guī)格的過程一般又包括行為建模進(jìn)行功能論證,可行性分析就性能和成本進(jìn)行折中等活動。
圖2 IP 核開發(fā)文檔流程
其次,進(jìn)行模塊劃分。劃分模塊是指規(guī)劃工程師在給出IP 結(jié)構(gòu)模塊框圖的同時,對于每個子模塊給出一個詳細(xì)的功能描述,同時必須明確子模塊之間接口的時序要求。只有規(guī)劃好,才能夠設(shè)計好。確定規(guī)劃和劃分模塊是IP 開發(fā)是否成功最為關(guān)鍵的一步。
然后進(jìn)行子模塊定義和設(shè)計。設(shè)計者對所有子模塊的規(guī)格進(jìn)行討論和審查,重點(diǎn)檢查時序接口和功能接口的一致性,隨后整理出子模塊的詳細(xì)設(shè)計方案。接下來設(shè)計者按照實(shí)現(xiàn)方案開始編寫RTL代碼、編寫時間約束文件、綜合批處理文件、子模塊驗(yàn)證用測試平臺(testbench)和測試套件(test suite)等。當(dāng)這些工作完成并通過代碼規(guī)范性檢查、測試覆蓋率檢查、功能覆蓋率檢查等驗(yàn)收以后,這個子模塊就可用來與其他模塊一起集成了。
接著,進(jìn)行頂層模塊設(shè)計。頂層模塊設(shè)計就是把子模塊集成起來,產(chǎn)生頂層模塊,并對它做綜合處理和功能驗(yàn)證。綜合過程包括編寫綜合的批處理文件,在不同的參考庫上綜合,針對在制造上的可測性插入掃描鏈、ATPG,并進(jìn)行最終的性能分析和功耗分析等[2]。
最后是IP 核的產(chǎn)品化過程。包括以下幾個部分:提供IP 設(shè)計和驗(yàn)證用testbench,用商用轉(zhuǎn)換器進(jìn)行打包提交,但轉(zhuǎn)換后需要重新驗(yàn)證,比如做回歸測試以確保轉(zhuǎn)換有效,并強(qiáng)調(diào)在幾個主流仿真器上做仿真,在幾種主要工藝庫上做綜合,做門級仿真,做形式驗(yàn)證以保證網(wǎng)表和RTL 級的一致性,產(chǎn)生或更新用戶文檔等。
對于IP 核的驗(yàn)證,主要是建立參照模型和測試平臺,然后進(jìn)行回歸測試和形式驗(yàn)證。
這里的參照模型主要用于對系統(tǒng)功能進(jìn)行驗(yàn)證以及和RTL 模型的對照驗(yàn)證,該模型主要用SystemC/SpecmanE/Vera/Verilog/VHDL 等語言來構(gòu)造。
測試平臺的建立與子模塊設(shè)計并行,由驗(yàn)證組的一些成員開始搭建驗(yàn)證環(huán)境和開發(fā)測試用例,并針對IP 核的行為級模型對測試環(huán)境和測試用例進(jìn)行調(diào)試,從而同步準(zhǔn)備好用來仿真測試RTL 級IP核的驗(yàn)證環(huán)境和測試用例。
回歸測試解決的問題是設(shè)計在修改一個錯誤的同時,卻引入了另外一個錯誤?;貧w測試保證在修改一個錯誤或加入一個新功能時,已經(jīng)驗(yàn)證過的基本功能仍然正確。驗(yàn)證工程師應(yīng)該注意在驗(yàn)證過程中找到一個錯誤,或加入一個新功能時,要把它們對應(yīng)的測試用例及時加入到回歸測試集中。
形式驗(yàn)證是一種系統(tǒng)級的驗(yàn)證手段,不需要測試向量,而是根據(jù)“靜態(tài)”地通過判斷兩個設(shè)計是否等價來確認(rèn)它們的功能是否一致,因此,形式驗(yàn)證必須事先有一個參照設(shè)計。在IP 核驗(yàn)證過程中,前面建立的參照模型就是我們的參照設(shè)計。形式驗(yàn)證常用來判斷一個設(shè)計更改后和更改前實(shí)現(xiàn)的功能是否一致。同時,形式驗(yàn)證也被用來確認(rèn)綜合后、插入掃描鏈后、版圖提取后網(wǎng)表實(shí)現(xiàn)的功能前后是否一致。
在IP 核開發(fā)過程中,同樣面臨著許多關(guān)鍵技術(shù),比如,IP的規(guī)格定義、基于接口的設(shè)計、IP 核測試存取結(jié)構(gòu)標(biāo)準(zhǔn)、IP 核的驗(yàn)證及打包等。隨著IP 核標(biāo)準(zhǔn)的完善,用戶將會更加方便快捷的選擇自己所需的IP 核產(chǎn)品。
[1]葉以正,肖立伊,謝學(xué)軍.國內(nèi)外IP 核標(biāo)準(zhǔn)發(fā)展?fàn)顩r[J].中國集成電路,2005(7):25-27.
[2]王寶友.VSIA 及其IP 核標(biāo)準(zhǔn)簡介[J].信息技術(shù)與標(biāo)準(zhǔn)化,2004(10):42-44.