TW201310241A - 全匯流排之交易層級模擬方法以快速與精確的爭用分析 - Google Patents
全匯流排之交易層級模擬方法以快速與精確的爭用分析 Download PDFInfo
- Publication number
- TW201310241A TW201310241A TW100130541A TW100130541A TW201310241A TW 201310241 A TW201310241 A TW 201310241A TW 100130541 A TW100130541 A TW 100130541A TW 100130541 A TW100130541 A TW 100130541A TW 201310241 A TW201310241 A TW 201310241A
- Authority
- TW
- Taiwan
- Prior art keywords
- request
- bus
- arbiter
- transaction
- phase
- Prior art date
Links
- 238000013459 approach Methods 0.000 title abstract description 3
- 238000000034 method Methods 0.000 claims abstract description 70
- 238000004088 simulation Methods 0.000 claims abstract description 49
- 238000012546 transfer Methods 0.000 claims description 17
- 238000012545 processing Methods 0.000 claims description 10
- 238000013475 authorization Methods 0.000 claims description 2
- 238000013461 design Methods 0.000 abstract description 12
- 238000005094 computer simulation Methods 0.000 abstract description 8
- 239000002131 composite material Substances 0.000 abstract description 6
- 238000004891 communication Methods 0.000 description 15
- 230000007246 mechanism Effects 0.000 description 11
- 230000006399 behavior Effects 0.000 description 10
- 230000006835 compression Effects 0.000 description 9
- 238000007906 compression Methods 0.000 description 9
- 238000004422 calculation algorithm Methods 0.000 description 8
- 230000007704 transition Effects 0.000 description 8
- 230000003068 static effect Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 6
- 230000009471 action Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000011156 evaluation Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 3
- 238000012913 prioritisation Methods 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 241001522296 Erithacus rubecula Species 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- LHMQDVIHBXWNII-UHFFFAOYSA-N 3-amino-4-methoxy-n-phenylbenzamide Chemical compound C1=C(N)C(OC)=CC=C1C(=O)NC1=CC=CC=C1 LHMQDVIHBXWNII-UHFFFAOYSA-N 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000007664 blowing Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/362—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1642—Handling requests for interconnection or transfer for access to memory bus based on arbitration with request queuing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
Abstract
本發明提出一種有效地週期數精確交易層級全匯流排模擬方法與技術。利用二階段仲裁器與主從模型,提出一個FSM基礎複合式主從對與仲裁器交易模型(CMSAT),以有效率及精確的動態模擬。本方法對於複雜的多處理器系統晶片設計之匯流排架構探勘與爭用分析特別地有效用。
Description
本發明大體上屬於一種模擬方法。具體言之,其係一種全匯流排之交易層級模擬方法以用於快速與精確的爭用分析。
當系統單晶片(SoC)之設計越趨複雜,軟硬體共模擬遂變為對早期階段系統驗證而言越趨重要。為簡化暫存器傳輸層級設計上所需花費之模擬工作量,引入硬體交易層級模型(TLM,Transaction-Level Modeling)之概念。藉由採用較高之抽象模型,硬體模擬可大為加速,並同時維持關鍵之操作資訊。然而,軟體係為一必要之系統元件,且其亦需要適當之抽象模型以與硬體交易層級模型相容,以進行有效之軟硬體共模型。尤其是,嵌入式軟體之複雜度每年增加140百分比,遠大於硬體之複雜度每年增加56百分比。軟體之抽象層級顯然為一當務之急,且因此最近幾年已發展出若干傳統之方法。
交易層級模型(TLM)正規上係定義為高層級之模擬數位系統之方法,其中模組間之通訊係與功能單元分離。傳統方法係結合指令集模擬器(ISS,Instruction Set Simulator)及SystemC模擬器。為使二個不同模擬器之間能夠通訊,傳統方法係利用匯流排功能模型作為橋接。然而,指令集模擬器係相當緩慢(僅有若干MIPS(每秒百萬條指令)),且昂貴之溝通成本更使模擬速度降級。
由於嵌入式系統中對於高效能計算及低功率損耗的持續性的需求,多處理器系統晶片(MPSoC,Multi-Processor System-on-Chip)已經成為主流的設計方法。由於大量的元件之間倍增的資料交換率,對於多處理器系統晶片,大部分關鍵問題之一在於晶片上之溝通設計(亦即分享式匯流派,匯流排矩陣)。因為設計的複雜度持續的增加,在針對硬體而提出的一個設計之前,對於具有高效率及有效的廣泛的匯流排架構探勘是有其必要的。
對於溝通架構探勘,設計者最有興趣的是匯流排爭用之比例以及爭用處理之有效性。實際上,一個仲裁者用於解決爭用,並且根據某些仲裁策略(例如循環法或固定優先次序策略)而決定交易執行次序。爭用導致某些交易改變或延遲其執行次序。因此,精確的爭用分析對於探勘期間的效能評估是有必要的。
為了減緩上市時機的壓力,設計者於早期的設計階段藉由系統模擬而要求爭用分析、正確性驗證以及效能評估。然而,傳統的RTL模擬方法的複雜度使得這些程序過度地困難。交易層級模型(TLM)方法已經提出以作為一個解決方案(請參考:L. Cai,D. Gaski.“Transaction Level Modeling: An Overview,”in CODES+ISSS,October 2003),其提升了抽象層級以加速模擬效能。
此外,為了精確地模擬匯流排行為,傳統的交易層級模擬匯流排模型方法係採取細分模型(fine-grained models),例如時脈精準模型,其係逐週期模擬仲裁行為。相關的細分方法以處理匯流排交易與仲裁器之間的交互作用的過大模擬負擔限制了此方法的實用性。
相較之下,為了較佳的效能,一些研究者接受了粗分模型方法(coarse-grained modeling),例如功能級或週期近似模型。然而,當仲裁資訊是不正確的或遺失時,這些方法當其用於探勘時可以被誤解。再者,設計者以人工實際上產生這些模型,並且人工產生程序是大家熟知的冗長及易出錯。
雖然不同的交易層級模型匯流排模型已被提出,而沒有一個可以精確地並有效地執行仲裁分析。主要的挑戰在於由於請求與仲裁策略之複雜的組合,而產生之不規則的及不可預測的仲裁行為。為了解決上述問題,是以本發明提出了一種全匯流排之交易層級模擬方法以利於快速與精確的爭用分析。
為了解決上述問題,本發明提出了一種二階段(two-phase)匯流排模型以簡化仲裁與匯流排交易之程序。
本發明之一優點在於可以利用預先分析仲裁程序而無需逐週期(cycle-by-cycle)模擬,於模擬期間得以保證正確的交易執行次序,且模擬效能得到很大地提升。
本發明所揭露之一種全匯流排之交易層級模擬方法以快速與精確的爭用分析,包含:對於每一主元件,藉由一處理單元以計算第一請求並插入第一請求至一請求序列,直到請求序列為空的;若沒有現行請求在請求序列,一仲裁器時間行進至一最早的未來請求之一請求時間;否則,根據一特定的仲裁策略以選擇及授與一個現行請求;藉由處理單元以計算現行請求之一請求階段執行時間;藉由處理單元以計算現行請求之一授與階段執行時間;以及檢視授與請求之請求主元件及/或存取從元件,若其中任一將產生一新請求,推進新請求至請求序列。
其中計算該現行請求之一授與階段執行時間係根據CMSAT模型所計算;其中該CMSAT模型中,若交易進入一授與階段,於相同的匯流排上沒有其他交易可以進入授與階段直到其再回復至請求階段。其中在一個請求被授與以匯流排交易之後,剩餘請求停留在請求序列中,且被授與請求將開始匯流排交易直到完成。
本發明之方法包含:藉由一仲裁器從主元件接收一匯流排請求訊號,並根據一特定的仲裁策略而進行仲裁程序與授與;在一請求階段,仲裁器收集所有進來的請求訊號並根據仲裁策略以計算那一個主元件被授與;在一授與階段,仲裁器指定被授與主元件以取得匯流排以利於資料轉移;以及藉由一處理單元發送一通知訊號至仲裁器,使得仲裁器回復至其初始狀態以準備下一個請求處理程序。
其中仲裁程序係藉由宣告特定的交握訊號而完成。
本發明之方法更包含更包括模擬可進入的從元件,其係藉由記憶體映像位址從被授與主元件確認。其中每一從元件具有其相對應的多工器,藉由仲裁器來控制,每一個主元件具有其相對應的解多工器,相對應的多工器連接解多工器。
本發明之方法更包括模擬潛在進出的主元件,其中若沒有請求以利於使用匯流排,仲裁器停留在初始狀態。
關於本發明之優點與精神,可以藉由以下的發明實施例及所附圖式得到進一步之瞭解。
下列描述係提供本發明特定的施行細節,俾使閱者徹底瞭解這些實施例之實行方式。然熟習該領域之技藝者須瞭解本發明亦可在不具備這些細節之條件下實行。此外,本發明特定實施例細節描述中使用之術語將以最廣義的合理方式解釋。
在MPSoC的環境下,常會有多個主元件想要同時使用匯流排來做資料的傳輸,因此發生匯流排爭用(bus contention)的情況。通常利用仲裁器來解決匯流排爭用的情形。仲裁器在接收到外來的請求後,會依照所設計的仲裁策略來決定那一個請求可以使用匯流排。
為了有效地及精確地捕捉仲裁之時序行為,本發明提出了一種二階段匯流排模型以提取仲裁與匯流排交易之程序。此仲裁為一動態的交握程序,可以分段為請求階段及授與階段,根據交握信號以控制仲裁。由於請求階段及授與階段藉由匯流排交易而重複地與同時地交替,因此可以利用此重複特性以預先分析此仲裁程序而無需逐週期模擬,且於模擬期間得以保證正確的交易執行次序。
此外,本發明提出一個有效的週期數精確交易層級全匯流排模擬方法;利用有限狀態機構為基礎(FSM-based)複合式主從對與仲裁器交易模型(CMSAT),基於形式通用匯流排模型(formal generic bus model),再搭配所提出的靜態模型抽象法以計算容許階段的時脈數,以及動態模擬演算法來加速系統晶片開發流程。
本發明之方法適用於多重處理器系統晶片的匯流排效率評估及爭用分析。
一通用匯流排模型涉及多重元件(例如主元件、從元件與仲裁器)。在多處理器系統晶片(MPSoC)設計中,通常具有多重匯流排請求爭用以利於同時間匯流排存取。為了解決爭用,一仲裁器以用於執行仲裁。當考慮仲裁時,匯流排行為變的相當複雜。
在形式上明確說明有限狀態機構基礎(FSM-based)溝通介面模型之前,先說明一種簡單的例子以熟悉基礎的有限狀態機構操作,如第一圖所示。此例子顯示敘述於有限狀態機構中的一主元件(master)與一從元件(slave)介面,其執行一寫入交易。
如第一圖所示,主元件與從元件介面同步地分別從狀態r 0 與狀態t 0 開始。在初始階段,主元件介面MI 1 沒有被授與,並且其送出訊號req 1 以請求滙流排使用,表示為req!1。一但MI 1 接收一授與訊號以使用匯流排,表示為grant 1 ?1,則進行其狀態從r 0 至r 1 。則MI 1 發送addr(資料位置,表示為“addr!”)至使用中的從元件介面,並且進行其狀態從r 0 轉變至r 1 。同時,進行中的從元件介面SI 1 接收此訊號addr,表示為“addr?”,然後進行其狀態從t 0 至t 1 。此程序繼續直到狀態進行達至最終狀態r 3 與t 2 。於此點,完成此寫入交易。
雖然溝通介面不只讀取/寫入操作,實際上讀取與寫入資料轉移係最基本的溝通行為。為了描述一般的與形式的溝通介面模型,修改了參考文件之句法(參考文件:V. D’silva,S. Ramesh,and A. Sowmya,“Synchronous Protocol Automata: A Framework for Modeling and Verification of SoC Communication Architecture”,in DATE,2004)而提出底下之定義一。
定義一:A Finite State Machine(FSM)-based communication interface model is a tuple(Q,Input,Output,C/O,V,→,clk,q 0 ,q f ),where
1. Q: a finite set of states
2. Input: a set of input data and control signals
3. Output: a set of output data and control signals
4. C/O: condition/operation
5. V: a set of internal variables
6.→ Q x Q x C/O x clk?: transition relations
7. q 0 ,q f Q: the initial state and the final state
根據上述定義一,用於每一溝通介面之有限狀態機構具有某些特定的輸入與輸出訊號,並執行表列於集合Q中之狀態間的轉移。在每一有限狀態機構中之狀態轉移開始於初始狀態q 0 ,而結束於最終狀態q f 。每一clk時刻觸發一狀態進行。操作O為一組訊號操作。舉例而言,動作“s!”表示訊號s從介面發送,而“s?”表示訊號s由介面讀取。在每一狀態進行邊緣上之C/O表示一但遇到條件C,相對應的操作O將被發送。條件C檢查V(例如叢發轉移中之計數器)中之內部變數的值或特定的輸入訊號(例如last)。
上述形式的溝通介面模型僅敘述一個元件如何與其他元件溝通。底下將延伸此概念並解釋如何模擬一個通用匯流排。
類似形式的溝通介面模型,仲裁程序可以敘述為一個有限狀態機構。一般而言,仲裁器從主元件接收匯流排請求(訊號),然後根據特定的仲裁策略而仲裁與授與(透過)匯流排存取至該些請求之一。上述仲裁程序係藉由宣告特定的交握訊號而完成。因此,根據控制仲裁之交握信號,本發明將仲裁程序區分為二階段,請求階段(R)及授與階段(G)。在具有授與訊號之前,進來的請求訊號及其下行之轉移包含在請求階段,起始於那些授與訊號宣告直至從主從對完成交易通報,剩餘的轉移係在授與階段。仲裁器接收外部IP所發出使用匯流排來源的請求並到發出授與之前都稱為請求階段。實際上,在請求階段,仲裁器接收外部的請求並選擇一主從對以利於匯流排交易,而於授與階段,被授與主從對執行此交易。
如第二圖所示,其顯示一仲裁器有限狀態機構中採取一固定優先次序仲裁策略。假定從MI 1 之請求req 1 具有比req 2 更高的優先次序,且事實上反映在仲裁器有限狀態機構中。
底下解釋請求與授與程序如何運作。在第二圖的例子中,仲裁器之初始狀態為a 0 。從a 0 至a 1 於狀態轉移邊緣上之註釋“req 1 ?1”表示仲裁器從MI 1 接收一匯流排請求。類似地,從a 0 至a 3 於狀態轉移上之“req 2 ?1,req 1 ?0”表示當MI 1 沒有請求,從MI 1 之請求被宣告。一般而言,在請求階段,仲裁器收集所有進來的請求訊號並計算那一個主元件被授與。
在請求階段之後,一主元件被選擇,然後仲裁器移至授與階段並指定此主元件以取得匯流排以利於資料轉移。在第二圖中,當req 1 被宣告,根據仲裁策略,從MI 1 之請求具有優先次序,並且因而仲裁器宣告grant 1 或“grant 1 !1”,並授與MI 1 以開始其資料轉移(transfer)。上述狀態轉移次序簡略表示為a 1 →a 2 。
在MI 1 完成其交易之後,其發送一通知訊號last 1 至仲裁器,表示為“last 1 ?1”,並取得仲裁器回復至其初始狀態a 0 ,且準備好下一個請求處理程序。
若從MI 2 僅有req 2 被宣告而req 1 沒有,則仲裁器將授與MI 2 以資料轉移,且其授與程序類似上面已敘述的MI 1 。再者,若沒有請求以利於使用匯流排,仲裁器停留在初始狀態a 0 。
在授與階段完成之後,仲裁器回復至請求階段。上述二個階段重複地交替貫穿系統活動期間以利於匯流排交易。事實上,一仲裁器之作用精確地係作為一個排程器(scheduler)。根據仲裁器FSM設計之仲裁策略,其收集發起請求及授與一個以執行。
本發明之二階段仲裁器之一關鍵點在於一仲裁器之狀態進行可以重複地簡化而不會遺失功能性或時序正確性。
在加入仲裁模型與主從模型之後,接著定義一通用匯流排,如下所述之定義二。
定義二:An FSM-based bus model is a four-tuple(M,S,A,I),where
1. M: a set of master interfaces described by FSM;
2. S: a set of slave interfaces described by FSM;
3. A: a set of arbiters described by FSM;
4. I: the interconnection among master/slave interfaces and arbiters;
連接I敘述無特定方向之不同的介面之間的連接關係。因為大部分匯流排協定使用一記憶體映像(map)以指定匯流排上之從元件,其中假定相同的記憶體映像實施。本發明使用一demux(demultiplexer,解多工器)23、24以模擬可進入的從元件,其藉由記憶體映像(mapped)位址從一主元件確認。類似地,對於一從元件,可以利用一mux(multiplexer,多工器)21、22以模擬潛在存取的(accessing)主元件與控制仲裁器20,如下所述。舉例而言,多工器21、22係連接仲裁器20。
demux(m
j
,s
j1
,...,s
jk
,mj.addr)
主元件介面m j 可以進出(access)從元件介面s j1 ,...,s jk ,而記憶體映像位址決定那一個從元件被存取(to be accessed)。
mux(m
i1
,...,m
ik
,s
i
,arbiter)
從元件介面s i 可以從主元件介面m i1 ,...,m ik 接收進出要求,然後仲裁器決定那一個請求被授與。
以二個主元件及二個從元件為例子,一通用的匯流排模型顯示於第三圖中。二個主元件(主元件10與主元件11)之每一個具有其自己的demux(23、24),表示與可行的從元件之連接。(demux連接mux)。此外,每一從元件(從元件12與從元件13)具有其相對應的mux(21、22),藉由一中央仲裁器20來控制。上述二個主元件(10、11)及二個從元件(12、13)分別與二個主元件界面(14、15)及二個從元件界面(16、17)連接。主元件界面(14、15)分別與解多工器(23、24)連接,二個從元件界面(16、17)分別與多工器(21、22)連接。
結果,第三圖中的完成匯流排模型的例子,敘述如下。
Bus=(M,S,A,I)M={m1,m2};//the interfaces of master1 and master2
S={s1,s2};//the interfaces of slave1 and slave2
A={A1};//the FSM of arbiter
I={demux(m1,s1,s2,m1.addr),demux(m2,s1,s2,m2.addr),mux(m1,m2,s1,A1),mux(m1,m2,s2,A1)};//the bus that m1,m2,s1 and s2 are connected to shares a central arbiter A1.
藉由形式的通用匯流排模型,本發明提出一靜態模型抽象概念與動態模擬演算法以權衡二階段仲裁器模型。
底下將進一步說明主要概念以證明本發明之方法的有效性。簡略而言,本發明所提出之方法可大略分為兩個步驟,靜態模型抽象層級與動態模擬。在靜態的階段,其係分析匯流排交易與仲裁程序之行為,並藉由優化例行的模擬程序以產生抽象模型。然後,在動態模擬階段,隨著交互訊號與真實的資料,計算精確的仲裁與匯流排交易結果。
底下說明靜態模型抽象之概念。
基本的匯流排功能主要在於主元件與從元件之間的資料轉移或資料讀取/寫入。本發明採取以及延伸Lo’s壓縮方法(請參考:C. K. Lo,R. S. Tsay,“Automatic Generation of Cycle Accurate and Cycle Count Accurate Transaction Level Bus Models from a Formal Model,”in ASP-DAC,2009),以模擬具有精確週期數資訊保留之主從交易對之抽象層級。
基本上,壓縮演算分析主從介面之FSM對,並將其合併至一個FSM,表示匯流排交易之行為。壓縮的FSM消除了主元件介面與從元件介面之間的確定內部交握訊號,並且當維持相同的週期數資訊如CA(cycle approximate)模型,較少的轉移步驟因而降低不必要的模擬負擔。另一方面,保留外部的交互作用訊號,例如交握訊號req、grant與last,其係與仲裁器交互作用以利於精確的動態行為模擬。
有了上面利用FSM來描述主/從界面跟仲裁器的行為後,可以了解一個full TLM bus model就是由眾多concurrent的FSM一起進行來完成資料的傳輸。
CMSAT模型主要是將互相溝通的各主/從界面FSM做一個壓縮的動作,此動作主要會把匯流排交易中,主/從界面彼此之間內的訊號交換的行為做一個削減,並得到完成此匯流排交易所需的正確週期數。為了能表現正確仲裁的結果,匯流排交易當中會與仲裁器交握的訊號做保留。之後,結合本發明所提出的二階段仲裁器模型去產生本發明CMSAT模型,CMSAT模型所代表的就是一個仲裁器在請求階段收到一個請求後,再進入相對應授與階段所會完成的動作及其所需時間。
顯示於第四a圖中之FSM係討論於第一圖中之主元件-從元件對之壓縮寫入交易模型。位址與資料轉移係壓縮至一狀態轉移步驟,其具有計算週期數相當於採取的真實週期數。值得注意的是在壓縮模型中的菱形方塊表示一複合的FSM節點。
隨著壓縮匯流排模型,一但發送匯流排交易於模擬期間被授與,每一匯流排交易之週期數將立即得到而無需作慢的逐週期模擬。因此,模擬效能大大地得到了提升。
上述壓縮匯流排交易模型可以定義如以下的定義三。
定義三:A compressed bus transaction model t ij is a merged FSM of a master-slave interface pair generated from the compression algorithm,or t ij =(m i ∥s j ),where
t ij : the compressed bus transaction model of the pair of m i and s j .
m i : the i-th master interface in the bus;
s j : the j-th slave interface in the bus;
∥: compression function;
事實上,匯流排交易與仲裁程序二者都是藉由特定的交握訊號之FSM同步。再者,每一主從對匯流排交易也能夠區分為二階段,請求階段與授與階段,並完全地相配二階段仲裁器模型。
如第四a圖所示,若壓縮主從匯流排交易模型啟動,其將持續宣告請求訊號(req 1 ! 1)直到其接收一授與(grant 1 ?1)。這部分於請求階段是清楚的。在被授與之後,其進入授與階段。然後開始資料轉移,並且完成之後,在回復至請求階段之前,其發出一完成通告(last 1 )。
為了集中討論req 1 之仲裁程序分析,顯示第二圖中相關於req 1 、grant 1 與last 1 之仲裁器的部分FSM,如第四b圖所示。第四b圖顯示二階段仲裁器模型。一但仲裁器處於請求階段,其檢查是否任一請求訊號被宣告。接下來假定優先次序策略,當仲裁器偵側req 1 被宣告,其將花費一個週期仲裁時間並宣告一相對應的授與訊號(grant 1 ! 1)。然後,在回復至請求階段之前,從t 11 等待完成通告(last 1 )。
仲裁器請求階段一般是花費一固定的計算時間以處理接收的請求。基於請求之組合,此請求處理時間一般可以預先分析。否則,依照運作時間時之週期數(CT)簡單計算仲裁時間。對於第二圖之固定優先次序之例子,請求總是花費仲裁器一個週期時間以處理授與。
當在授與階段,在進入下一個請求階段之前,仲裁器只是等待被授與匯流排交易完成資料轉移。事實上,被授與主從對與仲裁器係同步地進行,並因而可以進一步結合主從對與仲裁器模型至一優化的CMSAT模型以利於全匯流排模擬。在結合之後,內部交握訊號,例如授與訊號及匯流排交易完成訊號,而根據Lo的壓縮演算法,現前的主從對與仲裁器之間可以被消除。於相同的時間,授與階段(C g )之週期數係統計地被計算。
CMSAT模型之結果顯示於第四c圖中,其係結合第四a圖中的主從對與第四b圖中的二階段仲裁器模型。值得注意的是,在CMSAT模型中,交握訊號,req 1 、grant 1 與last 1 被消除,並且授與階段係決定以花費三個週期,包括一個週期用以仲裁器宣告grant 1 ,而二個週期用以匯流排資料轉移。
複合式主從元件與仲裁器交易(CMSAT)模型形式上被定義於底下定義四中。
定義四:The composition of a compressed bus transaction t ij and a two-phase arbiter model A is denoted as T ij =(t ij ∥A),where
T ij : the composite model of t ij and A.
t ij : the compressed bus transaction of the pair of m i and s j ;
A: the two-phase arbiter model described in FSM;
∥: compression function;
每一個CMSAT模型表示一個完成的程序,仲裁器授與一個特定的請求,且在被授與匯流排交易完成之後,回復至下一個請求階段。此優化模型消除了不必要的模擬負擔,並因而導致高效能模擬。
底下說明CMSAT模型如何應用於動態模擬階段。
週期計數精確全匯流排模擬以正確地模擬爭用行為之關鍵在於維持一個正確的匯流排交易執行次序。然後,藉由CMSAT模型,精確的交易執行週期計數可以有效率地計算。
實際上,虛擬的所有匯流排請求可以被視為儲存於一請求序列而等待仲裁。在一個請求被授與以匯流排交易之後,剩餘者停留在序列中,且被授與請求將開始匯流排交易直到完成。再者,在被授與請求完成時,僅有請求的主元件或被存取的從元件(若其亦為主元件)可能產生後來的新請求而影響隨後的仲裁。因此,可以於完成的時間點檢查被授與請求之主元件與從元件,並決定是否任何新請求應該加入序列中。
為了使模擬程序有效率,在實施上,可以延伸請求序列也包括未來請求。然而,仲裁程序僅僅處理現行請求(active requests),其於仲裁開始時間之前即以開始。
參考第五圖,其顯示一動態模擬之例子。利用第五圖的例子以說明本發明之演算法,其利用第二圖中的固定優先次序。首先,假定req 1 與req 2 二者係同時於現前的t 1 ,且插入請求序列。仲裁器首先推進至時間t 1 ,最早的時間新請求發生。然後,根據特定的仲裁器模型(仲裁1),仲裁器授與req 1 。結果,req 1 之相對應CMSAT模型被選擇,並隨後計算其C r 與C g 。相較之下,因為其尚未被授與且不能執行,req 2 仍儲存於請求序列中。
接下來,檢查是否M 1 或S 1 將於t 2 (req 1 之完成時間)產生新請求,其係從主元件M 1 驅動至從元件S 1 。假定一新請求req 3 產生於時間t 3 。然後,此未來請求插入該請求序列。藉由推進仲裁器時間至t 2 (req 1 之完成時間),仲裁程序之另一運作開始(仲裁 2 )。於此時,仲裁器發現僅有req 2 是現行於序列中的,因此授與req 2 以執行。
假定req 2 於時間t 4 完成其交易,然後檢查M 2 是否具有一新請求產生,而發現其於時間t 6 產生一新請求req 4 ,其係插入該請求序列以作為一未來請求。
目前於時間t 4 ,仲裁器開始另一仲裁程序(仲裁 3 ),而發現req 3 於時間t 3 僅僅為現行請求,因此授與req 3 以執行。
假定於時間t 5 ,req 3 完成執行且M 1 沒有產生一新請求。然後,當仲裁器試圖開始一個仲裁程序之新行程,其發現沒有現行請求而僅有一個未來請求req 4 於時間t 6 。因此,仲裁器設定新的仲裁時間至t 6 ,並決定授與請求req 4 ,其於時間t 7 完成其交易。
上述說明之例子含蓋了大部分的仲裁情形。本發明提出一個更一般與正式的全匯流排模擬演算法,如下所述。
再者,本發明利用請求序列以維持請求次序,並應用CMSAT模型以準確及迅速地計算時序資訊直到請求序列為空的。本發明之方法達到一個有效的全匯流排模擬而無需執行逐週期模擬。此外,本發明之演算法可以實施於POSIX pthread或一般的模擬引擎,例如SystemC。每一交易表示為一個別的程序,並且可以預測未來以決定是否新的請求將於交易結束時產生。
本發明提出之CMSAT模型之主要假定在於一但一交易進入授與階段,其不能先占且於相同的匯流排上沒有其他交易可以進入授與階段直到其再回復至請求階段。
在實際上,匯流排先占會發生於交易執行結束時。主元件例如直接記憶體存取器(Direct Memory Access)於一時間可以請求多重交易。對於此類型的請求,被先占的主元件係設計於轉移匯流排至先占的主元件之前完成其現前的交易。由於仲裁係執行於階段邊界,此先占的情形於本發明所提出之演算法中可以完美地處理。
為了證明本發明方法之有效性,應用本發明之模型與方法於平行二核心架構(Parallel Architecture Core Duo,PAC-Duo)平台之AMBA AXI-based匯流排矩陣。亦即用於模擬之客端架構為PAC-Duo(請參考:Z. M. Hsu,J. C. Yeh,I. Y. Chuang,“An Accurate System Architecture Refinement Methodology with Mixed Abstraction-Level Virtual Platform”,in DATA,2010)。本發明應用不同的架構組合與仲裁策略以驗証探勘程序,並藉由Coward所提供的CA模型(請參考:www.synopsys.com)以比較其效能與精確結果。
如第六圖所示,其顯示根據本發明之正規的定義之PAC-Duo平台。其包括二個PAC DSP處理器、一個ARM處理器、一個DMA、LCDC(LCD控制器)與記憶體。此平台之AXI-基礎匯流排矩陣係透過本發明之方法來模擬。
為了測試本發明匯流排模擬方法之有效性,運作一H.264解碼器應用以及一QVGA視訊流(每幀320x240)於此平台上。應用流程開始藉由ARM處理器,從SRAM負載(load)H.264解碼器程式,並利用PAC DSP處理器以利於H.264解碼器執行。二個DSP處理器以管道式解碼H.264幀,DMA幫助影像資料轉移。當一幀完成解碼,ARM處理器結合LCD控制器以讀取並顯示此幀。
此外,為了確認本發明之準確性,已驗證了從本發明CMSAT模型所產生之全匯流排交易之執行時間點係正確地相同於Coware CA AXI匯流排模型所產生者。
對於模擬效能評估,表一列出了依照每秒交易數目之效能比較。對於整體平台模擬,包括匯流排與所有的IP,本發明所提出之匯流排模型比Coware CA AXI匯流排模型快了5.2倍。
此外,結果顯示本發明CMSAT模型之效能大約等於純功能性匯流排模型之效能,其節省一點溝通時間而無需時序資訊。若僅僅評估匯流排上之執行時間,本發明CMSAT模型比Coware CA模型快了23倍。
此種巨大的效能提升主要是從CMSAT模型產生之靜態分析所得到。特別地,對於叢發基礎(brust-based)匯流排協定,例如AXI,因為從資料轉移以及與仲裁器交握之大部份的模擬負擔係由靜態分析而消除,其模擬效能得到了大大地提升。
接下來,說明於PAC-Duo平台之匯流排架構探勘。藉由檢視四種不同的仲裁策略以探勘仲裁策略之效應,一固定優先吹序策略(FP1),其中DMA比LCDC更高優先次序,另一固定優先次序策略(FP2),其中LCDC比DMA更高優先次序,一循環比對(round robin)策略(RR1)具有25週期時段,以及另一循環比對策略(RR2)具有30週期時段。
第七圖顯示具有上述四種不同的仲裁策略之平台上的總流通量之結果。此外,一改良的平台僅具有一個PAC DSP,表列於此作為參考。結果發現PAC-Duo平台勝過單一PAC平台,而Duo平台對於仲裁策略之選擇更敏感。對於PAC-Duo平台,效能差不多有15%之差異,端視仲裁策略之選擇;而對於單一PAC平台,差異僅為9%。這是由於此事實的結果,因為有更多的現行主元件請求資料轉移,PAC-Duo平台具有更高的爭用率。
經由實驗結果,證明了本發明之方法可以有效率地及有效地優化匯流排與系統架構設計。在本發明中,提出一個高效率的FSM-基礎複合的主從對以及仲裁器交易(CMSAT)模型以利於全匯流排模擬。根據本發明之方法,設計者可以很容易描述匯流排設計與執行週期數精確模擬以用於全匯流排效能分析與架構探勘。
上述敘述係本發明之較佳實施例。此領域之技藝者應得以領會其係用以說明本發明而非用以限定本發明所主張之專利權利範圍。其專利保護範圍當視後附之申請專利範圍及其同等領域而定。凡熟悉此領域之技藝者,在不脫離本專利精神範圍內,所作之更動或潤飾,均屬於本發明所揭示精神下所完成之等效改變或設計,且應包含在下述之申請專利範圍內。
MI 1 、14、15...主元件介面
SI 1 、16、17...從元件介面
10、11...主元件
12、13...從元件
20...仲裁器
21、22...多工器
23、24...解多工器
本發明可藉由說明書中若干較佳實施例之詳細敘述以及下列圖式得以瞭解。然而,此領域之技藝者應得以領會所有本發明之較佳實施例係用以說明而非用以限制本發明之申請專利範圍,其中:
第一圖顯示於有限狀態機構中執行一寫入交易之例子;
第二圖顯示一仲裁器有限狀態機構中採取一固定優先次序仲裁策略之例子;
第三圖顯示以二個主元件及二個從元件為例子之一通用的匯流排模型;
第四a圖顯示主元件-從元件對之壓縮寫入交易模型;
第四b圖顯示二階段仲裁器模型;
第四c圖顯示CMSAT模型;
第五圖顯示一動態模擬之例子;
第六圖顯示根據本發明之正規的定義之PAC-Duo平台之一例子;
第七圖顯示四種不同的仲裁策略之平台上的總流通量之結果。
10、11...主元件
12、13...從元件
14、15...主元件介面
16、17...從元件介面
20...仲裁器
21、22...多工器
23、24...解多工器
Claims (10)
- 一種全匯流排之交易層級模擬方法以用於爭用分析,該方法包含:對於每一主元件,藉由一處理單元以計算第一請求並插入該第一請求至一請求序列,直到該請求序列為空的;若沒有現行請求在該請求序列,一仲裁器時間行進至一最早的未來請求之一請求時間;否則,根據一特定的仲裁策略以選擇及授與一個現行請求;藉由該處理單元以計算該現行請求之一請求階段執行時間;藉由該處理單元以計算該現行請求之一授與階段執行時間;以及檢視該授與請求之請求主元件及/或存取從元件,若其中任一將產生一新請求,推進該新請求至該請求序列。
- 如請求項1所述之全匯流排之交易層級模擬方法以用於爭用分析,其中計算該現行請求之一授與階段執行時間係根據CMSAT模型所計算。
- 如請求項2所述之全匯流排之交易層級模擬方法以用於爭用分析,其中該CMSAT模型中,若交易進入一授與階段,於相同的匯流排上沒有其他交易可以進入授與階段直到其再回復至請求階段。
- 如請求項1所述之全匯流排之交易層級模擬方法以用於爭用分析,其中在一個請求被授與以匯流排交易之後,剩餘請求停留在該請求序列中,且該被授與請求將開始匯流排交易直到完成。
- 一種全匯流排之交易層級模擬方法以用於爭用分析,該方法包含:藉由一仲裁器從主元件接收一匯流排請求訊號,並根據一特定的仲裁策略而進行仲裁程序與授與;在一請求階段,該仲裁器收集所有進來的該請求訊號並根據該仲裁策略以計算那一個主元件被授與;在一授與階段,該仲裁器指定該被授與主元件以取得該匯流排以利於資料轉移;以及藉由一處理單元發送一通知訊號至該仲裁器,使得該仲裁器回復至其初始狀態以準備下一個請求處理程序。
- 如請求項5所述之全匯流排之交易層級模擬方法以用於爭用分析,其中該仲裁程序係藉由宣告特定的交握訊號而完成。
- 如請求項5所述之全匯流排之交易層級模擬方法以用於爭用分析,更包括模擬可進入的從元件,其係藉由記憶體映像位址從該被授與主元件確認。
- 如請求項5所述之全匯流排之交易層級模擬方法以用於爭用分析,其中每一該從元件具有其相對應的多工器,藉由該仲裁器來控制,每一個該主元件具有其相對應的解多工器,相對應的該多工器連接該解多工器。
- 如請求項5所述之全匯流排之交易層級模擬方法以用於爭用分析,更包括模擬潛在進出的該主元件。
- 如請求項5所述之全匯流排之交易層級模擬方法以用於爭用分析,其中若沒有請求以利於使用該匯流排,該仲裁器停留在初始狀態。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW100130541A TW201310241A (zh) | 2011-08-25 | 2011-08-25 | 全匯流排之交易層級模擬方法以快速與精確的爭用分析 |
US13/398,083 US20130054854A1 (en) | 2011-08-25 | 2012-02-16 | Full Bus Transaction Level Modeling Approach for Fast and Accurate Contention Analysis |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW100130541A TW201310241A (zh) | 2011-08-25 | 2011-08-25 | 全匯流排之交易層級模擬方法以快速與精確的爭用分析 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW201310241A true TW201310241A (zh) | 2013-03-01 |
Family
ID=47745327
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW100130541A TW201310241A (zh) | 2011-08-25 | 2011-08-25 | 全匯流排之交易層級模擬方法以快速與精確的爭用分析 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20130054854A1 (zh) |
TW (1) | TW201310241A (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150026652A1 (en) * | 2013-07-18 | 2015-01-22 | Nvidia Corporation | System, method, and computer program product for correlating transactions within a simulation of a hardware platform for post-simulation debugging |
US9542513B2 (en) * | 2013-07-31 | 2017-01-10 | Arm Limited | Multimode execution of virtual hardware models |
KR20150134688A (ko) | 2014-05-22 | 2015-12-02 | 삼성전자주식회사 | 트랜잭터를 자동으로 생성하는 컴퓨팅 시스템 |
KR20180043626A (ko) | 2016-10-20 | 2018-04-30 | 삼성전자주식회사 | 버퍼를 포함하는 버스를 라우팅하기 위한 시스템 및 방법 |
CN118209994B (zh) * | 2024-05-20 | 2024-07-19 | 长沙北斗产业安全技术研究院股份有限公司 | 一种基于异构多核片上系统的导航信号仿真方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6108735A (en) * | 1995-09-29 | 2000-08-22 | Intel Corporation | Method and apparatus for responding to unclaimed bus transactions |
US6907502B2 (en) * | 2002-10-03 | 2005-06-14 | International Business Machines Corporation | Method for moving snoop pushes to the front of a request queue |
US7478183B2 (en) * | 2006-05-03 | 2009-01-13 | Cisco Technology, Inc. | Method and system for n dimension arbitration algorithm—scalable to any number of end points |
US20080077720A1 (en) * | 2006-09-27 | 2008-03-27 | Blaise Fanning | Isochronous memory access with variable channel priorities and timers |
-
2011
- 2011-08-25 TW TW100130541A patent/TW201310241A/zh unknown
-
2012
- 2012-02-16 US US13/398,083 patent/US20130054854A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20130054854A1 (en) | 2013-02-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8327039B2 (en) | Integrated DMA processor and PCI express switch for a hardware-based functional verification system | |
US9552448B2 (en) | Method and apparatus for electronic system model generation | |
US7814243B2 (en) | Shared storage for multi-threaded ordered queues in an interconnect | |
Pasricha et al. | Fast exploration of bus-based on-chip communication architectures | |
US8473661B2 (en) | System and method for providing multi-process protection using direct memory mapped control registers | |
US8438306B2 (en) | Apparatus and methods for on layer concurrency in an integrated circuit | |
US20140156249A1 (en) | Modeling a bus for a system design incorporating one or more programmable processors | |
TW201310241A (zh) | 全匯流排之交易層級模擬方法以快速與精確的爭用分析 | |
D'silva et al. | Bridge over troubled wrappers: Automated interface synthesis | |
Xu et al. | A multi-microblaze based SOC system: from SystemC modeling to FPGA prototyping | |
JP6249827B2 (ja) | シミュレーション装置及びシミュレーションプログラム | |
JP2013196245A (ja) | シミュレーション方法、シミュレーション装置及びシミュレーションプログラム | |
Montoreano | Transaction level modeling using OSCI TLM 2.0 | |
Bhatia et al. | Leveraging semi-formal and sequential equivalence techniques for multimedia SoC performance validation | |
Perret | Predictable execution on many-core processors | |
Valente et al. | TOP: Towards Open & Predictable Heterogeneous SoCs | |
Divya et al. | AHB design and verification AMBA 2.0 using system Verilog | |
Li et al. | A formal full bus TLM modeling for fast and accurate contention analysis | |
Ghosh et al. | Use-case based early performance simulation of cryptographic coprocessor | |
Taraate et al. | System-on-chip (SOC) design | |
Mikulcak | Development of a predictable hardware architecture template and integration into an automated system design flow | |
Lo et al. | Automatic generation of high-speed accurate tlm models for out-of-order pipelined bus | |
Choudhary et al. | Design and Performance Evaluation of PCle on Different FPGA | |
Li et al. | A Cycle Count Accurate TLM bus modeling approach | |
Salimi Khaligh et al. | Adaptive interconnect models for transaction-level simulation |