本發明涉及網絡通信領域,尤其涉及一種提高協同仿真平臺驗證效率的方法及系統。
背景技術:
如圖1所示,為現有技術中的協同仿真架構圖,其為一種芯片級的協同仿真操作平臺,在該協同仿真平臺下,對于待測試芯片而言,對其所有的功能,僅能夠做一次芯片級協同仿真;然而,隨著芯片規模的提高,協同仿真中的調試難度越來越高,該種架構不適宜科技的發展。
進一步的,為了降低調試難度,在協同仿真前期,結合圖2所示,根據待測試芯片的功能將整個待測試芯片劃分為一個個子系統,作為芯片功能參照的C模型也會按照同樣的方式進行劃分,通過這種層次化的驗證方式,各個子系統之間的調試工作可以并行完成,并通過子系統階段或者模塊級的調試提前發現問題,減少后期芯片級仿真的工作量,因為相同的問題所在的層級越低其調試難度越低,從而提高協同仿真驗證效率。
上述對待測試芯片進行劃分后,所述待測試芯片形成了芯片級,子系統級和模塊級等層級結構;現有技術中,對應該種層級結構的待測試芯片的協同仿真平臺中,需要為每一個待測的子系統和模塊分別產生激勵,很難保證同一個測試用例在不同級別的系統測試中的一致性,并在驗證過程中,需要增加大量的重復工作量,驗證效率低下。
技術實現要素:
本發明的目的在于提供一種提高協同仿真平臺驗證效率的方法及系統。
為實現上述目的之一,本發明一實施方式的提高協同仿真平臺驗證效率的方法,所述方法包括:建立協同仿真平臺,所述協同仿真平臺包括:待測試芯片以及對應所述待測試芯片建立的C模型;
所述待測試芯片包括:根據其功能將其劃分的若干個功能單元;
所述C模型包括:對應待測試芯片的各個功能單元、依次形成的若干個仿真測試子模型,每個仿真測試子模型一一對應待測試芯片的各個功能單元;
向所述待測試芯片和所述C模型同時發送同一個測試激勵;
仿真過程中,每個仿真測試子模型均獨立輸出仿真結果;
根據中間結果仿真邏輯,以及當前所述仿真測試子模型相鄰的下一個仿真測試子模型,將當前所述仿真測試子模型對應的仿真結果的格式轉換為與其相鄰的仿真子模型所需求的輸入測試激勵的相同的格式,以作為其相鄰的仿真子模型以及相鄰的仿真子模型對應的所述功能單元的輸入測試激勵。
作為本發明一實施方式的進一步改進,所述待測試芯片被劃分為子系統級別的層級結構,所述功能單元一一對應所述待測試芯片的各個子系統。
作為本發明一實施方式的進一步改進,所述待測試芯片被劃分為模塊級別的層級結構,所述功能單元一一對應所述待測試芯片的各個子模塊。
作為本發明一實施方式的進一步改進,所述方法還包括:
當前仿真測試子模型以及與其對應的功能單元均輸出仿真結果后,判斷當前仿真測試子模型的仿真結果與對應所述功能單元的仿真結果是否相同;
若相同,判斷當前待測試芯片的功能單元通過驗證;
若不同,判斷當前待測試芯片的功能單元未能通過驗證。
作為本發明一實施方式的進一步改進,所述方法還包括:
若判斷當前仿真測試子模型的仿真結果與對應所述功能單元的仿真結果不相同,則結束仿真,并輸出報錯信息。
為實現上述目的之一,本發明一實施方式的提高協同仿真平臺驗證效率的系統,所述系統包括:模型構建模塊,用于建立協同仿真平臺,所述協同仿真平臺包括:待測試芯片以及對應所述待測試芯片建立的C模型;
所述待測試芯片包括:根據其功能將其劃分的若干個功能單元;
所述C模型包括:對應待測試芯片的各個功能單元、依次形成的若干個仿真測試子模型,每個仿真測試子模型一一對應待測試芯片的各個功能單元;
激勵發送模塊,用于向所述待測試芯片和所述C模型同時發送同一個測試激勵;
處理模塊,用于在仿真過程中,使每個仿真測試子模型均獨立輸出仿真結果;
根據中間結果仿真邏輯,以及當前所述仿真測試子模型相鄰的下一個仿真測試子模型,將當前所述仿真測試子模型對應的仿真結果的格式轉換為與其相鄰的仿真子模型所需求的輸入測試激勵的相同的格式,以作為其相鄰的仿真子模型以及相鄰的仿真子模型對應的所述功能單元的輸入測試激勵。
作為本發明一實施方式的進一步改進,所述待測試芯片被劃分為子系統級別的層級結構,所述功能單元一一對應所述待測試芯片的各個子系統。
作為本發明一實施方式的進一步改進,所述待測試芯片被劃分為模塊級別的層級結構,所述功能單元一一對應所述待測試芯片的各個子模塊。
作為本發明一實施方式的進一步改進,所述系統還包括:比對模塊,用于在當前仿真測試子模型以及與其對應的功能單元均輸出仿真結果后,判斷當前仿真測試子模型的仿真結果與對應所述功能單元的仿真結果是否相同;
若相同,判斷當前待測試芯片的功能單元通過驗證;
若不同,判斷當前待測試芯片的功能單元未能通過驗證。
作為本發明一實施方式的進一步改進,所述比對模塊還用于:若判斷當前仿真測試子模型的仿真結果與對應所述功能單元的仿真結果不相同,
則結束仿真,并輸出報錯信息。
與現有技術相比,本發明的有益效果是:本發明的提高協同仿真平臺驗證效率的方法及系統,對芯片進行劃分形成各個功能單元,同時,將C模型劃分為對應各個功能單元的仿真測試子模型,如此,以降低測試過程中的調試難度,同時,在仿真過程中,按照特定的格式保存上一個仿真測試子模型的仿真結果,以使各個仿真測試子模型的仿真結果通用于芯片級、子系統以及模塊的協同仿真驗證激勵,提高驗證效率,減少重復工作量,并保證同一測試用例的一致性。
附圖說明
圖1是現有技術一種實施方式的協同仿真平臺的架構示意圖;
圖2是現有技術中另一種實施方式的協同仿真平臺的架構示意圖;
圖3是本發明一實施方式中提高協同仿真平臺驗證效率的方法的流程示意圖;
圖4是本發明一實施方式中提高協同仿真平臺驗證效率的系統的模塊示意圖;
圖5A是本發明一具體示例中協同仿真平臺架構示意圖;
圖5B至圖5D是采用圖5A所示協同仿真平臺架構C模型中其中一個子仿真模型的實現過程示意圖。
具體實施方式
以下將結合附圖所示的具體實施方式對本發明進行詳細描述。但這些實施方式并不限制本發明,本領域的普通技術人員根據這些實施方式所做出的結構、方法、或功能上的變換均包含在本發明的保護范圍內。
如圖1所示,本發明一實施方式中,提高協同仿真平臺驗證效率的方法,所述方法包括:
S1、建立協同仿真平臺,所述協同仿真平臺包括:待測試芯片以及對應所述待測試芯片建立的C模型;所述待測試芯片包括:根據其功能將其劃分的若干個功能單元;所述C模型包括:對應待測試芯片的各個功能單元、依次形成的若干個仿真測試子模型,每個仿真測試子模型一一對應待測試芯片的各個功能單元。
本發明一優選實施方式中,所述待測試芯片被劃分為子系統級別的層級結構,所述功能單元一一對應所述待測試芯片的各個子系統。
本發明一優選實施方式中,所述待測試芯片被劃分為模塊級別的層級結構,所述功能單元一一對應所述待測試芯片的各個子模塊。
進一步的,本發明一實施方式中,所述方法還包括:S2、向所述待測試芯片和所述C模型同時發送同一個測試激勵。
本發明具體實施方式中,待測試芯片的驗證過程,通常會根據用戶需求,分別對于一個待測試芯片的整體、各個子系統以及各個子模塊分別進行一次驗證;在現有技術中,對于同一待測試芯片,當對芯片的整體進行驗證時,對其整體發送一個測試激勵;對于各個子系統驗證時,需要分別對應每個子系統配置不同的測試激勵;而對于各個模塊的驗證時,同樣需要分別對應每個模塊配置不同的測試激勵;如此,導致將待測試芯片劃分為層級化的結構后,其各個測試用例不一致,驗證效率低下;而本發明中,當芯片被劃分為子系統級別的層級結構或劃分為模塊級別的層級結構后,在對待測試芯片進行驗證過程中,僅需要驗證開始時,提供一次測試激勵,便可以分別對同一待測試芯片的不同驗證級別分別做仿真測試,以下將會詳細描述。
進一步的,本發明一實施方式中,所述方法還包括:S3、仿真過程中,每個仿真測試子模型均獨立輸出仿真結果;
根據中間結果仿真邏輯,以及當前所述仿真測試子模型相鄰的下一個仿真測試子模型,將當前所述仿真測試子模型對應的仿真結果的格式轉換為與其相鄰的仿真子模型所需求的輸入測試激勵的相同的格式,以作為其相鄰的仿真子模型以及相鄰的仿真子模型對應的所述功能單元的輸入測試激勵。如此,針對某一測試用例,可以保證輸入給各級仿真測試子模型以及其對應的功能單元的測試激勵保持一致性。
為了便于理解,結合圖5A所示,以網絡交換芯片為例描述一具體示例,以便于理解本發明。
該示例下,所述交換芯片被劃分為子系統級別的層級結構,所述功能單元一一對應所述交換芯片的各個子系統,所述交換芯片的對應的各個子系統依次為:子系統A1、子系統A2……子系統An;所述C模型包括:對應交換芯片的各個子系統依次形成的仿真測試子模型,各個仿真測試子模型依次為:仿真測試子模型A1、仿真測試子模型A2……仿真測試子模型An;所述交換芯片中各個子系統傳遞報文數據。
向所述交換芯片和所述C模型同時發送同一個測試激勵A1,該測試激勵為報文數據。
仿真過程中,結合體圖5B所示,仿真測試子模型A1以及子系統A1同時接收該測試激勵A1,并分別輸出仿真結果B1、C1;仿真結果B1如圖B所示;進一步的,解析與當前仿真測試子模型A1相鄰的仿真測試子模型A2所需求的測試激勵的格式;根據中間結果轉換邏輯將B1的格式轉換為與測試子模型A2所需求的相同格式的測試激勵S1;該示例下,仿真測試子模型A2所需求的測試激勵S1的格式如圖5C所示;進一步的,將測試激勵S1同時作為仿真測試子模型A2以及子系統A2的測試激勵。相應的,將測試激勵S1輸入到對應仿真測試子模型A2以及子系統A2的激勵發生器,該測試激勵S1經所述激勵發生器的處理后輸出如圖5D所示的結果,該結果可同時被仿真測試子模型A2以及子系統A2讀取,以進行仿真測試。如此循環,保證各級仿真測試子模型以及對應交換芯片的子系統的各級測試用例保持一致,提高驗證效率。
進一步的,本發明一實施方式中,所述方法還包括:S4、當前仿真測試子模型以及與其對應的功能單元均輸出仿真結果后,判斷當前仿真測試子模型的仿真結果與對應所述功能單元的仿真結果是否相同;若相同,判斷當前待測試芯片的功能單元通過驗證;若不同,判斷當前待測試芯片的功能單元未能通過驗證。
本發明優選實施方式中,若判斷當前仿真測試子模型的仿真結果與對應所述功能單元的仿真結果不相同,則結束仿真,并輸出報錯信息。
接續上述示例:將仿真測試子模型A1以及子系統A1分別輸出仿真結果B1、C1進行對比,若B1、C1的結果相同,說明交換芯片的子系統A1通過驗證,若不同,判斷子系統A1未能通過驗證;該示例中,若判斷當前仿真測試子模型的仿真結果與對應所述功能單元的仿真結果不相同,則結束仿真,并輸出報錯信息。如此,若交換芯片在設計過程中存在錯誤,則在驗證的初始階段即可以發出報錯信息,節約驗證的成本,易于驗證錯誤發生的位置。
結合圖4所示,本發明一實施方式,提供的提高協同仿真平臺驗證效率的系統包括:模型構建模塊100、激勵發送模塊200、處理模塊300、比對模塊400。
建立協同仿真平臺100,用于建立協同仿真平臺,所述協同仿真平臺包括:待測試芯片以及對應所述待測試芯片建立的C模型;所述待測試芯片包括:根據其功能將其劃分的若干個功能單元;所述C模型包括:對應待測試芯片的各個功能單元、依次形成的若干個仿真測試子模型,每個仿真測試子模型一一對應待測試芯片的各個功能單元。
本發明一優選實施方式中,所述待測試芯片被劃分為子系統級別的層級結構,所述功能單元一一對應所述待測試芯片的各個子系統。
本發明一優選實施方式中,所述待測試芯片被劃分為模塊級別的層級結構,所述功能單元一一對應所述待測試芯片的各個子模塊。
進一步的,本發明一實施方式中,激勵發送模塊200用于向所述待測試芯片和所述C模型同時發送同一個測試激勵。
本發明具體實施方式中,待測試芯片的驗證過程,通常會根據用戶需求,分別對于一個待測試芯片的整體、各個子系統以及各個子模塊分別進行一次驗證;在現有技術中,對于同一待測試芯片,當對芯片的整體進行驗證時,對其整體發送一個測試激勵;對于各個子系統驗證時,需要分別對應每個子系統配置不同的測試激勵;而對于各個模塊的驗證時,同樣需要分別對應每個模塊配置不同的測試激勵;如此,導致將待測試芯片劃分為層級化的結構后,其各個測試用例不一致,驗證效率低下;而本發明中,當芯片被劃分為子系統級別的層級結構或劃分為模塊級別的層級結構后,在對待測試芯片進行驗證過程中,僅需要驗證開始時,提供一次測試激勵,便可以分別對同一待測試芯片的不同驗證級別分別做仿真測試,以下將會詳細描述。
進一步的,本發明一實施方式中,處理模塊300用于在仿真過程中,使每個仿真測試子模型均獨立輸出仿真結果;根據中間結果仿真邏輯,以及當前所述仿真測試子模型相鄰的下一個仿真測試子模型,將當前所述仿真測試子模型對應的仿真結果的格式轉換為與其相鄰的仿真子模型所需求的輸入測試激勵的相同的格式,以作為其相鄰的仿真子模型以及相鄰的仿真子模型對應的所述功能單元的輸入測試激勵。如此,針對某一測試用例,可以保證輸入給各級仿真測試子模型以及其對應的功能單元的測試激勵保持一致性。
為了便于理解,結合圖5A所示,以網絡交換芯片為例描述一具體示例,以便于理解本發明。
該示例下,所述交換芯片被劃分為子系統級別的層級結構,所述功能單元一一對應所述交換芯片的各個子系統,所述交換芯片的對應的各個子系統依次為:子系統A1、子系統A2……子系統An;所述C模型包括:對應交換芯片的各個子系統依次形成的仿真測試子模型,各個仿真測試子模型依次為:仿真測試子模型A1、仿真測試子模型A2……仿真測試子模型An;所述交換芯片中各個子系統傳遞報文數據。
向所述交換芯片和所述C模型同時發送同一個測試激勵A1,該測試激勵為報文數據。
仿真過程中,結合體圖5B所示,仿真測試子模型A1以及子系統A1同時接收該測試激勵A1,并分別輸出仿真結果B1、C1;仿真結果B1如圖B所示;進一步的,解析與當前仿真測試子模型A1相鄰的仿真測試子模型A2所需求的測試激勵的格式;根據中間結果轉換邏輯將B1的格式轉換為與測試子模型A2所需求的相同格式的測試激勵S1;該示例下,仿真測試子模型A2所需求的測試激勵S1的格式如圖5C所示;進一步的,將測試激勵S1同時作為仿真測試子模型A2以及子系統A2的測試激勵。相應的,將測試激勵S1輸入到對應仿真測試子模型A2以及子系統A2的激勵發生器,該測試激勵S1經所述激勵發生器的處理后輸出如圖5D所示的結果,該結果可同時被仿真測試子模型A2以及子系統A2讀取,以進行仿真測試。如此循環,保證各級仿真測試子模型以及對應交換芯片的子系統的各級測試用例保持一致,提高驗證效率。
進一步的,本發明一實施方式中,比對模塊400用于:當前仿真測試子模型以及與其對應的功能單元均輸出仿真結果后,判斷當前仿真測試子模型的仿真結果與對應所述功能單元的仿真結果是否相同;若相同,判斷當前待測試芯片的功能單元通過驗證;若不同,判斷當前待測試芯片的功能單元未能通過驗證。
本發明優選實施方式中,若判斷當前仿真測試子模型的仿真結果與對應所述功能單元的仿真結果不相同,則結束仿真,并輸出報錯信息。
接續上述示例:將仿真測試子模型A1以及子系統A1分別輸出仿真結果B1、C1進行對比,若B1、C1的結果相同,說明交換芯片的子系統A1通過驗證,若不同,判斷子系統A1未能通過驗證;該示例中,若判斷當前仿真測試子模型的仿真結果與對應所述功能單元的仿真結果不相同,則結束仿真,并輸出報錯信息。如此,若交換芯片在設計過程中存在錯誤,則在驗證的初始階段即可以發出報錯信息,節約驗證的成本,易于驗證錯誤發生的位置。
綜上所述,本發明的提高協同仿真平臺驗證效率的方法及系統,對芯片進行劃分形成各個功能單元,同時,將C模型劃分為對應各個功能單元的仿真測試子模型,如此,以降低測試過程中的調試難度,同時,在仿真過程中,按照特定的格式保存上一個仿真測試子模型的仿真結果,以使各個仿真測試子模型的仿真結果通用于芯片級、子系統以及模塊的協同仿真驗證激勵,提高驗證效率,減少重復工作量,并保證同一測試用例的一致性。
為了描述的方便,描述以上裝置時以功能分為各種模塊分別描述。當然,在實施本發明時可以把各模塊的功能在同一個或多個軟件和/或硬件中實現。
以上所描述的裝置實施方式僅僅是示意性的,其中所述作為分離部件說明的模塊可以是或者也可以不是物理上分開的,作為模塊顯示的部件可以是或者也可以不是物理模塊,即可以位于一個地方,或者也可以分布到多個網絡模塊上。可以根據實際的需要選擇其中的部分或者全部模塊來實現本實施方式方案的目的。本領域普通技術人員在不付出創造性勞動的情況下,即可以理解并實施。
應當理解,雖然本說明書按照實施方式加以描述,但并非每個實施方式僅包含一個獨立的技術方案,說明書的這種敘述方式僅僅是為清楚起見,本領域技術人員應當將說明書作為一個整體,各實施方式中的技術方案也可以經適當組合,形成本領域技術人員可以理解的其他實施方式。
上文所列出的一系列的詳細說明僅僅是針對本發明的可行性實施方式的具體說明,它們并非用以限制本發明的保護范圍,凡未脫離本發明技藝精神所作的等效實施方式或變更均應包含在本發明的保護范圍之內。