TWI484202B - 考量時間及空間相關性的統計形式活動分析 - Google Patents

考量時間及空間相關性的統計形式活動分析 Download PDF

Info

Publication number
TWI484202B
TWI484202B TW099106665A TW99106665A TWI484202B TW I484202 B TWI484202 B TW I484202B TW 099106665 A TW099106665 A TW 099106665A TW 99106665 A TW99106665 A TW 99106665A TW I484202 B TWI484202 B TW I484202B
Authority
TW
Taiwan
Prior art keywords
circuit
state
correlation
input
probability
Prior art date
Application number
TW099106665A
Other languages
English (en)
Other versions
TW201100829A (en
Inventor
Zhenyu Gu
Kenneth S Mcelvain
Original Assignee
Synopsys Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Synopsys Inc filed Critical Synopsys Inc
Publication of TW201100829A publication Critical patent/TW201100829A/zh
Application granted granted Critical
Publication of TWI484202B publication Critical patent/TWI484202B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/327Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3323Design verification, e.g. functional simulation or model checking using formal methods, e.g. equivalence checking or property checking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/08Probabilistic or stochastic CAD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/06Power analysis or power optimisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Logic Circuits (AREA)

Description

考量時間及空間相關性的統計形式活動分析
一般而言,本發明係關於自動化電路活動分析。更特定而言,本發明係關於考量時間及/或空間相關性之統計形式活動分析。可使用該分析之結果來分析且最佳化一電路之設計。
對於數位電路(例如,在超大規模積體(VLSI)技術之規模上)之設計,設計者通常採用電腦輔助技術。已開發出標準語言(例如,硬體描述語言(HDL))來描述數位電路以輔助複雜數位電路之設計及模擬。數種硬體描述語言(例如,VHDL及Verilog)已演化為工業標準。VHDL及Verilog係通用硬體描述語言,其允許一硬體模型在閘級、暫存器轉移級(RTL)或行為級使用抽象資料類型之定義。隨著裝置技術繼續進步,已開發出各種產品設計工具來使HDL適於供與較新裝置及設計風格一起使用。
在藉助一HDL程式碼設計一積體電路時,首先寫入該程式碼且然後由一HDL編譯器編譯該程式碼。HDL源程式碼在某一級上描述電路元件,且編譯器自此編譯產生一RTL網表。RTL網表通常因其獨立於一特定賣主之積體電路(例如,場可程式化閘陣列(FPGA)或一專用積體電路(ASIC))之技術/架構而係一技術的獨立網表。RTL網表對應於電路元件之一示意性表示(與一行為表示形成對比)。然後,執行一映射操作以自技術獨立的RTL網表轉換為一技術特有網表,可使用該技術特有網表來在賣主之技術/架構中形成電路。眾所周知,FPGA賣主利用不同的技術/架構來將邏輯電路實施於其積體電路內。因此,映射該技術獨立的RTL網表以形成為一特定賣主之技術/架構所特有之一網表。在該映射程序期間,在FPGA之情況中,將小的邏輯運算群及其之間的信號映射為閘或LUT。可藉由最大化覆蓋或映射於該等閘或LUT內之信號之活動來最小化此階段之功率,從而使較低活動信號在邏輯單元之間的導線上路由。
在將組件放置於晶片上期間,所使用之演算法通常試圖藉由將所連接之組件與關鍵路徑單元緊密放在一起來最佳化沿關鍵路徑之總佈線及延遲。功率消耗之一減少亦可係放置期間之一目的。在此情況中,目的係使用於快速切換之信號的導線更短。
由於侵略性技術按比例調整,功率變成下一代奈米規模IC(積體電路)設計之瓶頸。電路活動分析係用於多種功率估計及最佳化之一關鍵缺失輸入。在當前的EDA(電子設計自動化)工業中,由於用於大的工業級設計之一基於模擬之方法之極長的運行時間及構造將模仿由電路之真實世界使用產生之活動的測試台之困難,因此不存在針對該活動分析之低成本解決方案。因此,現今的大多數設計既不明確地考量功率分析及最佳化期間之電路活動,亦不假定相對於用於電路之所有信號之時鐘信號的頻率之一全局雙態觸變率百分比(其與現實相距甚遠)。
由於功率消耗變成積體電路(IC)設計中之瓶頸中之一者,因此切換活動分析係IC之功率估計及功率最佳化兩者之一關鍵缺失元素。
一電路切換活動分析之問題定義如下:在給定一電路之所有輸入之狀態概率及轉變概率之情況下,提供該電路之所有內部信號及輸出之狀態概率及轉變概率。此處,使用兩個量化參數來規定一信號A之活動:1)一狀態概率P(A)(例如,信號A處於邏輯1之一概率);及2)一轉變概率T(A)(例如,信號A自邏輯1切換至邏輯0或自邏輯0切換至邏輯1之一概率)。
執行一切換活動分析之一簡單易懂的方法係模擬軌跡,例如,特卡洛模擬(MCS),其由於電路輸入處應用隨機產生之輸入型樣及使用一模擬器計數狀態概率及轉變概率組成。MCS之一缺點係需要一極長的測試台來覆蓋大量輸入型樣序列,此需要一長的運行時間。該等序列之數目及長度需要隨該電路中正反器之數目快速地增加,此乃因狀態之數目隨正反器之數目以指數方式增長。因此,大多數設計者僅對所有信號簡單地應用一全局切換活動率,例如,時鐘頻率之25%。
另一方法稱為一無向量電路活動分析或基於信號概率計算之基於概率之電路活動分析。用於順序電路分析中之一個基本工具係展開電路之概念,其由在數個時鐘循環內反覆該電路組成。在視覺上,你可想到一示意圖之多個複本彼此上下堆棧,其中正反器由將下部片上之正反器之輸入連接至上部片上之正反器之輸出連接之導線替換。該等輸入及導線上之信號值表示一第一時鐘循環中之電路輸入及狀態且每一連續片表示連續時鐘循環中之輸入及狀態。某些人已提出展開下一狀態邏輯以便模擬一有限狀態機(FSM)之兩個接續邏輯狀態之間的一時間相關性(亦即,FSM內之內部時間相關性)之想法。藉由考量再收斂路徑之一空間相關性來做出進一步改良。然而,此等方法中無一者考量一展開之電路之輸入信號之時間及空間相關性。一簡單的空間相關性實例係去往一子電路之永不同時為真之兩個輸入信號,亦可能係計數0、1、2、0...且永不達到3之一計數器之輸出。最近,提出一閉合形式的公式來表徵具有一回饋迴路之每一單個正反器之狀態概率及切換活動。然而,在無狀態啟用信號及不相關輸入之假定下(此很少為真),此方法僅具有模擬具有一個正反器之一狀態機之時間-空間相關性之能力。
本文中闡述用於考量時間及/或空間相關性之統計形式活動分析之技術。可使用該活動分析之結果來自效能及/或功率消耗之角度分析且最佳化電路設計。根據本發明之一個態樣,設計且利用一時間相關性網路來在一活動分析期間引入輸入信號之時間相關性。在一特定實施例中,使用一布林表示或等效邏輯電路來表示一時間相關性網路。
另外,根據本發明之另一態樣,利用一有效率的編碼方案來藉助信號之聯合概率表示一群組信號之活動分析資訊。可使用該編碼方案來模擬一群組信號之間的一空間相關性。一空間相關性係關於其中一信號或一群組信號之邏輯狀態對其他信號之邏輯狀態具有依賴性之一情況。
此外,根據本發明之另一態樣,藉助該編碼方案來表示一群組信號之正確的聯合概率,可將一展開之電路(亦稱作一展開電路)之深度控制在某些記憶體約束內,且可藉助多次計算一淺展開之電路的統計之反覆而非在一個遍中計算一更深展開之電路的統計來收斂活動資料。在一個實施例中,利用一有效率的布林表示或等效邏輯電路圖來表示彼此之間具有時間、空間或兩個相關性依賴之一群組信號。因此,本發明之實施例可在具有聯合概率資訊支援之情況下將展開之電路之一極長的鏈(通常消耗記憶體)變換為一短的展開之電路之數個反覆。本發明之實施例可急劇減少高峰記憶體使用,同時仍維持相同的精確度位準。本發明之實施例亦可藉由反覆展開由於高峰記憶體約束而不能藉助一傳統方法完成之電路來改良活動分析之一精確度。
此外,根據本發明之另一態樣,對於一大且複雜的電路,替代在硬體加速仿真或原型設計期間捕獲所有信號之活動資訊,將該電路分割為多個區塊。僅一小組關鍵信號(例如正反器之活動資料及邊界資訊)由該硬體捕獲。藉由使用在本申請案之通篇中所闡述之統計形式分析方法,可使所捕獲之資訊傳播穿過該電路且可針對每一信號計算活動資料。與一習用方法相比較,此技術使板上仿真器/原型設計更快且面積額外負擔小的多。可重複該分析以便達成一收斂解。
自附圖且自以下實施方式將明瞭本發明之其他特徵。
本文中闡述用於考量時間及/或空間相關性之統計形式活動分析之技術。在以下闡述中,陳述了眾多細節以提供對本發明實施例之一更透徹的解釋。然而,熟習此項技術者應明瞭,可不藉助此等具體細節來實踐本發明之實施例。在其他情況中,以方塊圖形式而非以詳圖形式顯示眾所周知的結構及裝置從而避免混淆本發明之實施例。
在本說明書中提及「一個實施例(one embodiment)」或「一實施例(an embodiment)」意指結合該實施例闡述之一特定特徵、結構或特性包含於本發明之至少一個實施例中。在本說明書中各個地方中出現短語「在一個實施例中」未必皆指代同一實施例。
如上文所闡述,僅使用展開一電路不能解決時間相關性問題,此乃因其不包含輸入信號之時間相關性。時間相關性係關於其中一信號或一群組信號之一邏輯狀態對同一信號或同一群組信號之一先前邏輯狀態具有一依賴性之一情況。根據本發明之一個態樣,設計且利用一時間相關性網路來在一活動分析期間引入輸入信號之時間相關性。在一特定實施例中,使用一布林表示或等效邏輯電路來表示一時間相關性網路。
另外,根據本發明之另一態樣,利用一有效率的編碼方案藉助一群組信號之聯合概率表示該群組信號之活動分析資訊。可使用該編碼方案來在信號或一群組信號之間引入空間相關性。一空間相關性係關於其中一信號或一群組信號之邏輯狀態對其他信號之邏輯狀態具有依賴性之一情況。
此外,根據本發明之另一態樣,藉助該編碼方案來表示一群組信號之正確的聯合概率,可將一展開之電路之深度控制在某些記憶體約束內,且可藉助多次計算該等展開之電路之反覆來收斂活動資料。在一個實施例中,利用一有效率的布林表示或等效邏輯電路來表示彼此之間具有時間、空間或兩個相關性依賴之一群組信號。因此,本發明之實施例可在具有聯合概率資訊支援之情況下將一深展開之電路(其高度消耗記憶體)變換為一淺展開之電路之數個計算反覆。本發明之實施例可急劇減少高峰記憶體使用,同時仍維持相同的精確度位準。本發明之實施例亦可藉由反覆計算由於高峰記憶體約束而不能藉助一傳統方法完成之淺展開之電路的統計來改良活動分析之一精確度。
此外,根據本發明之另一態樣,對於一大且複雜的電路,替代在硬體加速仿真或原型設計期間捕獲所有信號之活動資訊,將該電路分割為多個區塊。僅一小組關鍵信號(例如群組正反器之活動資料及邊界資訊)由該硬體捕獲。對於每一群組信號,將一小的記憶體連接至藉由序連該群組之先前狀態(例如,如圖19A中所示之匯流排「PREV STATE」)與下一狀態(例如,如圖19A中所示之匯流排「NEXT STATE」)而形成之一位址。每一時鐘循環,所定址之位置遞增,從而捕獲狀態概率及狀態至狀態轉變率兩者(例如,如圖19A中所示之區塊0002)。在該群組中之位元數目過大之情況中,可藉由將大量低概率狀態映射至一個程式碼來壓縮索引(例如,如圖19A中所示之區塊0001)。舉例而言,假設250個狀態中有12個狀態為高概率,則可將剩餘的250-12=238個狀態映射至一單個程式碼,從而產出一4位元而非8位元索引。藉由使用在本申請案之通篇中所闡述之統計形式分析方法,可使所捕獲之資訊傳播穿過該電路且可針對每一信號計算活動資料。與一習用方法相比較,此技術使板上仿真器/原型設計更快且面積額外負擔小的多。
圖1係圖解說明根據本發明之一個實施例之用於一活動分析之一程序之一實例之一流程圖。應注意,程序100可由可包含軟體、硬體或其兩者之一組合之處理邏輯執行。參照圖1,在區塊101處,接收一網表,其中該網表表示與正設計之一IC相關聯之一電路之至少一部分之一電路或一單元區塊。該網表可係由一HDL編譯器基於以HDL程式化語言寫入之一輸入檔案產生之一RTL網表。該網表通常在單元中間包含多個網或節點。在區塊102處,處理邏輯橫穿該網表以為該網表之網中之每一者標識一邏輯位準(例如,邏輯位準1或0)。
在一個實施例中,該處理邏輯以該網表之一輸入側開始且朝向該網表之一輸出側「走過」每一網。此一「走過」之目的中之一者係為狀態概率及轉變概率穿過該電路之隨後傳播決定一序列次序。根據一個實施例,所有初級輸入及正反器皆藉由預設而被指派有具有一初始狀態概率0.5及一初始轉變概率0.2之一位準0或藉由使用者而被指派有其他值。所有其他網係皆被指派有對應於其扇入(例如,一邏輯閘之輸入之數目)之一位準作為一最大位準。
在區塊103處,處理邏輯根據所指派之邏輯位準對每一組合電路(亦稱作組合邏輯)執行一統計形式分析。在統計形式分析期間,處理邏輯傳播該網表內之所有組合電路之狀態概率及轉變概率。在一個實施例中,藉由橫穿例如一BDD(二元決策圖)樹之一資料結構之節點來執行此傳播,其中該資料結構之每一節點表示該網表之一網或其他布林方法。
一BDD係用於表示一布林函數之一資料結構。一布林函數可表示為一有根、有向、非循環圖,其由決策節點及稱為0-終端及1-終端之兩個終端節點組成。每一決策節點係由一布林變數標記且具有稱為低子代及高子代之兩個子代節點。自根節點至1-終端之一路徑表示所表示之布林函數對其為真之一(可能部分)變數指派。隨著該路徑自一節點下降至一低子代(高子代),彼節點之變數被指派給0(1)。BDD廣泛地用於CAD(電腦輔助設計)軟體中以合成電路且用於形式驗證中。每一任意BDD可藉由以一2-至-1多工器替換每一節點來直接實施;每一多工器可由一4-LUT(查找表)在一FPGA(場可程式化閘陣列)中直接實施。應注意,在本申請案之通篇中,一BDD樹係用作用於活動分析之一傳播程序之一資料結構之一實例。此等實施例中所闡述之技術並不受限於基於BDD之函數表示,諸多其他適合的函數表示可用,包含PLA、真值表、與-反向器圖形及其他函數表示。
參照回圖1,在區塊104處,對該網表內之順序電路(亦稱作順序邏輯)中之每一者執行一統計形式活動分析。在此分析期間,更新該順序電路之正反器或正反器群組之狀態概率及轉變概率。在一個實施例中,對於不具有一回饋迴路之一正反器或一正反器群組,將該等狀態概率及轉變概率自輸入網複製至其對應輸出網。對於具有一回饋迴路及/或一側切支援之一正反器/或一正反器群組,將該順序電路展開預定次數以表示差異。一側切支援係關於並非來自一回饋迴路之一信號。此後,該處理邏輯使用一BDD樹或其他布林邏輯方法且計及時間及空間相關性來更新狀態概率及轉變概率。可重複執行區塊103至104之操作直至滿足一預定條件,該條件可係使用者可組態條件。在一個實施例中,執行反覆直至已收斂狀態概率及轉變概率。當兩個接續反覆之間的狀態概率小於一預定臨限值時,收斂一狀態概率。類似地,當兩個接續反覆之間的轉變概率在一預定範圍內時,收斂一轉變概率。
如上文所闡述,一電路切換活動分析之目的係:在給定一電路之所有輸入之狀態概率及轉變概率之情況下,提供該電路之所有內部信號及所有輸出之狀態概率及轉變概率。一活動分析包含針對一組合電路之一活動分析及針對一順序電路之一活動分析。
一順序電路或邏輯係其輸出不僅相依於當前輸入且亦相依於輸入歷史之一種類型的邏輯電路。此與一組合電路或邏輯相反,該組合電路或邏輯之輸出係且僅係當前輸入之一函數。換言之,順序邏輯具有儲存器(例如,記憶體),而組合邏輯不具有儲存器。因此,使用順序邏輯來構造某些類型之電腦記憶體、其他類型的延遲及儲存元件以及有限狀態機。大多數實際電腦電路係組合邏輯與順序邏輯之一混合。順序邏輯中之基本儲存元件係一正反器(flip-flop)(簡稱作一正反器(flop))。
針對組合電路之活動分析
圖2A係圖解說明根據本發明之一個實施例之用於對一組合電路執行一活動分析之一程序之一流程圖。應注意,程序200可由可包含軟體、硬體或其兩者之一組合之處理邏輯執行。參照圖2A,在區塊201處,自一網表檢索表示一組合電路之一網且評估該組合電路之輸入。若該組合電路之輸入相關(例如,來自由該網表表示之一順序電路之一輸出之輸入之一部分),則使用展開及編碼技術估計,在區塊204處該組合電路之狀態概率,且在區塊205處該組合電路之轉變概率,下文將對此進行進一步闡述。若組合電路之輸入不相關,則在區塊202處,估計一組合電路之狀態概率。在一個實施例中,對於一組合電路輸出之每一網,(例如)藉由橫穿該網之一BDD表示且對具有一葉節點(其具有一邏輯真值)之一路徑之所有概率求和來計算每一閘輸出之一狀態概率。此等效於將函數改寫為一組不相交乘積項之和,從而將該等乘積項之概率計算為其可變狀態之概率的乘積且然後跨越所有乘積項求和。可利用一廣度優先搜索(BFS)演算法來發現最大數目個變數、最大數目個深度之一邊界下之一切口或命中一初級輸入。BFS係一圖形搜索演算法,其在根節點處開始且探測所有相鄰節點。然後,對於彼等最近節點中之每一者,該算法探測該等最近節點之未經探測之鄰居節點等等,直至其發現目標。
參照回圖2A,在區塊203處,估計該組合電路之一轉變概率。在一個實施例中,自輸入之狀態概率及轉變概率計算一輸出轉變概率。此比其最初看起來要更複雜,此乃因一下一狀態係與一當前狀態相關(例如,其具有依賴性)。在一個實施例中,為計算輸出轉變概率,將此一問題轉換為類似於一靜態概率問題之一問題。根據一特定實施例,如下界定一函數:
G=F(V)Λ F(VΛ T)
此處,Λ 表示向量XOR運算。T之位元為1表示對V之對應位元啟用一轉變。亦即,當T(i)=1時,V(i)Λ T(i)=NOT V(i)。當T(i)=0時,V(i)Λ T(i)=V(i)。因此,F(VΛ T)表示下一狀態。此處,F係一信號之一邏輯函數;V係一組輸入信號;且G表示在函數F之一轉變發生時為真之一邏輯函數。
類似地,可編寫函數G,以使得當存在自F(V)至F(VΛ T)之一轉變時G=1;否則,G將為0。以此方式,將一轉變概率問題轉換為一狀態概率問題。在給定T(i)之概率=1之情況下,端視V(i)之狀態,在一BDD表示中,可將該T(i)變數恰好放置於該V(i)變數之下方。可以狀態概率計算中之一類似方式解決P(G=1)之問題。在一個實施例中,處理邏輯必須共同計算V/T可變位準且僅在V位準下以一正形式快取。在此情況中,當橫穿每一變數之BDD表示時,存在四種情況:
0→0:曾為0,保持為0
0→1:曾為0,啟用轉變,上升邊緣
1→0:曾為1,保持為1
1→1:曾為1,啟用轉變,下降邊緣
舉例而言,如圖2B中所示,一AND閘邏輯250可出於計算概率之目的而表示於邏輯260中。此處,AND閘264係一函數F(V)。邏輯261-263表示F(VΛ T),其中Λ 表示一XOR邏輯。對於AND閘250,存在兩個輸入A及B。邏輯261之狀態概率係基於狀態概率A及其轉變概率T1來確定。邏輯262之狀態概率係基於狀態概率B及其轉變概率T2來確定。最終轉變概率G可基於邏輯263及264之狀態概率來確定,如上文所陳述,此由G=F(V)Λ F(VΛ T)表示。
考量時間相關性之針對順序電路之活動分析
如上文所提及,一順序電路或邏輯係其輸出不僅相依於當前輸入且亦相依於相同輸入之歷史(例如,相關輸入)一種類型的邏輯電路類型。一典型順序電路包含將其輸出耦合至其輸入之一回饋迴路。一順序電路可由具有一回饋迴路之一組合電路表示。為對一順序電路執行一活動分析,必須確定狀態概率及轉變概率。
應注意,一正反器自身並不改變邏輯值。而是,一正反器僅儲存一值。因此,為計算不具有一回饋迴路之一單個正反器之一狀態概率,可將一輸入網之狀態概率簡單地複製至其輸出網。然而,對具有一回饋迴路之一單個正反器之狀態概率之計算將不同。
應注意,可使用等效邏輯閘(例如,如圖3中所示之一個等效邏輯閘)來表示具有一重置信號、一設置信號及一啟用信號之一正反器。根據一個實施例,可使用以下方程式來計算大多數正反器之狀態概率:P1 =((1.0-p_r)*(p_s+(1.0-p_s)*p_en*p_d))/(1-(1.0-p_s)*(1.0-p_en)*(1.0-p_r))。此處,p_r表示重置接針之一概率;p_s表示設置接針之一概率;且p_en表示啟用接針之一概率。應注意,出於圖解說明之目的,P0 表示處於邏輯位準0之一信號之一狀態概率,而P1 表示處於邏輯位準1之一信號之一狀態概率,其中P1 +P0 =1。
根據一個實施例,為確定一順序電路之轉變概率,將該順序電路展開為多個串聯的級(例如多個複本),本文中亦稱作展開之電路或邏輯。另外,設計一相關性網路且將其耦合至每一展開之電路以在每一展開之電路之輸入上引入時間相關性。
圖4A係圖解說明根據本發明之一個實施例用於解決一時間相關性之一實例性解決方案之一方塊圖。參照圖4A,將一順序電路展開為多個級(例如,N個級或N深度)401至403。出於圖解說明之目的,在圖4A中僅顯示三個級。然而,其並不受限於此,可實施更多或更少個級。另外,將一相關性網路(例如,相關性網路404至405)附接至每一級以將時間相關性引入至每一級之一輸入。在此實例中,組態相關性網路404以將時間相關性引入至展開之電路402之一輸入,而組態相關性網路405以將一時間相關性引入至展開之電路403之一輸入等等。
根據一個實施例,參照圖4A,假定F0 =G(S0 ,S1 ,...Sj,O0 ,O1 ,...Ok )係具有一回饋迴路之一組合電路之一函數。S=(S0 ,S1 ,...Sj )係側支援網。O=(O0 ,O1 ,...Ok )係回饋網。Fi=G(C(S0 ),C(S1 ),...C(Sj ),Fi-1 )係具有「i」深度之一展開之電路之一函數。函數C(S0 )模仿輸入信號S0 在一時域中之一相關性(例如,時間相關性)。在一個實施例中,C之一基本函數係一多工器(MUX)之一BDD表示:BddMux(tr ,tf ,S0 ),其中tr 及tf 係自信號S0 之統計資料形成之信號,亦即,tr 之狀態概率係信號S0 之上升轉變概率,且tf 之狀態概率係信號S0 之下降轉變概率。
應注意,出於圖解說明之目的,根據一個實施例,轉變率T表示一信號在兩個接續時鐘循環之間自邏輯0切換至邏輯1或自邏輯1切換至邏輯0之一概率。tr 表示一上升轉變之一概率,其中tr =T/2P0 。tf 表示一下降轉變之一概率,其中tf =T/P1 。上升轉變之數目等於下降轉變之數目:P0 *tr =P1 *tf =T/2。轉變率T應小於或等於P0 或P1 之最小值的兩倍:2*Min(P0 ,P1 )。
根據一個實施例,每一信號之上述相關性網路可由如圖4B中所示之一真值表表示。參照圖4B,該真值表表示為初級輸入A0 引入時間相關性之一關鍵分量。此處,A0 表示時間幀0處之信號A,而A1 表示時間幀1處之信號A。Atf表示信號A之一下降切換活動(例如,自邏輯位準1至0)。Atr表示信號A之一上升切換活動(例如,自邏輯位準0至1)。該真值表闡述A0與A1之間的時間相關性邏輯。如自圖4C之真值表可見,在一當前狀態處於一邏輯位準0(例如,低邏輯位準)時,一上升切換活動將在下一狀態將當前狀態轉變至一邏輯位準1。然而,一下降切換活動將不在下一時間幀中改變當前狀態,此乃因當前狀態已處於一邏輯位準0,且因此實際上,在此情況中忽略了下降切換活動。類似地,在當前狀態處於一邏輯位準1(例如,高邏輯位準)時,一下降切換活動將在下一狀態將當前狀態轉變至一邏輯位準0。然而,一上升切換活動將不在下一時間幀中改變當前狀態,此乃因當前狀態已處於一邏輯位準1,且因此實際上,在此情況中忽略了上升切換活動。
我們給出以下證據來展示所引入之相關性邏輯將不改變每一時間幀中之信號的統計性質,但將在同一信號之每兩個接續時間幀之間添加時間相關性。為驗證狀態概率,根據該真值表,我們可發現存在將允許信號A1 處於邏輯1之四種可能的組合。可以兩個乘積項書寫這四種組合。因此,A1 處於邏輯1之概率係如以下方程式所列出之這兩個乘積項之不相交概率之和:
此處,我們證明A0 與A1 之狀態概率相同。
為驗證轉變概率,類似於狀態概率之證據,我們可得到作為兩個不相交乘積項之概率的和之A1 的轉變概率:
此處,我們證明A0 與A1 之轉變概率相同。
根據以上證據,可確定信號A1 具有與信號A0 相同的狀態概率及轉變概率,亦即,信號A1 與A0 表示相同但處於不同時間幀中之信號,該等不同時間幀彼此之間具有時間相關性。此結論可進一步概括為P(Ai )=P(Aj ),亦即,任何兩個時間幀之狀態概率將相同。圖4C係圖解說明基於圖4B中之真值表之時間相關性網路之可能邏輯圖中之一者。
圖5係圖解說明具有一回饋迴路之一順序電路之一表示之一示意圖。在此實例中,電路500包含一MUX及一正反器。當信號en為真時,該正反器將使其輸出q載入有輸入d之值;否則,輸出q將不改變。因此,存在一時間相關性。根據一個實施例,為確定電路500之轉變概率,將電路500展開多次。
圖6係圖解說明根據本發明之一個實施例之具有相關性網路之一展開之順序電路之一示意圖。參照圖6,在此實例中,將圖5之電路500展開三次以表示處於時間幀0、1及2中之順序電路。每一展開之電路包含該時序電路內之所有組合部分(電路500中之一MUX)。三個展開之電路係串聯耦合,其中一當前展開之電路之一輸出耦合至一下一展開之電路之一輸入。可經由一BDD樹或其他等效邏輯資料結構來表示該等展開之電路(亦稱作一展開之網路)。另外,將一相關性網路附接至展開之電路之每一輸入以在兩個接續展開之電路之間引入對應輸入之一時間相關性。在此實例中,將相關性網路604附接至該等展開之電路以在信號「en」(例如,en0、en1及en2表示處於時間幀0、1及2中之信號「en」)之不同時間幀之間引入時間相關性。類似地,將相關性網路605附接至該等展開之電路以將時間相關性引入至不同時間幀處之初級輸入信號「d」(例如,d0、d1及d2表示處於時間幀0、1及2中之信號「d」)。
圖7係圖解說明根據本發明之一個實施例之在不同時間幀中之任一相關信號之一相關性網路之一示意圖。舉例而言,相關性網路700可實施為圖6之相關性網路604及/或605之一部分。在此實例中,出於圖解說明之目的,相關性網路700包含三個子網路,圖6之每一展開之電路一個。每一子網路包含一MUX、一XOR閘及其統計係用於控制轉變率之兩個所引入輸入變數。MUX之輸入表示一上升轉變tr及一下降轉變tf。該MUX之一輸出係耦合至XOR閘之一輸入。初級輸入(例如,in0、in1及in2)係耦合至MUX之一啟用接針及XOR閘之其他輸入。一相關性網路之目的係:在給定一當前展開之電路之一初級輸入之一當前狀態及該初級輸入之切換轉變(例如tr及tf)之情況下,預測該初級輸入之一下一狀態,所述下一狀態用於將一時間相關性引入至一下一展開之電路之一輸入。
根據一個實施例,可經由如圖4B中所示之一真值表支援一相關性網路。舉例而言,當相關性網路700實施為圖6之相關性網路605之一部分時,信號in0表示圖6之輸入d0;信號in1表示圖6之輸入d1;且信號in2表示圖6之輸入d2。出於圖解說明之目的,在給定一初級輸入in0(例如,圖6中之輸入d或d0)之情況下,基於信號in0之上升切換tr及下降切換tf來確定d1。
此確定可基於由如圖4B中所示之真值表表示之邏輯來執行。舉例而言,參照圖4B及圖7,若輸入in0之當前狀態(例如,圖4B中之A之當前狀態)處於邏輯位準0、同時上升切換活動tr與下降切換活動tf兩者皆為0,則基於圖4B之真值表,信號in0之下一狀態(例如,in1)為0。類似地,若輸入in0之當前狀態(例如,圖4B中之A之當前狀態)處於邏輯位準1、同時上升切換活動tr與下降切換活動tf兩者皆為1,則基於圖4B之真值表,信號in0之下一狀態(例如,in1)為0。因此,參照回圖6,輸入d1係相依於d0以及d0之切換活動。因此,考量時間相關性確定輸入d1。
參照回圖7,藉助如圖7中所示之相關性網路,我們可確定信號in0、in1、tr及tf之狀態概率,其基於圖4B之真值表而具有以下關係:
基於以上計算,確定信號in0與in1具有相同的狀態概率及轉變概率。類似地,可證明信號in1與in2具有相同的狀態概率及轉變概率。因此,此相關性網路允許在展開之電路中模擬時間相關性。
圖8係圖解說明具有一回饋迴路之一順序電路之另一實例之一示意圖。在此實例中,順序電路800包含一NOR閘及兩個正反器。使用上文所闡述之技術,可如圖9中所示藉由移除正反器來將電路800展開多個時間幀。在此實例中,參照圖9,將電路800展開三次,其中每一展開之電路包含一NOR閘及兩個AND閘。另外,附接三個相關性網路以將時間相關性引入至每一展開之電路之一輸入。
圖10係圖解說明根據本發明之一個實施例之用於對具有一時間相關性之一順序電路進行一活動分析之一程序之一流程圖。應注意,程序1000可由可包含軟體、硬體或其兩者之一組合之處理邏輯執行。參照圖10,在區塊1001處,在給定欲分析之具有一回饋迴路之一目標電路之情況下,形成一相關性網路,其中該時間相關性網路模擬對一電路之一輸入之一時間相關性影響。組態該相關性網路以在給定一當前展開之電路之一輸入之一當前狀態/當前時間幀之情況下,鑒於該輸入之上升活動及下降活動確定該輸入之一下一狀態/下一時間幀。考量當前展開之電路之一時間相關性,將所確定之下一狀態作為一輸入施加至一下一展開之電路。在一個實施例中,由類似於圖4B中所示之一個真值表之一真值表表示一相關性網路。在區塊1002處,將目標電路展開為多個等效邏輯電路(例如,展開之電路)。在區塊1003處,使一時間相關性網路與每一等效邏輯電路相關聯。在區塊1004處,使用相關聯之相關性網路對每一展開之電路執行一活動分析以將時間相關性引入至對應展開之電路之一輸入。亦可執行其他操作。
針對具有空間相關性之順序電路之活動分析
根據一個實施例,除了考量時間相關性之外,在一順序電路之一活動分析期間亦考量輸入之空間相關性。在不考量空間相關性之情況下,一順序電路之活動分析將係不完整的。
舉例而言,如圖8中所示,在給定具有3個狀態(s0 :00、s1 :01及s2 :10)之一2位元FSM之情況下,組態該FSM以計數0、1、2,且然後再次開始(例如,一計數器)。每一位元之狀態概率P(bi )及每一狀態之狀態概率P(Sj )兩者皆為1/3。然而,不可能自(bi )導出P(si )。在給定實例中,P(b0 )=P(b1 )=1/3且P(s0 )=P(s1 )=P(s2 )=1/3。因此,P(s0 )=(1-1/3)*(1-1/3)=4/9且P(s1 )=P(s2 )=1/3*(1-1/3)=2/9。如可見,所有有效狀態之概率(例如,P(s0 )、P(s1 )、P(s2 ))之和為8/9,此係不完整的,亦稱作一不完整組狀態。如上文可見,狀態11係2位元FSM永達不到之一無效狀態(例如,一不可達到的狀態)。一不完整的描述不能表示每一信號之間的空間相關性,亦即每一狀態之基於每一個別狀態位元之狀態概率之資訊之聯合概率(例如,所有有效狀態概率之和不等於1)。
根據一個實施例,設計一編碼方案以藉由消除無效狀態(在一FSM中亦稱作一不可達到的狀態)來將一不完整組狀態映射為一完整的狀態組。在一個實施例中,鑒於上述FSM實例,可由以下映射表表示一編碼方案之一實例。
如上表中所示,FSM狀態概率P(si )係一重新編碼方案中位元之一聯合概率。在此實例中,舊狀態編碼11係我們試圖在新狀態編碼中消除之一無效狀態。鑒於上表,我們將01及11兩者映射至X1作為狀態s0 ,此處X意指任意位元。
圖11A係圖解說明根據一個實施例之具有一編碼方案之一順序電路之一方塊圖。參照圖11A,系統1100包含可或可不展開之一順序電路1101及具有一相關性網路1102之一側網。假定該順序電路係如圖8中所示之一2位元FSM,則電路1101將被展開為3個級。因此,側網1102包含一時間相關性網路以在每一級之一輸入中引入一時間相關性。另外,利用一編碼方案來將一空間相關性引入至該順序電路之輸入作為一整體。在一個實施例中,該編碼方案包含一編碼器1103,其耦合至順序電路1101之一輸入以將所有可能的狀態映射為該輸入之一組可達到之狀態,此乃因在給定一特定設計之情況下並非所有狀態皆為可達到。此實際上消除了無效狀態。
根據一個實施例,該編碼方案進一步包含一可選解碼器1104,其耦合至順序電路1101之一輸出。解碼器1104之一輸出饋送回至編碼器1103之一輸入。編碼器1103經組態以將狀態P(e)映射至P(s),且解碼器1104經組態以在將該狀態饋送回至編碼器以供反覆之前將狀態P(s)映射回至P(e)。應注意,為將一空間相關性引入至一電路,僅需要一編碼器電路,例如如圖11B中所示。僅當要求重複展開時需要一解碼器電路,該重複展開需要將展開之電路之輸出饋送回至輸入中。藉助自一解碼器電路起始之一回饋迴路,可以較少個級展開一電路且可藉助較少記憶體寬度反覆該展開程序。
根據一個實施例,對於具有m個狀態之一n位元FSM,可利用一(m-1)位元編碼方案來映射該FSM之原始狀態。因此,我們可藉由計及某些狀態為無效來導出每一位元之正確的概率。具體而言,可使用以上映射表來反覆地導出每一編碼位元之一狀態概率P(ei )。根據一個實施例,可自以下公式獲得P(ei ):
圖12係圖解說明根據本發明之一個實施例之具有時間相關性及空間相關性兩者之一展開之順序電路之一方塊圖。在此實例中,參照圖12,將上文所闡述之一編碼方案應用於如圖4A中所示之一順序電路。在此實施例中,一編碼方案包含一編碼電路及一解碼電路。一解碼電路係一編碼電路之一反向電路。解碼電路之輸出匹配編碼電路之輸入。根據一個實施例,該編碼方案可實現一群組信號之聯合概率的表示。因此,該編碼方案藉由對淺展開之電路的反覆計算來改良記憶體效率及活動分析精確度兩者。
根據一個實施例,可基於以下理論來設計該編碼方案。在給定具有n個可達到的狀態(S)之一FSM及m位元編碼輸入(E)之情況下,發現一編碼方案A經組態,以使得錯誤界限(Err)最小化且所有編碼輸入彼此獨立(亦即,所有2m 個組合皆被映射至該等可達到的狀態中之一者)。
根據一個實施例,可如下界定E:
E =[ e 0 - e m -1 ] T
其中每一ei 表示一編碼輸入位元。另外,可如下界定S:
S = [ s 0 - s n -1 ] T
其中每一si 表示一可達到的狀態。此外,可如下界定A:
其中aij 可係0、1或d(任意)。因此,我們如下界定E與S之間的一關係:
基於以上方程式,可如下導出一方程式:
此處,p(e j ) 係輸入位元e j 之狀態概率,且P'(s i ) 表示所計算之狀態概率。
由於我們可針對每一可達到的狀態根據FSM分析確定準確的狀態概率,因此我們可確定以下方程式以在使用某一編碼方案時根據可達到的狀態之狀態概率之一觀點來如下量測錯誤:
另外,所有可達到的狀態之狀態概率之和等於1總為真:
根據一個實施例,該等編碼方案中之一者係如下設置一矩陣A:
基於上述內容,可確定:
在此情況中,m=n-1且Err=0。可在章節3.2.1及3.2.2中發現更多細節。
根據另一實施例,可界定一通用緊湊編碼方案。首先,以該等狀態概率之一遞減次序來分類所有可達到的狀態。將第一x個狀態指派為與上文所闡述之編碼方案相同。因此,我們可導出
使用一緊湊編碼指派剩下的(n-x)個狀態,其中可如下表示矩陣A:
方程式A*E=S可進一步分解為以下兩個方程式:
可使用與第一編碼方案相同的方法來解第一個方程式。可使用一標準矩陣求解程序來解第二個方程式。
應注意,一編碼方案及一時間相關性網路獨立工作。其可不需要彼此,但其可以聯合方式更好地工作。圖13係圖解說明具有應用於如圖9中所示之一電路之一編碼方案之一順序電路之一示意圖。
圖14係圖解說明根據本發明之另一實施例之用於一順序電路之活動分析之一程序之一流程圖。應注意,程序1400可由可包含軟體、硬體或其兩者之一組合之處理邏輯執行。參照圖14,在區塊1401處,針對一目標電路(例如,一順序電路)形成一編碼方案,從而表示一群組信號之一空間相關性。在區塊1402處,將該目標電路展開為多個展開之電路。在區塊1403處,使該編碼方案邏輯與該展開之目標電路相關聯。在區塊1404處,使用該編碼方案對展開之目標電路執行一活動分析以將一空間相關性引入至該展開之目標電路之一輸入。
如上文所闡述,可個別且獨立地實施一相關性網路及一編碼方案。一相關性網路不依賴於一編碼方案,或反之亦然。另一選擇為,一相關性網路及一編碼方案亦可共同工作以在對一順序電路進行一活動分析期間提供時間相關性資訊及空間相關性資訊兩者。
圖15係圖解說明根據本發明之一個實施例之用於考量時間相關性及空間相關性兩者之一順序電路之活動分析之一程序之一流程圖。應注意,程序1500可由可包含軟體、硬體或其兩者之一組合之處理邏輯執行。在此實施例中,大致同時地使用如上文所闡述之一相關性網路及一編碼方案來引入時間相關性及空間相關性兩者。參照圖15,在區塊1501處,形成一時間相關性網路以模擬應用於具有一回饋迴路之一順序電路之一輸入之一時間相關性。在區塊1502處,形成一編碼方案,從而表示一群組信號之一空間相關性。在區塊1503處,將具有一回饋迴路之一順序電路展開為多個等效邏輯電路。在區塊1504處,使一時間相關性網路與每一等效邏輯電路相關聯。在區塊1505處,使編碼方案邏輯與該展開之順序電路相關聯。在區塊1506處,使用相關聯之時間相關性網路及編碼方案鑒於時間相關性及空間相關性對該展開之順序電路執行活動分析。亦可執行其他操作。
如上文所提及,一正反器不改變一值;而是其儲存一值。因此,為計算不具有一回饋迴路之一單個正反器/或一正反器群組之一轉變概率,根據一個實施例,僅需要將一轉變概率自一輸入網複製至一輸出網。為計算具有一回饋迴路之一單個正反器/或一正反器群組之一轉變概率,根據一個實施例,將對應組合電路展開為多個級且將一相關性網路附接至每一級以引入時間相關性,且在給定如上文所闡述之編碼方案之情況下,根據一個實施例,可確定一FSM中每一暫存器(例如,例如一正反器之儲存元件)之一輸出之一經收斂狀態概率以及每一編碼位元之經收斂狀態概率P(ei )。由於每一編碼位元ei 獨立於任何其他編碼位元,因此展開之電路之每一輸出之一轉變概率等於順序電路之兩個接續時間幀之一XOR表示之狀態概率,此可藉由展開該順序電路而獲得。換言之,一旦已確定了該狀態概率(例如,經收斂),即可使用一下一狀態函數來確定一對應轉變概率。假定XOR係一互斥OR之一表示:XOR(Fi ,Fi-1 )。因此,XOR之輸出之狀態概率等價於F0 之轉變概率,如圖16中所示,下文將對此進行進一步詳細闡述。
圖16A係圖解說明根據本發明之一個實施例之鑒於時間相關性及空間相關性兩者之針對轉變概率之一解決方案之一實例之一方塊圖。參照圖16A,除了如圖12中所示之組件之外,將一下一狀態函數引入至耦合兩個展開之電路之一網。在此實例中,將下一狀態函數1501至1503耦合至一節點,該節點耦合兩個接續之展開之電路(例如展開之電路401至404)。組態一下一狀態函數F以提供一展開之電路之一下一狀態之一狀態概率。另外,利用一XOR閘來鑒於來自兩個接續時間幀(例如,兩個展開之電路)之兩個狀態概率提供一轉變概率(例如,t1 /t2 )。因此,使用下一狀態函數F及XOR閘來獲得一節點之一轉變概率。另外,可使用編碼電路1103及解碼電路1104來以一低記憶體消耗重新開始展開程序。應再次注意,僅當需要將展開之順序電路之輸出饋送回至該展開之順序電路之一輸入時需要一解碼電路;否則,如圖16B中所示不需要解碼電路如作為一實例。圖16C係表示鑒於如圖13中所示之實例性電路使用圖16A至16B中所示之技術之針對轉變概率之一解決方案之一示意圖。在此實例中,一下一狀態函數大致與一展開之電路相同。
圖17A至17C係圖解說明根據本發明之一實施例之一活動分析之示意圖。利用圖17A至17C中所示之電路作為一通用網表之一實例,該網表包含組合電路及順序電路兩者,其中可根據如圖2中所示之一程序流程執行一活動分析。此處,參照圖17A至17C,假定信號A B C D具有預設狀態概率0.5及預設轉變概率0.2。參照圖2及17A,首先在區塊201處,標識每一信號之一邏輯位準。在此實例中,
● 位準0->(A B C D q1 q0)
● 位準1->(E F d0)
● 位準2->(G)
● 位準3->(H)
然後,以信號位準之一遞增次序來計算每一信號之狀態概率及轉變概率。在此實例中:E-F-d0-G-H。若所有輸入皆獨立於彼此,則執行區塊202之操作。此處,我們以信號E作為一實例。信號E具有一邏輯函數E=A AND B。此處,信號E之狀態概率意指信號E為邏輯1之概率。計算該概率之方式係對使信號E處於邏輯1之所有不相交乘積項求和。基於E之邏輯函數,我們可推斷信號E僅在輸入A及B兩者皆為邏輯1時才為邏輯1。對於一轉變概率(區塊203),我們可使用以下方程式以使得將一轉變概率之一計算轉換為一狀態概率之一計算。我們界定函數G=F(V) XOR F(V XOR T)。V係輸入之向量,且T係啟用向量。此處,F(V)表示邏輯函數;F(V XOR T)表示具有所有可能的轉變之下一狀態之邏輯函數。當F(V)=0且F(V XOR T)=1或F(V)=1且F(V XOR T)=0時,函數G為1,亦即,G之轉變概率係F之轉變概率。
若該等輸入中之某些係相關信號,則執行區塊204之操作。此處,我們以信號H作為一實例。信號H具有一邏輯函數H=G AND q0 AND q1。由於q0及q1係來自具有一回饋迴路之一FSM之信號,因此q0與q1係相關信號。為在信號H之一狀態概率計算中包含一空間相關性,我們需要添加與圖17B中所示相同的編碼方案。對於一轉變概率,我們使用編碼方案+2級展開電路以包含來自順序信號q0及q1之時間相關性及空間相關性兩者。我們亦將一時間相關性添加至另一組合信號G中。因此,如圖17C中所示,我們能夠計算信號H之一轉變概率(區塊205)(基本上,將一時間幀中之一先前狀態與一當前狀態XOR),以使得信號H之轉變率被轉換為狀態概率。此後,對於每一FSM,使用上文所陳述之技術來計算每一順序信號之狀態概率及轉變概率,在此實例中亦即q0、q1。可反覆地執行以上程序。
疊並電路以達成精確度與記憶體之間的更好折衷之方法
如上文可見,一順序電路展開地越深,結果將越精確。然而,一順序電路已展開地越深,記憶體消耗將越大。一習用方法係在一單個層級處展開一順序電路,該方法通常是結果不精確或其具有一大的記憶體需要。
根據本發明之一個實施例,藉助該編碼方案來表示一群組信號之正確的聯合概率,可將一展開之電路之深度(例如,展開級)控制在某些記憶體約束內且可藉助多次計算展開之電路的統計之反覆來收斂活動資料。因此,該編碼方案可在具有聯合概率資訊支援之情況下將展開之電路之一極長的鏈(通常消耗記憶體)變換為對之一淺展開之電路之數個計算反覆。該編碼方案可急劇減少一高峰記憶體使用,同時仍維持相同或類似的精確度位準。其亦可藉由對由於記憶體約束而不能藉助一傳統方法完成之一淺展開之電路進行反覆計算統計來改良活動分析之一精確度。
圖18係圖解說明根據本發明之另一實施例之用於活動分析之一程序之一流程圖。應注意,程序1800可藉由可包含軟體、硬體或其兩者之一組合之一處理邏輯執行。參照圖18,在區塊1801處,將具有一回饋迴路之一順序電路展開為一鏈中之預定數目個展開之電路。在區塊1802處,使用附接至該鏈中之第一展開之電路之一輸入之一編碼電路來將所有可能的輸入狀態僅映射為有效狀態作為引入一空間相關性之一部分,從而消除任何無效狀態。在區塊1803處,視情況將一時間相關性網路附接至每一展開之電路以在存在任一側切輸入時將一時間相關性引入至對應展開之電路之一輸入。在區塊1804處,鑒於由相關性網路及編碼方案引入之時間相關性及空間相關性兩者對該電路執行一活動分析。在區塊1804處,在區塊1805處捕獲該活動分析之一結果。若對該結果滿意,則程序1800將結束。在區塊1806處,若對該結果不滿意,則使用附接至該鏈之最後一個展開之電路之一輸出之一解碼電路來收集該輸出之聯合概率且將該輸出重新映射至編碼電路之輸入,且此後程序1800可再次重新開始。亦可執行其他操作。
組合之硬體/軟體共同活動分析
通常,對一電路執行一活動分析以在硬體加速仿真器/原型設計期間捕獲所有信號之活動曲線。隨著一電路正變得更大且更複雜,欲捕獲之信號之一量正以指數方式變大且有時其不再符合實際。
根據本發明之一個實施例,對於一大且複雜的電路,替代在硬體加速仿真或原型設計期間捕獲所有信號之活動資訊,將該電路分割為多個區塊。僅一小組關鍵信號(例如群組正反器之活動資料及邊界資訊)由該硬體捕獲。舉例而言,如圖19A中所示,對於每一群組信號,將一小的記憶體連接至藉由序連該群組之先前狀態(參照圖19A中之匯流排「PREV STATE」)與下一狀態(參照圖19A中之匯流排「NEXT STATE」)而形成之一位址。每一時鐘循環,所定址之位置遞增,從而捕獲狀態概率及狀態至狀態轉變率兩者(參照圖19A中之區塊0002)。在該群組中之位元數目過大之情況中,可藉由將大量低概率狀態映射至一個程式碼來壓縮索引(參照圖19A中之區塊0001)。舉例而言,假設250個狀態中有12個狀態為高概率,則可將剩餘的250-12=238個狀態映射至一單個程式碼,從而產出一4位元而非8位元索引。藉由使用在本申請案之通篇中所闡述之統計形式分析方法,可使所捕獲之資訊傳播穿過該電路且可針對每一信號計算活動資料。與一習用方法相比較,此技術使板上仿真器/原型設計更快且面積額外負擔小的多。
根據一個實施例,將一電路分割為多個子區塊且硬體僅捕獲一初級輸入流上及該等子區塊之間的信號(亦稱作邊界信號或區塊間信號)之活動資訊。對於每一子區塊,使用某些或所有上文所陳述之技術來執行一形式活動分析。因此,可改良一模擬器、仿真器或其他硬體原型之速度且可減少計數電晶體之額外負擔。
舉例而言,如圖19B中所示,電路區塊1900係被分割為子區塊1901至1904。可在具有最少連接(例如,最少區塊間連接)之一邊界處分割電路1900。該硬體經組態以僅捕獲初級輸入信號1905以及子區塊1901至1904之間的信號1906至1910(例如,區塊間信號)。在子區塊1901至1904中之每一者內,使用上文所陳述之技術執行一形式統計。舉例而言,對於子區塊1901,信號1905及1906可用作用於子區塊1901之形式活動分析之初始輸入信號。因此,該硬體不必針對區塊1901內之每一信號捕獲一活動曲線且可將該硬體製作得較不複雜。
圖20係圖解說明根據本發明之另一實施例之用於執行一活動分析之一程序之一流程圖。應注意,程序2000可由可包含軟體、硬體或其兩者之一組合之處理邏輯執行。參照圖20,在區塊2001處,將一電路分割為多個子區塊。舉例而言,可在於該等子區塊之間具有最少切口之一邊界處分割該電路。在區塊2002處,組態硬體(例如仿真器/原型設計裝置)以捕獲該等子區塊之間的某些關鍵信號而不必捕獲每一子區塊之所有內部信號。該等關鍵信號可係與正反器之活動資料及/或邊界資訊相關之彼等信號。對於每一子區塊,在區塊2003處,處理邏輯基於所捕獲之資訊考量時間及/或空間相關性執行一形式活動分析。在一個實施例中,使用一相關性網路及/或一編碼方案執行形式活動分析以如上文所闡述引入時間及/或空間相關性。可重複執行此一程序直至已處理了所有子區塊。亦可執行其他操作。
資料處理系統之實例
圖21係可與本發明之一個實施例一起使用之一數位處理系統之一方塊圖。舉例而言,圖21中所示之系統2100可用於使用如上文所闡述之技術來執行一形式活動分析。
應注意,儘管圖21圖解說明一電腦系統之各種組件,但其並不意欲表示互連該等組件之任一特定架構或方式,此乃因此等細節與本發明無密切關係。亦將瞭解,網路電腦、手持式電腦、蜂巢式電話及具有較少組件或可能更多組件之其他資料處理系統亦可與本發明一起使用。舉例而言,圖21之電腦系統可係一Apple Macintosh電腦或一IBM相容PC。
如圖21中所示,呈一資料處理系統之一形式之電腦系統2100包含一匯流排2102,該匯流排耦合至一微處理器2103及一ROM 2107、一揮發性RAM 2105及一非揮發性記憶體2106。可係來自(例如)Motorola,Inc.或IBM之一PowerPC G4或PowerPC G5微處理器之微處理器2103係耦合至快取記憶體2104,如圖21之實例中所示。匯流排2102將此各種組件互連在一起且亦將此等組件2103、2107、2105及2106互連至一顯示控制器及顯示裝置2108且互連至輸入/輸出(I/O)裝置2110,該等輸入/輸出裝置可係滑鼠、鍵盤、數據機、網路介面、打印機及此項技術中眾所周知的其他裝置。
通常,輸入/輸出裝置2110係透過輸入/輸出控制器2109耦合至該系統。揮發性RAM 2105通常實施為動態RAM(DRAM),其持續需要電力以再新或維持記憶體中之資料。非揮發性記憶體2106通常係一磁性硬驅動器、一磁性光學驅動器、一光學驅動器或一DVD RAM或甚至在自系統移除電力之後仍維持資料之其他類型的記憶體系統。通常,該非揮發性記憶體亦將係一隨機存取記憶體,但並不需要如此。
儘管圖21顯示該非揮發性記憶體係直接耦合至資料處理系統中之剩餘組件之一本端裝置,但本發明亦可利用遠離該系統之一非揮發性記憶體,例如透過一網路介面(例如,一數據機或乙太網介面)耦合至該資料處理系統之一網路儲存裝置。如此項技術中眾所周知,匯流排2102可包含透過各種橋接器、控制器及/或配接器彼此連接之一個或多個匯流排。在一個實施例中,I/O控制器2109包含用於控制USB週邊裝置之一USB(通用串列匯流排)配接器。FireWire adapter另一選擇為,I/O控制器2109可包含用於控制火線(FireWire)裝置之一IEEE-1394配接器(亦稱作火線配接器)。
因此,本文中闡述用於考量時間及/或空間相關性之統計形式活動分析之技術。前述實施方式之某些部分已依據演算法及對一電腦記憶體內資料位元之運作之符號表示加以呈現。此等演算法闡述及表示係資料處理領域中之熟習此項技術者用來最有效地向其他熟習此項技術者傳達其工作實質之方式。一演算法在此處且通常地設想為達到一所期望結果之一自相一致的操作序列。該等操作係需要物理量之實體操縱之彼等操作。通常(儘管未必必須),此等量採取電信號或磁信號之形式,其能夠被儲存、傳送、組合、比較及以其他方式操縱。已證明,主要出於常用之原因,將此等信號稱作位元、值、要素、符號、字符、項、數字或諸如此類有時頗方便。
然而,應記住,所有此等術語及類似術語皆將與適當的物理量相關聯,且僅係應用於此等量之方便標記。除非根據以上論述顯而易見地另有具體規定,否則應瞭解,在本說明之通篇中,利用例如「處理」或「計算(computing)」或「計算(calculating)」或「確定」或「顯示」等術語或類似術語之論述係指一電腦系統或類似電子計算裝置之動作及處理,該系統或裝置將表示為電腦系統之暫存器及記憶體內之物理(電子)量之資料操縱且變換為類似地表示為電腦系統記憶體或暫存器或其他此等資訊儲存、傳輸或顯示裝置內之物理量之其他資料。
本發明之實施例亦係關於一種用於執行本文中之操作之設備。此設備可專門針對所需目的來構造,或其可包括一通用電腦,該通用電腦由儲存於該電腦中之一電腦程式來選擇性地啟動或重新組態。此一電腦程式可儲存於一電腦可讀媒體中。一機器可讀媒體包含用於儲存或傳輸呈一機器(例如,一電腦)可讀形式之資訊之任一機構。舉例而言,一機器可讀(例如,電腦可讀)媒體包含:一機器(例如,一電腦)可讀儲存媒體(例如,唯讀記憶體(「ROM」)、隨機存取記憶體(「RAM」)、磁碟儲存媒體、光學儲存媒體、快閃記憶體裝置等)、一機器(例如,電腦)可讀傳輸媒體(電、光學、聲學或其他形式的傳播信號(例如,載波、紅外信號、數位信號等))等等。
本文中所呈現之演算法及顯示並不與任何特定電腦或其他設備內在地相關。各種通用系統還可根據本文中之教示與程式一起使用,或可證明便於構造更專門的設備來執行所需方法操作。從上文之闡述中將明瞭各種此等系統之所需結構。另外,本發明之實施例並非參照任一特定程式化語言加以闡述。將瞭解,各種程式化語言可用於實施如本文中所闡述之本發明之實施例之教示。
在以上說明書中,已參照本發明之具體例示性實施例對本發明之實施例進行了闡述。將顯而易見,可在不背離如以下申請專利範圍中所陳述之本發明之較廣泛精神及範疇之情況下對本發明做出各種修改。因此,應將該說明書及圖式視為具有說明性意義而非限制性意義。
401...展開之電路
402...展開之電路
403...展開之電路
404...相關性網路
405...相關性網路
500...電路
604...相關性網路
605...相關性網路
700...相關性網路
1100...系統
1101...順序電路
1102...相關性網路
1103...編碼器
1104...解碼器
1900...電路區塊
1901...子區塊
1902...子區塊
1903...子區塊
1904...子區塊
1905...初級輸入信號
1906...信號
1907...信號
1908...信號
1909...信號
1910...信號
2100...系統
2102...匯流排
2103...微處理器
2105...揮發性RAM
2106...非揮發性記憶體
2107...ROM
2104...快取記憶體
2109...輸入/輸出控制器
2110...輸入/輸出裝置
2108...顯示控制器及顯示裝置
在附圖之圖中以實例方式而非限制方式圖解說明本發明,其中相同參考編號指示類似元件。
圖1係圖解說明根據本發明之一個實施例之用於一活動分析之一程序之一實例之一流程圖。
圖2A係圖解說明根據本發明之一個實施例之用於對一組合電路執行一活動分析之一程序之一流程圖。
圖2B係圖解說明一組合電路實例之一方塊圖。
圖3係圖解說明一典型閘邏輯之一示意圖。
圖4A係圖解說明根據本發明之一個實施例之用於解決時間相關性問題之一實例性解決方案之一方塊圖。
圖4B係根據本發明之一個實施例之表示一相關性網路之一真值表。
圖4C係圖解說明根據本發明之一個實施例之一相關性網路之一實例之一示意圖。
圖5係圖解說明具有一回饋迴路之一順序電路之一表示之一示意圖。
圖6係圖解說明根據本發明之一個實施例之具有相關性網路之一展開之順序電路之一示意圖。
圖7係圖解說明根據本發明之一個實施例之一相關性網路之一示意圖。
圖8係圖解說明具有一回饋迴路之一順序電路之另一實例之一示意圖。
圖9係圖解說明根據一個實施例之具有一相關性網路之一展開之電路之一示意圖。
圖10係圖解說明根據本發明之一個實施例之用於對具有時間相關性之一順序電路進行一活動分析之一程序之一流程圖。
圖11A至11B係圖解說明根據本發明之某些實施例之具有一編碼方案之一順序電路之方塊圖。
圖12係圖解說明根據本發明之一個實施例之具有時間相關性及空間相關性兩者之一展開之順序電路之一方塊圖。
圖13係圖解說明具有應用於如圖9中所示之一電路之一編碼方案之一順序電路之一示意圖。
圖14係圖解說明根據本發明之另一實施例之用於一順序電路之活動分析之一程序之一流程圖。
圖15係圖解說明根據本發明之一個實施例之用於考量時間相關性及空間相關性兩者之一順序電路之活動分析之一程序之一流程圖。
圖16A至16B係圖解說明根據本發明之某些實施例之鑒於時間及空間相關性兩者針對轉變概率之一解決方案之一實例。
圖16C係表示鑒於如圖13中所示之實例性電路使用如圖16A至16B中所示之技術之針對轉變概率之一解決方案之一示意圖。
圖17A至17C係圖解說明根據本發明之一實施例之一活動分析之示意圖。
圖18係圖解說明根據本發明之另一實施例之用於活動分析之一程序之一流程圖。
圖19A係圖解說明可與本發明之一實施例一起使用之一電路之一實例之一示意圖。
圖19B係圖解說明根據一個實施例分割為多個子區塊之一電路之一方塊圖。
圖20係圖解說明根據本發明之另一實施例之用於執行一活動分析之一程序之一流程圖。
圖21係可與本發明之一個實施例一起使用之一數位處理系統之一方塊圖。
(無元件符號說明)

