TWI778473B - 人工智能晶片驗證系統、方法,設備及儲存媒體 - Google Patents
人工智能晶片驗證系統、方法,設備及儲存媒體 Download PDFInfo
- Publication number
- TWI778473B TWI778473B TW109145251A TW109145251A TWI778473B TW I778473 B TWI778473 B TW I778473B TW 109145251 A TW109145251 A TW 109145251A TW 109145251 A TW109145251 A TW 109145251A TW I778473 B TWI778473 B TW I778473B
- Authority
- TW
- Taiwan
- Prior art keywords
- use case
- verification
- template
- verified
- file
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Neurology (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Debugging And Monitoring (AREA)
- Testing Or Measuring Of Semiconductors Or The Like (AREA)
- Storage Device Security (AREA)
Abstract
本揭露提供了一種人工智能AI晶片驗證系統、方法、設備及儲存媒體,其中,該系統包括:使用案例產生器,用於基於待驗證對象的資訊和預設使用案例模板,產生所述待驗證對象的驗證使用案例,其中,所述驗證使用案例滿足所述預設使用案例模板定義的格式,所述待驗證對象包括神經網路模型中的目標算子或者神經網路模型;待測晶片部件,連接所述使用案例產生器,用於通過待測設計執行所述驗證使用案例,得到測試結果;比對部件,連接所述待測晶片部件,用於將所述測試結果與所述驗證使用案例對應的參考結果進行比對,獲得所述待測設計對所述待驗證對象的驗證結果。
Description
本揭露是關於人工智能(Artificial Intelligence,AI)晶片驗證領域,且特別是有關於一種AI晶片驗證系統、方法、設備及儲存媒體。
驗證是晶片研發過程中很重要的一個階段,在晶片交付給廠家生產之前需要通過驗證來保證晶片功能的正確性。
在針對AI晶片的研發工程中,由於多種類別神經網路的引入,要求晶片具備更強的適配性和魯棒性,從而對應要求晶片功能驗證也能夠適配多種類別的神經網路。
本揭露提供了一種AI晶片驗證系統、方法、設備、儲存媒體及電腦程式產品。
根據本揭露實施例的第一方面,提供一種AI晶片驗證系統,所述系統包括:使用案例產生器,用於基於待驗證對象的資訊和預設使用案例模板,產生所述待驗證對象的驗證使用案例,其中,所述驗證使用案例滿足所述預設使用案例模板定義的格式,所述待驗證對象包括神經網路模型中的目標算子或者神經網路模型;待測晶片部件,連接所述使用案例產生器,用於通過待測設計執行所述驗證使用案例,得到測試結果;比對部件,連接所述待測晶片部件,用於將所述測試結果與所述驗證使用案例對應的參考結果進行比對,獲得所述待測設計對所述待驗證對象的驗證結果。
本揭露實施例中,根據預先定義格式的預設使用案例模板產生驗證使用案例,使得本揭露實施例中提供的AI晶片驗證系統能夠適配驗證多種類別的神經網路模型。
在一些可選實施例中,所述預設使用案例模板包括下列中的至少一項:指令流模板文件,包含所述驗證使用案例的指令流模板;初始化資料模板文件,包含所述驗證使用案例的初始化資料模板;寄存器配置模板文件,包含所述驗證使用案例的寄存器配置模板。
在一些可選實施例中,所述系統還包括:環境驅動器,連接所述使用案例產生器和所述待測晶片部件,用於基於所述預設使用案例模板,將所述驗證使用案例驅動到所述待測晶片部件中,以由所述待測設計執行所述驗證使用案例。
在一些可選實施例中,所述預設使用案例模板包括:結果模板文件,包含所述驗證使用案例的輸出結果模板;所述系統還包括:環境取樣器,連接所述待測晶片部件和所述比對部件,用於基於所述結果模板文件,從所述待測晶片部件取樣所述測試結果,並將取樣得到的所述測試結果傳輸至所述比對部件。
在一些可選實施例中,所述使用案例產生器包括:定向產生器,用於獲取所述待驗證對象的參數文件,並通過解析所述待驗證對象的所述參數文件中包含的對象參數,產生所述待驗證對象的所述驗證使用案例。
本揭露實施例中,能夠對神經網路模型的層級進行驗證,還能對整個神經網路模型進行驗證,提高了待測設計對神經網路的驗證深度和靈活性。
在一些可選實施例中,所述參數文件包括:定點化參數文件和網路結構文件。
在一些可選實施例中,所述預設使用案例模板包括:參考結果文件,包含所述驗證使用案例對應的參考結果;所述比對部件進行比對所利用的所述參考結果是從所述預設使用案例模板中獲取的。
本揭露實施例中,可以直接從驗證使用案例中獲取該驗證使用案例的參考結果,不需要參考模型部件執行驗證使用案例,提高了比對裝置的執行效率,從而提高了對待測設計的驗證效率。
在一些可選實施例中,所述使用案例產生器包括:隨機產生器,用於獲取所述待驗證對象的配置文件,基於所述配置文件隨機產生待驗證對象的對象參數,並基於產生的所述對象參數,產生所述待驗證對象的所述驗證使用案例。
本揭露實施例中,隨機產生器根據配置文件,基於特定驗證使用案例,利用隨機技術產生不同的驗證使用案例,使得驗證場景覆蓋更全面,有效提升了驗證完備性。
在一些可選實施例中,所述系統還包括:參考模型部件,連接所述使用案例產生器和所述比對部件,用於執行所述使用案例產生器產生的所述驗證使用案例,以得到所述驗證使用案例對應的參考結果。
在一些可選實施例中,所述預設使用案例模板包括:調度核指令流模板文件,包含所述驗證使用案例的調度核指令流模板;所述系統還包括:調度指令編譯器,連接所述使用案例產生器、所述待測晶片部件和所述比對部件,用於基於所述調度核指令流模板文件,產生所述待測設計的調度核指令流,其中,所述待測設計的調度核指令流包括在所述驗證使用案例中;所述待測設計根據所述驗證使用案例中的所述調度核指令流,對所述驗證使用案例中的指令流進行處理。
本揭露實施例中,複用了針對1級DUT的AI晶片驗證系統的其他模組。减少了晶片驗證工作量,提高了對待測設計的驗證效率,節省驗證資源。
在一些可選實施例中,所述系統還包括性能統計器,與所述待測晶片部件連接,用於獲取所述待測設計執行所述驗證使用案例的性能參數,並基於所述性能參數得到性能統計結果。
本揭露實施例中,性能統計器能夠對待測設計執行神經網路模型的層級的驗證使用案例的運算時間和帶寬進行統計,也能夠對待測設計執行整個神經網路模型的網路級的驗證使用案例的運算時間和帶寬進行統計,豐富了對待測設計驗證的性能統計。
根據本揭露實施例的第二方面,提供一種AI晶片驗證方法,包括:基於待驗證對象的資訊和預設使用案例模板,產生所述待驗證對象的驗證使用案例,其中,所述驗證使用案例滿足所述預設使用案例模板定義的格式,所述待驗證對象包括神經網路模型中的目標算子或者神經網路模型;通過待測設計執行所述驗證使用案例,得到測試結果;將所述測試結果與所述驗證使用案例對應的參考結果進行比對,獲得所述待測設計對所述待驗證對象的驗證結果。
本揭露實施例中,根據待驗證對象的資訊產生的驗證使用案例,是基於預設使用案例模板中預先定義的格式產生的驗證使用案例。不同類別的神經網路對應的待驗證對象產生的驗證使用案例具有統一的格式,所以本揭露實施例中提供的AI晶片驗證系統能夠適配驗證多種類別的神經網路。
在一些可選實施例中,所述預設使用案例模板包括下列
中的至少一項:指令流模板文件,包含所述驗證使用案例的指令流模板;初始化資料模板文件,包含所述驗證使用案例的初始化資料模板;寄存器配置模板文件,包含所述驗證使用案例的寄存器配置模板。
在一些可選實施例中,在所述基於待驗證對象的資訊和預設使用案例模板,產生所述待驗證對象的驗證使用案例之後,還包括:基於所述預設使用案例模板,將所述驗證使用案例驅動到所述待測晶片部件中,以由所述待測設計執行所述驗證使用案例。
在一些可選實施例中,所述預設使用案例模板包括:結果模板文件,包含所述驗證使用案例的輸出結果模板;在所述通過待測設計執行所述驗證使用案例,得到測試結果之後,還包括:基於所述結果模板文件,從所述待測晶片部件取樣所述測試結果,並將取樣得到的所述測試結果傳輸至所述比對部件。
在一些可選實施例中,所述基於待驗證對象的資訊和預設使用案例模板,產生所述待驗證對象的驗證使用案例,包括:獲取所述待驗證對象的參數文件,並通過解析所述待驗證對象的所述參數文件中包含的對象參數,產生所述待驗證對象的所述驗證使用案例。
在一些可選實施例中,所述參數文件包括:定點化參數文件和網路結構文件。
在一些可選實施例中,所述預設使用案例模板包括:參
考結果文件,包含所述驗證使用案例的參考結果。
在一些可選實施例中,所述基於待驗證對象的資訊和預設使用案例模板,產生所述待驗證對象的驗證使用案例,包括:獲取所述待驗證對象的配置文件,基於所述配置文件隨機產生待驗證對象的對象參數,並基於產生的所述對象參數,產生所述待驗證對象的所述驗證使用案例。
在一些可選實施例中,所述方法還包括:通過參考模型部件執行所述驗證使用案例,以得到對應的參考結果。
在一些可選實施例中,所述預設使用案例模板包括:調度核指令流模板文件,包含所述驗證使用案例的調度核指令流模板;所述方法還包括:基於所述調度核指令流模板文件,產生所述待測設計的調度核指令流;基於所述調度核指令流,產生所述待驗證對象的驗證使用案例;所述待測設計根據所述驗證使用案例中的所述調度核指令流,對所述驗證使用案例中的指令流進行處理。
在一些可選實施例中,所述方法還包括:獲取所述待測設計執行所述驗證使用案例的性能參數,並基於所述性能參數得到性能統計結果。
根據本揭露實施例的第三方面,提供一種電腦裝置,包括記憶體、處理器及儲存在記憶體上並可在處理器上運行的電腦程式,所述處理器執行所述電腦程式時實現第二方面中任一項所述的AI晶片驗證方法。
根據本揭露實施例的第四方面,提供一種電腦可讀儲存媒體,其上儲存有電腦程式,所述電腦程式被處理器執行時,促使所述處理器實現第二方面中任一所述的AI晶片驗證方法。
根據本揭露實施例的第五方面,提供一種電腦程式產品,包括電腦程式,所述電腦程式被處理器執行時,促使所述處理器實現第二方面中任一所述的AI晶片驗證方法。
應當理解的是,以上的一般描述和後文的細節描述僅是示例性和解釋性的,而非限制本揭露。
101:使用案例產生器
102:待側晶片部件
103:比對部件
301:環境驅動器
302:環境取樣器
401:定向產生器
501:隨機產生器
502:參考模型部件
601:調度指令編譯器
602:性能統計器
S101、S102、S103:步驟
此處的附圖被並入說明書中並構成本說明書的一部分,示出了符合本揭露的實施例,並與說明書一起用於解釋本揭露的原理。
圖1是根據一示例性實施例示出的一種AI晶片驗證系統示意圖。
圖2是根據一示例性實施例示出的一種預設使用案例模板示意圖。
圖3是根據另一示例性實施例示出的一種AI晶片驗證系統示意圖。
圖4是根據另一示例性實施例示出的一種預設使用案例模板示意圖。
圖5是根據又一示例性實施例示出的一種AI晶片驗證系統示
意圖。
圖6是根據再一示例性實施例示出的一種AI晶片驗證系統示意圖。
圖7是根據一示例性實施例示出的一種配置文件示意圖。
圖8是根據一示例性實施例示出的一種二級待測設計示意圖。
圖9是根據再一示例性實施例示出的一種AI晶片驗證系統示意圖。
圖10是根據一示例性實施例示出的一種AI晶片驗證方法流程圖。
這裏將詳細地對示例性實施例進行說明,其示例表示在附圖中。下面的描述涉及附圖時,除非另有表示,不同附圖中的相同數字表示相同或相似的要素。以下示例性實施例中所描述的具體方式並不代表與本揭露相一致的所有方案。相反,它們僅是與如所附請求項書中所詳述的、本揭露的一些方面相一致的裝置和方法的例子。
在本揭露使用的術語是僅僅出於描述特定實施例的目的,而非旨在限制本揭露。在本揭露和所附請求項書中所使用的單數形式的“一種”、“所述”和“該”也旨在包括多數形式,除非上下文清楚地表示其他含義。還應當理解,本文中使用的術語“和
/或”是指並包含一個或多個相關聯的列出項目的任何或所有可能組合。
應當理解,儘管在本揭露可能採用術語第一、第二、第三等來描述各種資訊,但這些資訊不應限於這些術語。這些術語僅用來將同一類型的資訊彼此區分開。例如,在不脫離本揭露範圍的情况下,第一資訊也可以被稱為第二資訊,類似地,第二資訊也可以被稱為第一資訊。取决於語境,如在此所使用的詞語“如果”可以被解釋成為“在……時”或“當……時”或“回應於確定”。
為了使本揭露提供的AI晶片驗證方案更加清楚,下面結合附圖和具體實施例對本揭露提供的方案執行過程進行詳細描述。
參見圖1,圖1是本揭露提供的實施例示出的一種AI晶片驗證系統的示意圖。其中,如圖1所示,該AI晶片驗證系統可以包括:使用案例產生器101、待測晶片部件102和比對部件103,其中,使用案例產生器101用於產生驗證使用案例,該驗證使用案例被輸入到待測晶片部件102中由待測設計進行處理,得到測試結果,該測試結果以及該測試結果對應的驗證使用案例被輸入到比對部件103進行處理,得到待測設計的驗證結果。
在一些例子中,在AI晶片驗證中,可以驗證新設計的AI晶片是否能夠實現神經網路模型中的某些操作(算子),比如神經網路中的卷積、池化等,能否用該AI晶片成功執行這些操作。
這種驗證神經網路模型中某些算子的情况,是將神經網路模型中的算子作為待驗證對象。在一些例子中,還可以驗證新設計的AI晶片是否能夠成功搭建完整的神經網路模型。這種驗證完整的神經網路模型的情况,是將整個神經網路模型作為了待驗證對象。其中,神經網路模型可以是用於圖像識別的神經網路,比如卷積神經網路,可以是用於語音識別的神經網路或者用於文本識別的神經網路,本揭露對此不進行限制。
如圖1所示的AI晶片驗證系統中,使用案例產生器101可以解析待驗證對象的資訊,得到用於產生該待驗證對象的驗證使用案例的參數。其中,待驗證對象的資訊例如可以參考待驗證對象的特徵,從待驗證對象的設計規範中提取。待驗證對象的資訊可以是定點化參數文件和網路結構文件中包含的參數資訊,也可以是對應該待驗證對象的配置文件中的參數資訊。定點化參數文件例如可以是針對AI網路的特性,將浮點參數進行定點化處理的參數。例如,將神經網路模型中的卷積操作作為待驗證對象,使用案例產生器101可以解析該卷積操作對應的定點化參數文件和網路結構文件中的參數資訊,得到用於產生該卷積操作的驗證使用案例的參數。或者,將完整的神經網路模型作為待驗證對象,使用案例產生器101可以解析該神經網路模型對應的定點化參數文件和網路結構文件,得到用於產生該神經網路模型的驗證使用案例的參數。
使用案例產生器101得到用於產生待驗證對象的驗證使
用案例的參數後,根據該參數並基於預設使用案例模板中定義的格式,產生待驗證對象的驗證使用案例。其中,預設使用案例模板定義了所要產生的驗證使用案例中資料的格式。例如,預設使用案例模板可以定義所要產生的驗證使用案例某一特定部分的資料的格式。具體的,預設使用案例模板可以定義所要產生的驗證使用案例中指令流資料和初始化資料的格式,也就是對特定部分(指令流資料和初始化資料)的格式進行定義。對於所要產生的驗證使用案例中特定部分之外的資料格式,預設使用案例模板可以根據具體情况來定義。或者,預設使用案例模板可以對所要產生的驗證使用案例的全部資料進行格式定義,本揭露實施例對此不作限制。
在一些可選實施例中,所述預設使用案例模板包括下列中的至少一項:指令流模板文件,包含所述驗證使用案例的指令流模板;初始化資料模板文件,包含所述驗證使用案例的初始化資料模板;寄存器配置模板文件,包含所述驗證使用案例的寄存器配置模板。
上述實施例中,使用案例產生器101可以根據預設使用案例模板中的各個模板文件,產生驗證使用案例中不同的資料。使用案例產生器101可以根據指令流模板文件中的指令流模板,產生該指令流模板定義格式的指令流;根據初始化資料模板文件中的初始化資料模板,產生該初始化資料模板定義格式的初始化資料;根據寄存器配置模板文件中的寄存器配置模板,產生該寄
存器配置模板定義格式的寄存器配置資料。使用案例產生器101根據預設使用案例模板定義的格式,產生待驗證對象的驗證使用案例。
示例性的,圖2示出一種預設使用案例模板。使用案例產生器101可以根據“指令流”模板文件產生驗證使用案例中的指令流;根據“圖片/權重資料”模板文件和初始化列表(Initial list)模板文件,產生驗證使用案例中的初始化資料:“圖片/權重資料”和“Initial list”資料;根據寄存器配置(Register config)模板文件,產生驗證使用案例中的寄存器配置資料。
使用案例產生器101產生驗證使用案例後,待測晶片部件102可以獲取驗證使用案例並由待測設計(Design Under Test,DUT)執行該驗證使用案例,得到測試結果。
在一些例子中,可以使用多個測試使用案例對待測晶片部件進行測試。多個測試使用案例中,可以有多個不同的指令流和/或不同的圖片/權重資料。
在一些可選實施例中,如圖3,所述系統還包括:環境驅動器301,用於基於所述預設使用案例模板,將所述驗證使用案例驅動到所述待測晶片部件102中,以由所述待測設計執行所述驗證使用案例。
在上述實施例中,可以由環境驅動器301解析驗證使用案例中的具體資料,對解析後的資料進行激勵驅動。比如,環境驅動器301可以將驗證使用案例中的指令流、初始化資料和寄存
器配置資料,將這些資料發送至和/或根據這些資料配置待測晶片部件102,從而待測設計可以執行該驗證使用案例。
以圖2所示的預設使用案例模板產生的驗證使用案例為例進行說明。環境驅動器301可以解析驗證使用案例中的初始化資料、指令流和寄存器配置資料,通過UVM(Universal Verification Methodology,通用驗證方法學)中的Driver組件對待測晶片部件102的四個部分進行激勵驅動。
第一部分:利用驗證使用案例中的寄存器配置資料對待測設計的寄存器進行配置。其中,寄存器配置操作需要嚴格遵循AHB(Advanced High performance Bus,高級高性能匯流排)和APB(Advanced Peripheral Bus,高級外圍匯流排)等介面協議。
第二部分:對待測設計所連接的外部儲存模型(如,vip model)進行初始化。其中,外部儲存模型的初始化需要利用vip backdoor技術對外部儲存模組使用的memory區域操作。
第三部分:對待測設計內部儲存模型(如,memory model)進行初始化。其中,DUT內部儲存模型的初始化需要封裝DUT memory函數,對內部共享儲存空間進行精確的地址寫入操作。
第四部分:將驗證使用案例中的指令流進行激勵驅動。利用UVM Driver的時序特性,將驗證使用案例指令流文件中的指令流按照規定的格式發送到DUT的指令介面上。
環境驅動器301將驗證使用案例的資料驅動到待測晶片部件102中,由待測設計執行所述驗證使用案例。該待測晶片部
件102中包括的待測設計,可以是待驗證的新設計的完整晶片,也可以是待驗證的組成完整晶片的新設計的某一部分電路和/或代碼,如完成某一特定功能的電路和/或代碼,本揭露不作限制。
待測晶片部件102中的待測設計執行驗證使用案例後,得到驗證使用案例對應的測試結果。比對部件103可以從待測晶片部件102中獲取待測設計執行驗證使用案例後的測試結果。
在一些可選實施例中,所述預設使用案例模板包括:結果模板文件,包含所述驗證使用案例的輸出結果模板。如圖3所示,所述系統還包括:環境取樣器302,用於基於所述結果模板文件,從所述待測晶片部件102取樣所述測試結果,並將取樣得到的所述測試結果傳輸至所述比對部件103。
參照圖5示例的預設使用案例模板,其中轉存文件列表(Dump list)模板文件可以作為結果模板文件,包含驗證使用案例的輸出結果模板。環境取樣器302可以根據“Dump list”模板文件中的輸出結果模板,從待測晶片部件102取樣待測設計執行驗證使用案例後得到的測試結果。
比如,環境取樣器302通過UVM中的Monitor組件進行擴展,自定義結果資料dump_data的取樣任務,按照DUT輸入/輸出介面中的時序要求,將外部儲存模型中的結果資料,取樣到臨時數組中。然後,根據結果模板文件中輸出結果模板的格式,比如根據“Dump list”模板文件的格式,將臨時數組儲存到文件中。其中取樣的結果資料包括AI網路的網路層級運算結果,取樣
條件是網路層結束的信號,如msg信號。
其中,圖3所示的AI晶片驗證系統中環境驅動器301和環境取樣器302是獨立於待測晶片部件102的,在其他可實現方式中,待測晶片部件102中也可以集成環境驅動器301和環境取樣器302,本揭露對此不進行具體限制。
比對部件103中用來與測試結果進行比對的參考結果,可以是比對部件103直接從驗證使用案例中獲取的結果資料,或者可以是驗證使用案例通過參考模型部件執行驗證使用案例後得到的結果資料。其中,參考模型部件是對待驗證AI晶片或待測設計的各功能進行驗證的模型,負責模擬待測設計DUT的邏輯行為。例如,可以用System C編碼模型來實現參考模型部件,該參考模型部件可以負責產生用於比對的金(Golden)結果,在產生Golden結果時要保證和環境取樣器採集資料的一致性。在一些可實現的方式中,參考模型部件可以是單獨的一個組件。
在一些可實現的方式中,比對部件103負責將環境取樣器302的測試結果和該驗證使用案例對應的參考結果,進行正確性比對,且支持多種形式的結果資料比對。比如,支持DUT內部儲存結果資料的比對;支持外部儲存模型中的網路結果進行比對。可以在網路的每個網路層結束時進行資料比對,比對每一層的資料結果;可以在驗證使用案例執行結束時比對所有網路層的資料結果。從而,研發人員可以根據該驗證結果對當前驗證的待測設計進行針對性的修改。
本揭露實施例中,根據預先定義格式的預設使用案例模板產生驗證使用案例,使得不同類別的神經網路對應的待驗證對象產生的驗證使用案例具有統一的格式,所以本揭露實施例中提供的AI晶片驗證系統能夠適配驗證多種類別的神經網路。
在一些可選實施例中,如圖5所示,本揭露又實施例中提供了一種AI晶片驗證系統,該系統中的使用案例產生器101包括定向產生器401。定向產生器401可以獲取待驗證對象的參數文件,解析待驗證對象的參數文件中包含的待驗證對象的對象參數,產生待驗證對象的驗證使用案例。其中,參數文件中的對象參數,是產生待驗證對象的驗證使用案例時定向產生器401所需要的參數。比如,參數文件可以是定點化參數文件或網路結構文件中的一個或多個,或者可以是其他包含對象參數的參數文件,本揭露實施例不作限制。
以參數文件包括定點化參數文件和網路結構文件兩個文件為例,定向產生器401可以獲取待驗證對象的定點化參數文件和網路結構文件,解析兩個文件中包含的對象參數,基於對象參數產生待驗證對象的驗證使用案例。
具體的,以C++作為編程語言為例進行說明。定向產生器401可以解析神經網路模型的定點化參數文件和網路結構文件,根據解析得到的對象參數調用Printf函數產生指令流。定向產生器401基於產生的指令流,按照預設使用案例模板中的指令流模板定義的格式,產生驗證使用案例的指令流;進一步的,根據預
設使用案例模板中的其他模板文件,產生驗證使用案例中的其他資料,從而得到完整的驗證使用案例。可以通過環境驅動器301(圖5未示出),將驗證使用案例的資料驅動到待測晶片部件102,由待測設計DUT執行驗證使用案例。通過環境取樣器302(圖5未示出)取樣得到驗證使用案例對應的測試結果。相關具體過程與前述實施例中相關描述類似,在此不再贅述。
本揭露實施例中,定向產生器401產生的驗證使用案例中可以包含該驗證使用案例的參考結果。對應的,預設使用案例模板中包括:參考結果文件,包含驗證使用案例的參考結果。以圖4所示的預設使用案例模板為例,其中“層級資料”模板文件可以作為參考結果文件,包含定向產生器401產生的該驗證使用案例的參考結果。這樣,比對部件103可以直接從驗證使用案例中獲取參考結果,並將參考結果與從待測晶片部件102獲得的測試結果進行比對。
在另一種可實現的方式中,定向產生器401在產生驗證使用案例時,不論產生或不產生該驗證使用案例的參考結果,都可以通過參考模型部件執行該驗證使用案例得到參考結果,由參考模型部件將參考結果傳輸至比對部件103。其中,參考模型部件是對待驗證晶片或待測設計的各功能進行驗證的模型,負責模擬待測設計DUT的邏輯行為。
本實施例的AI晶片驗證方法,比對部件可以直接從驗證使用案例中獲取該驗證使用案例的參考結果,不需要參考模型部
件執行驗證使用案例,提高了比對裝置的執行效率,從而提高了對待測設計的驗證效率。
在一些可選實施例中,定向產生器401可以產生神經網路模型中某一層或某幾層作為待驗證對象的驗證使用案例。比如,可以產生卷積神經網路模型中某一卷積層作為待驗證對象的驗證使用案例。神經網路模型中某一層或某幾層作為待驗證對象,可以稱為層級驗證對象。
以圖5所示的AI晶片驗證系統為例,在支持層級驗證時,定向產生器401可以解析神經網路模型中目標網路層對應的參數文件,根據預設使用案例模板定義的格式,產生目標網路層作為層級驗證對象的驗證使用案例。其中,目標網路層可以是神經網路模型中的待驗證的某一個或多個網路層,比如某一個卷積層、池化層,或者也可以是多個卷積層、多個全連接層等。
具體的,比如要對卷積神經網路模型中的某一卷積層進行驗證,以測試待測設計是否能夠成功執行該卷積層的運算。本揭露實施例中,定向產生器401通過解析該神經網路模型中該卷積層對應的定點化參數文件和網路結構文件,基於預設使用案例模板定義的格式,產生該卷積層作為層級驗證對象的驗證使用案例。
本揭露實施例中,定向產生器401還可以產生某一完整神經網路模型作為待驗證對象的驗證使用案例。比如,可以產生卷積神經網路模型對應的驗證使用案例。這種將整個神經網路模
型作為待驗證對象,可以稱為網路級驗證對象。
具體的,比如要對用於圖像識別的卷積神經網路模型進行驗證,以測試待測設計是否能夠完整執行該卷積神經網路模型中的運算。本揭露實施例中,定向產生器401通過解析該卷積神經網路模型對應的定點化參數文件和網路結構文件,基於預設使用案例模板定義的格式,產生該卷積神經網路模型作為網路級驗證對象的驗證使用案例。
本揭露實施例提供的AI晶片驗證方法,能夠對神經網路模型的層級進行驗證,還能夠對整個神經網路模型進行驗證,提高了待測設計對神經網路的驗證深度和靈活性。從而,更精准定位晶片研發中產生的缺陷(Bug)並修正,加快晶片驗證收斂。
在一些可選實施例中,如圖6所示,本揭露再一實施例中提供了一種AI晶片驗證系統,該系統中使用案例產生器101中包括隨機產生器501,驗證使用案例與比對裝置103之間還包括參考模型部件502。其中,參考模型部件502是對待驗證AI晶片或待測設計的各功能進行驗證的模型,負責模擬待測設計DUT的邏輯行為。例如,用System C編碼模型來實現,負責產生用於比對的Golden結果,在產生Golden結果時要保證和環境取樣器採集資料的一致性。
本實施例中,隨機產生器501可以獲取待驗證對象的配置文件,基於配置文件中的參數利用隨機化技術,產生待驗證對象的對象參數,利用隨機產生的對象參數產生驗證使用案例。其
中,配置文件是驗證人員針對待驗證的待測設計配置的文件,比如驗證人員可以利用表格工具,如Excel,產生參數配置的表格文件。如圖7示例了一種表格配置文件。
隨機產生器501可以解析配置文件,利用配置文件配置的參數,隨機產生待驗證對象的對象參數和/或改對象參數的數值。例如,利用SystemVerilog語言的random constraint技術,隨機化產生源操作數範圍、源操作數地址、目標操作數範圍、目標操作數地址和算子的計算參數等。以圖7示例的配置文件為例,隨機產生器501可以解析表格配置文件中case-1中的n個參數,利用random constraint技術隨機產生這n個參數中的一部分參數和/或這部分參數的數值。其中,“一部分參數”可以是n個參數中的一個,也可以是n個參數中的幾個,對此本揭露實施例不作限制。經過隨機化以後,得到多組不同於case-1中的參數和/或參數值,作為待驗證對象的對象參數,隨機產生器501可以基於這些隨機產生的對象參數和/或參數值產生驗證使用案例。
圖7示例了驗證人員針對待驗證的神經網路模型和待測設計配置的表格配置文件,該配置文件中包括產生多個特定驗證使用案例的參數和/或參數值。比如序號1所在行,包括case-1的n個參數:param-1-1‥‥param-1-n,相應的case-2、case-3……case-n等均由n個參數組成。每一個case中的n個配置參數及其參數值,對應該case的一個特定驗證使用案例。隨機產生器501可以利用隨機化技術,在特定驗證使用案例的基礎上,產生覆蓋範圍更廣
的驗證使用案例。
隨機產生器501在產生驗證使用案例的過程中,由於使用隨機技術產生待驗證對象的對象參數和/或參數的數值,所以產生的驗證使用案例的參考結果未知。所以,本揭露實施例中,如圖6所示的AI晶片驗證系統包括參考模型部件502。其中,參考模型部件502用於執行隨機產生器501產生的驗證使用案例,以獲得該驗證使用案例的參考結果。參考模型部件502是對待驗證晶片或待測設計的各功能進行驗證的模型,負責模擬待測設計DUT的邏輯行為。例如,用System C編碼模型來實現,負責產生用於比對的Golden結果,在產生Golden結果時要保證和環境取樣器採集資料的一致性。對於不同的待測晶片部件102,可以有不同的參考模型部件502。
上述實施例中,隨機產生器501根據配置文件,基於特定驗證使用案例,利用隨機技術產生不同的驗證使用案例,使得驗證場景覆蓋更全面,有效提升了驗證完備性。
圖6所示的AI晶片驗證系統中,使用案例產生器101中只包括隨機產生器501。在其他可實現的方式中,使用案例產生器101中可以同時包括定向產生器401和隨機產生器501。圖5和圖6所示的AI晶片驗證系統,為便於實施例描述清晰,將兩者進行分別示出,並不進行任何形式限制。
對於定向產生器401產生的測試使用案例,可以使用參考模型部件502執行該測試使用案例,以獲得該驗證使用案例的
參考結果;也可以不使用參考模型部件502,而直接使用定向產生器401產生的該驗證使用案例的參考結果。
在AI晶片驗證過程中,可以將待驗證的待測設計分為1級DUT和2級DUT。參照圖8,2級DUT在1級DUT的基礎上增加了調度核。其中,1級DUT可以執行驗證使用案例中的指令流。2級DUT中的調度核可以執行調度核指令流,以對驗證使用案例中的指令流進行搬運、調度、控制和分發,提高待測設計的靈活性。
以圖4的預設使用案例模板產生的驗證使用案例為例。1級DUT可以直接執行驗證使用案例中根據指令流模板文件產生的指令流;2級DUT中的調度核可以執行驗證使用案例中根據調度核指令流模板文件產生的調度核指令流,對該驗證使用案例中的指令流進行搬運、調度、控制和分發。在以上實施例中提供的使用案例產生器(包括隨機產生器和定向產生器),由於不能產生“調度核指令流”,所以只能產生對應1級DUT的驗證使用案例。
如圖9所示,本揭露再一實施例中提供了一種AI晶片驗證系統。對應2級DUT,該AI晶片驗證系統還包括調度指令編譯器601。調度指令編譯器601可以對指令控制流進行編譯,得到2級DUT中調度核可執行的調度核指令流。其中,指令控制流是以某種編程語言描述的用於控制驗證使用案例中指令流的指令。比如,調度指令編譯器601,對以C語言代碼描述的指令控制流進
行編譯,輸出2級DUT中調度核可執行的二進制彙編文件,即得到調度核指令流。
對應圖9所示的AI晶片驗證系統,預設使用案例模板可以包括:調度核指令流模板文件,其中包含驗證使用案例的調度核指令流模板。調度指令編譯器601對指令控制流進行編譯,根據調度核指令流模板定義的格式,產生驗證使用案例中的調度核指令流。以圖4所示的預設使用案例模板為例。使用案例產生器101還可以根據“調度核指令流模板文件”之外的其他模板文件,產生2級驗證使用案例中“調度核指令流”之外的其他資料,從而產生對應2級DUT的完整驗證使用案例。
本揭露實施例中的AI晶片驗證系統,相比於對應1級DUT的AI晶片驗證系統,只是增加了調度指令編譯器601,複用了針對1級DUT的AI晶片驗證系統的其他模組。减少了晶片驗證工作量,提高了對待測設計的驗證效率,節省驗證資源。
在一些可選實施例中,如圖9所示,該AI晶片驗證系統還包括與待測晶片部件102連接的性能統計器602。可以理解的是,這只是一種示例性的AI晶片驗證系統的具體結構,還可以是其他的結構形式,比如,在前述圖1、圖3、圖5或圖6所述的驗證1級DUT的系統中,也可以增加性能統計器602。本揭露實施例中,性能統計器602可以從待測晶片部件102中獲取待測設計執行驗證使用案例的性能參數,基於獲得的性能參數進行性能統計。
在一些可實現的方式中,性能統計器602可以統計待測
設計執行驗證使用案例的時間。例如,性能統計器602可以以複位信號的觸發,例如複位信號從低電平變為高電平,為起點,對神經網路模型的每一層(layer)運算的時間進行統計,或者對神經網路模型整個執行時間進行統計。
例如,待測設計執行的驗證使用案例是層級驗證對象的驗證使用案例,則性能統計器602可以對神經網路模型中與驗證使用案例對應的網路層在待測設計中執行的時間進行統計,比如對卷積層在待測設計中的運算時間進行統計。例如,待測設計執行的驗證使用案例是整個神經網路模型對應的驗證使用案例,則性能統計器602可以對待測設計運算整個神經網路模型的時間進行統計,比如對整個卷積神經網路模型在待測設計中的運算進行時間統計。
在一些可實現的方式中,性能統計器602還可以統計出待測設計的實際帶寬。具體的,性能統計器602可以統計待測設計中所有介面的讀寫資料量,結合統計的待測設計對應該讀寫資料量的運算時間,計算出待測設計的實際帶寬,如待測設計的AHB和APB的匯流排帶寬。例如,待測設計執行的是針對層級的級驗證使用案例,則性能統計器602可以計算待測設計執行神經網路模型對應網路層的實際帶寬。比如,待測設計執行卷積層的驗證使用案例的實際帶寬。例如,待測設計執行的是針對網路級的驗證使用案例,則性能統計器602可以計算待測設計執行整個神經網路模型的實際帶寬。比如,待測設計執行整個卷積神經網路的
實際帶寬。
上述實施例中,AI晶片驗證系統中增加了性能統計器,可以對待測設計執行驗證使用案例的時間和帶寬等性能參數進行統計。並且,性能統計器能夠對待測設計執行神經網路模型的層級的驗證使用案例的運算時間和帶寬進行統計,也能夠對待測設計執行整個神經網路模型的網路級的驗證使用案例的運算時間和帶寬進行統計,豐富了對待測設計驗證的性能統計。
在上述實施例中,AI晶片驗證系統可以全部或部分地通過軟體、硬體、固件或者其任意組合來實現。例如,上面各部件的功能對應的代碼可以通過SystemVerilog語言實現,並將代碼儲存在伺服器的記憶體中,當驗證待測晶片部件時,在伺服器的處理器上運行該代碼,從而完成對待測晶片部件的驗證。又例如,上面各部件可以以電路的形式實現,如被一個或多個應用專用集成電路(ASIC)、數字信號處理器(DSP)、可編程邏輯器件(PLD)、現場可編程門陣列(FPGA)、控制器、微控制器、微處理器或其他電子元件實現。再例如,當使用軟體實現時,可以全部或部分地以電腦程式產品的形式實現。
在一些可選實施例中,如圖10所示,本揭露的實施例示出了一種AI晶片驗證方法。本揭露實施列提供的AI晶片驗證方法或AI晶片驗證系統,可應用在進行AI晶片驗證的伺服器、終端設備或其他類型的電子設備中。如圖10所示的AI晶片驗證流程包括以下步驟。
步驟S101,基於待驗證對象的資訊和預設使用案例模板,產生所述待驗證對象的驗證使用案例,其中,所述驗證使用案例滿足所述預設使用案例模板定義的格式,所述待驗證對象包括神經網路模型中的目標算子或者神經網路模型。
本步驟中,可以解析待驗證對象的資訊,得到用於產生該驗證對象的驗證使用案例的參數。其中,待驗證對象可以是神經網路模型中的算子,或者可以是整個神經網路模型。待驗證對象的資訊可以是定點化參數文件和網路結構文件中包含的參數資訊,或者可以是對應該驗證對象的配置文件中的參數資訊。
在得到用於產生驗證對象的驗證使用案例的參數後,根據產生的參數並基於預設使用案例模板中定義的格式,產生待驗證對象的驗證使用案例。其中,預設使用案例模板定義了所要產生的驗證使用案例中資料的格式,具體描述可以參見驗證系統部分實施例的相關描述。
在一些可實現的方式中,可以獲取待驗證對象的參數文件,解析待驗證對象的參數文件中包含的對象參數,產生待驗證對象的驗證使用案例。其中,相關描述可以參見驗證系統實施例相關部分描述。這種實現方式,可以在驗證使用案例中產生對應的參考結果,不需要參考模型部件執行驗證使用案例得到,提高了對待測設計驗證的效率。並且,能夠對神經網路模型的層級進行驗證,對整個神經網路模型進行驗證,提高待測設計對神經網路的驗證深度和靈活性。
在其他可實現的方式中,可以獲取待驗證對象的配置文件,基於配置文件中的參數利用隨機化技術,隨機產生待驗證對象的對象參數,利用隨機產生的對象參數產生驗證使用案例。相關具體描述同樣可以參見本揭露驗證系統實施例的相關部分的描述。該實現方式,基於特定驗證使用案例,利用隨機技術產生不同的驗證使用案例,使得驗證場景覆蓋更全面,有效提升了驗證完備性。
步驟S102,通過待測設計執行所述驗證使用案例,得到測試結果。
在產生待驗證對象的驗證使用案例後,可以通過待測設計來執行該驗證使用案例,得到執行後的測試結果。其中,待測設計可以包括在待測晶片部件中,並且基於預設使用案例模板,通過環境驅動器將驗證使用案例的資料驅動到待測晶片部件中由待測設計執行。待測設計執行驗證使用案例後,可以由環境取樣器從待測晶片部件中取樣該驗證使用案例執行後的測試結果。相關描述與本揭露中驗證系統實施例的相關描述一致,在此不再贅述。
步驟S103,將所述測試結果與所述驗證使用案例對應的參考結果進行比對,獲得所述待測設計對所述待驗證對象的驗證結果。
本步驟中與驗證使用案例的測試結果進行比對的參考結果,可以是驗證使用案例中已經存在的結果資料,或者可以是通
過參考模型部件執行驗證使用案例後得到的結果資料。其中,參考模型部件是對待驗證AI晶片或待測設計的各功能進行驗證的模型,負責模擬待測設計DUT的邏輯行為。
本揭露實施例中,利用預設使用案例模板預先定義驗證使用案例的格式,不同類別的神經網路對應的待驗證對象產生的驗證使用案例具有統一的格式,所以該AI晶片驗證方法可以適配驗證多種類別的神經網路。
在一些可選實施例中,可以對指令控制流進行編譯,得到2級DUT中調度核可執行的調度核指令流。對應的預設使用案例模板包括:調度核指令流模板文件,其中包含驗證使用案例的調度核指令流模板。
具體的,可以對指令控制流進行編譯,根據調度核指令流模板定義的格式,產生驗證使用案例中的調度核指令流。然後根據“調度核指令流模板文件”之外的其他模板文件,產生2級驗證使用案例中“調度核指令流”之外的其他資料,從而產生對應2級DUT的完整驗證使用案例。待測設計根據包括2級DUT的驗證使用案例中的調度核指令流,對該驗證使用案例中的指令流進行處理。這種產生2級DUT驗證使用案例的方法,可以複用產生1級DUT驗證使用案例的模組,减少晶片驗證的工作量,提高驗證效率。
在一些可選實施例中,可以獲取待測設計執行驗證使用案例的性能參數,基於獲得的性能參數進行性能統計。比如,統
計待測設計執行驗證使用案例的時間,可以統計出待測設計的實際帶寬。具體的統計過程可以參見驗證系統實施例相關部分的描述,在此不再描述。本實施例的性能統計,可以對對待測設計執行神經網路模型的層級的驗證使用案例的運算時間和帶寬進行統計,也能夠對待測設計執行整個神經網路模型的網路級的驗證使用案例的運算時間和帶寬進行統計,豐富了對待測設計驗證的性能統計。
本揭露還提供了一種電腦裝置,包括記憶體、處理器及儲存在記憶體上並可在處理器上運行的電腦程式,所述處理器執行所述電腦程式時能夠實現本揭露任一實施例的AI晶片驗證方法。
本揭露還提供了一種電腦可讀儲存媒體,其上儲存有電腦程式,所述電腦程式被處理器執行時,促使所述處理器實現本揭露任一實施例的AI晶片驗證方法。
其中,所述非臨時性電腦可讀儲存媒體可以是ROM、CD-ROM、磁帶、軟盤和光資料儲存設備等,本揭露並不對此進行限制。
本揭露還提供了一種電腦程式產品,包括電腦程式,所述電腦程式被處理器執行時實現本揭露任一實施例的AI晶片驗證方法。
本領域技術人員在考慮說明書及實踐這裏申請的發明後,將容易想到本揭露的其它實施方案。本揭露旨在涵蓋本揭露的任
何變型、用途或者適應性變化,這些變型、用途或者適應性變化遵循本揭露的一般性原理並包括本揭露未申請的本技術領域中的公知常識或慣用技術手段。說明書和實施例僅被視為示例性的,本揭露的真正範圍和精神由下面的請求項指出。
應當理解的是,本揭露並不局限於上面已經描述並在附圖中示出的精確結構,並且可以在不脫離其範圍進行各種修改和改變。本揭露的範圍僅由所附的請求項來限制。
以上所述僅為本揭露的較佳實施例而已,並不用於限制本揭露,凡在本揭露的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本揭露保護的範圍之內。
101:使用案例產生器
102:待側晶片部件
103:比對部件
Claims (12)
- 一種人工智能AI晶片驗證系統,其特徵在於,所述系統包括:使用案例產生器,用於基於待驗證對象的資訊和預設使用案例模板,產生所述待驗證對象的驗證使用案例,其中,所述驗證使用案例滿足所述預設使用案例模板定義的格式,所述待驗證對象包括神經網路模型中的目標算子或者神經網路模型;待測晶片部件,連接所述使用案例產生器,用於通過待測設計執行所述驗證使用案例,得到測試結果;比對部件,連接所述待測晶片部件,用於將所述測試結果與所述驗證使用案例對應的參考結果進行比對,獲得所述待測設計對所述待驗證對象的驗證結果,其中,所述使用案例產生器包括:隨機產生器,用於獲取所述待驗證對象的配置文件,基於所述配置文件隨機產生所述待驗證對象的對象參數,並基於產生的所述對象參數,產生所述待驗證對象的所述驗證使用案例。
- 根據請求項1所述的系統,其特徵在於,所述預設使用案例模板包括下列中的至少一項:指令流模板文件,包含所述驗證使用案例的指令流模板;初始化資料模板文件,包含所述驗證使用案例的初始化資料模板;寄存器配置模板文件,包含所述驗證使用案例的寄存器配置 模板。
- 根據請求項1或2中所述的系統,其特徵在於,所述系統還包括:環境驅動器,連接所述使用案例產生器和所述待測晶片部件,用於基於所述預設使用案例模板,將所述驗證使用案例驅動到所述待測晶片部件中,以由所述待測設計執行所述驗證使用案例。
- 根據請求項1或2所述的系統,其特徵在於,所述預設使用案例模板包括:結果模板文件,包含所述驗證使用案例的輸出結果模板;所述系統還包括:環境取樣器,連接所述待測晶片部件和所述比對部件,用於基於所述結果模板文件,從所述待測晶片部件取樣所述測試結果,並將取樣得到的所述測試結果傳輸至所述比對部件。
- 根據請求項1或2所述的系統,其特徵在於,所述使用案例產生器包括:定向產生器,用於獲取所述待驗證對象的參數文件,並通過解析所述待驗證對象的所述參數文件中包含的對象參數,產生所述待驗證對象的所述驗證使用案例,其中,所述參數文件包括:定點化參數文件和網路結構文件。
- 根據請求項5所述的系統,其特徵在於,所述預設使用案例模板包括:參考結果文件,包含所述驗證使用案例對應的參考結果; 所述比對部件進行比對所利用的所述參考結果是從所述預設使用案例模板中獲取的。
- 根據請求項1或2所述的系統,其特徵在於,所述系統還包括:參考模型部件,連接所述使用案例產生器和所述比對部件,用於執行所述使用案例產生器產生的所述驗證使用案例,以得到所述驗證使用案例對應的參考結果。
- 根據請求項1或2所述的系統,其特徵在於,所述預設使用案例模板包括:調度核指令流模板文件,包含所述驗證使用案例的調度核指令流模板;所述系統還包括:調度指令編譯器,連接所述使用案例產生器、所述待測晶片部件和所述比對部件,用於基於所述調度核指令流模板文件,產生所述待測設計的調度核指令流,其中,所述待測設計的調度核指令流包括在所述驗證使用案例中;所述待測設計根據所述驗證使用案例中的所述調度核指令流,對所述驗證使用案例中的指令流進行處理。
- 根據請求項1或2所述的系統,其特徵在於,所述系統還包括:性能統計器,與所述待測晶片部件連接,用於獲取所述待測設計執行所述驗證使用案例的性能參數,並基於所述性能參數得到性能統計結果。
- 一種AI晶片驗證方法,其特徵在於,所述方法包括:基於待驗證對象的資訊和預設使用案例模板,產生所述待驗證對象的驗證使用案例,其中,所述驗證使用案例滿足所述預設使用案例模板定義的格式,所述待驗證對象包括神經網路模型中的目標算子或者神經網路模型;通過待測設計執行所述驗證使用案例,得到測試結果;將所述測試結果與所述驗證使用案例對應的參考結果進行比對,獲得所述待測設計對所述待驗證對象的驗證結果,其中,所述基於待驗證對象的資訊和預設使用案例模板,產生所述待驗證對象的驗證使用案例包括:獲取所述待驗證對象的配置文件,並基於所述配置文件隨機產生所述待驗證對象的對象參數;基於產生的所述對象參數,產生所述待驗證對象的所述驗證使用案例。
- 一種電腦裝置,包括記憶體、處理器及儲存在記憶體上並可在處理器上運行的電腦程式,其特徵在於,所述處理器執行所述電腦程式時實現請求項10所述的方法。
- 一種電腦可讀儲存媒體,其上儲存有電腦程式,其特徵在於,所述電腦程式被處理器執行時,促使所述處理器實現請求項10所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010476115.3A CN113742202A (zh) | 2020-05-29 | 2020-05-29 | Ai芯片验证系统、方法、设备及存储介质 |
CN202010476115.3 | 2020-05-29 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202145046A TW202145046A (zh) | 2021-12-01 |
TWI778473B true TWI778473B (zh) | 2022-09-21 |
Family
ID=78724695
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW109145251A TWI778473B (zh) | 2020-05-29 | 2020-12-21 | 人工智能晶片驗證系統、方法,設備及儲存媒體 |
Country Status (5)
Country | Link |
---|---|
JP (1) | JP7270764B2 (zh) |
KR (1) | KR20210149045A (zh) |
CN (1) | CN113742202A (zh) |
TW (1) | TWI778473B (zh) |
WO (1) | WO2021238006A1 (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116302721A (zh) * | 2021-12-20 | 2023-06-23 | 瑞昱半导体股份有限公司 | 芯片设计验证系统与方法及计算机可读取记录介质 |
CN114912413A (zh) * | 2022-04-29 | 2022-08-16 | 上海阵量智能科技有限公司 | 芯片验证方法及平台 |
CN114996076B (zh) * | 2022-07-01 | 2023-02-07 | 北京联盛德微电子有限责任公司 | 一种用于芯片仿真的遍历型用例验证方法、系统及电子设备 |
CN115047323B (zh) * | 2022-08-17 | 2022-10-25 | 中诚华隆计算机技术有限公司 | 用于芯片的智能测试方法及系统 |
CN115794503A (zh) * | 2022-09-30 | 2023-03-14 | 湖南智存合壹信息科技有限公司 | 一种基于国产cpu主板的高性能测试装置及方法 |
CN115495388B (zh) * | 2022-11-17 | 2023-03-10 | 瀚博半导体(上海)有限公司 | 用于ai推理芯片的芯片验证方法、装置、设备及介质 |
CN115879409B (zh) * | 2022-12-02 | 2023-09-19 | 南京金阵微电子技术有限公司 | 验证方法、验证装置、介质及电子设备 |
CN115792580B (zh) * | 2023-01-30 | 2023-05-12 | 北京怀美科技有限公司 | 芯片检测系统及可编辑芯片检测系统 |
CN116431421B (zh) * | 2023-06-13 | 2023-08-29 | 成都登临科技有限公司 | 神经网络生成方法及生成器、验证方法及系统、存储介质 |
KR102662404B1 (ko) * | 2023-07-22 | 2024-04-29 | 주식회사 플랜터 | 인공지능 기반 다목적 지능형 반도체 시스템 |
CN117034824A (zh) * | 2023-08-25 | 2023-11-10 | 广州市粤港澳大湾区前沿创新技术研究院 | 复用测试用例和验证环境的仿真验证系统、方法、终端及介质 |
CN117056897B (zh) * | 2023-10-13 | 2023-12-26 | 沐曦集成电路(上海)有限公司 | 用于芯片验证的配置信息处理方法、电子设备和介质 |
CN117743194B (zh) * | 2024-02-19 | 2024-05-07 | 睿思芯科(深圳)技术有限公司 | 芯片验证用例的自动化生成方法、系统及相关设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200745895A (en) * | 2006-06-07 | 2007-12-16 | Powerchip Semiconductor Corp | Method and system for virtual metrology prediction and prediction model building in semiconductor manufacture |
CN100389399C (zh) * | 2006-11-20 | 2008-05-21 | 北京中星微电子有限公司 | 一种芯片验证的方法及系统 |
CN102402628A (zh) * | 2010-09-07 | 2012-04-04 | 无锡中星微电子有限公司 | 一种生成SoC验证平台的方法及系统 |
US20190340372A1 (en) * | 2018-04-16 | 2019-11-07 | Lexmark International, Inc. | Methods for Restricting Read Access to Supply Chips |
CN111178512A (zh) * | 2019-12-31 | 2020-05-19 | 中国科学院自动化研究所南京人工智能芯片创新研究院 | 器件运行神经网络的测试方法及装置 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080115114A1 (en) * | 2006-11-10 | 2008-05-15 | Sashank Palaparthi | Automated software unit testing |
CN102109572B (zh) * | 2009-12-23 | 2014-12-31 | 中兴通讯股份有限公司 | 一种传输芯片的测试方法及测试控制方法 |
US9448917B2 (en) * | 2014-04-09 | 2016-09-20 | Samsung Electronics Co., Ltd. | System on chip and verification method thereof |
CN104268078B (zh) * | 2014-09-23 | 2017-03-15 | 北京控制工程研究所 | 一种基于参数化ip测试用例集合的芯片自动化验证方法 |
CN104486169B (zh) * | 2015-01-07 | 2018-07-20 | 北京华力创通科技股份有限公司 | 可重用自动检测及随机验证系统和方法 |
US11282695B2 (en) * | 2017-09-26 | 2022-03-22 | Samsung Electronics Co., Ltd. | Systems and methods for wafer map analysis |
CN109086199B (zh) * | 2018-06-22 | 2022-06-07 | 网宿科技股份有限公司 | 一种自动化生成测试脚本的方法、终端和可存储介质 |
US20200042419A1 (en) * | 2018-07-31 | 2020-02-06 | Alibaba Group Holding Limited | System and method for benchmarking ai hardware using synthetic ai model |
CN109634843B (zh) * | 2018-10-31 | 2021-09-21 | 中国科学院软件研究所 | 一种面向ai芯片平台的分布式自动化软件测试方法及平台 |
CN110489344A (zh) * | 2019-08-02 | 2019-11-22 | Oppo广东移动通信有限公司 | 引擎测试方法及相关产品 |
CN111045880A (zh) * | 2019-12-17 | 2020-04-21 | 湖南长城银河科技有限公司 | 芯片测试方法、验证系统及存储介质 |
CN110941519B (zh) * | 2019-12-17 | 2022-12-13 | 锐捷网络股份有限公司 | 一种网络设备的芯片测试方法及装置 |
-
2020
- 2020-05-29 CN CN202010476115.3A patent/CN113742202A/zh active Pending
- 2020-09-30 JP JP2021557138A patent/JP7270764B2/ja active Active
- 2020-09-30 KR KR1020217031299A patent/KR20210149045A/ko not_active Application Discontinuation
- 2020-09-30 WO PCT/CN2020/119406 patent/WO2021238006A1/zh active Application Filing
- 2020-12-21 TW TW109145251A patent/TWI778473B/zh active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200745895A (en) * | 2006-06-07 | 2007-12-16 | Powerchip Semiconductor Corp | Method and system for virtual metrology prediction and prediction model building in semiconductor manufacture |
CN100389399C (zh) * | 2006-11-20 | 2008-05-21 | 北京中星微电子有限公司 | 一种芯片验证的方法及系统 |
CN102402628A (zh) * | 2010-09-07 | 2012-04-04 | 无锡中星微电子有限公司 | 一种生成SoC验证平台的方法及系统 |
US20190340372A1 (en) * | 2018-04-16 | 2019-11-07 | Lexmark International, Inc. | Methods for Restricting Read Access to Supply Chips |
CN111178512A (zh) * | 2019-12-31 | 2020-05-19 | 中国科学院自动化研究所南京人工智能芯片创新研究院 | 器件运行神经网络的测试方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113742202A (zh) | 2021-12-03 |
JP2022537620A (ja) | 2022-08-29 |
WO2021238006A1 (zh) | 2021-12-02 |
TW202145046A (zh) | 2021-12-01 |
JP7270764B2 (ja) | 2023-05-10 |
KR20210149045A (ko) | 2021-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI778473B (zh) | 人工智能晶片驗證系統、方法,設備及儲存媒體 | |
CN111428462B (zh) | 通讯协议模板构建的方法及终端设备 | |
US8984349B2 (en) | Method and system for automating the process of testing a device | |
US6816814B2 (en) | Method and apparatus for decomposing and verifying configurable hardware | |
CN109933529B (zh) | 基于计算单元的验证方法及验证平台 | |
US20080209405A1 (en) | Distributed debugging for a visual programming language | |
US10002069B2 (en) | Automated testing of application program interface | |
US9857422B2 (en) | Methods and systems for generating functional test patterns for manufacture test | |
EP3602306B1 (en) | Automated device test triaging system and techniques | |
CN111782207A (zh) | 任务流代码生成方法、装置、设备及存储介质 | |
WO2020037475A1 (zh) | 一种调试应用程序的方法及设备 | |
US9690681B1 (en) | Method and system for automatically generating executable system-level tests | |
CN102147831A (zh) | 逻辑验证方法和装置 | |
CN112286750A (zh) | 一种gpio验证方法、装置、电子设备和介质 | |
CN112860587B (zh) | Ui自动测试方法和装置 | |
CN108984350B (zh) | 一种中断处理功能验证系统和方法 | |
CN116450431A (zh) | Cpu参考模型的指令功能测试系统及其方法、计算机设备和存储介质 | |
CN116629173A (zh) | 网络芯片的验证方法、装置、计算机设备及存储介质 | |
US11960385B2 (en) | Automatic generation of integrated test procedures using system test procedures | |
CN115562931A (zh) | 处理器调试模块验证方法、装置、电子设备和存储介质 | |
US9600613B1 (en) | Block-level code coverage in simulation of circuit designs | |
CN117112447B (zh) | 一种数据传输方法、装置、电子设备及可读存储介质 | |
CN110988661A (zh) | 一种fpga原型验证开发板时分分析系统、方法、介质及终端 | |
CN117331565B (zh) | 软件生成方法、装置、计算机设备及存储介质 | |
CN117785593B (zh) | 一种基于UVM的xHCI驱动的实现系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GD4A | Issue of patent certificate for granted invention patent |