專利名稱:實現(xiàn)數(shù)模混合型集成電路驗證的方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及電子技術(shù)領(lǐng)域,尤其涉及一種實現(xiàn)數(shù)?;旌闲图呻娐夫炞C的方法及裝置。
背景技術(shù):
隨著微電子工藝制造技術(shù)和電子設(shè)計自動化技術(shù)的飛速發(fā)展,數(shù)?;旌闲图呻娐芬呀?jīng)得到了廣泛地應(yīng)用,所述的數(shù)?;旌闲图呻娐穼?shù)字電路、模擬電路等集成在同一電路中,實現(xiàn)相應(yīng)的功能,如ASIC(特定用途集成電路)等。為此,對所述數(shù)?;旌闲图呻娐返尿炞C成為集成電路設(shè)計過程中的關(guān)鍵。
目前,針對ASIC設(shè)計中RTL(電阻晶體管邏輯電路)代碼可以采用FPGA(現(xiàn)場可編程門列陣)驗證的方式進行驗證,如圖1所示,具體的驗證的方法包括將ASIC設(shè)計的RTL代碼綜合、布局布線后的網(wǎng)表下載到FPGA(或flash,閃存)中,主機側(cè)通過主機接口將測試數(shù)據(jù)下載到SRAM(靜態(tài)存儲器)中,啟動FPGA運行,運行結(jié)果存儲在其他SRAM中,主機側(cè)將結(jié)果讀回,通過分析所述的結(jié)果,則可以獲得針對ASIC設(shè)計中RTL代碼的驗證結(jié)果。
仍如圖1所示,具體的ASIC驗證處理過程如圖2所示,包括步驟21在進行ASIC設(shè)計時,首先進行系統(tǒng)設(shè)計;步驟22進行RTL代碼設(shè)計與仿真;步驟23根據(jù)RTL代碼設(shè)計及仿真結(jié)果進行FPGA綜合與布局布線;
步驟24進行FPGA驗證及debug(調(diào)試)處理,如果在驗證中發(fā)現(xiàn)問題,則通過TESTMODE(測試模式)來觀測信號,進行局部分析,或通過重新引出中間觀測信號進行分析后確定相應(yīng)的問題所在;步驟25根據(jù)確定的問題進行調(diào)整,并重新進行綜合、布線,來進一步debug(調(diào)試),確認bug(故障點)的位置。這樣經(jīng)過一系列的反復(fù)調(diào)整觀測最終獲得問題解決。
由上述現(xiàn)有技術(shù)的描述可以看出,上述ASIC的驗證方法,debug的效率很低,一個80萬門的ASIC設(shè)計,在查找一個bug時,需要反復(fù)多次進行調(diào)整與布線,而每一次綜合布線如果采用奔騰2.0G CPU的計算機估計,則需要花費3-5小時的時間,即當前的ASIC驗證架構(gòu)不便于設(shè)計的調(diào)整與修改,當然也就不便于進行集成電路的驗證。
而且,在上述ASIC驗證方法中,在查找新的問題時,還要重新進行分析,修改,綜合,布線,測試的處理過程,而沒有充分的利用每次測試的數(shù)據(jù),極大的降低了debug效率,進而延誤了產(chǎn)品上市時間。
另外,在上述方法中,還通過增加中間引出信號來觀測解決問題,或通過設(shè)計本身的TESTMODE來實現(xiàn)。反復(fù)抓取新的觀測信號必將增加綜合的時間,導(dǎo)致ASIC驗證時間過長;而通過TESTMODE獲取的信號往往又不足以說明問題,導(dǎo)致ASIC驗證的準確性降低。
發(fā)明內(nèi)容
鑒于上述現(xiàn)有技術(shù)所存在的問題,本發(fā)明的目的是提供一種實現(xiàn)數(shù)?;旌闲图呻娐夫炞C的方法及裝置,以解決現(xiàn)有技術(shù)中所存在的ASIC驗證過程復(fù)雜且消耗時間較長的問題。
本發(fā)明的目的是通過以下技術(shù)方案實現(xiàn)的本發(fā)明提供了一種實現(xiàn)數(shù)?;旌闲图呻娐夫炞C的方法,包括
A、進行數(shù)模混合型集成電路的可編程邏輯門列陣FPGA驗證過程,并保存該驗證過程中的輸入數(shù)據(jù);B、將所述的輸入數(shù)據(jù)作為數(shù)?;旌闲图呻娐非胺抡娴奶幚磉^程中的激勵數(shù)據(jù)進行前仿真處理;C、根據(jù)前仿真處理結(jié)果確定數(shù)?;旌闲图呻娐返膯栴}點。
所述的實現(xiàn)數(shù)?;旌闲图呻娐夫炞C的方法中,執(zhí)行所述的步驟A之前還包括通過系統(tǒng)設(shè)計、寄存器傳輸級RTL代碼設(shè)計與仿真,以及FPGA綜合與布線確定待測試的數(shù)?;旌闲图呻娐返腇PGA。
所述的步驟A包括采用至少兩個測例進行數(shù)?;旌闲图呻娐返腇PGA驗證過程,并分別保存驗證過程的輸入數(shù)據(jù);所述的步驟B包括分別將所述的輸入數(shù)據(jù)作為數(shù)?;旌闲图呻娐非胺抡娴奶幚磉^程中的激勵數(shù)據(jù),并分別進行前仿真處理。
所述的實現(xiàn)數(shù)?;旌闲图呻娐夫炞C的方法還包括根據(jù)確定的問題點修改RTL代碼設(shè)計,并重新進行FPGA綜合與布線,并執(zhí)行步驟A。
本發(fā)明還提供了一種實現(xiàn)數(shù)?;旌闲图呻娐夫炞C的裝置,包括FPGA驗證模塊;用于對數(shù)?;旌闲图呻娐返腞TL代碼進行驗證處理;FPGA驗證輸入數(shù)據(jù)獲取模塊與FPGA驗證模塊相連,用于獲取FPGA驗證模塊進行驗證過程中的輸入數(shù)據(jù);前仿真處理模塊根據(jù)所述的FPGA驗證輸入數(shù)據(jù)獲取模塊獲取的輸入數(shù)據(jù)進行對數(shù)?;旌闲图呻娐愤M行前仿真處理。
所述的實現(xiàn)數(shù)?;旌闲图呻娐夫炞C的裝置還包括存儲模塊與所述的FPGA驗證輸入數(shù)據(jù)獲取模塊相連,用于保存獲取的輸入數(shù)據(jù);FPGA驗證輸入數(shù)據(jù)輸出模塊用于讀取存儲模塊中的FPGA驗證輸入數(shù)據(jù),并輸出給前仿真處理模塊。
所述的存儲模塊為動態(tài)隨機存儲器DRAM,且所述的FPGA驗證輸入數(shù)據(jù)獲取、輸出模塊為采用可編程邏輯器件CPLD實現(xiàn)。
所述的FPGA驗證輸入數(shù)據(jù)輸出模塊通過USB2.0接口將存儲模塊保存的輸入數(shù)據(jù)輸出。
由上述本發(fā)明提供的技術(shù)方案可以看出,由于本發(fā)明采用了充分利用每次測試數(shù)據(jù)的方式進行數(shù)?;旌闲图呻娐返尿炞C。因此,本發(fā)明提供了一種可以快速實現(xiàn)ASIC驗證的方法及電路,從而有效地克服了現(xiàn)有技術(shù)所存在的驗證過程耗時較長的問題,同時,極大降低了ASIC驗證過程的復(fù)雜程度。
圖1為現(xiàn)有技術(shù)中利用FPGA驗證ASIC的電路原理圖;圖2為現(xiàn)有技術(shù)中進行ASIC設(shè)計及驗證的流程圖;圖3為本發(fā)明中進行ASIC設(shè)計及驗證的流程圖;圖4為本發(fā)明中利用FPGA驗證ASIC的電路原理圖。
具體實施例方式
本發(fā)明的核心是利用硬件測試過程中的輸入數(shù)據(jù)作為軟測試處理過程(即前仿真過程)的輸入數(shù)據(jù)進行測試,從而快速定位ASIC設(shè)計的各個故障點,提高了ASIC驗證的速度及準確性。
本發(fā)明所述的方法的具體實現(xiàn)方式如圖3所示,具體為
(1)與現(xiàn)有技術(shù)相同,首先需要進行系統(tǒng)設(shè)計,RTL設(shè)計與仿真,以及FPGA綜合與布線;(2)完成FPGA綜合與布線后,便可以進行基于不同的測例進行FPGA測試,為提高測試的準確性需要同時基于多個測例進行測試;(3)在進行FPGA測試過程中保存各測例的輸入數(shù)據(jù);(4)利用所述的各測例的輸入數(shù)據(jù)作為ASIC的前仿真的激勵,運行相應(yīng)的應(yīng)用軟件進行軟件測試,如果在FPGA測試過程中采用了多個測例進行的測試,則此時,需要將保存的輸入數(shù)據(jù)分別作為應(yīng)用軟件的激勵數(shù)據(jù),并分別運行相應(yīng)的應(yīng)用軟件;所述的前仿真是指利用仿真軟件進行功能仿真,并根據(jù)功能仿真驗證邏輯功能是否正確;采用了FPGA測試數(shù)據(jù)作為ASIC前仿真的激勵數(shù)據(jù)可以在前仿真環(huán)境下對相應(yīng)的問題進行重現(xiàn),從而使得對問題的分析及解決提供了較大的方便,加快了解決問題的速度;(5)根據(jù)前仿真測試結(jié)果確定ASIC的問題點,如果是FPGA測試過程中采用了多個測例,則該過程中可以同時確定出多組問題點,如圖3中所示的,直接找出問題點1對應(yīng)一組問題點,直接找出問題點2對應(yīng)一組問題點,依次類推;當然,如果在該過程中未找到問題點,則測試驗證過程結(jié)束。
(6)根據(jù)確定的所有ASIC的問題點進行RTL的修改設(shè)計,并重新進行ASIC驗證過程,重新執(zhí)行步驟過程(1)。
本發(fā)明還提供了一種實現(xiàn)數(shù)模混合型集成電路驗證的裝置,具體包括FPGA驗證模塊;用于對數(shù)模混合型集成電路的RTL代碼進行驗證處理,該模塊即為現(xiàn)有技術(shù)中的FPGA驗證電路裝置;FPGA驗證輸入數(shù)據(jù)獲取模塊與FPGA驗證模塊相連,用于獲取FPGA驗證模塊進行驗證過程中的輸入數(shù)據(jù),并發(fā)送給存儲模塊;FPGA驗證輸入數(shù)據(jù)輸出模塊用于讀取存儲模塊中的FPGA驗證輸入數(shù)據(jù),并輸出給前仿真處理模塊;存儲模塊與所述的FPGA驗證輸入數(shù)據(jù)獲取模塊相連,用于保存獲取的輸入數(shù)據(jù),以備前仿真處理模塊進行前仿真處理時調(diào)用;前仿真處理模塊根據(jù)所述的FPGA驗證輸入數(shù)據(jù)獲取模塊獲取的輸入數(shù)據(jù)進行對數(shù)模混合型集成電路進行前仿真處理,具體為FPGA驗證輸入數(shù)據(jù)輸出模塊讀取所述存儲模塊中的輸入數(shù)據(jù),并通過輸出接口將所述的輸入數(shù)據(jù)輸出,用于ASIC前仿真的激勵數(shù)據(jù)。
如圖4所示,本發(fā)明中,采用EPM7256的CPLD實現(xiàn)FPGA測試輸入數(shù)據(jù)獲取模塊和FPGA測試輸入數(shù)據(jù)輸出模塊,以增加測試用代碼調(diào)整的靈活性,使系統(tǒng)本身非常容易調(diào)整;采用DRAM(動態(tài)隨機存儲器)作為存儲模塊,可以充分存儲海量信息;另外,還采用USB2.0接口作為FPGA測試輸入數(shù)據(jù)輸出模塊的輸出接口,從而提高數(shù)據(jù)傳輸數(shù)度與系統(tǒng)操作的便利性。
從上述結(jié)構(gòu)可以看出,在現(xiàn)有的FPGA驗證電路中增加CPLD與DRAM,以及USB2.0接口,可以極大的提高數(shù)據(jù)獲取操作的靈活性,并為信號(即相應(yīng)的數(shù)據(jù))存儲準備了物理空間。而且,每一次CPLD的綜合與布線可以認為是零時間,即在3-50S可以完成,從而使得局部調(diào)整無需要對系統(tǒng)設(shè)計的RTL進行修改,也就是說,可以根據(jù)測試需要靈活地調(diào)整需要獲取的FPGA測試過程中的輸入?yún)?shù),從而調(diào)整前仿真的激勵數(shù)據(jù)。
以上所述,僅為本發(fā)明較佳的具體實施方式
,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應(yīng)該以權(quán)利要求的保護范圍為準。
權(quán)利要求
1.一種實現(xiàn)數(shù)?;旌闲图呻娐夫炞C的方法,其特征在于,包括A、進行數(shù)?;旌闲图呻娐返目删幊踢壿嬮T列陣FPGA驗證過程,并保存該驗證過程中的輸入數(shù)據(jù);B、將所述的輸入數(shù)據(jù)作為數(shù)模混合型集成電路前仿真的處理過程中的激勵數(shù)據(jù)進行前仿真處理;C、根據(jù)前仿真處理結(jié)果確定數(shù)?;旌闲图呻娐返膯栴}點。
2.根據(jù)權(quán)利要求1所述的實現(xiàn)數(shù)?;旌闲图呻娐夫炞C的方法,其特征在于,執(zhí)行所述的步驟A之前還包括通過系統(tǒng)設(shè)計、寄存器傳輸級RTL代碼設(shè)計與仿真,以及FPGA綜合與布線確定待測試的數(shù)模混合型集成電路的FPGA。
3.根據(jù)權(quán)利要求1所述的實現(xiàn)數(shù)?;旌闲图呻娐夫炞C的方法,其特征在于,所述的步驟A包括采用至少兩個測例進行數(shù)?;旌闲图呻娐返腇PGA驗證過程,并分別保存驗證過程的輸入數(shù)據(jù);所述的步驟B包括分別將所述的輸入數(shù)據(jù)作為數(shù)?;旌闲图呻娐非胺抡娴奶幚磉^程中的激勵數(shù)據(jù),并分別進行前仿真處理。
4.根據(jù)權(quán)利要求1、2或3所述的實現(xiàn)數(shù)?;旌闲图呻娐夫炞C的方法,其特征在于,該方法還包括根據(jù)確定的問題點修改RTL代碼設(shè)計,并重新進行FPGA綜合與布線,并執(zhí)行步驟A。
5.一種實現(xiàn)數(shù)?;旌闲图呻娐夫炞C的裝置,其特征在于,包括FPGA驗證模塊;用于對數(shù)?;旌闲图呻娐返腞TL代碼進行驗證處理;FPGA驗證輸入數(shù)據(jù)獲取模塊與FPGA驗證模塊相連,用于獲取FPGA驗證模塊進行驗證過程中的輸入數(shù)據(jù);前仿真處理模塊根據(jù)所述的FPGA驗證輸入數(shù)據(jù)獲取模塊獲取的輸入數(shù)據(jù)進行對數(shù)?;旌闲图呻娐愤M行前仿真處理。
6.根據(jù)權(quán)利要求5所述的實現(xiàn)數(shù)?;旌闲图呻娐夫炞C的裝置,其特征在于,該裝置還包括存儲模塊與所述的FPGA驗證輸入數(shù)據(jù)獲取模塊相連,用于保存獲取的輸入數(shù)據(jù);FPGA驗證輸入數(shù)據(jù)輸出模塊用于讀取存儲模塊中的FPGA驗證輸入數(shù)據(jù),并輸出給前仿真處理模塊。
7.根據(jù)權(quán)利要求6所述的實現(xiàn)數(shù)模混合型集成電路驗證的裝置,其特征在于,所述的存儲模塊為動態(tài)隨機存儲器DRAM,且所述的FPGA驗證輸入數(shù)據(jù)獲取、輸出模塊為采用可編程邏輯器件CPLD實現(xiàn)。
8.根據(jù)權(quán)利要求6或7所述的實現(xiàn)數(shù)模混合型集成電路驗證的裝置,其特征在于,所述的FPGA驗證輸入數(shù)據(jù)輸出模塊通過USB2.0接口將存儲模塊保存的輸入數(shù)據(jù)輸出。
全文摘要
本發(fā)明涉及一種實現(xiàn)數(shù)模混合型集成電路驗證的方法及裝置。本發(fā)明的核心是利用硬件測試過程中的輸入數(shù)據(jù)作為軟測試處理過程(即前仿真過程)的輸入數(shù)據(jù)進行測試,從而快速定位ASIC設(shè)計的各個故障點,提高了ASIC驗證的速度及準確性。因此,本發(fā)明提供了一種可以快速實現(xiàn)ASIC驗證的方法及裝置,從而有效地克服了現(xiàn)有技術(shù)所存在的驗證過程耗時較長的問題,同時,極大降低了ASIC驗證過程的復(fù)雜程度。
文檔編號G06F11/36GK1797411SQ200410102840
公開日2006年7月5日 申請日期2004年12月28日 優(yōu)先權(quán)日2004年12月28日
發(fā)明者曹占生, 楊軍, 李慶華, 壽國梁, 吳南健 申請人:北京六合萬通微電子技術(shù)有限公司