Claims (22)

  1. 一種用於電路分析之機器實施之方法,該方法包括:將一順序電路展開為複數個展開之電路;及經由一相關性網路針對該順序電路之一活動分析在該等展開之電路中之每一者中之輸入信號之間引入一時間相關性,該時間相關性表示一信號之一當前邏輯狀態與該信號之一先前邏輯狀態之間的一依賴關係。
  2. 如請求項1之方法,其進一步包括鑒於由該相關性網路引入之該時間相關性執行該活動分析,包含鑒於該時間相關性透過表示該順序電路之一有限狀態機(FSM)傳播活動資料以確定該順序電路之內部信號及輸出信號之狀態概率及轉變概率。
  3. 如請求項1之方法,其中組態該相關性網路以基於一展開之電路之一信號之一當前邏輯狀態及該信號之切換活動來確定該展開之電路之該信號之一下一邏輯狀態。
  4. 如請求項1之方法,其進一步包括:對於每一展開之電路,鑒於一輸入之一狀態概率及該輸入之一切換活動之一轉變概率計算一輸出之一狀態概率;及鑒於該輸入之該狀態概率及該輸入之該切換活動之該轉變概率計算該輸出之一轉變概率,其中該輸入之該切換活動之該轉變概率係由該相關性網路引入。
  5. 如請求項1之方法,其中組態一輸入之相關性網路以產生一信號,該信號將連接至下一展開之電路之對應輸 入,且其中該信號之值係基於當前展開之電路之輸入信號之一狀態、該輸入信號之下降轉變率及該輸入信號之上升轉變率。
  6. 如請求項5之方法,其中該相關性網路包括具有複數個條目之一真值表,其中在給定一信號之一當前狀態、該信號之一下降切換活動及該信號之一上升切換活動之情況下,每一條目提供該信號之可能的後續狀態之概率。
  7. 如請求項1之方法,其進一步包括使用一編碼電路將一空間相關性引入至該展開之順序電路之一輸入,該空間相關性表示該輸入與一個或多個其他信號之間的一依賴關係,其中該活動分析係鑒於該時間相關性及該空間相關性兩者執行。
  8. 如請求項7之方法,其中組態該編碼電路以傳播多個信號之聯合概率資訊以便將該空間相關性引入至該展開之順序電路之該輸入。
  9. 如請求項8之方法,其中組態該編碼電路以將所有可能的狀態映射至該FSM之可達到的狀態中之至少一者。
  10. 如請求項8之方法,其進一步包括使用一解碼器電路自該展開之順序電路之一輸出收集該聯合概率資訊,該解碼器電路經由一回饋迴路將該所收集之聯合概率資訊提供至該編碼器電路。
  11. 如請求項10之方法,其進一步包括使用該編碼電路及解碼電路經由該回饋迴路對該展開之順序電路反覆執行該活動分析。
  12. 一種儲存機器可執行指令之機器可讀儲存媒體,該等指令當由一機器執行時,致使該機器執行用於電路分析之一方法,該方法包括:將一順序電路展開為複數個展開之電路;及經由一相關性網路針對該順序電路之一活動分析在該等展開之電路中之每一者中之輸入信號之間引入一時間相關性,該時間相關性表示一信號之一當前邏輯狀態與該信號之一先前邏輯狀態之間的一依賴關係。
  13. 如請求項12之機器可讀儲存媒體,其中該方法進一步包括鑒於由該相關性網路引入之該時間相關性執行該活動分析,包含鑒於該時間相關性透過表示該順序電路之一有限狀態機(FSM)傳播活動資料以確定該順序電路之內部信號及輸出信號之狀態概率及轉變概率。
  14. 如請求項12之機器可讀儲存媒體,其中該相關性網路經組態以基於一展開之電路之一信號之一當前邏輯狀態及該信號之切換活動來確定該展開之電路之該信號之一下一邏輯狀態。
  15. 如請求項12之機器可讀儲存媒體,其中該方法進一步包括:對於每一展開之電路,鑒於一輸入之一狀態概率及該輸入之一切換活動之一轉變概率計算一輸出之一狀態概率;及鑒於該輸入之該狀態概率及該輸入之該轉變概率計算該輸出之一轉變概率,其中該輸入之該轉變概率係由該 相關性網路引入。
  16. 如請求項12之機器可讀儲存媒體,其中一輸入之該相關性網路經組態以產生一信號,該信號將連接至下一展開之電路之對應輸入,且其中該信號之值係基於當前展開之電路之輸入信號之一狀態、該輸入信號之下降轉變率及該輸入信號之上升轉變率。
  17. 如請求項12之機器可讀儲存媒體,其中該相關性網路包括具有複數個條目之一真值表,其中在給定一信號之一當前狀態、該信號之一下降切換活動及該信號之一上升切換活動之情況下,每一條目提供該信號之一下一狀態之一估計。
  18. 如請求項12之機器可讀儲存媒體,其中該方法進一步包括使用一編碼電路將一空間相關性引入至該展開之順序電路之一輸入,該空間相關性表示該輸入與一個或多個其他信號之間的一依賴關係,其中該活動分析係鑒於該時間相關性及該空間相關性兩者執行。
  19. 如請求項18之機器可讀儲存媒體,其中該編碼電路經組態以傳播多個信號之聯合概率資訊以便將該空間相關性引入至該展開之順序電路之該輸入。
  20. 如請求項19之機器可讀儲存媒體,其中該編碼電路經組態以將所有可能的狀態映射至該FSM之可達到的狀態中之至少一者。
  21. 如請求項19之機器可讀儲存媒體,其中該方法進一步包括使用一解碼器電路自該展開之順序電路之一輸出收集 該聯合概率資訊,該解碼器電路經由一回饋迴路將該所收集之聯合概率資訊提供至該編碼器電路。
  22. 如請求項21之機器可讀儲存媒體,其中該方法進一步包括使用該編碼電路及解碼電路經由該回饋迴路對該展開之順序電路反覆執行該活動分析。
