国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      多線程可達性的制作方法

      文檔序號:6559139閱讀:202來源:國知局
      專利名稱:多線程可達性的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明總體上涉及電路設(shè)計,更具體地,涉及多線程可達性。
      背景技術(shù)
      通常使用基于分區(qū)二進制決策圖(BDD)的算法來減少基于BDD的電路檢驗中的存儲爆炸問題。因為這種算法易于受到與處理的調(diào)度劃分相關(guān)聯(lián)的問題的影響,因此這種算法有時效率低。

      發(fā)明內(nèi)容
      根據(jù)本發(fā)明,可以減少或者消除與電路設(shè)計相關(guān)的缺點和問題。
      在一個實施例中,一種用于多線程可達性分析的方法包括以下步驟將所分析電路的狀態(tài)空間劃分為多個分區(qū),并且將各個分區(qū)指定給線程以對分配給該線程的分區(qū)執(zhí)行可達性分析。多個線程彼此并行地執(zhí)行分區(qū)的可達性分析。該方法還包括以下步驟使用一個或更多個早期通信算法和局部通信算法,從多個分區(qū)中的一個或更多個第一分區(qū)向所述多個分區(qū)中的一個或更多個第二分區(qū)傳送狀態(tài),以便于對所述多個分區(qū)中的第二分區(qū)進行可達性分析。
      本發(fā)明的特定實施例可以提供一個或更多個技術(shù)優(yōu)點。作為示例,特定實施例提供了一種多線程可達性算法,其減少或者避免了與處理的調(diào)度劃分相關(guān)聯(lián)的問題,同時增加了狀態(tài)空間的分區(qū)遍歷(traversal)中可能的并行性。特定實施例提供了一種多線程可達性算法,其運行得明顯比先前的可達性算法和分區(qū)方法更快。當(dāng)使用并行架構(gòu)來實施這種實施例時,這種實施例可以提供更進一步的收益。在特定實施例中,即使一個或更多個分區(qū)可能由于存儲爆炸(memory blowup)而變得難以進一步處理,分區(qū)之間的早期通信、分區(qū)之間的局部通信、或者這兩者都有利于一個或更多個其他分區(qū)中的狀態(tài)空間的連續(xù)遍歷。
      即使僅在一個處理器上運行,特定實施例也可以提供在大多數(shù)情況下比基于有序BDD(OBDD)或者分區(qū)OBDD(POBDD)的算法更好的電路檢驗結(jié)果。特定實施例有助于比基于BDD的先前方法快得多地對錯誤狀態(tài)進行定位。特定實施例有助于比先前的可達性算法快得多地對錯誤狀態(tài)進行定位。特定實施例比基于POBDD的標(biāo)準(zhǔn)連續(xù)可達性算法更為健壯。特定實施例有助于增加優(yōu)于基于POBDD的標(biāo)準(zhǔn)可達性算法中的自然并行性的并行性。
      特定實施例可以提供全部或部分上述技術(shù)優(yōu)點,也可以不提供上述技術(shù)優(yōu)點。特定實施例可以提供一個或更多個其他技術(shù)優(yōu)點,根據(jù)本文的附圖、說明書及其權(quán)利要求書,所述一個或更多個其他技術(shù)優(yōu)點對于本領(lǐng)域的普通技術(shù)人員是顯而易見的。


      為了提供對本發(fā)明及其特征和優(yōu)點的更全面理解,現(xiàn)在結(jié)合附圖來進行以下說明,其中圖1例示出用于多線程可達性的示例系統(tǒng);以及圖2A至2C例示出特定的啟發(fā)式方法(heuristics)對多個線程中的每一個進行的工作的示例效果。
      具體實施例方式
      圖1例示出用于多線程可達性的示例系統(tǒng)10。系統(tǒng)10包括電路12。如下所述,系統(tǒng)10還包括用于對電路12執(zhí)行可達性分析的可達性模塊14和可達性數(shù)據(jù)16。一個或更多個鏈路將系統(tǒng)10的部件彼此連接。作為示例而不是作為限制,鏈路可以包括一個或更多個電路板中的一個或更多個導(dǎo)線、一個或更多個內(nèi)部總線或外部總線、一個或更多個局域網(wǎng)(LAN)、一個或更多個城域網(wǎng)(MAN)、一個或更多個廣域網(wǎng)(WAN)、因特網(wǎng)的一個或更多個部分,或者兩個或更多個這種鏈路的適當(dāng)組合。
      電路12包括用于進行測試以確定硬件是否例如按照一個或更多個特定硬件規(guī)范而適當(dāng)工作的硬件或者硬件的邏輯或其他表示。作為示例而不是作為限制,電路12可以包括諸如門電路、計數(shù)器、反相器、緩沖器的電路元件,以及被設(shè)置并彼此連接以提供特定功能的其他電路元件。作為另一示例,電路12可以包括這些元件的邏輯或者其他表示。電路12可以包括數(shù)百萬個電路元件。為了提供特定的功能,電路12可能需要包括一個或更多個特性。電路12可能需要包括數(shù)百萬這種特性。在特定實施例中,一個或更多個邏輯表達式可以描述電路12的特性。提到電路12的“特性”,可以包括邏輯可表達的電路12的狀態(tài)、特征、行為或操作,或者電路12的適當(dāng)?shù)钠渌匦?。提到“狀態(tài)”,可以包括電路12的適當(dāng)?shù)囊粋€或更多個特性。
      可達性模塊14包括用于通過一個或更多個鏈路接入電路12并且對電路12執(zhí)行可達性分析的硬件、軟件、或嵌入式邏輯部件,或者兩個或更多個這種元件的組合。在特定實施例中,對電路12執(zhí)行可達性分析包括將電路12的狀態(tài)空間劃分成多個分區(qū),并且使用多個線程對這些分區(qū)執(zhí)行可達性分析,如下所述。可達性模塊14包括用于對電路12執(zhí)行可達性分析的多個線程18。各個線程18執(zhí)行全部可達性分析的一部分。提到線程,可以包括可以由處理器與適當(dāng)?shù)囊粋€或更多個其他處理實例并行執(zhí)行的處理實例??蛇_性數(shù)據(jù)16包括指定可達性分析的特定參數(shù)的數(shù)據(jù)以及在特定實施例中可達性模塊14用來對電路12執(zhí)行可達性分析的其他數(shù)據(jù)。在特定實施例中,一個或更多個計算機系統(tǒng)提供對可達性模塊14、可達性數(shù)據(jù)16或者這兩者的一個或更多個用戶訪問。作為示例而不是限制,計算機系統(tǒng)可以包括可達性模塊14和可達性數(shù)據(jù)16,并且用戶可以訪問計算機系統(tǒng)以向可達性模塊14、可達性數(shù)據(jù)16或者這兩者提供輸入,并且接收來自可達性模塊14、可達性數(shù)據(jù)16或者這兩者的輸出。
      可達性分析可以包括一個或更多個有限狀態(tài)機(FSM)的寬度優(yōu)先遍歷。當(dāng)輸入一組初始狀態(tài)以及關(guān)于從各個當(dāng)前狀態(tài)可以到達的下一狀態(tài)的轉(zhuǎn)移關(guān)系(TR)時,可以采用用于可達性分析的算法。一個或更多個最小固定點(LFP)計算可以生成一組可達狀態(tài)。LFP計算可以包括直到圖像計算達到固定點為止執(zhí)行的一系列圖像計算??梢越舆B地將TR劃分成一組群,可以將量化調(diào)度與經(jīng)劃分的TR相關(guān)聯(lián)以便在圖像計算期間進行早期量化。
      使用分區(qū)有序二進制決策圖(POBDD)可以改進基于一個或更多個可達性分析的對電路12的檢驗。下面是使用POBDD基于一個或更多個可達性分析執(zhí)行對電路12的檢驗的示例算法POBDD-Reachability(TR,InitStates){將Rch初始化為InitStates對Rch創(chuàng)建分區(qū)rep執(zhí)行{對于(各個分區(qū)i)計算分區(qū)i中的LeastFixedPoint(Rch)對于(各個分區(qū)i)計算從i到所有分區(qū)的狀態(tài)}直到(不向Rch添加新狀態(tài));}上述算法實際上在各個分區(qū)i中執(zhí)行盡可能多的圖像計算步驟,直到該分區(qū)中達到LFP。隨后,該算法通過考慮在各個分區(qū)i中起源并且從其引出的轉(zhuǎn)移,使兩個或更多個分區(qū)彼此同步。提到通信,可以包括這些交叉分區(qū)圖像計算、以及計算出的二進制決策圖(BDD)從一個或更多個第一分區(qū)到一個或更多個第二分區(qū)的適當(dāng)?shù)暮罄m(xù)轉(zhuǎn)移。上述算法不使用嚴(yán)格的寬度優(yōu)先搜索(BFS)遍歷。該算法對各個分區(qū)執(zhí)行局部的BFS,隨后進行同步以添加由于從一個分區(qū)跨越到另一分區(qū)的轉(zhuǎn)移而產(chǎn)生的狀態(tài)。因此,該算法使用基于區(qū)域的BFS,由此對狀態(tài)空間的各個分區(qū)按寬度優(yōu)先的方式獨立地進行遍歷。提到局部LFP計算,可以包括一個或更多個分區(qū)中的適當(dāng)?shù)囊粋€或更多個LFP計算。
      對于并行驗證的先前方法依賴于分布式可達性分析,所述分布式可達性分析包括在具有分布式構(gòu)架和分布式存儲器的并行環(huán)境中的對狀態(tài)空間的傳統(tǒng)BFS遍歷。相反,本發(fā)明的特定實施例使用共享存儲器模式以及多個線程18之間的快速通信來促進并行性。在特定實施例中,在對電路12進行可達性分析之前,可以對電路12施加變形(例如概括)。這種實施例改進了基于BDD的可達性分析,因此往往補充而不是替代其他驗證方法。
      特定實施例用較少的計算工作量就達到較多個新狀態(tài)。標(biāo)準(zhǔn)的基于POBDD的可達性算法利用局部LFP計算效率高的優(yōu)點來快速達到較多個狀態(tài)。然而,預(yù)先并不知道哪個局部LFP計算較為容易。通常,對于大多數(shù)狀態(tài),存在多個路線可以達到它們??梢酝ㄟ^局部LFP或者通過從另一分區(qū)的通信達到它們。有可能通過通信可以更容易達到一組狀態(tài)。當(dāng)分區(qū)早早完成并且隨后通過通信向其他分區(qū)提供新狀態(tài)時,于是,新計算的狀態(tài)組可以簡化接收分區(qū)中的局部LFP計算。因此,順序的基于POBDD的可達性算法的性能應(yīng)該取決于并且的確取決于對分區(qū)進行處理的相對順序。這是調(diào)度問題。很難采用貪婪策略在順序環(huán)境中找出容易的計算(分區(qū))。然而,在多線程環(huán)境中實施這種策略相對容易。在不同分區(qū)之間劃分計算資源的循環(huán)(round-robin)性質(zhì)確保了容易的劃分在困難的劃分之前完成。明顯地,在使用多線程的可達性算法中增加并行性使得能夠貪婪發(fā)現(xiàn)更容易的計算,這將有助于更快地積累可達狀態(tài)。因此,特定實施例采用多線程(并行)方法并提高了并行性。
      上述基于POBDD的算法是可以并行的??梢圆⑿械貓?zhí)行與各個分區(qū)的通信相結(jié)合的各個分區(qū)的局部LFP計算。特定實施例等待全部分區(qū)完成其局部LFP計算和通信,以開始將計算出的狀態(tài)傳送到適當(dāng)分區(qū)。然而,經(jīng)驗上,上述算法的這種簡單并行提供了有限的并行性。這可能是由于下列原因1、BDD計算的高度變化性。如果分區(qū)具有很好的可變順序或者該分區(qū)代表的功能非常易于處理,則其對應(yīng)的狀態(tài)空間表達可能是簡潔的。相應(yīng)地,在該分區(qū)內(nèi)的圖像計算是快速的;這種分區(qū)是容易的分區(qū)。另一方面,如果分區(qū)沒有良好的可變順序或者對應(yīng)的功能很難,則其困于對大BDD的重新排序中,并且不能取得進展。這種分區(qū)是困難的分區(qū)。在許多情況下,對各個分區(qū)的局部LFP計算的運行時間存在很大變化。在這種情況下,所有的容易分區(qū)可以等待困難分區(qū)完成其圖像計算,這顯著減少了并行性。
      2、局部LFP計算的深度。減少并行性的另一原因可能是局部LFP計算的深度在各個分區(qū)中可能變化顯著的事實。在此情況下,深度較淺的分區(qū)完成得較快,而深度較深的分區(qū)花費較長時間來完成。這導(dǎo)致空閑的線程,其減少了并行性。
      在實踐中,可能是大量分區(qū)等待少許困難分區(qū)。為了處理此問題,特定實施例使用下列啟發(fā)式方法來改進并行性1、早期通信在達到最小固定點之后將狀態(tài)傳送給另一分區(qū);2、局部通信在空閑線程中開始局部通信。
      在分區(qū)完成其局部LFP計算之后,特定實施例使得該分區(qū)可以立即將其狀態(tài)傳送到其他分區(qū)。各個分區(qū)在其局部LFP計算期間異步地接受所傳送的這些狀態(tài)。這使得容易分區(qū)無需等待困難分區(qū)完成處理即可推進其后續(xù)的局部LFP計算。因此,從容易分區(qū)到其他容易分區(qū)的早期通信使得所有這種分區(qū)能夠達到固定點。這很難實現(xiàn)順序劃分的可達性分析,因為很難獲得這種調(diào)度信息。
      如果在早期通信期間傳送新狀態(tài),則特定實施例在添加這些狀態(tài)之后重新開始當(dāng)前圖像計算。這種改進在某些情況下可以使得較難的圖像計算顯著變易。這可能是一些所傳送的狀態(tài)對應(yīng)于作為在使用局部LFP的接收分區(qū)中要計算的困難狀態(tài)的狀態(tài)的結(jié)果。
      在應(yīng)用上述技術(shù)之后,在特定實施例中,許多分區(qū)可能仍然等待其他分區(qū)傳送一些狀態(tài)以使其可以繼續(xù)其局部LFP計算。當(dāng)全部的容易分區(qū)完成其局部LFP并且需要來自困難分區(qū)的傳送以進一步前進時,往往出現(xiàn)這種情況。為了改進并行性,特定實施例使用困難分區(qū)的狀態(tài)空間的小子集在空閑線程中開始傳送。該傳送將新狀態(tài)引入容易分區(qū)中。這使得容易分區(qū)能夠根據(jù)所傳送的狀態(tài)在其集體最小固定點方面取得進一步進展。直觀地,這試圖加速容易分區(qū)之間的活動。特定實施例使用困難分區(qū)的狀態(tài)空間的一個或更多個小子集而不是整個狀態(tài)空間,以減少傳送中的計算工作量。這種啟發(fā)式方法試圖保持全部線程忙碌,因此其有助于提高并行性。此外,這種啟發(fā)式方法可以增加早期通信實例的數(shù)量。因此,局部通信和早期通信的組合效果往往顯著提高并行性。
      下面是使用上述技術(shù)的示例并行可達性算法。
      Parallel-Reachability(n,TR,InitStates){對InitStates創(chuàng)建n個分區(qū)對每個分區(qū)I并行運行{在每個微步驟運行之后ImproveParallelism(i){獲得所有的傳送狀態(tài)計算分區(qū)i中的LeastFixedPoint(Rch)計算從i到所有部分的跨越狀態(tài)}}直到(在所有分區(qū)中都找不到新狀態(tài))}ImproveParallelism(n分區(qū)號){檢查并添加所有的傳送狀態(tài)如果添加了新狀態(tài)重新開始圖像計算請求等待分區(qū)啟動局部通信例程}特定實施例并行地運行與通信結(jié)合的局部LFP計算??梢酝ㄟ^專用線程來管理分區(qū)內(nèi)的全部計算。各線程對來自其他線程的通信狀態(tài)進行輪詢。在圖像計算的每個微步驟之后,各個線程可以調(diào)用函數(shù)ImproveParallelism,該函數(shù)實施提高并行性的兩種啟發(fā)式方法。第一種啟發(fā)式方法是進行早期通信。作為第一啟發(fā)式方法的一部分,該函數(shù)檢查其他線程是否向本線程傳送了一些狀態(tài)。這種由各個線程執(zhí)行的簡單的檢查和更新子例程實施早期通信啟發(fā)式方法。第二啟發(fā)式方法是進行局部通信。作為這種啟發(fā)式方法的一部分,每個活動線程對空閑線程進行檢查。如果找到空閑線程,則啟發(fā)式方法向空閑線程提供來自當(dāng)前分區(qū)的狀態(tài)空間的小子集。該空閑線程根據(jù)該狀態(tài)子集開始向與該空閑線程相關(guān)聯(lián)的分區(qū)的通信。
      在特定實施例中,在多線程方法中,各個線程管理分區(qū)。如果沒有新狀態(tài)被傳送到與該線程相關(guān)聯(lián)的分區(qū),則線程返回空閑狀態(tài)。如果所有的線程都空閑,則線程管理器宣布全局終止標(biāo)志。
      并行使用多個處理器經(jīng)常產(chǎn)生優(yōu)于順序算法的收益。多線程方法可能增加開銷,而不增加可用的資源數(shù)量。因此,一些多線程方法的性能可能僅僅和順序方法一樣,也許略差。然而,通過避免由于調(diào)度瓶頸而導(dǎo)致的效率低下,使用多線程可以提供優(yōu)于POBDD以及OBDD方法的顯著收益。
      特定實施例采用能夠至少部分地改進并行性的啟發(fā)式方法,因為其避免了對狀態(tài)傳送的不必要等待。特定實施例采用在活動局部LFP計算中還使用所傳送的狀態(tài)的啟發(fā)式方法。這使得容易分區(qū)能夠達到它們之間的集體局部最小固定點。因此,如果在該固定點存在錯誤,則可以很快檢測到錯誤。此外,如果在困難分區(qū)中存在錯誤狀態(tài),則使用早期通信可以快速檢測到該錯誤。多線程可達性的貪婪性質(zhì)使得它可以找出到錯誤狀態(tài)的容易到達路線。使用這種方法,錯誤檢測可以顯著較快地發(fā)生。
      對于一些函數(shù),POBDD通常比OBDD小得多。因此,如果可以通過多線程方法改進調(diào)度的不穩(wěn)定性,那么,即使該線程方法具有開銷,其也可以比通過情況下的其他基于BDD的方法更快地完成全部狀態(tài)空間的遍歷。特定實施例可以動態(tài)地識別深可達性情況,使用適應(yīng)于不存在很大并行性的很深的電路的通信策略,或者進行這兩者以改進與很深的電路有關(guān)的并行性。
      作為示例而不是作為限制,考慮電路12的可達性分析。需要計算全部的可達狀態(tài),使用十六個分區(qū)來執(zhí)行可達性分析,每個分區(qū)在獨立的線程中運行。圖2A至2C是例示出啟發(fā)式方法對于各個線程所做工作量的效果的示例Gantt圖。每個分區(qū)由水平虛線表示。填滿的分段表示分區(qū)執(zhí)行計算的工作時間。在達到這種狀態(tài)的末端,小十字表示向其他分區(qū)的狀態(tài)傳送。線中的間斷表示對應(yīng)線程是空閑的并且正等待從另一線程獲得一些狀態(tài)。在多處理器環(huán)境中,這對應(yīng)于處理器的空閑。然而,在多線程環(huán)境中,處理器可以調(diào)度另一線程以執(zhí)行。總時間是在單個處理器上執(zhí)行全部線程的工作時間。這不包括空閑時間。換言之,總工作時間是Gantt圖中的全部分段的長度之和。
      作為示例而不是限制,圖2A示出了在不同分區(qū)中的純多線程執(zhí)行計算中持續(xù)時間是變化的,大多數(shù)線程為空閑直到全部其他線程都完成了其局部分區(qū)并且準(zhǔn)備好進行通信。圖2B例示出早期通信的示例效果。各個分區(qū)只要其完成了其局部固定點計算就進行通信。其他分區(qū)無需等待全部分區(qū)完成其局部工作即可接收較新的狀態(tài)。這使得可以同時對多個分區(qū)進行探索,因此,當(dāng)在單個處理器上進行調(diào)度時,將時間從大約1255秒減少到大約216秒。執(zhí)行完全可達性需要的工作時間較少。然而,在一些線程空閑的調(diào)度中仍然存在間隙。圖2C例示出局部通信在填充這些間隙中的示例效果。當(dāng)線程空閑時,該線程從其他線程獲得一些狀態(tài)。這些狀態(tài)使得該線程能夠獨立于從其獲得狀態(tài)的分區(qū)形式地執(zhí)行一些圖像計算。這確保了良好的并行利用,然而,由于現(xiàn)在可能有多個線程執(zhí)行了重復(fù)工作,所以如在單處理器情況下測量到的,總時間可能增加。在多處理器的情況下,處理器可以得到充分利用而非空閑。使用共享存儲器可以促進這種技術(shù)。
      特定實施例有利于解決如何增大基于分區(qū)BDD的檢驗方法的效率的問題。其效率通常受到調(diào)度問題(即,對分區(qū)進行遍歷的相對順序)的妨礙。特定實施例使用多線程可達性算法,該算法通過對多個甚至也許是全部分區(qū)進行循環(huán)分析而智能地減少了調(diào)度問題。此外,在特定實施例中,這些算法增加了分區(qū)狀態(tài)空間遍歷中的并行性。在特定實施例中,其還通過從容易分區(qū)進行早期通信來盡可能早地收集容易到達的狀態(tài)。對于失敗的特性,這使得找出到錯誤狀態(tài)的容易路徑。雖然通過的情況對于調(diào)度問題較不敏感,但對于這種特性也可以獲益。因此,特定實施例在大多數(shù)情況下(通過或者失敗)都比標(biāo)準(zhǔn)的可達性算法以及分區(qū)方法快得多。當(dāng)在共享存儲器并行體系結(jié)構(gòu)的環(huán)境下評估時,收益增大。
      已經(jīng)使用了特定實施例來描述本發(fā)明,本領(lǐng)域的技術(shù)人員可以領(lǐng)會對用于描述本發(fā)明的特定實施例的一個或更多個變化、替換、變形、改變或者修改。本發(fā)明包括在所附權(quán)利要求書的范圍內(nèi)的全部這些變化、替換、變形、改變和修改。
      權(quán)利要求
      1.一種用于多線程可達性分析的方法,所述方法包括以下步驟將所分析電路的狀態(tài)空間劃分為多個分區(qū);將各個分區(qū)指配給線程,以對指配給該線程的分區(qū)執(zhí)行可達性分析,多個線程彼此并行地執(zhí)行對所述多個分區(qū)的可達性分析;以及使用一個或更多個早期通信算法和局部通信算法來從所述多個分區(qū)中的一個或更多個第一分區(qū)向所述多個分區(qū)中的一個或更多個第二分區(qū)傳送狀態(tài),以幫助所述多個分區(qū)中的第二分區(qū)的可達性分析。
      2.根據(jù)權(quán)利要求1所述的方法,其中,所述多個線程中的兩個或更多個使用共享的存儲器。
      3.根據(jù)權(quán)利要求1所述的方法,其中,由單個處理器執(zhí)行所述多個線程中的兩個或更多個。
      4.根據(jù)權(quán)利要求1所述的方法,其中,一個或更多個可達性分析中的每一個都包括一個或更多個有限狀態(tài)機的寬度優(yōu)先遍歷。
      5.根據(jù)權(quán)利要求1所述的方法,其中,一個或更多個可達性分析中的每一個都包括一個或更多個用于生成一組可達狀態(tài)的最小固定點計算。
      6.根據(jù)權(quán)利要求5所述的方法,其中,最小固定點計算包括直到圖像計算達到固定點為止執(zhí)行的一系列圖像計算。
      7.根據(jù)權(quán)利要求1所述的方法,其中,根據(jù)早期通信算法,所述多個分區(qū)中的第一個分區(qū)在該第一分區(qū)達到最小固定點之后將該第一分區(qū)中的一個或更多個已達狀態(tài)傳送給所述多個分區(qū)中的一個或更多個第二分區(qū)。
      8.根據(jù)權(quán)利要求7所述的方法其中,當(dāng)?shù)谝环謪^(qū)傳送了已達狀態(tài)時,一個第二分區(qū)尚未達到最小固定點;響應(yīng)于已達狀態(tài)的傳送,所述第二分區(qū)并入所傳送狀態(tài)并且重新開始該第二分區(qū)中的當(dāng)前圖像計算,以改進該第二分區(qū)中的可達性分析。
      9.根據(jù)權(quán)利要求7所述的方法其中,當(dāng)?shù)谝环謪^(qū)傳送了已達狀態(tài)時,一個第二分區(qū)已經(jīng)達到最小固定點并且是空閑的;響應(yīng)于已達狀態(tài)的傳送,所述第二分區(qū)并入所傳送狀態(tài)并且重新開始該第二分區(qū)中的可達性分析,對所傳送狀態(tài)的并入有助于至少該第二分區(qū)中的可達性的進一步推進。
      10.根據(jù)權(quán)利要求1所述的方法,其中,多個計算機系統(tǒng)執(zhí)行所述多個線程。
      11.一種用于多線程可達性分析的邏輯,所述邏輯被編碼在介質(zhì)中以執(zhí)行,并且當(dāng)執(zhí)行時可以進行如下操作將所分析電路的狀態(tài)空間劃分為多個分區(qū);將各個分區(qū)指配給線程,以對指配給該線程的分區(qū)執(zhí)行可達性分析,多個線程彼此并行地執(zhí)行對所述多個分區(qū)的可達性分析;以及使用一個或更多個早期通信算法和局部通信算法來從所述多個分區(qū)中的一個或更多個第一分區(qū)向所述多個分區(qū)中的一個或更多個第二分區(qū)傳送狀態(tài),以幫助所述多個分區(qū)中的第二分區(qū)的可達性分析。
      12.根據(jù)權(quán)利要求11所述的邏輯,其中,所述多個線程中的兩個或更多個使用共享的存儲器。
      13.根據(jù)權(quán)利要求11所述的邏輯,其由單個處理器執(zhí)行。
      14.根據(jù)權(quán)利要求11所述的邏輯,其中,一個或更多個可達性分析中的每一個都包括一個或更多個有限狀態(tài)機的寬度優(yōu)先遍歷。
      15.根據(jù)權(quán)利要求11所述的邏輯,其中,一個或更多個可達性分析中的每一個都包括一個或更多個用于生成一組可達狀態(tài)的最小固定點計算。
      16.根據(jù)權(quán)利要求15所述的邏輯,其中,最小固定點計算包括直到圖像計算達到固定點為止執(zhí)行的一系列圖像計算。
      17.根據(jù)權(quán)利要求11所述的邏輯,其中,根據(jù)早期通信算法,所述多個分區(qū)中的第一個分區(qū)在該第一分區(qū)達到最小固定點之后將該第一分區(qū)中的一個或更多個已達狀態(tài)傳送給所述多個分區(qū)中的一個或更多個第二分區(qū)。
      18.根據(jù)權(quán)利要求17所述的邏輯其中,當(dāng)?shù)谝环謪^(qū)傳送了已達狀態(tài)時,一個第二分區(qū)尚未達到最小固定點;響應(yīng)于已達狀態(tài)的傳送,所述第二分區(qū)并入所傳送狀態(tài)并且重新開始該第二分區(qū)中的當(dāng)前圖像計算,以改進該第二分區(qū)中的可達性分析。
      19.根據(jù)權(quán)利要求17所述的邏輯其中,當(dāng)?shù)谝环謪^(qū)傳送了已達狀態(tài)時,一個第二分區(qū)已經(jīng)達到最小固定點并且是空閑的;響應(yīng)于已達狀態(tài)的傳送,所述第二分區(qū)并入所傳送狀態(tài)并且重新開始該第二分區(qū)中的可達性分析,對所傳送狀態(tài)的并入有助于至少該第二分區(qū)中的可達性的進一步推進。
      20.根據(jù)權(quán)利要求11所述的邏輯,其中,多個計算機系統(tǒng)執(zhí)行所述多個線程。
      21.一種用于多線程可達性分析的系統(tǒng),所述系統(tǒng)包括劃分裝置,將所分析電路的狀態(tài)空間劃分為多個分區(qū);指配裝置,將各個分區(qū)指配給線程以對指配給該線程的分區(qū)執(zhí)行可達性分析,執(zhí)行對所述多個分區(qū)的可達性分析的多個線程彼此是并行的;以及傳送裝置,使用一個或更多個早期通信算法和局部通信算法來從所述多個分區(qū)中的一個或更多個第一分區(qū)向所述多個分區(qū)中的一個或更多個第二分區(qū)傳送狀態(tài),以幫助所述多個分區(qū)中的第二分區(qū)的可達性分析。
      全文摘要
      多線程可達性。在一個實施例中,用于多線程可達性分析的方法包括以下步驟將所分析電路的狀態(tài)空間劃分為多個分區(qū),并且將各個分區(qū)指配給線程以對指配給該線程的分區(qū)執(zhí)行可達性分析。多個線程彼此并行地執(zhí)行對所述多個分區(qū)的可達性分析。所述方法還包括以下步驟使用一個或更多個早期通信算法和局部通信算法來從所述多個分區(qū)中的一個或更多個第一分區(qū)向所述多個分區(qū)中的一個或更多個第二分區(qū)傳送狀態(tài),以幫助所述多個分區(qū)中的第二分區(qū)的可達性分析。
      文檔編號G06F9/46GK101034417SQ20061008793
      公開日2007年9月12日 申請日期2006年6月7日 優(yōu)先權(quán)日2005年6月7日
      發(fā)明者賈瓦哈拉·賈殷, 德巴西斯·薩胡 申請人:富士通株式會社
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1