基于bfm快速驗證大型互連芯片地址的方法及系統的制作方法
【技術領域】
[0001]本發明涉及芯片地址讀寫技術領域,更具體地說,涉及一種基于BFM快速驗證大型互連芯片地址的方法及系統。
【背景技術】
[0002]隨著集成電路制造工藝的迅速發展,芯片的開發周期逐漸縮短,同樣功能的產品推出的時間越早,競爭力越大。驗證工作所需的時間成為制約產品開發周期的瓶頸。由于大型互連芯片NC規模龐大,不適合做大規模的模塊級驗證,因此結合使用BFM模型進行系統級的仿真驗證成為驗證大型互連芯片NC的一種必要的驗證方法。大型互聯芯片NC的驗證是一個繁瑣、費時的工作,為了提高集成電路的驗證效率,縮短產品周期,驗證人員必須在保證芯片驗證無誤的前提下盡可能縮短驗證周期。由于大型互聯芯片的地址讀寫正確性是保證其他功能驗證順利進行的前提,所以快速的進行地址讀寫驗證可以為其他后續驗證的完成打下良好的基礎。
[0003]因此,如何快速的進行地址讀寫驗證,縮短芯片整體驗證所需的時間是現在需要解決的問題。
【發明內容】
[0004]本發明的目的在于提供一種基于BFM快速驗證大型互連芯片地址的方法及系統,以快速對地址進行讀寫驗證,縮短芯片整體驗證所需的時間。
[0005]為實現上述目的,本發明實施例提供了如下技術方案:
[0006]—種基于BFM快速驗證大型互連芯片地址的驗證方法,包括:
[0007]通過轉發芯片向目標芯片發送寫指令;其中,所述寫指令包括目標地址信息和驗證數據;
[0008]接收所述目標芯片將所述驗證數據寫入目標地址后,通過所述轉發芯片發送的反饋信息;
[0009]通過所述轉發芯片向所述目標芯片發送讀指令,并通過所述轉發芯片接收所述目標芯片從所述目標地址中讀取的驗證數據,并判斷寫入所述目標地址的驗證數據與從所述目標地址讀取的驗證數據是否一致;
[0010]若一致,則所述目標地址驗證成功。
[0011 ]優選的,所述轉發芯片與所述目標芯片之間通過BFM模擬的router和物理層通路進行數據的傳輸。
[0012]優選的,通過轉發芯片向目標芯片發送寫指令之前,還包括:
[0013]將待驗證的目標地址編寫成數組格式存儲;
[0014]其中,所述通過轉發芯片向目標芯片發送寫指令,包括:
[0015]獲取待驗證的目標地址,確定所述目標地址所在的目標芯片,通過轉發芯片將所述寫指令發送給目標芯片。
[0016]優選的,判斷寫入所述目標地址的驗證數據與從所述目標地址讀取的驗證數據是否一致之前,還包括:
[0017]生成與所述目標地址相對應的驗證過程報告。
[0018]優選的,若寫入所述目標地址的驗證數據與從所述目標地址讀取的驗證數據不一致,則所述方法還包括:
[0019]分析所述驗證過程報告生成結果分析報告,并根據所述結果分析報告重新對所述目標地址進行驗證。
[0020]一種基于BFM快速驗證大型互連芯片地址的驗證系統,包括:控制器,轉發芯片和目標芯片;
[0021]所述控制器包括:
[0022]寫指令執行單元,用于通過轉發芯片向目標芯片發送寫指令;其中,所述寫指令包括目標地址信息和驗證數據;
[0023]讀指令執行單元,用于接收所述目標芯片將所述驗證數據寫入目標地址后,通過所述轉發芯片發送的反饋信息;并通過所述轉發芯片向所述目標芯片發送讀指令,通過所述轉發芯片接收所述目標芯片從所述目標地址中讀取的驗證數據;
[0024]判斷單元,用于判斷寫入所述目標地址的驗證數據與從所述目標地址讀取的驗證數據是否一致;若一致,則所述目標地址驗證成功。
[0025]優選的,所述轉發芯片與所述目標芯片之間通過BFM模擬的router和物理層通路進行數據的傳輸。
[0026]優選的,所述控制器還包括:
[0027]存數單元,用于將待驗證的目標地址編寫成數組格式存儲;
[0028]其中,寫指令執行單元具體用于:
[0029]獲取待驗證的目標地址,確定所述目標地址所在的目標芯片,通過轉發芯片將所述寫指令發送給目標芯片。
[0030]優選的,所述控制器還包括:
[0031 ] 生成單元,用于生成與所述目標地址相對應的驗證過程報告。
[0032]優選的,若所述判斷單元判斷寫入所述目標地址的驗證數據與從所述目標地址讀取的驗證數據不一致時,所述驗證系統還包括觸發分析單元;
[0033]所述分析單元用于分析所述驗證過程報告生成結果分析報告,并根據所述結果分析報告重新觸發所述寫指令執行單元,重新對所述目標地址進行驗證。
[0034]通過以上方案可知,本發明實施例提供的一種基于BFM快速驗證大型互連芯片地址的驗證方法及系統,包括:通過轉發芯片向目標芯片發送寫指令;其中,所述寫指令包括目標地址信息和驗證數據;接收所述目標芯片將所述驗證數據寫入目標地址后,通過所述轉發芯片發送的反饋信息;通過所述轉發芯片向所述目標芯片發送讀指令,并通過所述轉發芯片接收所述目標芯片從所述目標地址中讀取的驗證數據,并判斷寫入所述目標地址的驗證數據與從所述目標地址讀取的驗證數據是否一致;若一致,則所述目標地址驗證成功。
[0035]可見,在本實施例中,通過BFM模擬的router和物理層通路進行數據的傳輸,使驗證工程師編寫驗證數據時,可以專注于接口數據操作的思考,而完全忽略底層信號的時序,減輕了編寫激勵的工作量,提高了效率,且將待驗證的目標地址編寫成數組個數存數,進行先寫后讀的地址驗證不僅保證的驗證的正確性,也使得驗證代碼簡短、可讀性高,更大大提高了驗證的速度,縮短了芯片的生產周期。
【附圖說明】
[0036]為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
[0037]圖1為本發明實施例公開的一種基于BFM快速驗證大型互連芯片地址的驗證方法;
[0038]圖2為本發明實施例公開的驗證系統結構示意圖;
[0039]圖3為本發明實施例公開的一種基于BFM快速驗證大型互連芯片地址的驗證系統結構示意圖。
【具體實施方式】
[0040]下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
[0041 ]本發明實施例公開了一種基于BFM快速驗證大型互連芯片地址的方法及系統,以快速對地址進行讀寫驗證,縮短芯片整體驗證所需的時間。
[0042]參見圖1,本發明實施例提供的一種基于BFM快速驗證大型互連芯片地址的驗證方法,包括:
[0043]SlOl、通過轉發芯片向目標芯片發送寫指令;其中,所述寫指令包括目標地址信息和驗證數據;
[0044]具體的,參見圖2,為本發明實施例公開的驗證系統結構示意圖,包括2個clump,SPclumpl和clump2,其中每個clump由4個BFM模擬的cpu模型與兩個NC芯片構成,其中cpu模型即為本實施例中的控制器,clumpl中的NC芯片IS卩為本實施例中的轉發芯片,clump2中的NC芯片3即為本實施例中的目標芯片,控制器I即為本實施例中的控制器,其中目標地址即為目標芯片中的地址。在這個2個clump的驗證環境中,在由verilog搭建的testbench下,NC芯片與BFM模擬的cpu模型之間通過pii(Program Language Interface)接口相連。
[0045]在2clump的地址讀寫驗證環境中,主要是用BFM搭建了兩塊不同clump中NC芯片之間的通路,除去實現功能性上的等價和仿真速度的提升之外,這部分的模擬還能利用SystemC作為軟件語言的優勢實現抽象程度更高的操作和數據監測。通過pli接口與veri log的testbench相連,用BFM模擬CPU的動作(發出或接收指令,并作出響應),通過在BFM下用system C代碼編寫對地址的讀寫訪問激勵,監測機制以及相應的各種規則。
[0046]其中,所述轉發芯片與所述目標芯片之間通過BFM模擬的router和物理層通路進行數據的傳輸。
[0047]具體的,在本實施例中,控制器向目標地址發送寫指令,即通過clumpl中的控制器向NC芯片I發送寫指令,其中寫指令中攜帶目標地址信息,根據目標地址信息,并通過NC芯片I與NC芯片3之間BFM模擬的router和物理層通路將寫指令發送給NC芯片3。
[0048]S102、接收所述目標芯片將所述驗證數據寫入目標地址后,通過所述轉發芯片發送的反饋信息;
[0049]具體的,在本實施例中,cpul向NC芯片3發送讀指令前需要確定寫指令已經執行結束,因此NC芯片3將驗證數據寫入目標地址后,需要發送給cpul—個反饋信息,即確定寫指令已經執行結束。
[0050]S103、通過所述轉發芯片向所述目標芯片發送讀指令,并通過所述轉發芯片接收所述目標芯片從所述目標地址中讀取的驗證數據;
[0051]具體的,在本實施例中,cpul通過與寫指令相同的路徑,將讀指令通過cluml中的NC芯片I將讀指令發送給NC芯片3,并從NC芯片3的目標地址中讀取之前寫入的測試數據。
[0052]S104、判斷寫入所述目標地址的驗證數據與從所述目標地址讀取的驗證數據是否一致;若若一致,則所述目標地址驗證成功,若不一致則驗證失敗。
[0053]具體的,在本實施例中對目標地址進行讀寫驗證時,在cpu模型端先后發送Gr