TW099106665A 2009-03-06 2010-03-08 考量時間及空間相關性的統計形式活動分析 TWI484202B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/399,795 US8161434B2 (en) 2009-03-06 2009-03-06 Statistical formal activity analysis with consideration of temporal and spatial correlations

Publications (2)

Publication Number Publication Date
TW201100829A TW201100829A (en) 2011-01-01
TWI484202B true TWI484202B (zh) 2015-05-11

Family

ID=42679357

Family Applications (1)

Application Number Title Priority Date Filing Date
TW099106665A TWI484202B (zh) 2009-03-06 2010-03-08 考量時間及空間相關性的統計形式活動分析

Country Status (5)

Country Link
US (3) US8161434B2 (zh)
EP (1) EP2414852A4 (zh)
CN (1) CN102439468A (zh)
TW (1) TWI484202B (zh)
WO (1) WO2010102264A2 (zh)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8042075B2 (en) * 2009-03-25 2011-10-18 International Business Machines Corporation Method, system and application for sequential cofactor-based analysis of netlists
US8707244B1 (en) * 2010-08-20 2014-04-22 Altera Corporation Methods and systems for performing signal activity extraction
US8335783B2 (en) 2010-12-28 2012-12-18 Teradata Us, Inc. Collection of statistics for spatial columns or R-tree indexes
US8504974B1 (en) * 2011-09-14 2013-08-06 Xilinx, Inc. Analysis of circuit designs
US20130096901A1 (en) * 2011-10-12 2013-04-18 International Business Machines Corporation Verifying Simulation Design Modifications
US8656326B1 (en) * 2013-02-13 2014-02-18 Atrenta, Inc. Sequential clock gating using net activity and XOR technique on semiconductor designs including already gated pipeline design
US8966416B2 (en) * 2013-03-07 2015-02-24 Cadence Design Systems, Inc. Finite-state machine encoding during design synthesis
TW201514725A (zh) * 2013-10-09 2015-04-16 Chi Mei Foundation Hospital 自動判定統計分析手法的方法及其系統
GB2518909B (en) * 2013-12-16 2015-10-28 Imagination Tech Ltd Encoder adaptation
US20150260768A1 (en) * 2014-03-13 2015-09-17 Kabushiki Kaisha Toshiba Detection method of algorithm in integrated circuit
US20160350668A1 (en) * 2015-06-01 2016-12-01 Assurant Design Automation LLC Risk evaluation
US10747919B2 (en) 2015-06-01 2020-08-18 Assurant Design Automation LLC Generating path execution times
US10997335B2 (en) 2015-06-01 2021-05-04 Assurant Design Automation LLC Exceptional logic element management
US10997334B2 (en) 2015-06-01 2021-05-04 Assurant Design Automation LLC Implementing a logic design
US10678980B2 (en) 2015-06-01 2020-06-09 Assurant Design Automation LLC Combination map based composite design
US11610038B2 (en) * 2015-06-01 2023-03-21 Assurant Design Automation LLC Risk evaluation
US10402175B2 (en) 2015-06-01 2019-09-03 Assurant Design Automation LLC Parsing source code into a linear array
CN105652182B (zh) * 2015-12-28 2018-10-02 北京航天测控技术有限公司 一种基于电路网络和图搜索的电路板故障定位系统及方法
CN107153682A (zh) * 2017-04-23 2017-09-12 潘小胜 一种自动匹配防爆桶存储信息的方法
TWI681311B (zh) * 2018-04-27 2020-01-01 瑞昱半導體股份有限公司 電路設計系統與檢查方法
US10909283B1 (en) * 2018-11-21 2021-02-02 Cadence Design Systems, Inc. Hardware assisted weighted toggle count
CN117454813A (zh) * 2023-12-22 2024-01-26 杭州行芯科技有限公司 电路的翻转概率信息计算方法、装置和计算机设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5966523A (en) * 1996-01-12 1999-10-12 Kabushiki Kaisha Toshiba Method of estimating power consumption of semiconductor integrated circuit
TW200305027A (en) * 2001-07-05 2003-10-16 Intellitech Corp Method and apparatus for optimized parallel testing and access of electronic circuits
US6687882B1 (en) * 2002-01-31 2004-02-03 Synplicity, Inc. Methods and apparatuses for non-equivalence checking of circuits with subspace
US6952816B2 (en) * 2002-10-07 2005-10-04 Hewlett-Packard Development Company, L.P. Methods and apparatus for digital circuit design generation
US7076712B2 (en) * 2003-05-22 2006-07-11 Fujitsu Limited Generating a test sequence using a satisfiability technique
TW200821603A (en) * 2006-11-15 2008-05-16 Silicon Image Inc Interface test circuitry and methods

