一種事務(wù)級的系統(tǒng)芯片數(shù)據(jù)傳輸延遲判定系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明提出一種事務(wù)級的系統(tǒng)芯片(System on a Chip,SoC)數(shù)據(jù)傳輸延遲判定系統(tǒng),屬于系統(tǒng)芯片架構(gòu)設(shè)計及性能分析技術(shù)領(lǐng)域。
【背景技術(shù)】
[0002]SPARC V8是一種精簡指令集體系結(jié)構(gòu),符合這種指令集體系結(jié)構(gòu)的系統(tǒng)芯片在航天、航空、工業(yè)控制等嵌入式領(lǐng)域應(yīng)用廣泛。然而,隨著系統(tǒng)芯片功能的不斷增加,其需要集成的功能模塊越來越多,與SPARC V8處理器核心進行數(shù)據(jù)傳輸?shù)墓δ苣K及其互聯(lián)結(jié)構(gòu)也日趨復(fù)雜。在進行系統(tǒng)芯片應(yīng)用時,必須同時滿足SPARC V8處理器核心等內(nèi)部各個模塊的數(shù)據(jù)吞吐,實現(xiàn)滿足外部接口性能要求的輸入輸出,從而達到應(yīng)用的要求。這就必須在系統(tǒng)芯片的設(shè)計階段,面向應(yīng)用要求,對SPARC V8處理器核心上運行的任務(wù)和系統(tǒng)芯片內(nèi)部互聯(lián)結(jié)構(gòu)進行分析,獲得時延參數(shù)。利用這些時延參數(shù),對系統(tǒng)芯片內(nèi)部互聯(lián)結(jié)構(gòu)進行量化的分析,得到滿足應(yīng)用性能要求的系統(tǒng)芯片內(nèi)部結(jié)構(gòu)。
[0003]目前,以SPARC V8為處理器核心的系統(tǒng)芯片一般采用寄存器傳輸級(registertransact1n level,RTL)語言設(shè)計,這種語言通過描述系統(tǒng)芯片內(nèi)部的寄存器和寄存器之間的連線,實現(xiàn)系統(tǒng)芯片的設(shè)計。然而,對用這種方式描述的功能、內(nèi)部互聯(lián)都非常復(fù)雜的系統(tǒng)芯片進行性能分析則存在很多問題。其中,運行速度慢最為突出,速度一般為K赫茲量級。
[0004]為了解決此問題,必須對SPARC V8核心和系統(tǒng)芯片內(nèi)部的其他模塊進行事務(wù)級建模,通過事務(wù)級模型完成系統(tǒng)芯片的性能評估。
【發(fā)明內(nèi)容】
[0005]本發(fā)明解決的技術(shù)問題是:克服現(xiàn)有技術(shù)的不足,提出一種事務(wù)級的系統(tǒng)芯片數(shù)據(jù)傳輸延遲判定系統(tǒng)。通過這種事務(wù)級的系統(tǒng)芯片數(shù)據(jù)傳輸延遲判定系統(tǒng),可以有效獲得以SPARC V8處理器為核心的系統(tǒng)芯片內(nèi)部互聯(lián)結(jié)構(gòu)數(shù)據(jù)時延信息,向系統(tǒng)芯片設(shè)計師提供量化的時延參數(shù),實現(xiàn)面向應(yīng)用的系統(tǒng)芯片結(jié)構(gòu)優(yōu)化。
[0006]本發(fā)明的技術(shù)解決方案是:如圖1所示,一種事務(wù)級的系統(tǒng)芯片數(shù)據(jù)傳輸延遲判定系統(tǒng),包括以下幾部分:
[0007]激勵源,包括:SPARC V8程序行為模擬模塊、片上外設(shè)事務(wù)級激勵源;
[0008]功能單元,包括:SPARC V8處理器核心事務(wù)級模塊、可配置片上外設(shè)事務(wù)級模塊、片上總線事務(wù)級模塊、存儲器事務(wù)級模塊;
[0009]結(jié)果觀測單元,包括:時延計算模塊;
[0010]時延記錄單元,包括:時延記錄模塊;
[0011]其中,SPARC V8程序行為模擬模塊,產(chǎn)生符合SPARC V8指令集體系結(jié)構(gòu)定義的指令流,輸入給SPARC V8處理器核心事務(wù)級模塊;
[0012]片上外設(shè)事務(wù)級激勵源,產(chǎn)生數(shù)據(jù)流,輸入給可配置片上外設(shè)事務(wù)級模塊;
[0013]SPARC V8處理器核心事務(wù)級模塊,計算指令流中每條指令的時延,如果指令流中有存儲器讀寫指令,則向片上總線事務(wù)級模塊發(fā)送SPARC V8處理器核心事務(wù)級模塊生成的讀寫事務(wù);
[0014]可配置片上外設(shè)事務(wù)級模塊,根據(jù)可配置片上外設(shè)事務(wù)級模塊的配置需求,對數(shù)據(jù)流進行處理,生成滿足可配置片上外設(shè)事務(wù)級模塊的配置需求的讀寫事務(wù),輸入給片上總線事務(wù)級模塊;
[0015]片上總線事務(wù)級模塊,根據(jù)讀寫事務(wù)中描述的目的模塊,對輸入的讀寫事務(wù)進行轉(zhuǎn)發(fā),發(fā)送到SPARC V8處理器核心事務(wù)級模塊、可配置片上外設(shè)事務(wù)級模塊、存儲器事務(wù)級模塊之一;
[0016]存儲器事務(wù)級模塊,按照片上總線事務(wù)級模塊送來的讀寫事務(wù),若為寫事務(wù),則將寫事務(wù)中的數(shù)據(jù)保存在存儲器事務(wù)級模塊中,若為讀事務(wù),則將存儲器事務(wù)級模塊中保存的數(shù)據(jù)送到片上總線事務(wù)級模塊;
[0017]時延記錄模塊,記錄SPARC V8處理器核心事務(wù)級模塊、可配置片上外設(shè)事務(wù)級模塊、片上總線事務(wù)級模塊、存儲器事務(wù)級模塊送出讀寫事務(wù)的時刻;
[0018]時延計算模塊,從時延記錄模塊調(diào)取SPARC V8處理器核心事務(wù)級模塊、可配置片上外設(shè)事務(wù)級模塊、片上總線事務(wù)級模塊、存儲器事務(wù)級模塊送出讀寫事務(wù)的時刻,計算數(shù)據(jù)流從片上外設(shè)事務(wù)級激勵源到可配置片上外設(shè)事務(wù)級模塊或存儲器事務(wù)級模塊的時刻差,生成數(shù)據(jù)流時延。根據(jù)系統(tǒng)芯片的應(yīng)用要求,設(shè)定數(shù)據(jù)流時延閾值,將生成的數(shù)據(jù)流時延與設(shè)定數(shù)據(jù)流時延閾值進行比較,若生成的數(shù)據(jù)流時延小于等于設(shè)定數(shù)據(jù)流時延閾值,則判定功能單元的連接方式滿足應(yīng)用要求,若生成的數(shù)據(jù)流時延大于設(shè)定數(shù)據(jù)流時延閾值,則判定功能單元的連接方式不滿足應(yīng)用要求。
[0019]所述指令流,包括SPARC V8指令集體系結(jié)構(gòu)中定義的讀取/存儲類、整數(shù)運算類、控制轉(zhuǎn)移類、讀寫狀態(tài)寄存器類、浮點運算類,共五類指令。讀取/存儲類指令的功能是從SPARC V8處理器核心向片上總線輸出數(shù)據(jù)、或者使SPARC V8處理器核心從片上總線獲取數(shù)據(jù),對于SPARC V8處理器核心事務(wù)級模塊產(chǎn)生對于片上總線事務(wù)級模塊的讀寫事務(wù),整數(shù)運算類指令的功能是對整型數(shù)據(jù)進行加、減、乘、除、左右移、與/或/非/異或/同或運算,對于SPARC V8處理器核心事務(wù)級模塊產(chǎn)生時延,控制轉(zhuǎn)移類指令的功能是使SPARC V8處理器核心產(chǎn)生程序分支,對于SPARC V8處理器核心事務(wù)級模塊產(chǎn)生時延,讀寫狀態(tài)寄存器類指令的功能是對SPARC V8處理器核心內(nèi)部的用于控制SPARC V8處理器核心工作狀態(tài)的寄存器進行讀寫,對于SPARC V8處理器核心事務(wù)級模塊產(chǎn)生時延,浮點運算類指令的功能是對浮點型數(shù)據(jù)進行加、減、乘、除、開方、比較、浮點型與整型數(shù)據(jù)互轉(zhuǎn),對于SPARC V8處理器核心事務(wù)級模塊產(chǎn)生時延。
[0020]所述指令流中不同類型的指令,按照比例產(chǎn)生多個不同類型的指令,并隨機排列。
[0021]所述數(shù)據(jù)流包括數(shù)據(jù)長度、數(shù)據(jù)產(chǎn)生的周期。按照數(shù)據(jù)產(chǎn)生周期的值,形成發(fā)送到可配置片上外設(shè)事務(wù)級模塊的數(shù)據(jù)流。
[0022]所述可配置片上外設(shè)事務(wù)級模塊,對所述數(shù)據(jù)流進行的處理包括:對數(shù)據(jù)流打包、對數(shù)據(jù)流進行串并轉(zhuǎn)換、對數(shù)據(jù)流進行暫存。
[0023]所述讀寫事務(wù)包括需要發(fā)送到的目的模塊,目的模塊為SPARC V8處理器核心事務(wù)級模塊、可配置片上外設(shè)事務(wù)級模塊、存儲器事務(wù)級模塊之一;讀寫事務(wù)還包括發(fā)送到目的模塊的數(shù)據(jù)。
[0024]所述SPARC V8處理器核心事務(wù)級模塊,包含指令時延標(biāo)記子模塊和微架構(gòu)子模塊。其中,指令時延標(biāo)記子模塊詳細記錄了 SPARC V8指令集體系結(jié)構(gòu)中確定的五類指令,每一條指令的時延和每一條指令使用的運算單元;微架構(gòu)子模塊記錄了 SPARC V8處理器核心中使用的通用寄存器的數(shù)量、運算單元的類型和數(shù)量、流水線級數(shù)及各級間的協(xié)作方式、高速緩存的容量和命中率。當(dāng)SPARC V8處理器核心事務(wù)級模塊接收到指令流后,首先將輸入的指令與指令時延標(biāo)記子模塊的記錄信息進行比較,取得該指令的時延,之后,根據(jù)指令類型,觸發(fā)微架構(gòu)子模塊中各流水線、通用寄存器、高速緩存、運算單元工作,生成進一步的時延,最后,將指令時延標(biāo)記子模塊產(chǎn)生的時延和微架構(gòu)子模塊產(chǎn)生的時延發(fā)送給時延記錄模塊。
[0025]本發(fā)明與現(xiàn)有技術(shù)相比的有益效果是:
[0026](1)本發(fā)明中,SPARC V8處理器核心事務(wù)級模塊中的指令時延標(biāo)記子模塊和微架構(gòu)子模塊使該模塊具有可配置能力,通過配置為不同的參數(shù),能夠使SPARC V8處理器核心事務(wù)級模塊具有不同指令時延、通用寄存器的數(shù)量、運算單元的類型和數(shù)量、流水線級數(shù)及各級間的協(xié)作方式、高速緩存的容量和命中率,通過這種靈活的配置方式,不但可以適應(yīng)多種滿足SPARC V8指令集體系結(jié)構(gòu)的具體實現(xiàn),而且具備了優(yōu)化SPARC V8處理器核心參數(shù)、指導(dǎo)SPARC V8處理器具體實現(xiàn)方式的能力,使得在設(shè)計以SPARC V8處理器為核心的系統(tǒng)芯片時,能夠比較靈活的選擇不同的SPARC V8處理器核心具體實現(xiàn)。
[0027](2)本發(fā)明中,SPARC