專利名稱:一種用以處理自然語言斷言的系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本實(shí)用新型涉及自然語言斷言(natural language assertions),特別地,涉及一 種用以處理自然語言斷言的系統(tǒng),其可以自動(dòng)分析自然語言斷言,并將它們轉(zhuǎn)換為驗(yàn)證語 言斷言(verification language assertions),接著再自所述的驗(yàn)證語言斷言中產(chǎn)生已解 釋(interpreted)自然語言斷言,以藉此在驗(yàn)證期間允許有意義的使用者檢閱。
背景技術(shù):
集成電路(ICs)的設(shè)計(jì)已經(jīng)漸漸地變得越來越復(fù)雜,因而增加了對于此類設(shè)計(jì)的 快速驗(yàn)證的需求,但遺憾地是,于設(shè)計(jì)復(fù)雜度上的突破常??爝^驗(yàn)證程序的改進(jìn),而此不同 調(diào)則有部份的原因是由于使用的語言不同,尤其是,用于IC設(shè)計(jì)的硬件描述語言(HDLs, hardware description languages),例如,硬件描述語言(Verilog)或超高速集成電路硬 件描述語言(VHDL),其用以描述電子系統(tǒng)在空間與時(shí)間方面的結(jié)構(gòu)與行為的是標(biāo)準(zhǔn)的、以 文字為主的(text-based)表達(dá)式,因此,HDLs已為設(shè)計(jì)者所熟知且接受,但相對地,驗(yàn)證語 言,例如,System Verilog,VERA,或E !,卻具有比HDLs更高階的形式,因而造成使用者的 接受度相對上低許多。某些用于軟件程序設(shè)計(jì)的表達(dá)式,稱為斷言(assertions),其有助于驗(yàn)證語言的 形式。一個(gè)斷言即為一個(gè)會(huì)在不正確若發(fā)生時(shí)指出錯(cuò)誤的表達(dá)式,而在一 HDL設(shè)計(jì)的上下 文中,一斷言則是可以檢查特殊行為,并且在所述特殊行為發(fā)生時(shí)顯示一訊息。另外,斷言 亦可以同時(shí)監(jiān)控“好的”以及“壞的”行為,但不像HDLs中所使用的標(biāo)準(zhǔn)的、以文字為主的 表達(dá)式。斷言傾向于為設(shè)計(jì)者特有的形式,也就是,一使用者無法輕易地讀取其他人所撰寫 的斷言,因此,當(dāng)一使用者不是所述斷言的作者時(shí),就很可能在驗(yàn)證時(shí)忽略具有一“失敗”狀 態(tài)的斷言。斷言有助于在驗(yàn)證期間增加一設(shè)計(jì)的控制力以及觀察力,因此,的確有需要一能 夠促進(jìn)更多斷言的使用、且同時(shí)能增加其可靠度的用以處理自然語言斷言的系統(tǒng)。
實(shí)用新型內(nèi)容本實(shí)用新型所要解決的技術(shù)問題在于需要提供一種能夠促進(jìn)更多斷言的使用、且 同時(shí)能增加其可靠度的系統(tǒng)。本實(shí)用新型提供的一種用以處理自然語言斷言的系統(tǒng),所述系統(tǒng)包括識(shí)別自然語言斷言(NLA)的裝置;利用自然語言解析器以及合成技術(shù)而將所述自然語言斷言轉(zhuǎn)譯為驗(yàn)證語言斷言 的裝置;利用驗(yàn)證語言斷言解析器以及樣式匹配技術(shù)而將所述驗(yàn)證語言斷言轉(zhuǎn)譯為已解 釋NLA (NLA*)的裝置;允許所述NLA*以及所述NLA的使用者檢閱的裝置;以及利用以使用者檢閱作為基礎(chǔ)的所述驗(yàn)證語言斷言而執(zhí)行驗(yàn)證的裝置。[0012]優(yōu)選地,該系統(tǒng)更包括將所述驗(yàn)證的結(jié)果注解于所述自然語言斷言上的裝置。優(yōu)選地,每個(gè)識(shí)別以及轉(zhuǎn)譯的裝置處理多個(gè)斷言。優(yōu)選地,該系統(tǒng)更包括將所述自然語言斷言與在高速緩沖存儲(chǔ)器中的一組自然語 言斷言進(jìn)行比較的裝置,以及在所述自然語言斷言匹配于所述組自然語言斷言中的一個(gè)自 然語言斷言的時(shí)候直接繼續(xù)執(zhí)行驗(yàn)證的裝置,其中,執(zhí)行驗(yàn)證的所述裝置使用存儲(chǔ)在所述 高速緩沖存儲(chǔ)器中且與已匹配的自然語言斷言關(guān)聯(lián)的驗(yàn)證語言斷言。優(yōu)選地,該系統(tǒng)更包括當(dāng)所述自然語言斷言不匹配于所述一個(gè)自然語言斷言時(shí)繼 續(xù)進(jìn)行所述轉(zhuǎn)譯的裝置。一種處理自然語言斷言(NLAs,Natural Language Assertions)的系統(tǒng),識(shí)別 -NLA,以及接著利用一自然語言解析器(NLP,Natural Languageparser)以及合成技 術(shù)(synthesis techniques)而將所述NLA轉(zhuǎn)譯為一驗(yàn)證語言斷言(VLA,Verification Language Assertion),之后,此VLA可以利用一 VLA解析器以及樣式匹配技術(shù)(pattern matching techniques)而被轉(zhuǎn)譯為一已解釋 NLA (interpreted NLA) (NLA*),在此時(shí),允許 使用者檢閱所述NLA*以及所述NLA,然后,當(dāng)使用者決定所述NLA*與所述NLA彼此相同、或 具有的差異很微小時(shí),就利用所述VLA執(zhí)行驗(yàn),而驗(yàn)證的結(jié)果則是接著會(huì)回頭被注解于所 述NLA之上。在一實(shí)施例之中,每一個(gè)已識(shí)別的NLA都會(huì)與存儲(chǔ)在一高速緩沖存儲(chǔ)器(cache) 中的一組NLAs進(jìn)行比較,而在所述NLA匹配于所述NLAs中的一個(gè)NLA時(shí),則會(huì)直接繼續(xù)執(zhí) 行所述驗(yàn)證,其中,所述驗(yàn)證是利用存儲(chǔ)在所述高速緩沖存儲(chǔ)器中且關(guān)聯(lián)于所述已匹配的 NLA的一 VLA而加以執(zhí)行,另外,當(dāng)所述NLA不匹配于所述個(gè)NLA時(shí),則程序會(huì)繼續(xù)進(jìn)行所述 轉(zhuǎn)譯步驟。另一種用以處理自然語言斷言(NLAs)的完全自動(dòng)方法可以包括,識(shí)別一 NLA, 以及接著利用一自然語言解析器(NLP)以及合成技術(shù)而將所述NLA轉(zhuǎn)譯為一驗(yàn)證語言 斷言(VLA),之后,此VLA可以利用一 VLA解析器以及樣式匹配技術(shù)而被轉(zhuǎn)譯為一已解釋 NLA (NLA*),在此時(shí),所述NLA*可以被轉(zhuǎn)譯為一已解釋VLA (VLA*),并且,所述VLA會(huì)與所述 VLA*進(jìn)行比較,而當(dāng)所述VLA以及VLA*不相同時(shí),所述方法會(huì)提供一警告,另外,當(dāng)所述 VLA并非不相同于所述VLA*時(shí),則是可以利用所述VLA而執(zhí)行驗(yàn)證,因此,在此實(shí)施例之中, 除了比較所述NLA以及所述NLA*之外,所述VLA也可以與所述VLA*進(jìn)行比較,以藉此在驗(yàn) 證期間為使用者提供另一有關(guān)準(zhǔn)確性的測試。具有優(yōu)勢地是,構(gòu)成一 NLA處理器的一部份的所述NLA解析器會(huì)為每一個(gè)句 子產(chǎn)生一自然語言語意樹(semantic tree) 0接著,所述NLA處理器就可以利用此樹來 產(chǎn)生所述VLA,其中,所述NLA處理器用以產(chǎn)生所述VLA的示范性技術(shù)可以包括,舉例而 言,文字轉(zhuǎn)換(text transformation)、文字維持(text maintenance)、以及表達(dá)式匹配 (expression matching),其中,文字轉(zhuǎn)換可以包括,散文至數(shù)字的轉(zhuǎn)換(例如,“zero” - > 0以及“one”- > 1),以及縮寫格式(例如,“should not”- > shouldn't);文字維持可以 利用雙引號(hào)而進(jìn)行識(shí)別,舉例而言,在所述NLA中的一個(gè)“a+b”表達(dá)式可以維持原樣地繼續(xù) 存在于所述VLA之中,類似地,當(dāng)一變量名為一英文字時(shí),就可藉由將所述變量名放入雙引 號(hào)之中而達(dá)成澄清的效果(例如,所述NLA可以陳述,若“a”發(fā)生時(shí),則...);以及表達(dá)式 匹配則是會(huì)在受到句號(hào)(periods)約束時(shí)查看多個(gè)詞匯,舉例而言,其中一種形式的斷言是一“并行斷 目(concurrent assertion),,,其可以是(時(shí)間順序(clocking sequence)) (前項(xiàng)(antecedent))-〉(推論(consequence)),而如此的一斷言則是可具有一相對應(yīng)的 NLA 形式,例如,“On positive edge of clock elk, if "a”occurs then "b,,should occur after η clock cycles. ”,因此,在此狀況下,于所述NLA中對并行斷言的三個(gè)分開部份進(jìn) 行匹配就會(huì)是一樣式匹配(patternmatching)的問題,再者,另一種形式的斷言則為變量 補(bǔ)充(variab 1 ecomp 1 ementing)(例如,“is not high" - > low)。在一實(shí)施例之中,有關(guān)識(shí)別以及轉(zhuǎn)譯的每一個(gè)步驟(由所述NLA處理器所執(zhí)行者) 都可以處理多個(gè)斷言,因此,在此實(shí)施例之中,所述NLA處理器可以包括多個(gè)處理器,以用 于平行設(shè)置所述些斷言的處理程序。再者,一種用以處理NLAs的系統(tǒng)系可以包括一 NLA處理器,以及一組模擬器以及 驗(yàn)證工具,其中,所述NLA處理器接收與一集成電路(IC)的一描述產(chǎn)生關(guān)聯(lián)的多個(gè)NLAs, 以及將所述多個(gè)NLAs轉(zhuǎn)換為多個(gè)驗(yàn)證語言斷言(VLAs),另外,所述組模擬器以及驗(yàn)證工具 則可接收所述多個(gè)VLAs以及所述IC的所述描述,以及產(chǎn)生指示所述等VLAs的失敗的一報(bào)
生 I=I O
圖1是舉例說明一示范性NLA處理技術(shù);圖2是舉例說明包括自動(dòng)驗(yàn)證的另一示范性NLA處理技術(shù);圖3A是舉例說明示范性的控制器RTL碼,包括一 RTL識(shí)別符,RTL輸入/輸出碼, 嵌入NLAs,以及一終端模塊指定符;圖;3B至圖3E是舉例說明根據(jù)本實(shí)用新型,產(chǎn)生自原始NLAs的VLAs以及已解釋 NLAs的示范性編碼;圖3F是顯示通過以NLA為基礎(chǔ)的NLP的示例語意樹;圖4是顯示一包括所述NLA處理技術(shù)的示范性數(shù)位ASIC設(shè)計(jì)流程的一簡化代表 圖;以及圖5A以及圖5B是顯示可以執(zhí)行邏輯設(shè)計(jì)以及功能性驗(yàn)證的簡化系統(tǒng)。
具體實(shí)施方式
斷言有助于在驗(yàn)證期間增加一 IC設(shè)計(jì)的控制力以及觀察力,但遺憾地是,目前, 在驗(yàn)證期間使用斷言常會(huì)因在解釋其他使用者所撰寫的斷言時(shí)所遭遇的困難而受到阻礙。 因此,依據(jù)本實(shí)用新型一方面的構(gòu)想,一處理程序、及/或處理器可以自動(dòng)地將一設(shè)計(jì)者行 為的一易懂英文表達(dá)式,在此稱為一自然語言斷言(NLA,natural language assertion), 轉(zhuǎn)譯為一驗(yàn)證語言斷言(VLA,verification language assertion)。然后,此VLA會(huì)再被 轉(zhuǎn)譯回一已解釋(interpreted)NLA,因而有助于達(dá)成原始的與已解釋的NLAs之間的一有 意義使用者檢視(user review)。之后,當(dāng)所述檢視指出在原始與已解釋NLAs之間實(shí)質(zhì)上 沒有不一致時(shí),所述設(shè)計(jì)的驗(yàn)證就可以利用VLA來執(zhí)行,接著,此驗(yàn)證的結(jié)果可以回頭注解 于所述原始NLA之上。一交通控制器的設(shè)計(jì)將有助于澄清一 NLA以及一 VLA之間的區(qū)別。在一示范的交 通控制器之中,至少五個(gè)NLAs可被用來表示適當(dāng)?shù)牟僮?1)當(dāng)顯示一綠燈、或黃燈時(shí),交叉路一定為紅燈,(2)燈號(hào)的變化一定是依照綠燈、黃燈、以及紅燈的慣用順序,(3)當(dāng)交通 在等一紅燈時(shí),若在交叉路上沒有交通,則交通一定被給予一綠燈,(4)即使交叉路有交通, 在紅燈等待的交通也一定不會(huì)超過五個(gè)時(shí)間刻度(ticks),以及(5)當(dāng)感測器指出有交通 時(shí),感測器將不進(jìn)行重設(shè),直到一綠燈出現(xiàn)為止(沒有馬上紅燈(no right-on-red))。 用于這五個(gè)NLAs的一組相對應(yīng)VLAs顯示如下(為了讓參考更容易,NLAs亦同時(shí) 包括在內(nèi)并顯示為斜體)。在此,需要注意的是,在VLAs中表示交叉路的是Main Mreet以 及 First Street。module traffic_checker#(parameter MAX—WAIT = 5)(input wire elk,input wire rst,input wire waiting—main,input wire waiting—first,input wire green—main,input wire green_first,input wire yellow—main,input wire yellow—first,input wire red—main,input wire red—first);//1)When a green or yellow light is showing,the cross street//must get a redlight.assert—hazard—in_first: assert property (@(posedge elk)(green—first I |yellow—first) |- > red—main);assert_hazard_in_main: assert property (@ (posedge elk)(green—main I |yellow—main) |- > red—first);//2)Lights must change in the conventional green, yellow,//red sequence.assert signal_sequencing_on_first: assert property(@(posedge elk)yellow—first| = > red—first[水1:$]##lgreen_first[*1:$]##lyellow_first);assert_signal_sequencing—on—main:assert property(@(posedge elk)yellow—main| = > red main[氺1:$]green—main[氺1:$]##1 yellow—main);//3)When traffic is waiting at a red light, it must be//given a green light if there is no traffic on the cross streetassert—green—no—waiting—first: assert property (@ (posedgeelk) ( ! waiting—main && red—first && waiting—first) | = >green—first);assert—green—no—waiting—main: assert property(@(posedge[0063]elk) ( ! waiting_first && red_main && waiting_main) | =>green_main);//4)Traffic must not wait more than 5 ticks at a red light, even//if the cross street has traffic.assert—honor—waiting—first: assert property (i (posedge elk)($rose(waiting_first)&&red_first) = > ##[0:MAX_WAIT]green_first);assert_honor_waiting_main:assert property (i (posedge elk)($rose(waiting_main)&&red_main) = > ##[0:MAX_WAIT]green_main);//5)When sensors indicate traffic,they do not rest until a green light appears.(no right-on-red)assume_continuous_waiting_first: assume property(i (posedgeelk) waiting_first&& green_first I => waiting_first);assume_continuous_waiting_main:assume property(i(posedgeelk) waiting_main&& green_main I => waiting_mian);當(dāng)比較上述一交通控制器的簡單設(shè)計(jì)的NLA以及相對應(yīng)VLA時(shí),在了解用于越來
越復(fù)雜的IC設(shè)計(jì)的VLAs時(shí)所會(huì)遭遇的困難就變得顯而易見。然而,這些IC設(shè)計(jì)的所述等 VLAs卻是必須的,正如在驗(yàn)證期間所使用的組合與時(shí)間邏輯方程序的數(shù)學(xué)代表式一樣。因此,極為需要一種可以自動(dòng)將一 NLA轉(zhuǎn)譯為一 VLA的處理程序/處理器,再者, 一種能夠?qū)LA轉(zhuǎn)譯回一已解釋NLA的處理程序/處理器將有助于讓使用者能夠提供相關(guān) 于所述原始NLA的一有意義檢閱。這些轉(zhuǎn)譯則是以圖1作為參考而敘述如下。圖1舉例說明一示范的NLA處理技術(shù)100。在步驟101之中,一 NLA可以利用已知 的合成技術(shù)而加以識(shí)別,舉例而言,在一實(shí)施例之中,此識(shí)別步驟可以利用會(huì)搜尋任何NLA 的一模塊/檔案的Unix指令來執(zhí)行。另外,步驟101亦可以更進(jìn)一步地包括其他合成技術(shù), 例如,自暫存器轉(zhuǎn)移層次(RTL,Register Transfer Level)中擷取所述NLA,因而讓更進(jìn)一 步的處理程序僅會(huì)以自然語言句子來執(zhí)行。任何已識(shí)別以及已擷取的NLA都可以被復(fù)制到 一高速緩沖存儲(chǔ)器(cache),以用于更進(jìn)一步的處理程序,并且,相關(guān)于所述已識(shí)別NLA的 資訊,例如,檔案名稱,模塊名稱,以及行數(shù)等,都可以在所述高速緩沖存儲(chǔ)器中與所述NLA 產(chǎn)生關(guān)聯(lián),在一實(shí)施例之中,每一個(gè)NLA都會(huì)在句子的終端具有一句號(hào)(period),以確保下 游處理程序可以清楚地標(biāo)示出所述NLA的終端。此時(shí),在步驟102之中,利用一自然語言解析器(NLP,natural languageparser), 所述NLA可被轉(zhuǎn)譯為一 VLA,其中,作為舉例的NLP有ManfordParser (例如,第1. 4版), 其目前被發(fā)展成為新一代的網(wǎng)際網(wǎng)路搜尋引擎。至于有關(guān)一 NLP(例如,所述Manford Parser)如何運(yùn)作的背景資訊則是敘述于,舉例而言,“i^ast Exact Interference with a Factored Model for NaturalLanguage Parsing,,,by Dan Klein and Christopher D. Manning, in Advances inNeural Information Processing Systems 15 (NIPS 2002),Cambridge, MA =MITPress, pp. 3-10(2003),以及 “Accurate Unlexicalized parsing,,, by Dan Kleinand Christopher D. Manning, from Proceedings of the 41st Meeting of theAssociation for Computational Linguistics, pp. 423-430 (2003)之中。在步驟102中所使用的所述NLP可以利用任何能夠產(chǎn)生語意樹(semantic trees) 的智能查詢工具(intelligent query tool)而加以執(zhí)行,并且,一 NLP可以使用會(huì)以在所 述等語意樹上運(yùn)作的動(dòng)態(tài)程序化演算式作為基礎(chǔ),而計(jì)算一特定句子的最可能解析的可能 性解析(probabilistic parsing) 0當(dāng)然,無疑地,為了能適當(dāng)?shù)剡M(jìn)行解析,NLPs的模型可 以針對特殊的語言而加以發(fā)展,例如,英文、中文、阿拉伯文、以及德文等。所述NLA處理器用以產(chǎn)生所述VLA的示范技術(shù)可以包括,舉例而言,文字轉(zhuǎn)換 (text transformation)、文字維持(text maintenance)、以及表達(dá)式匹配(expression matching)等,其中,文字轉(zhuǎn)換可以包括,散文至數(shù)字的轉(zhuǎn)換(例如,zero-> 0以及one-> 1),以及縮短格式(例如,should not- > shouldn' t);文字維持可以利用雙引號(hào)而進(jìn)行 識(shí)別,舉例而言,在所述NLA中的一個(gè)“a+b”表達(dá)式可以維持原樣地繼續(xù)存在于所述VLA 之中,類似地,當(dāng)一變量名為一英文字時(shí),就可藉由將所述變量名放入雙引號(hào)之中而達(dá)成 澄清的效果(例如,所述NLA可以陳述,若“a”發(fā)生時(shí),則...);以及表達(dá)式匹配則是會(huì) 在受到句號(hào)(periods)約束時(shí)查看多個(gè)詞匯,舉例而言,其中一種形式的斷言是一“并 行斷言(concurrent assertion),,,其可以是(時(shí)間順序(clocking sequence))(前項(xiàng) (antecedent))-> (推論(consequence)),而如此的一斷言則是可具有一相對應(yīng)的NLA形 式,例如,"On positive edgeof clock elk, if "a,,occurs then "b,,should occur after η clock cycles. ”,因此,在此狀況下,于所述NLA中對并行斷言的三個(gè)分開部份進(jìn)行匹配 就會(huì)是一樣式匹配(pattern matching)的問題,再者,另一種形式的斷言則為變量補(bǔ)充 (variable complementing)(例如,“ is not high,,-> low)。在一實(shí)施例之中,所述NLA中任何位于雙引號(hào)里的詞匯都可被一符記(token)所 取代,所述符記是一獨(dú)特的識(shí)別符,像是ALIAS01,ALIAS02,其可以在輸入分析期間被所述 NLP處理為一名詞、且可以在所述NLP的語意樹輸出中被找到為附加有名詞性質(zhì)的標(biāo)簽,而 將所述名詞變回原有詞匯的簡單取代則是可以確保所述詞匯在所述NLP處理程序中會(huì)被 保存下來,舉例而言,“A”可以被一符記,例如,第一個(gè)信號(hào),所取代,并且,此取代可以是由 所述NLP處理器自動(dòng)完成、或是可以被補(bǔ)充以由使用者建議的名稱,因此,進(jìn)入到自然語言 解析器的輸入可以完全地被了解為特定的自然(例如,英文)語言要件。需要注意的是,由于對CPU使用時(shí)間(CPU Time)而言,轉(zhuǎn)譯大量的NLAs會(huì)讓資源 使用變得密集,因此,在一個(gè)實(shí)施例之中,一 NLP可以包括多個(gè)處理器,以讓轉(zhuǎn)譯平行地進(jìn) 行,舉例而言,若是所述NLP包括5個(gè)處理器且具有1000個(gè)NLAs,則每一個(gè)處理器可以負(fù)責(zé) 將200個(gè)NLAs轉(zhuǎn)譯為VLAs。另外,這些轉(zhuǎn)譯也能夠以非對稱的方式發(fā)生,藉以最小化處理 時(shí)間。而在所有的轉(zhuǎn)譯皆已執(zhí)行完后,所述NLP的一控制器就可以從所述等各個(gè)處理器中 呼叫各個(gè)結(jié)果,以建立所述等語意樹。在此,需要注意的是,每一個(gè)語意樹都可將一自然語言句子分解為多個(gè)語言使用 群集(language use groupings),例如,名詞、動(dòng)詞、形容詞、副詞等,其中,在一實(shí)施例之 中,一語意樹可以是由多個(gè)列表的一列表所組成,且內(nèi)容中的每一個(gè)列表皆可為一元組 (tuple) (2部份)(縮寫數(shù)值),舉例而言,(NN rain)表示名詞“rain”。
8[0089]一示范性英文文字以及其語意樹敘述如下。The strongest rain ever recorded in India shut down the financial hub ofMumbai, snapped communication lines, closed airports and forced thousands ofpeople to sleep in their offices or walk home during the night, officials saidtoday.語意樹(Semantic Tree)(ROOT(S(S(NP(NP (DT The) (JJS strongest) (NN rain)(VP(ADVP(RB ever))(VBN recorded)(PP (IN in)(NP(NNP India)))))(VP(VP (VBD shut)(PRT(RP down))(NP(NP(DT the)(JJ financial)(NN hub))(PP (IN of)(NP(NNP Mumbai)))))(,,)(VP (VBD snapped)(NP(NN communication)(NNS lines)))(,,)(VP (VBD closed)(NP(NNS airports)))(CC and)(VP (VBD forced)(NP(NP(NNS thousands))(PP (IN of)(NP(NNS people))))(S(VP (TO to)(VP(VP(VB sleep)[0125](PP(工N in)[0126](NP(PRP$their)(NNS 。ffiCeS))))[0127](CC 。r)[0128](VP(VB Walk)[0129](NP(NN h。me))[0130](PP(工N during)[013]](NP(DT the)(NN night))))))))))[0132](,,)[0133](NP(NNS 。ffiCialS))[0134](VP(VBD Said)[0135](NP—TMP(NN t。day)))[0136](..)))[0137] 在一實(shí)施例之中,每一種語言群集都可具有可被一Vu產(chǎn)生器讀取的一特定描述符(deSCript。r),并且,此Vu產(chǎn)生器可以利用在所述語意樹的上下文中的語言群集而從所述Nu建構(gòu)所述Vu。在一實(shí)施例之中,所述Vu產(chǎn)生器會(huì)橫越所述語意樹并造訪每個(gè)節(jié)點(diǎn)(n。de),而且,所述Vu產(chǎn)生器可以紀(jì)錄其已經(jīng)造訪的節(jié)點(diǎn),其已經(jīng)辨識(shí)的樣式,以及在所述樹中的當(dāng)前節(jié)點(diǎn)與當(dāng)前路徑的當(dāng)前狀態(tài),然后,部份的表達(dá)式會(huì)進(jìn)行匹配,最后,當(dāng)已識(shí)別出類似一“并行斷言”(每一個(gè)次要部份(Sub part)都找到一個(gè)匹配)的一完整斷言結(jié)構(gòu)時(shí),就會(huì)執(zhí)行變?yōu)镾VA的轉(zhuǎn)譯。[0138] 在步驟103之中,所述Vu可以利用一Vu解析器以及樣式匹配技術(shù)(patternmatChing teChnique)而被轉(zhuǎn)譯回一已解釋Nu(Nu*);在步驟104之中,一使用者可以檢閱所述Nu以及從所述Vu所重新產(chǎn)生的Nu*;在步驟105之中,會(huì)執(zhí)行所述Vu的驗(yàn)證,在一實(shí)施例之中,此驗(yàn)證可以包括模擬以及形式檢查;在步驟106之中,所述驗(yàn)證的結(jié)果可以識(shí)別哪些失敗以及哪些通過,在一實(shí)施例之中,模擬1及/或形式驗(yàn)證工具可以藉由一包括詳情(例如,所述斷言的檔案與行數(shù),以及所述失敗的模擬時(shí)間)的錯(cuò)誤訊息而識(shí)別一失敗的斷言,并且,所述驗(yàn)證的結(jié)果可以回頭作為所述Nu上的注解。[0139] 在一實(shí)施例之中,每一個(gè)步驟都可以處理多個(gè)斷言,也就是,在步驟lol之中,可以識(shí)別一個(gè)模塊/檔案的多個(gè)NuS,然后,在步驟102之中,所述些已識(shí)別的NuS會(huì)被轉(zhuǎn)譯為多個(gè)VuS,接著,在步驟103之中,所述多個(gè)VuS則是會(huì)再被轉(zhuǎn)譯回多個(gè)已解釋NuS,在此,需要注意的是,在此實(shí)施例之中,NuS可以在模塊層次1或檔案層次上進(jìn)行處理。[0140] 在一個(gè)實(shí)施例之中,為了提供速度強(qiáng)化的能力,任何新識(shí)別的Nu都會(huì)在步驟110之中與已經(jīng)成功轉(zhuǎn)譯的一群NuS進(jìn)行比較,而此群NuS則是可以存儲(chǔ)在一高速緩沖存儲(chǔ)器,也就是,若是一Nu已經(jīng)進(jìn)行處理,則所述個(gè)處理的結(jié)果可以重新被使用,而程序則可以直接跳至步驟105,以藉此最小化整體的處理程序。但若所述Nu并未經(jīng)過處理,則程序會(huì)回到步驟102,正如先前所述。[0141] 特別地是,對于所述高速緩沖存儲(chǔ)器的建構(gòu)可以在任何層次進(jìn)行,例如,經(jīng)由設(shè)計(jì)1經(jīng)由使用者1或是經(jīng)由公司,在一實(shí)施例之中,所述高速緩沖存儲(chǔ)器可以包括所述Nu,其語意樹,以及其Vu。在此,需要注意的是,藉由將所述語意樹以及所述Vu和與其相對應(yīng)的Nu產(chǎn)生關(guān)聯(lián),則接下來若所述Nu自設(shè)計(jì)中被刪除時(shí),所述語意樹以及所述Vu亦可以簡單地被刪除,藉此可最小化存儲(chǔ)空間以及模擬器的使用。需要注意的是,在步驟101的一實(shí)施例之中,所述NLA可以被包括在所述IC的所 述RTL(暫存器轉(zhuǎn)移層次,Register Transfer Level)描述之中,而正如熟悉IC設(shè)計(jì)者所 熟知,所述RTL描述是用于一包括暫存器以及組合邏輯(combinational logic)的同步電 路。通常,暫存器轉(zhuǎn)移層次抽象(abstraction)會(huì)被用在HDL之中,以產(chǎn)生一 IC的高階表 述(high-levelr印resentations),當(dāng)被包括在所述RTL之中時(shí),一 NLA可以跟隨一 RTL登 錄(RTL entry)而作為一注釋。舉例而言,如此的一注釋可以明確地被識(shí)別為一 NLA,且可 使用在所述先前RTL描述中產(chǎn)生關(guān)聯(lián)的(多個(gè))訊號(hào)名稱,藉此即可將所述NLA與所述個(gè) RTL描述綁在一起。在步驟101的一另一實(shí)施例之中,所述NLA可以被包括在一標(biāo)準(zhǔn)字處理文件 (standard word processing document)之中。而且,在所述IC的一 RTL描述可以被取得 之前,此實(shí)施例就可以被使用。在此實(shí)施例之中,當(dāng)所述RTL可取得之后,再次地利用所述 的RTL敘述中所使用的所述(等)特殊信號(hào),一額外的段落可以被增加至將每一個(gè)NLA與 一特殊RTL敘述綁在一起的文件之中,此型態(tài)的NLA實(shí)行有助于提供一能適應(yīng)任何測試平 臺(tái)的一般文件,也就是,若任何訊號(hào)名稱因使用一不同的測試平臺(tái)而改變時(shí),將僅有所述綁 住的段落需要被修改。圖2為舉例說明包括自動(dòng)驗(yàn)證的另一示范性NLA處理技術(shù)程序200。在程序200 的步驟201之中,會(huì)進(jìn)行一 NLA的識(shí)別,此時(shí),在步驟202之中,所述NLA可以利用一 NLP以 及合成技術(shù)而被轉(zhuǎn)譯為一 VLA。然后,在步驟203之中,所述VLA會(huì)利用一 VLA解析器以及 樣式匹配技術(shù)而被轉(zhuǎn)譯回一 NLA*,在步驟204之中,所述NLA*可以被轉(zhuǎn)譯為一 VLA*,在步 驟205之中,所述VLA以及所述VLA*會(huì)進(jìn)行比較。接著,在步驟206中決定兩者是否不相 同,并在步驟207提供使用者一警告,換言之,若是所述VLA以及所述VLA*并沒有不相同 (亦即,相同),則步驟208可以執(zhí)行所述VLA的驗(yàn)證。在一實(shí)施例之中,此驗(yàn)證可以包括模 擬以及形式檢查。再者,于步驟209之中,所述驗(yàn)證的結(jié)果(亦即,哪些失敗以及哪些通過 的識(shí)別結(jié)果)會(huì)回頭被注解在所述NLA之上。在此,需要注意的是,在一個(gè)實(shí)施例之中,每 一個(gè)步驟都可以處理多個(gè)斷言(請參閱圖1的敘述)。在一個(gè)實(shí)施例之中,為了提供速度強(qiáng)化的能力,任何新識(shí)別的NLA都會(huì)在步驟210 之中與已經(jīng)成功轉(zhuǎn)譯、且存儲(chǔ)于一高速緩沖存儲(chǔ)器中的一群NLAs進(jìn)行比較,也就是,若是 一 NLA已經(jīng)進(jìn)行處理,則處理的結(jié)果可以重新被使用,并且程序可直接跳至步驟208,以藉 此最小化整體的處理程序,但若所述NLA并未經(jīng)過處理,則程序會(huì)回到步驟202,正如先前 所述。圖3A舉例說明示范的控制器RTL碼300,其包括一 RTL識(shí)別符301 (用以為所述 控制器識(shí)別所述模塊),RTL輸入/輸出碼302,嵌入NLAs 303 (在此例子中,四個(gè)NLAs),以 及一終端模塊指定符304,而第圖;3B至圖3E的每一個(gè)則是在于舉例說明依據(jù)本實(shí)用新型, VLAs以及產(chǎn)生自原始VLAs的已解釋NLAs的示范性編碼,其中,每一個(gè)示范編碼皆包括一 NLA識(shí)別符310(在此例子中,會(huì)指示所述模塊的行數(shù)),所述原始NLA (ORIG) 311,所述已解 釋NLA (亦即,NLA*) (INTERP) 312,產(chǎn)生自所述NLA*的所述VLA 313(已標(biāo)記的第一行),以 及一會(huì)約束所述NLA、NLA*、以及VLA的約束子句(binding clause) 314。需要注意的是,約 束子句314關(guān)聯(lián)于所述模塊的一特定行數(shù),例如,在此例子中,行175(需要注意的是,僅所述NLA模塊中的所述第一行可以產(chǎn)生關(guān)聯(lián),因?yàn)樵谒瞿P椭械拿恳粋€(gè)NLA理論上都可以 利用多行進(jìn)行表示)。需要注意的是,所述已解釋NLA(NLA*)可以將用以澄清的說明反映至所述原始 NLA0舉例而言,請參閱第圖3C,所述原始NLA為陳述“On thepositive edge of clk[a clock], if ceO_N[clock enable zero]or cel_N[clockenabIe one]or ce2_N[clock enable two]or ce3_N[clock enable three]rises,,,反之,所述已解釋 NLA 則是陳述"On the positive edge of elk, if ceO_N rises orcel_N rises or ce2_N rises or ce3_ N rises”。因此,在此轉(zhuǎn)譯之中,所述NLA處理器已經(jīng)有效地把發(fā)生(rise)展開至每一個(gè) 信號(hào),以藉此闡明所述等操作狀況。在另一個(gè)參照第圖3E的實(shí)例中,所述原始的NLA為陳 述“thenb_ce_idle should stay high for at least one cycle followed by adxStrb high after lcycle”,反之,所述已解釋 NLA 則陳述 “then b—ce—idle should stay high for atleast one elk cycle followed by adxStrb should be at high on elk cycle 1”。因此,在此轉(zhuǎn)譯之中,所述NLA處理器已經(jīng)將“clock”轉(zhuǎn)變?yōu)椤癳lk[clock] cycle”,以 藉此闡明所述的詞匯,以及更進(jìn)一步地闡明,每一個(gè)暫時(shí)的斷言僅允許一個(gè)取樣,亦即,所 敘述的“if-then”子句僅可應(yīng)用于clock cycle 1期間。再者,第圖3F為舉例說明用于一 IC設(shè)計(jì)的一部分的示范性語意樹輸出320,其藉由以一 NLA作為基礎(chǔ)的一 NLP。圖4為顯示一包括所述NLA處理程序的示范性數(shù)位ASIC設(shè)計(jì)流程的一簡化代表 圖。在高階層次中,所述程序開始于產(chǎn)品構(gòu)想(步驟400),并于一 EDA軟件設(shè)計(jì)程序中實(shí) 現(xiàn)(步驟410)。接著,當(dāng)設(shè)計(jì)完成后,其就可以進(jìn)行下線(tape out)(事件440)。而在下 線完成后,即開始制造程序(步驟450),以及封裝與組裝程序(步驟460),最終完成晶片成 品(結(jié)果470)。所述EDA軟件設(shè)計(jì)程序(步驟410)實(shí)際上是由數(shù)個(gè)步驟412-430所構(gòu)成。在此, 為了簡化,以線性的方式顯示。在一實(shí)際ASIC設(shè)計(jì)程序中,特殊的設(shè)計(jì)可能需要不斷地重 復(fù)同樣的步驟,直到某些測試通過為止,而類似地,在任何實(shí)際設(shè)計(jì)程序中,這些步驟也有 可能為不同的順序及組合,因此,此敘述是以前后關(guān)聯(lián)且一般的方式進(jìn)行解釋,而非一特殊 ASIC的特殊、或特別提出的設(shè)計(jì)流程。接下來即為EDA軟件設(shè)計(jì)程序(步驟410)的構(gòu)成步驟的簡短敘述系統(tǒng)設(shè)計(jì)(步驟412)設(shè)計(jì)者敘述其所需要執(zhí)行的功能,并且可以藉由執(zhí) 行假設(shè)規(guī)劃(what-if planning)而精進(jìn)功能、檢查成本等。在此階段,硬件軟件架 構(gòu)(hardware-software architecture)可以分開。作為舉例,可以用于此步驟的來自 Synopsys, Inc. ^ EDAηππ 1 ^ Mode 1 Architect, Saber, System Studio, \)J,R
Design Ware 等產(chǎn)品。邏輯設(shè)計(jì)與功能性驗(yàn)證(步驟414)在此階段,會(huì)撰寫系統(tǒng)中模型的VHDL或 Verilog程序碼(Verilog code),并且,會(huì)檢查此設(shè)計(jì)的功能正確性,更特別地是,所檢查 的設(shè)計(jì)是否確定會(huì)產(chǎn)生正確的輸出。作為舉例,可以用于此步驟的來自Synopsys,Inc.的 EDA 軟件產(chǎn)品就包括 VCS,VERA, Design Ware , Magellan, Formality, ESP,以及 LEDA 等產(chǎn) 品。在一實(shí)施例之中,所述上述的NLA處理技術(shù)可以被包括在任何的模擬以及驗(yàn)證工具組 之中,例如,VCS (模擬)以及Magellan (驗(yàn)證)。測試的合成與設(shè)計(jì)(步驟416)在此,所述VHDL/Verilog會(huì)被轉(zhuǎn)譯為凈列表(netlist),并且,所述凈列表可依目標(biāo)技術(shù)方法而進(jìn)行最佳化,此外,亦會(huì)進(jìn)行用以檢查最 終晶片的測試設(shè)計(jì)與實(shí)行。作為舉例,可以用于此步驟的來自Synopsys,Inc.的EDA軟件 產(chǎn)品就包括 Design Compiler , Power Compiler, Tetramax,以及 Design Ware 等產(chǎn)品 °凈列表檢驗(yàn)(步驟418)在此步驟,會(huì)檢查所述凈列表的時(shí)序限制(timing constraint)的符合度,以及與VHDL/Verilog來源碼的對應(yīng)性。作為舉例,可以用于此步驟 的來自Synopsys,Inc.的EDA軟件產(chǎn)品就包括R)rmality,PrimeTime,以及VCS等產(chǎn)品。設(shè)計(jì)規(guī)劃(步驟420)在此,會(huì)建立晶片的整體平面圖,并分析時(shí)序與頂層路線 (top-level routing)。作為舉例,可以用于此步驟的來自Synopsys,he.的EDA軟件產(chǎn)品 就包括Astro,以及IC Compiler等產(chǎn)品。實(shí)體實(shí)行(步驟422)配置(電路元件的定位)以及路線分配(電路元件的連接) 都會(huì)在此步驟中執(zhí)行。作為舉例,可以用于此步驟的來自Synopsys,Inc.的EDA軟件產(chǎn)品 就包括Astro,以及IC Compiler等產(chǎn)品。分析與擷取(步驟424)在此步驟,電路功能會(huì)在電晶體層次進(jìn)行驗(yàn)證,而此則是 會(huì)依序?qū)崿F(xiàn)假設(shè)精進(jìn)(what-if refinement)。作為舉例,可以用于此步驟的來自Synopsys, Inc.的 EDA 軟件產(chǎn)品就包括 AstroRail, PrimeRail, PrimeTime,以及 Star RC/XT 等產(chǎn)品。實(shí)體驗(yàn)證(步驟426)在此步驟,會(huì)執(zhí)行各種的檢查功能,以確保制造、電性任 務(wù)、平版印刷任務(wù)、以及電路系統(tǒng)的正確性。作為舉例,可以用于此步驟的來自Synopsys, Inc.的EDA軟件產(chǎn)品包括Hercules這項(xiàng)產(chǎn)品。解析度強(qiáng)化(步驟428)此步驟牽涉到布局的幾何操作,以改進(jìn)所述設(shè)計(jì)的可制 造性。作為舉例,可以用于此步驟的來自Synopsys,he.的EDA軟件產(chǎn)品就包括I^roteus, ProteusAF,以及 PSMGen 等產(chǎn)品。遮罩資料準(zhǔn)備(步驟430)此步驟提供用于生產(chǎn)最終晶片時(shí),產(chǎn)生平版印刷所使 用的遮罩(mask)的下線(tape-out)資料。作為舉例,可以用于此步驟的來自Synopsys, Inc.的EDA軟件產(chǎn)品包括CATS (R)家族的產(chǎn)品。圖5A舉例說明可以執(zhí)行前述的邏輯設(shè)計(jì)以及功能性驗(yàn)證(步驟414)的一簡化系 統(tǒng)500。在系統(tǒng)500之中,一 NLA處理器502可以接收一 IC的一 RTL描述以及其嵌入在所 述RTL描述中的相對應(yīng)NLA,正如輸入501A,并且,利用輸入501的所述NLA部份(以及忽 略所述RTL部份),NLA處理器502可以產(chǎn)生相對應(yīng)的VLAs 503,然后,模擬器以及驗(yàn)證工 具504可以接收VLAs 503以及輸入501 (其中,因?yàn)樗龅萅LAs是注釋,所以,實(shí)際上僅輸 入501的所述RTL部份會(huì)被工具504所讀取),以產(chǎn)生一或多個(gè)報(bào)告505,在一實(shí)施例之中, 報(bào)告505可以用來識(shí)別落在所述RTL描述的上下文中的所述等VALs。此時(shí),NLA處理器502有助于將如此的失敗的VLAs轉(zhuǎn)譯回已解釋NLAs,并產(chǎn)生比 對506,以藉此允許一使用者比較所述等原始NLAs以及已解釋NLAs,以及檢查錯(cuò)誤。而在 一另一實(shí)施例之中則是,NLA處理器502可以將所有VLAs皆轉(zhuǎn)譯回已解釋NLAs,以產(chǎn)生比 對506。之后,根據(jù)比對506的結(jié)果,NLA處理器502可以回頭于輸入50IA的所述NLA部份 上加上注解。在一顯示于圖5B的另一實(shí)施例之中,所述具NLA嵌入的RTL描述501A可以被一僅 RTL的描述501B所取代。在此例子之中,系統(tǒng)510可以將一般的NLAs (gNLAs)與一約束段 落(BP,binding paragraph)(亦即,輸入507),以及所述僅RTL描述501B,提供至NLA處理器502。之后,利用輸入507,所述NLA處理器502可以產(chǎn)生相對應(yīng)的VLAs 503。在此,需要 注意的是,所述NLA處理器502亦可以接收RTL 501B,以識(shí)別所述IC設(shè)計(jì)的埠(ports)/變 數(shù)(variables),并檢查所述NLA是否關(guān)聯(lián)至存在于所述設(shè)計(jì)中的物件(object)。然后,模 擬器以及驗(yàn)證工具504可以接收VLAs503以及僅RTL描述501B,以產(chǎn)生一或多個(gè)報(bào)告505。 另外,在一個(gè)實(shí)施例之中,報(bào)告505可以用來識(shí)別落在所述RTL描述的上下文中的所述等 VALs。此時(shí),NLA處理器502有助于將如此的VLAs轉(zhuǎn)譯回已解釋NLAs,并產(chǎn)生比對506, 以藉此允許一使用者比較所述等原始NLAs以及已解釋NLAs,以及檢查錯(cuò)誤。而在一另一 實(shí)施例之中則是,NLA處理器502可以將所有VLAs皆轉(zhuǎn)譯回已解釋NLAs,以產(chǎn)生比對506。 之后,根據(jù)比對506的結(jié)果,NLA處理器502可以回頭于輸入507的所述約束段落上加上注解。以上敘述的是用于NLAs的一處理程序以及一處理器,在概念上,所述處理程序/ 處理器的特征可以視為包括二種不同的技術(shù)。在第一種技術(shù)中,廣義地說是,將所述NLA轉(zhuǎn) 換為一 VLA,另外,在第二種技術(shù)中,廣義地說是,將所述VLA轉(zhuǎn)換為一已解釋NLA,所使用的 就是需要演算的技術(shù),也就是,所述VLA基本上是一數(shù)學(xué)表達(dá)式,而這些特殊的碼轉(zhuǎn)換則可 以提供驗(yàn)證工具的使用者相當(dāng)重要的好處,亦即,讓使用者能夠通過所述NLA以及所述已 解釋NLA之間的一比較而提供有關(guān)所述VLA的一有意義檢閱,而此檢閱則是可以促進(jìn)所述 VLA的錯(cuò)誤校正,且大部分、或所有的步驟皆是由所述NLA處理器自動(dòng)執(zhí)行。本實(shí)用新型可以在一、或多個(gè)電腦程序中實(shí)行,而此程序則是在包括至少一可程 序化處理器的一可程序化系統(tǒng)上執(zhí)行,以將資料以及指示接收自、以及傳輸至一資料存儲(chǔ) 系統(tǒng),至少一輸入裝置,以及至少一輸出裝置,其中,每一個(gè)電腦程序都可以實(shí)行為高階程 序的(high-level procedural)、或物件導(dǎo)向的(object-oriented)程序設(shè)計(jì)語言,或者, 有需要的話,實(shí)行為組合(assembly)、或機(jī)械(machine)語言。并且,在任何狀況下,所述語 言都可以是一編譯(compiled)、或解釋(interpreted)語言。另外,適合的處理器包括,舉 例而言,一般與特殊用途的微處理器,以及其他型態(tài)的微控制器,一般而言,一處理器將會(huì) 接收來自一只讀存儲(chǔ)器、及/或一隨機(jī)存取存儲(chǔ)器的指令與資料。并且,通常,一電腦會(huì)包 括一、或多個(gè)大量存儲(chǔ)裝置,以存儲(chǔ)資料檔案,其中,如此的裝置包括磁盤,例如,內(nèi)部硬盤 以及卸除式磁盤,磁光(magneto-optical)磁盤,以及光盤(optical disks)。另外,適合明 確進(jìn)行電腦程序指令與資料的具體化的存儲(chǔ)裝置包括,所有形式的非揮發(fā)性存儲(chǔ)器,包括, 舉例而言,半導(dǎo)體存儲(chǔ)器裝置(例如,EPR0M, EEPR0M,以及快閃存儲(chǔ)器裝置),磁盤(例如, 內(nèi)部硬盤以及卸除式磁盤),磁光磁盤,以及⑶ROM磁盤等。前述任者都可通過集成電路而, 或并入補(bǔ)充集成電路(ASICs)。雖然本實(shí)用新型用以舉例說明的實(shí)施例已經(jīng)以所附圖式做為參考而進(jìn)行詳細(xì)的 敘述,但需要了解的是,本實(shí)用新型并不受限于所述些特定的實(shí)施例,并且,這些實(shí)施例的 目的并不在于對本實(shí)用新型進(jìn)行詳盡的敘述、或?qū)⒈緦?shí)用新型限制為所揭示的特定形式。 因此,就其本身而言,許多修飾以及變化都將是顯而易見。舉例而言,在其他的實(shí)施例之中, 可以使用一不同的NLP,包括一對手邊的任務(wù)完全專屬的NLP,在此,需要注意的是,一自然 語言可被用以描述不僅是斷言,亦可描述同樣可于一 HDL、或測試平臺(tái)語言中被轉(zhuǎn)換的測試 計(jì)畫、涵蓋點(diǎn)(coverage points)、以及限制(constraints),在一又一其他實(shí)施例之中,所
14述終端使用者可以具體指定在所述NLA以及VLA之間轉(zhuǎn)換的規(guī)則。據(jù)此,本實(shí)用新型的范 圍是藉由接下來的權(quán)利要求書以及與其等義的內(nèi)容而加以定義。
權(quán)利要求1.一種用以處理自然語言斷言的系統(tǒng),其特征在于,所述系統(tǒng)包括自然語言斷言處理器,被配置為包括識(shí)別裝置,用于識(shí)別自然語言斷言(NLA);第一轉(zhuǎn)譯裝置,用于利用自然語言解析器以及合成技術(shù)而將所述自然語言斷言轉(zhuǎn)譯為 驗(yàn)證語言斷言,所述第一轉(zhuǎn)譯裝置運(yùn)作地連結(jié)至所述識(shí)別裝置;以及第二轉(zhuǎn)譯裝置,用于利用驗(yàn)證語言斷言解析器以及樣式匹配技術(shù)而將所述驗(yàn)證語言斷 言轉(zhuǎn)譯為已解釋NLA (NLA*),所述第二轉(zhuǎn)譯裝置運(yùn)作地連結(jié)至所述第一轉(zhuǎn)譯裝置;檢閱裝置,用于允許所述NLA*以及所述NLA的使用者檢閱,所述檢閱裝置運(yùn)作地連結(jié) 至所述自然語言斷言處理器;以及驗(yàn)證裝置,用于利用以使用者檢閱作為基礎(chǔ)的所述驗(yàn)證語言斷言而執(zhí)行驗(yàn)證,所述驗(yàn) 證裝置運(yùn)作地連結(jié)至所述自然語言斷言處理器。
2.如權(quán)利要求1所述系統(tǒng),其特征在于,所述自然語言斷言處理器更包括注解裝置,用 于將所述驗(yàn)證的結(jié)果注解于所述自然語言斷言上,所述注解裝置運(yùn)作地連結(jié)至所述驗(yàn)證裝 置。
3.如權(quán)利要求2所述系統(tǒng),其特征在于,每個(gè)識(shí)別裝置處理多個(gè)斷言。
4.如權(quán)利要求1所述系統(tǒng),其特征在于,所述自然語言斷言處理器更包括比較裝置,用 于將所述自然語言斷言與在高速緩沖存儲(chǔ)器中的一組自然語言斷言進(jìn)行比較,以及在所述 自然語言斷言匹配于所述組自然語言斷言中的一個(gè)自然語言斷言的時(shí)候直接繼續(xù)執(zhí)行驗(yàn) 證,所述比較裝置運(yùn)作地連結(jié)至所述識(shí)別裝置及所述驗(yàn)證裝置,其中,所述驗(yàn)證裝置使用存 儲(chǔ)在所述高速緩沖存儲(chǔ)器中且與已匹配的自然語言斷言關(guān)聯(lián)的驗(yàn)證語言斷言。
5.如權(quán)利要求4所述系統(tǒng),其特征在于,所述比較裝置在所述自然語言斷言不匹配于 所述一個(gè)自然語言斷言時(shí)繼續(xù)進(jìn)行所述轉(zhuǎn)譯。
6.一種用以處理自然語言斷言的系統(tǒng),其特征在于,所述系統(tǒng)包括自然語言斷言處理器,接收與集成電路的描述關(guān)聯(lián)的多個(gè)自然語言斷言,以及將所述 多個(gè)自然語言斷言轉(zhuǎn)換為多個(gè)驗(yàn)證語言斷言;以及一組模擬器以及驗(yàn)證工具,接收所述多個(gè)驗(yàn)證語言斷言以及所述集成電路的所述描 述,并產(chǎn)生所述驗(yàn)證語言斷言的報(bào)告。
專利摘要本實(shí)用新型公開了一種用以處理自然語言斷言的系統(tǒng),可識(shí)別NLA以及接著利用自然語言解析器(NLP)以及合成技術(shù)而將該NLA轉(zhuǎn)譯為一驗(yàn)證語言斷言(VLA),利用VLA解析器以及樣式匹配技術(shù)將VLA轉(zhuǎn)譯為一已解釋的NLA(NLA*),此時(shí),允許使用者檢閱該NLA*以及該NLA;當(dāng)使用者確定該NLA*與該NLA彼此相同、或具有的差異很微小時(shí),就利用該VLA執(zhí)行驗(yàn)證,而驗(yàn)證的結(jié)果則是接著會(huì)回頭被注解于該NLA上。在一實(shí)施例中,除了比較該NLA以及該NLA*之外,該VLA也可以與一VLA*(產(chǎn)生自該NLA*)進(jìn)行比較,藉此在驗(yàn)證期間為使用者提供另一準(zhǔn)確性的測試。
文檔編號(hào)G06F17/50GK201876881SQ20092021865
公開日2011年6月22日 申請日期2009年10月10日 優(yōu)先權(quán)日2009年1月12日
發(fā)明者亞蘭·道格拉斯 申請人:新諾普系統(tǒng)公司