Family Cites Families (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA1300265C (en) * 1987-06-22 1992-05-05 William Curtis Newman Block diagram simulator
US5128871A (en) * 1990-03-07 1992-07-07 Advanced Micro Devices, Inc. Apparatus and method for allocation of resoures in programmable logic devices
US5752000A (en) * 1994-08-02 1998-05-12 Cadence Design Systems, Inc. System and method for simulating discrete functions using ordered decision arrays
US5774370A (en) * 1995-09-18 1998-06-30 Vlsi Technology, Inc. Method of extracting implicit sequential behavior from hardware description languages
US6195786B1 (en) * 1997-12-23 2001-02-27 Nec Usa, Inc. Constrained register sharing technique for low power VLSI design
US6363520B1 (en) * 1998-06-16 2002-03-26 Logicvision, Inc. Method for testability analysis and test point insertion at the RT-level of a hardware development language (HDL) specification
US6816825B1 (en) * 1999-06-18 2004-11-09 Nec Corporation Simulation vector generation from HDL descriptions for observability-enhanced statement coverage
US6493853B1 (en) * 1999-07-15 2002-12-10 Texas Instruments Incorporated Cell-based noise characterization and evaluation
US6408428B1 (en) * 1999-08-20 2002-06-18 Hewlett-Packard Company Automated design of processor systems using feedback from internal measurements of candidate systems
JP3836276B2 (ja) * 1999-09-17 2006-10-25 株式会社東芝 集積回路のノイズ及び電力の評価方法
US6477685B1 (en) * 1999-09-22 2002-11-05 Texas Instruments Incorporated Method and apparatus for yield and failure analysis in the manufacturing of semiconductors
US6745160B1 (en) * 1999-10-08 2004-06-01 Nec Corporation Verification of scheduling in the presence of loops using uninterpreted symbolic simulation
US6578176B1 (en) * 2000-05-12 2003-06-10 Synopsys, Inc. Method and system for genetic algorithm based power optimization for integrated circuit designs
US6701501B2 (en) * 2000-10-16 2004-03-02 Simon Joshua Waters Structured algorithmic programming language approach to system design
US6687883B2 (en) * 2000-12-28 2004-02-03 International Business Machines Corporation System and method for inserting leakage reduction control in logic circuits
US7000213B2 (en) * 2001-01-26 2006-02-14 Northwestern University Method and apparatus for automatically generating hardware from algorithms described in MATLAB
US20020144092A1 (en) * 2001-01-31 2002-10-03 Siroyan Limited. Handling of loops in processors
US7193504B2 (en) 2001-10-09 2007-03-20 Alien Technology Corporation Methods and apparatuses for identification
US6895545B2 (en) * 2002-01-28 2005-05-17 Broadcom Corporation System and method for generating cyclic codes for error control in digital communications
US7134100B2 (en) * 2002-07-29 2006-11-07 Nec Usa, Inc. Method and apparatus for efficient register-transfer level (RTL) power estimation
WO2004014065A2 (en) * 2002-08-05 2004-02-12 John Campbell System of finite state machines
US7565631B1 (en) * 2004-07-02 2009-07-21 Northwestern University Method and system for translating software binaries and assembly code onto hardware
US7278120B2 (en) 2004-07-23 2007-10-02 Synplicity, Inc. Methods and apparatuses for transient analyses of circuits
US20060259885A1 (en) * 2004-08-09 2006-11-16 Mortensen Michael P System and method for analyzing a circuit
WO2006038207A1 (en) * 2004-10-04 2006-04-13 University College Dublin A method and processor for power analysis in digital circuits
US7366997B1 (en) 2005-01-11 2008-04-29 Synplicity, Inc. Methods and apparatuses for thermal analysis based circuit design
US7882464B1 (en) * 2005-02-14 2011-02-01 Cadence Design Systems, Inc. Method and system for power distribution analysis
US7284218B1 (en) 2005-03-18 2007-10-16 Calypto Design Systems, Inc. Method and system for inplace symbolic simulation over multiple cycles of a multi-clock domain design
US7350166B2 (en) * 2005-04-14 2008-03-25 International Business Machines Corporation Method and system for reversing the effects of sequential reparameterization on traces
US7596770B1 (en) * 2005-06-02 2009-09-29 Cadence Design Systems, Inc. Temporal decomposition for design and verification
US7222039B2 (en) 2005-06-10 2007-05-22 Azuro (Uk) Limited Estimation of average-case activity for digital state machines
CN1710567A (zh) * 2005-07-07 2005-12-21 复旦大学 时序电路等价验证的方法
US7434184B2 (en) * 2005-08-08 2008-10-07 Zhe Li Method for detecting flaws in a functional verification plan
US7469394B1 (en) * 2005-12-09 2008-12-23 Altera Corporation Timing variation aware compilation
TWI337715B (en) * 2006-11-08 2011-02-21 Inst Information Industry Method and system for complex event processing
US7814448B2 (en) * 2007-04-09 2010-10-12 International Business Machines Corporation Representing and propagating a variational voltage waveform in statistical static timing analysis of digital circuits
EP2006784A1 (en) * 2007-06-22 2008-12-24 Interuniversitair Microelektronica Centrum vzw Methods for characterization of electronic circuits under process variability effects
US7689957B2 (en) * 2007-09-10 2010-03-30 Synopsys, Inc. Identifying and improving robust designs using statistical timing analysis
EP2218024A1 (en) * 2007-10-03 2010-08-18 University College Dublin System level power evaluation method
US7904850B2 (en) * 2007-11-30 2011-03-08 Cebatech System and method for converting software to a register transfer (RTL) design
US8375343B1 (en) * 2008-04-11 2013-02-12 Cadence Design Systems, Inc. Methods and apparatus for waveform based variational static timing analysis
WO2009128115A1 (ja) * 2008-04-15 2009-10-22 日東電工株式会社 光学フィルム積層体ロールならびにその製造方法および装置
US7890903B2 (en) * 2008-05-29 2011-02-15 International Business Machines Corporation Method and system for formal verification of an electronic circuit design
US8141024B2 (en) * 2008-09-04 2012-03-20 Synopsys, Inc. Temporally-assisted resource sharing in electronic systems
US8694570B2 (en) * 2009-01-28 2014-04-08 Arun Mohanlal Patel Method and apparatus for evaluation of multi-dimensional discrete fourier transforms
US20120290278A1 (en) * 2011-03-14 2012-11-15 New York University Process, computer-accessible medium and system for obtaining diagnosis, prognosis, risk evaluation, therapeutic and/or preventive control based on cancer hallmark automata
JP5893954B2 (ja) * 2012-02-24 2016-03-23 ルネサスエレクトロニクス株式会社 等価性検証方法、等価性検証プログラム及び等価性検証装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5966523A (en) * 1996-01-12 1999-10-12 Kabushiki Kaisha Toshiba Method of estimating power consumption of semiconductor integrated circuit
TW200305027A (en) * 2001-07-05 2003-10-16 Intellitech Corp Method and apparatus for optimized parallel testing and access of electronic circuits
US6687882B1 (en) * 2002-01-31 2004-02-03 Synplicity, Inc. Methods and apparatuses for non-equivalence checking of circuits with subspace
US6952816B2 (en) * 2002-10-07 2005-10-04 Hewlett-Packard Development Company, L.P. Methods and apparatus for digital circuit design generation
US7076712B2 (en) * 2003-05-22 2006-07-11 Fujitsu Limited Generating a test sequence using a satisfiability technique
TW200821603A (en) * 2006-11-15 2008-05-16 Silicon Image Inc Interface test circuitry and methods

Also Published As

Publication number Publication date
US20140165024A1 (en) 2014-06-12
US8161434B2 (en) 2012-04-17
US20120210291A1 (en) 2012-08-16
EP2414852A4 (en) 2014-07-30
EP2414852A2 (en) 2012-02-08
US20100229132A1 (en) 2010-09-09
WO2010102264A3 (en) 2011-01-06
US9195790B2 (en) 2015-11-24
US8656327B2 (en) 2014-02-18
WO2010102264A2 (en) 2010-09-10
CN102439468A (zh) 2012-05-02
TW201100829A (en) 2011-01-01

Similar Documents

Publication Publication Date Title
TWI484202B (zh) 考量時間及空間相關性的統計形式活動分析
CN106503282B (zh) 集成电路设计的增量寄存器重定时
US20080091402A1 (en) Methods for estimating power requirements of circuit designs
US11010511B2 (en) Scalable boolean methods in a modern synthesis flow
CN112818621B (zh) 用于预测软ip部件的性能、功率和面积表现的系统和方法
US8346529B2 (en) Delta retiming in logic simulation
Takach High-level synthesis: Status, trends, and future directions
JP2007156635A (ja) 論理回路モデル変換装置、論理回路モデル変換方法および論理回路モデル変換プログラム
Kahng et al. Construction of realistic gate sizing benchmarks with known optimal solutions
JP2013524302A (ja) 精度を調節可能なマクロモデル電力解析のための方法及び装置
JP3576928B2 (ja) 動作率算出システム
Yang et al. An approach for digital circuit error/reliability propagation analysis based on conditional probability
JP2005129054A (ja) 回路設計方法
Murray et al. Quantifying error: Extending static timing analysis with probabilistic transitions
McDonald et al. CMOS circuit verification with symbolic switch-level timing simulation
JP2010257003A (ja) 論理等価性検証システム、論理等価性検証方法、半導体集積回路の製造方法、制御プログラムおよび可読記憶媒体
Alizadeh et al. Coverage driven high-level test generation using a polynomial model of sequential circuits
Machado et al. Disjoint region partitioning for probabilistic switching activity estimation at register transfer level
Esmaieli et al. An Effective Fanout-Based Method for Improving Error Propagation Probability Estimation in Combinational Circuits
Färm Integrated logic synthesis using simulated annealing
Ling Field-Programmable Gate Array Logic Synthesis Using Boolean Satisfiability
Song et al. Timing analysis for full-custom circuits using symbolic DC formulations
JP2004234193A (ja) タイミング解析方法およびタイミング解析プログラム
JP2002015022A (ja) 消費電力計算装置、消費電力計算方法および消費電力計算プログラムを記録した記録媒体
Durrani Power Macro-modelling for IP-based Digital Systems at Register Transfer Level

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees