亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種高速事務(wù)級(jí)軟硬件協(xié)同仿真方法

文檔序號(hào):6555146閱讀:188來源:國知局
專利名稱:一種高速事務(wù)級(jí)軟硬件協(xié)同仿真方法
技術(shù)領(lǐng)域
一種高速事務(wù)級(jí)軟硬件協(xié)同仿真方法,屬于集成電路芯片的功能仿真技術(shù)領(lǐng)域,可應(yīng)用于計(jì)算機(jī)軟硬件協(xié)同仿真系統(tǒng)中。
背景技術(shù)
隨著集成電路技術(shù)的飛速發(fā)展,集成電路芯片的集成度和復(fù)雜性日益增加,特別是SoC芯片的出現(xiàn)更加劇這個(gè)情況。SoC芯片可以達(dá)到幾百門到幾千門的復(fù)雜度,內(nèi)部具有CPU,存儲(chǔ)器,高速總線等各種復(fù)雜組件,同時(shí)SoC芯片還需要由復(fù)雜的軟件支持,如嵌入式操作系統(tǒng),各種通信協(xié)議,多媒體處理等程序?;谏鲜龅膹?fù)雜性,復(fù)雜的大規(guī)模集成電路芯片的功能仿真已經(jīng)成為一個(gè)亟待解決的問題。為了提高人們對(duì)芯片進(jìn)行功能仿真的效率,事務(wù)級(jí)軟硬件協(xié)同仿真技術(shù)作為一種新的解決方案提供了更高速,更靈活的仿真方法。
事務(wù)級(jí)軟硬件協(xié)同仿真技術(shù)是一種用于復(fù)雜的大規(guī)模集成電路芯片的功能仿真方法,主要用于驗(yàn)證芯片RTL級(jí)模型是否完成了需要的功能,保證該RTL級(jí)模型符合設(shè)計(jì)規(guī)范。在該方法中,事務(wù)級(jí)軟硬件協(xié)同仿真系統(tǒng)使用計(jì)算機(jī)和硬件仿真器聯(lián)合工作共同完成一個(gè)被測(cè)系統(tǒng)的仿真。
事務(wù)級(jí)的軟硬件協(xié)同仿真的基本思想是通過提高軟件仿真方的建模層次和減少軟硬件雙方之間的同步信息量來提高協(xié)同仿真的速度,通過在硬件仿真方增加各種標(biāo)準(zhǔn)的和綜合的事務(wù)處理器模塊來加速各種標(biāo)準(zhǔn)接口的測(cè)試。為了實(shí)現(xiàn)上述目的,事務(wù)級(jí)的軟硬件協(xié)同仿真系統(tǒng)需具備下述四個(gè)重要特性。
軟件仿真模塊使用事務(wù)級(jí)建模,通??梢允褂肅/C++/SystemC等語言描述,這與用HDL語言描述的RTL級(jí)模型有很大的不同,它不再基于時(shí)鐘或者信號(hào)變化。由于具有了更高的抽象級(jí)別,軟件仿真模塊可以有更加快速的建模速度和運(yùn)行速度。
基于消息的通信,軟硬件仿真雙方以消息作為傳輸單元進(jìn)行雙方之間的仿真同步和信息交換。協(xié)同仿真系統(tǒng)定義了系統(tǒng)中可能的各種事務(wù),仿真方在約定的事務(wù)發(fā)生后,將其用約定的消息表示,并傳給對(duì)方。使用消息代替具體信號(hào)值進(jìn)行通信,可以減少雙方之間的數(shù)據(jù)傳輸頻率和數(shù)據(jù)傳輸量。
事務(wù)處理器完成消息與信號(hào)之間的數(shù)據(jù)格式的轉(zhuǎn)換。由于硬件仿真模塊本身使用信號(hào)工作,為了通過消息與軟件仿真方通信,硬件仿真方中增加了事務(wù)處理器模塊進(jìn)行信息格式的轉(zhuǎn)換工作,它可以將來自軟件仿真方的消息轉(zhuǎn)變成多個(gè)時(shí)鐘周期的激勵(lì)信號(hào),同時(shí)也可以將多個(gè)時(shí)鐘周期的響應(yīng)信號(hào)轉(zhuǎn)變成消息。事務(wù)處理器實(shí)現(xiàn)了軟硬件雙方的數(shù)據(jù)格式之間的轉(zhuǎn)換。
控制時(shí)鐘和非控制時(shí)鐘,非控制時(shí)鐘控制整個(gè)硬件仿真方系統(tǒng)的工作,是一個(gè)實(shí)際的系統(tǒng)時(shí)鐘??刂茣r(shí)鐘控制硬件仿真模塊的工作,它受到事務(wù)處理器模塊的控制。當(dāng)事務(wù)處理器進(jìn)行消息轉(zhuǎn)換時(shí),硬件仿真模塊需要的信號(hào)還沒有產(chǎn)生,非控制時(shí)鐘被關(guān)閉來停止硬件仿真模塊的工作。
在事務(wù)級(jí)的軟硬件協(xié)同仿真系統(tǒng)中,被測(cè)系統(tǒng)中的各個(gè)子模塊及其測(cè)試模塊被分為兩組,一組命名為軟件仿真模塊,在計(jì)算機(jī)中仿真,一組命名為硬件仿真模塊,在硬件仿真器中仿真。軟件仿真模塊和硬件仿真模塊分別利用計(jì)算機(jī)的靈活性和硬件仿真器的高速性共同完成SoC系統(tǒng)的功能仿真。
事務(wù)級(jí)的軟硬件協(xié)同仿真系統(tǒng)的基本結(jié)構(gòu)如圖1所示。軟件仿真方包括多個(gè)軟件仿真模塊和消息通道的軟件接口部分,硬件仿真方包括硬件仿真模塊、多個(gè)事務(wù)處理器模塊,消息通道的硬件接口部分。這些模塊的作用如下軟件仿真模塊通常可以分為軟件激勵(lì)模塊和軟件響應(yīng)模塊。軟件激勵(lì)模塊根據(jù)具體仿真/驗(yàn)證要求產(chǎn)生對(duì)應(yīng)的激勵(lì)消息,并將激勵(lì)消息寫入消息代理端口。軟件響應(yīng)模塊分析來自消息代理端口的響應(yīng)消息,記錄被測(cè)系統(tǒng)的輸出結(jié)果和驗(yàn)證其正確性。該模塊通常使用C/C++等語言在計(jì)算機(jī)上實(shí)現(xiàn)。
硬件仿真模塊通常是待測(cè)試的芯片的RTL級(jí)模型。設(shè)計(jì)人員在完成待測(cè)試的被測(cè)系統(tǒng)的RTL(寄存器轉(zhuǎn)移級(jí))模型后,將其進(jìn)行綜合后下載到硬件仿真器進(jìn)行驗(yàn)證。
事務(wù)處理器分為輸入事務(wù)處理器和輸出事務(wù)處理器。輸入事務(wù)處理器通過消息端口接收來自軟件激勵(lì)模塊的激勵(lì)消息,將其轉(zhuǎn)換成對(duì)應(yīng)的待測(cè)試系統(tǒng)的激勵(lì)信號(hào)。一個(gè)對(duì)應(yīng)的激勵(lì)消息可以產(chǎn)生幾十甚至上百的時(shí)鐘周期的激勵(lì)信號(hào)的輸入。輸出事務(wù)處理器監(jiān)視待測(cè)試系統(tǒng)的響應(yīng)信號(hào),將其轉(zhuǎn)換成對(duì)應(yīng)的響應(yīng)消息,然后傳給軟件響應(yīng)模塊。類似的,相關(guān)的多個(gè)時(shí)鐘周期的響應(yīng)信號(hào)可以被一個(gè)響應(yīng)消息所表示。
消息通道用于連接軟件仿真方和硬件仿真方,通過在通道上傳輸激勵(lì)消息和響應(yīng)消息實(shí)現(xiàn)軟件仿真模塊和硬件仿真模塊的同步和信息交換。消息通道分別在軟件仿真方和硬件仿真方提供了消息代理端口和消息端口,通過這些端口軟件仿真模塊和事務(wù)處理器模塊就可以訪問消息通道進(jìn)行消息的傳遞。
在該事務(wù)級(jí)軟硬件協(xié)同仿真系統(tǒng)中,通常定義了三種消息用于實(shí)現(xiàn)軟件仿真方與硬件仿真方的信息交換和仿真同步1、激勵(lì)消息。它通過消息通道從軟件激勵(lì)模塊發(fā)送到對(duì)應(yīng)的輸入事務(wù)處理器,用于軟件仿真方向硬件仿真模塊通知一個(gè)激勵(lì)事務(wù)。通常激勵(lì)消息包括了目的輸入事務(wù)處理器的編號(hào)和要產(chǎn)生的激勵(lì)事務(wù)的編碼。
2、響應(yīng)消息。它通過消息通道從輸出事務(wù)處理器發(fā)往軟件響應(yīng)模塊,用于硬件仿真方向軟件仿真方通知發(fā)生了一個(gè)響應(yīng)事務(wù)。通常響應(yīng)消息包括了目的軟件仿真模塊的編號(hào)和發(fā)生的響應(yīng)事務(wù)的編碼。
3、輸入準(zhǔn)備好消息。為了防止由于軟件激勵(lì)模塊發(fā)送激勵(lì)消息過快或者輸入事務(wù)處理器的處理速度較慢,造成激勵(lì)消息在輸入事務(wù)處理器的溢出,系統(tǒng)使用輸入準(zhǔn)備好消息進(jìn)行激勵(lì)消息的流控。輸入準(zhǔn)備好消息通過消息通道從輸入事務(wù)處理器發(fā)往軟件激勵(lì)模塊,告知軟件激勵(lì)模塊現(xiàn)在對(duì)應(yīng)的輸入事務(wù)處理器已經(jīng)準(zhǔn)備好接收激勵(lì)消息。通常輸入準(zhǔn)備好消息包括輸入事務(wù)處理器的編號(hào)和表示輸入準(zhǔn)備好的編碼。輸入準(zhǔn)備好消息的格式示例如圖2所示。8bit的編號(hào)可以實(shí)現(xiàn)含有256個(gè)輸入事務(wù)處理器的協(xié)同仿真系統(tǒng)。
軟硬件協(xié)同仿真系統(tǒng)中的消息定義約定了軟硬件仿真雙方的同步操作的內(nèi)容和格式,方便了軟件仿真方的事務(wù)級(jí)建模。同時(shí)通過硬件方的事務(wù)處理器高速的實(shí)現(xiàn)激勵(lì)輸入和響應(yīng)分析,并且減少了消息通道上的數(shù)據(jù)傳輸量,減小了通道上產(chǎn)生的仿真延遲。
在上述的事務(wù)級(jí)軟硬件協(xié)同系統(tǒng)中,在軟件仿真模塊和硬件仿真模塊被恰當(dāng)?shù)牟贾迷谠搮f(xié)同仿真系統(tǒng)后,通過三種消息進(jìn)行軟硬件雙方的信息交換和仿真同步,通常整個(gè)仿真的步驟如下1、軟件仿真方進(jìn)行初始化。軟件仿真方先進(jìn)行初始化,軟件激勵(lì)模塊從初始化狀態(tài)直接進(jìn)入等待狀態(tài),軟件響應(yīng)模塊處于等待響應(yīng)消息狀態(tài)。軟件仿真方在穩(wěn)定后向硬件仿真方發(fā)送復(fù)位信號(hào),通知硬件仿真方進(jìn)行初試化。
2、硬件仿真方在收到復(fù)位信號(hào)后進(jìn)行初始化,各個(gè)輸入事務(wù)處理器向?qū)?yīng)的軟件激勵(lì)模塊發(fā)送輸入準(zhǔn)備好消息,然后準(zhǔn)備接收激勵(lì)消息。
3、軟件激勵(lì)模塊在收到輸入準(zhǔn)備好消息后開始進(jìn)行自己的仿真工作,在發(fā)生約定的事務(wù)后,向?qū)?yīng)的輸入事務(wù)處理器發(fā)送激勵(lì)消息。然后處于等待狀態(tài),等待輸入準(zhǔn)備好消息的到來。
4、硬件仿真方的輸入事務(wù)處理器在收到激勵(lì)消息后將消息翻譯成對(duì)應(yīng)的多個(gè)時(shí)鐘周期的激勵(lì)信號(hào),實(shí)現(xiàn)對(duì)被測(cè)模塊的激勵(lì)輸入。同時(shí),輸入事務(wù)處理器根據(jù)自己的消息緩存空間空滿狀態(tài),發(fā)送輸入準(zhǔn)備好消息。
5、軟件激勵(lì)模塊在收到對(duì)應(yīng)的輸入事務(wù)處理器的輸入準(zhǔn)備好消息后,進(jìn)入激勵(lì)發(fā)送狀態(tài)。軟件激勵(lì)模塊繼續(xù)之前的仿真任務(wù),同時(shí)在發(fā)生約定的事務(wù)后,向?qū)?yīng)的輸入事務(wù)處理器發(fā)送激勵(lì)消息。然后轉(zhuǎn)移到等待狀態(tài)。軟件激勵(lì)模塊的狀態(tài)轉(zhuǎn)移圖如圖3所示,它采用悲觀方法預(yù)測(cè)輸入事務(wù)處理器的接收狀態(tài)。
6、硬件仿真方的輸出事務(wù)處理器在仿真過程中監(jiān)視被測(cè)模塊的輸出端口,不斷的將響應(yīng)信號(hào)的變化用響應(yīng)消息進(jìn)行編碼,并且發(fā)給對(duì)應(yīng)的軟件響應(yīng)模塊。
7、軟件響應(yīng)模塊在接收響應(yīng)消息后,進(jìn)行相應(yīng)的響應(yīng)記錄和分析,判斷被測(cè)模塊的輸出是否正確。
在整個(gè)事務(wù)級(jí)軟硬件協(xié)同仿真過程中,步驟4、5反復(fù)執(zhí)行,由此推動(dòng)硬件仿真模塊和軟件激勵(lì)模塊不斷的完成仿真任務(wù),推進(jìn)被測(cè)模塊的仿真進(jìn)度。同時(shí)步驟6、7在仿真過程中不斷完成被測(cè)模塊的響應(yīng)記錄和分析。
在仿真過程中,激勵(lì)消息完成對(duì)被測(cè)模塊的激勵(lì)輸入,響應(yīng)消息完成對(duì)被測(cè)模塊的輸出響應(yīng)的分析,輸入準(zhǔn)備好消息實(shí)現(xiàn)對(duì)激勵(lì)消息的流控功能,保證激勵(lì)消息的發(fā)送速度不會(huì)超過輸入事務(wù)處理器的接收能力。
上述事務(wù)級(jí)軟硬件協(xié)同仿真方法的優(yōu)點(diǎn)1.該方法為用戶提供了很方便的激勵(lì)產(chǎn)生和響應(yīng)分析方案。由于軟件仿真模塊在計(jì)算機(jī)上運(yùn)行,可以使用軟件語言(如C/C++)來描述,具有很靈活的數(shù)據(jù)處理能力。該協(xié)同仿真系統(tǒng)可以產(chǎn)生仿真覆蓋率很高的激勵(lì)形式,并對(duì)響應(yīng)狀況做各種計(jì)算和以各種形式輸出。
2.該方法提供了快速的仿真速度。在該方法中,被測(cè)模塊通常放在硬件仿真器中運(yùn)行,使得仿真系統(tǒng)中最復(fù)雜的部分得到最快的運(yùn)行速度。
3.該方法通過使用標(biāo)準(zhǔn)的事務(wù)處理器,使得對(duì)模塊的測(cè)試是基于事務(wù)概念的宏操作,而不是具體信號(hào)變化,提高了用戶的驗(yàn)證效率。
4.該方法使用約定格式的消息實(shí)現(xiàn)激勵(lì)形式的表示和響應(yīng)結(jié)果的記錄。與直接使用信號(hào)值來表示激勵(lì)信號(hào)和響應(yīng)信號(hào),該方法降低了在通道上的數(shù)據(jù)傳輸造成的仿真延遲。
該事務(wù)級(jí)軟硬件協(xié)同仿真方法的缺點(diǎn)
事務(wù)級(jí)軟硬件協(xié)同仿真方法使用了由消息通道連接的兩個(gè)獨(dú)立仿真平臺(tái)(軟件方和硬件方)進(jìn)行被測(cè)模塊的功能仿真。在仿真過程中,在軟件方的軟件激勵(lì)模塊需要不斷的產(chǎn)生激勵(lì)消息,這些大量激勵(lì)消息通過消息通道傳到輸入事務(wù)處理器,輸入事務(wù)處理器將這些激勵(lì)消息轉(zhuǎn)換成對(duì)應(yīng)的激勵(lì)信號(hào)。為了防止軟件激勵(lì)模塊發(fā)送激勵(lì)消息的速度大于輸入事務(wù)處理器的接收和處理能力,該協(xié)同仿真系統(tǒng)定義了一種輸入準(zhǔn)備好機(jī)制。輸入準(zhǔn)備好機(jī)制為每一個(gè)有可能發(fā)生激勵(lì)消息溢出情況的輸入事務(wù)處理器提供了一個(gè)狀態(tài)反饋方法,它將對(duì)應(yīng)輸入事務(wù)處理器是否準(zhǔn)備好接收激勵(lì)消息的狀態(tài)發(fā)給對(duì)應(yīng)的軟件激勵(lì)模塊,該軟件激勵(lì)模塊根據(jù)該狀態(tài)信息就可以判斷是否可以繼續(xù)發(fā)送激勵(lì)消息而不會(huì)導(dǎo)致輸入事務(wù)處理器的溢出。
在上述的實(shí)現(xiàn)方案中,軟件激勵(lì)模塊采用的是悲觀預(yù)測(cè)方法,在初始化時(shí)和每次發(fā)送激勵(lì)消息后就認(rèn)為對(duì)應(yīng)的輸入事務(wù)處理器沒有準(zhǔn)備好并進(jìn)入等待狀態(tài)。只有在接收到對(duì)應(yīng)編號(hào)的輸入事務(wù)處理器的準(zhǔn)備好消息后才會(huì)從等待狀態(tài)返回到激勵(lì)發(fā)送狀態(tài),然后繼續(xù)發(fā)送下一個(gè)激勵(lì)消息。
在仿真過程中,輸入事務(wù)處理器產(chǎn)生的輸入準(zhǔn)備好消息與軟件激勵(lì)模塊產(chǎn)生的激勵(lì)消息一一對(duì)應(yīng),假設(shè)系統(tǒng)中有n個(gè)輸入事務(wù)處理器,單位時(shí)間內(nèi)每個(gè)輸入事務(wù)處理器收到激勵(lì)消息為v個(gè),且輸入準(zhǔn)備好消息的大小如圖2所示為9bit,則單位時(shí)間內(nèi)輸入準(zhǔn)備好消息消耗了(9*n*v)bit的傳輸數(shù)據(jù)量。該傳輸數(shù)據(jù)量顯示輸入準(zhǔn)備好消息與激勵(lì)消息使用的帶寬相當(dāng),會(huì)降低整個(gè)消息通道的使用效率。
通過該輸入準(zhǔn)備好機(jī)制的實(shí)現(xiàn)方案可以保證輸入事務(wù)處理器只要能接收一個(gè)最大的激勵(lì)消息就絕對(duì)不會(huì)產(chǎn)生溢出情況,但是該方案會(huì)降低協(xié)同仿真系統(tǒng)的仿真效率。
軟件激勵(lì)模塊每發(fā)送一個(gè)激勵(lì)消息就必須等待來自硬件方的輸入事務(wù)處理器的輸入準(zhǔn)備好消息。由于軟件激勵(lì)模塊采用了這種較悲觀的預(yù)測(cè)方法,認(rèn)為輸入事務(wù)處理器很容易進(jìn)入溢出狀態(tài),導(dǎo)致輸入事務(wù)處理器即使有較大的緩存空間也必須在發(fā)出其輸入準(zhǔn)備好消息后才會(huì)有新的激勵(lì)消息輸入。因此軟件激勵(lì)模塊不能流暢的發(fā)送激勵(lì)消息給輸入事務(wù)處理器,抑制了協(xié)同仿真速度的提高。
在該方案中,對(duì)于每一個(gè)激勵(lì)消息都會(huì)有一個(gè)對(duì)應(yīng)的輸入準(zhǔn)備好消息需要在通道上傳輸。這將大大增加通道上需要傳輸?shù)臄?shù)據(jù)量,通道對(duì)消息數(shù)據(jù)的傳輸延遲將進(jìn)一步抑制協(xié)同仿真速度的提高。

發(fā)明內(nèi)容
本發(fā)明在基于一種狀態(tài)報(bào)告消息實(shí)現(xiàn)激勵(lì)消息的流控功能的基礎(chǔ)上,提供一種高速事務(wù)級(jí)軟硬件協(xié)同仿真方法,和現(xiàn)有方法相比,本發(fā)明具有更高的仿真速度。
在闡述本發(fā)明詳細(xì)技術(shù)方案之前,首先介紹本發(fā)明的基本思想1.在本發(fā)明中,軟件激勵(lì)模塊采用樂觀預(yù)測(cè)方法實(shí)現(xiàn)輸入準(zhǔn)備好機(jī)制。軟件激勵(lì)模塊認(rèn)為輸入事務(wù)處理器具有較大的緩存空間,在初始化時(shí)和發(fā)送激勵(lì)消息后都認(rèn)為對(duì)應(yīng)的輸入事務(wù)處理器依然是處于激勵(lì)發(fā)送狀態(tài),只有在收到輸入事務(wù)處理器反饋來的緩存空間滿或者消息溢出情況才會(huì)等待。
2.狀態(tài)報(bào)告消息的狀態(tài)信息不再是簡(jiǎn)單的反映輸入事務(wù)處理器是否準(zhǔn)備好接收激勵(lì)消息。而是通過多個(gè)狀態(tài)信息編碼表示對(duì)應(yīng)的輸入事務(wù)處理器的緩存空間的使用情況,由此反映輸入事務(wù)處理器能夠接收新的激勵(lì)消息的各種不同程度。
3.硬件仿真方不是針對(duì)每個(gè)輸入事務(wù)處理器單獨(dú)進(jìn)行激勵(lì)發(fā)送狀態(tài)信息的反饋,而是采用全體狀態(tài)信息反饋。狀態(tài)報(bào)告消息將所有的輸入事務(wù)處理器的接收狀態(tài)按照約定的編號(hào)排列打包成一個(gè)消息,然后一起給軟件方。軟件方通過解析后將各個(gè)輸入事務(wù)處理器的接收狀態(tài)告知對(duì)應(yīng)的軟件激勵(lì)模塊,用于指示軟件激勵(lì)模塊是否可以發(fā)送激勵(lì)消息。
4.硬件仿真方不是在每次收到激勵(lì)消息就反饋輸入事務(wù)處理器的接收狀態(tài)信息,而是周期性的發(fā)送狀態(tài)報(bào)告消息來報(bào)告輸入事務(wù)處理器的接收狀態(tài)。發(fā)送的周期根據(jù)輸入事務(wù)處理器的緩存空間大小,激勵(lì)消息的發(fā)送密度等具體情況來設(shè)置。
事務(wù)級(jí)軟硬件協(xié)同仿真系統(tǒng)的基本結(jié)構(gòu)如圖1所示,為了實(shí)現(xiàn)軟件激勵(lì)模塊向輸入事務(wù)處理器發(fā)送激勵(lì)消息的流控功能,提高原來的輸入準(zhǔn)備好消息機(jī)制的處理效率,本發(fā)明對(duì)事務(wù)級(jí)軟硬件協(xié)同仿真的仿真步驟和消息內(nèi)容進(jìn)行了改善。
根據(jù)上述基本思想,下面說明本發(fā)明提供的高速事務(wù)級(jí)軟硬件協(xié)同仿真方法的技術(shù)方案案一種高速事務(wù)級(jí)軟硬件協(xié)同仿真方法,其特征在于,包括以下步驟步驟1、軟件仿真方進(jìn)行初始化。軟件仿真方先進(jìn)行初始化,軟件仿真方在穩(wěn)定后向硬件仿真方發(fā)送復(fù)位信號(hào),通知硬件仿真方進(jìn)行初試化。然后經(jīng)過一段時(shí)間的延遲,保證硬件仿真方已經(jīng)進(jìn)入正常工作狀態(tài)后,軟件激勵(lì)模塊直接轉(zhuǎn)移到激勵(lì)發(fā)送狀態(tài),發(fā)送激勵(lì)消息。
步驟2、硬件仿真方在收到復(fù)位信號(hào)后進(jìn)行初始化,各個(gè)輸入事務(wù)處理器開始準(zhǔn)備接收激勵(lì)消息。
步驟3、軟件仿真方進(jìn)行相應(yīng)的仿真任務(wù),在發(fā)生約定的事務(wù)后,軟件激勵(lì)模塊向?qū)?yīng)的輸入事務(wù)處理器發(fā)送激勵(lì)消息。然后軟件激勵(lì)模塊繼續(xù)保持在激勵(lì)發(fā)送狀態(tài),并繼續(xù)之后的仿真任務(wù)。
步驟4、硬件仿真方的輸入事務(wù)處理器在收到激勵(lì)消息后將消息翻譯成對(duì)應(yīng)的多個(gè)時(shí)鐘周期的激勵(lì)信號(hào),實(shí)現(xiàn)對(duì)被測(cè)模塊的激勵(lì)輸入。同時(shí),硬件仿真方定期檢查所有輸入事務(wù)處理器的消息緩存空間的使用情況,向軟件仿真方發(fā)送狀態(tài)報(bào)告消息,狀態(tài)報(bào)告消息格式如圖6所示,由順序編號(hào)的各輸入事務(wù)處理器的狀態(tài)編碼組成。所述各輸入事務(wù)處理器的狀態(tài)編碼如表1所述。
步驟5、軟件激勵(lì)模塊在收到狀態(tài)報(bào)告消息后,根據(jù)對(duì)應(yīng)輸入事務(wù)處理器的狀態(tài)編碼進(jìn)行狀態(tài)轉(zhuǎn)移控制。若軟件激勵(lì)模塊處于激勵(lì)發(fā)送狀態(tài)時(shí),收到“10”或者“11”狀態(tài)編碼,則轉(zhuǎn)入到等待狀態(tài),否則不變。若處于等待狀態(tài)時(shí),收到“00”狀態(tài)編碼則轉(zhuǎn)入到激勵(lì)發(fā)送狀態(tài)。該狀態(tài)變換如圖4所示。
步驟6、硬件仿真方的輸出事務(wù)處理器在仿真過程中監(jiān)視被測(cè)模塊的輸出端口,不斷的將響應(yīng)信號(hào)的變化用響應(yīng)消息進(jìn)行編碼,并且將響應(yīng)消息發(fā)給對(duì)應(yīng)的軟件響應(yīng)模塊。
步驟7、軟件響應(yīng)模塊在接收響應(yīng)消息后,進(jìn)行相應(yīng)的響應(yīng)記錄和分析,判斷被測(cè)模塊的輸出是否正確。
在整個(gè)仿真過程中,步驟3、4,5不斷重復(fù)描述了軟件仿真方通過激勵(lì)消息對(duì)硬件仿真模塊進(jìn)行激勵(lì)的過程。步驟6、7不斷重復(fù)描述了硬件仿真模塊的響應(yīng)通過響應(yīng)消息被軟件仿真方進(jìn)行記錄和分析的過程。其中,周期性的狀態(tài)報(bào)告消息有效的實(shí)現(xiàn)了激勵(lì)消息的流控功能。
本發(fā)明實(shí)質(zhì)是在現(xiàn)有的事務(wù)級(jí)軟硬件協(xié)同仿真方法的基礎(chǔ)上,進(jìn)行了下述四個(gè)方面的改善一、軟件激勵(lì)模塊的處理流程的改善在協(xié)同仿真的過程中,需要向輸入事務(wù)處理器發(fā)送激勵(lì)消息的軟件激勵(lì)模塊不斷的接收來自對(duì)應(yīng)的輸入事務(wù)處理器的接收狀態(tài)信息,然后判斷是否可以向該對(duì)應(yīng)的輸入事務(wù)處理器發(fā)送激勵(lì)消息。通常,軟件激勵(lì)模塊采取悲觀預(yù)測(cè)的方法來判斷輸入事務(wù)處理器的接收狀態(tài),其處理過程的狀態(tài)轉(zhuǎn)移圖如圖3。軟件激勵(lì)模塊具有初始化、輸入準(zhǔn)備好和等待三個(gè)狀態(tài)。在系統(tǒng)復(fù)位后進(jìn)入初始化狀態(tài),設(shè)置軟件激勵(lì)模塊的各種初始參數(shù)。這時(shí)軟件激勵(lì)模塊認(rèn)為對(duì)應(yīng)的輸入事務(wù)處理器的狀態(tài)為沒有準(zhǔn)備好。當(dāng)其收到輸入準(zhǔn)備好消息時(shí)才進(jìn)入激勵(lì)發(fā)送狀態(tài)。然后在激勵(lì)發(fā)送狀態(tài)時(shí)軟件激勵(lì)模塊發(fā)送激勵(lì)消息,并在發(fā)送后進(jìn)入到等待狀態(tài)。等待狀態(tài)時(shí)認(rèn)為輸入事務(wù)處理還沒有做好接收激勵(lì)消息的準(zhǔn)備。然后在等待狀態(tài)時(shí)收到輸入準(zhǔn)備好消息軟件激勵(lì)模塊返回到激勵(lì)發(fā)送狀態(tài),繼續(xù)發(fā)送下一個(gè)激勵(lì)消息。由于在每次發(fā)送激勵(lì)消息后軟件激勵(lì)模塊都要進(jìn)入等待狀態(tài)等待接收輸入準(zhǔn)備好消息,所以該方法抑制了軟件激勵(lì)模塊的運(yùn)行速度。
在本發(fā)明中,軟件激勵(lì)模塊采取樂觀方法預(yù)測(cè)輸入事務(wù)處理器的接收狀態(tài)。如圖4所示,軟件激勵(lì)模塊在系統(tǒng)復(fù)位后進(jìn)入初始化狀態(tài)設(shè)置各種參數(shù),然后直接進(jìn)入到激勵(lì)發(fā)送狀態(tài),這時(shí)軟件激勵(lì)模塊就可以發(fā)送激勵(lì)消息了。每次發(fā)送激勵(lì)消息后,軟件激勵(lì)模塊仍然處于激勵(lì)發(fā)送狀態(tài)。只有在收到對(duì)應(yīng)輸入事務(wù)處理器的緩存空間滿狀態(tài)信息時(shí),軟件激勵(lì)模塊才進(jìn)入等待狀態(tài)。在等待狀態(tài)軟件激勵(lì)模塊不能發(fā)送激勵(lì)消息。在等待狀態(tài)時(shí)軟件激勵(lì)模塊收到輸入事務(wù)處理器的緩存空間空狀態(tài)信息后返回到激勵(lì)發(fā)送狀態(tài)繼續(xù)發(fā)送下一個(gè)激勵(lì)消息。本處理流程減少了軟件激勵(lì)模塊處于等待狀態(tài)的時(shí)間,能夠提高協(xié)同仿真的速度。
二、輸入事務(wù)處理器的接收狀態(tài)信息的編碼為了對(duì)激勵(lì)消息進(jìn)行有效的流控,輸入事務(wù)處理器需要向軟件激勵(lì)模塊發(fā)送自己的接收狀態(tài)信息,通常就是其緩存空間的使用信息。在現(xiàn)有的方法中,輸入事務(wù)處理器采用了與上述的悲觀預(yù)測(cè)匹配的狀態(tài)報(bào)告機(jī)制。在每次收到激勵(lì)消息后,輸入事務(wù)處理器將檢查其緩存空間是否為滿。如果緩存為不滿,則發(fā)送輸入準(zhǔn)備好消息告知軟件激勵(lì)模塊繼續(xù)發(fā)送激勵(lì)消息,如果緩存空間為滿,則等待,延遲輸入準(zhǔn)備好消息的發(fā)送,直到緩存空間為不滿。這樣的方法產(chǎn)生了較多的輸入準(zhǔn)備好消息,增加了消息通道上的數(shù)據(jù)傳輸量。而且由于輸入事務(wù)處理器的反饋狀態(tài)信息只包括了空滿信息,不能反映緩存空間的使用程度,即使有較多剩余空間時(shí),軟件激勵(lì)模塊依然不能發(fā)送多個(gè)激勵(lì)消息來提高運(yùn)行效率。
在本發(fā)明中,輸入事務(wù)處理器根據(jù)其緩存空間的使用情況設(shè)置了四種接收狀態(tài),并進(jìn)行了編碼。輸入事務(wù)處理器的基本結(jié)構(gòu)如圖5所示。激勵(lì)消息從輸入消息端口進(jìn)入,然后由fifo(輸入事務(wù)處理器的緩存)模塊存儲(chǔ),激勵(lì)信號(hào)產(chǎn)生模塊根據(jù)激勵(lì)消息產(chǎn)生需要的激勵(lì)信號(hào)。根據(jù)fifo模塊提供的4個(gè)信號(hào)empty,ae,af,full來區(qū)分輸入事務(wù)處理器的四種接收狀態(tài)。
信號(hào)empty表示fifo模塊為空。
信號(hào)ae表示fifo模塊使用單元數(shù)較少。具體實(shí)現(xiàn)時(shí)通常表示其使用單元數(shù)小于參數(shù)ae_num,參數(shù)ae_num由用戶設(shè)置。
信號(hào)af表示fifo模塊使用單元數(shù)較少。具體實(shí)現(xiàn)時(shí)通常表示其使用單元數(shù)大于參數(shù)af_num,參數(shù)af_num由用戶設(shè)置。
信號(hào)full表示fifo模塊為滿。
四個(gè)接收狀態(tài)的設(shè)置如下表1表1輸入事務(wù)處理器的四個(gè)接收狀態(tài)表

注fifo_num表示fifo總的單元數(shù)。
通過向軟件激勵(lì)模塊返回輸入事務(wù)處理器的上述的狀態(tài)編碼,軟件激勵(lì)模塊可以知道輸入事務(wù)處理器處于“較空狀態(tài)”、“中等狀態(tài)”、“較滿狀態(tài)”和“溢出狀態(tài)”四個(gè)狀態(tài)中的一個(gè),由此知道輸入事務(wù)處理器的緩存空間的使用程度。在本發(fā)明中,根據(jù)上述的樂觀預(yù)測(cè)方法,軟件激勵(lì)模塊在激勵(lì)發(fā)送狀態(tài)收到“較空狀態(tài)”和“中等狀態(tài)”時(shí)繼續(xù)保持激勵(lì)發(fā)送狀態(tài),在收到“較滿狀態(tài)”時(shí)進(jìn)入等待狀態(tài),在收到“溢出狀態(tài)”時(shí)根據(jù)用戶需要可以進(jìn)行報(bào)錯(cuò)處理。軟件激勵(lì)模塊在等待狀態(tài)收到“較滿狀態(tài)”和“中等狀態(tài)”時(shí)繼續(xù)保持等待狀態(tài),在收到“較空狀態(tài)”后才返回激勵(lì)發(fā)送狀態(tài)。
通過更多種的狀態(tài)信息的報(bào)告,軟件激勵(lì)模塊可以根據(jù)輸入事務(wù)處理器的緩存空間的使用程度來發(fā)送適量的激勵(lì)消息。在“較空狀態(tài)”軟件激勵(lì)模塊可以連續(xù)發(fā)送多個(gè)激勵(lì)消息,在“中等狀態(tài)”軟件激勵(lì)模塊可以連續(xù)發(fā)送少量激勵(lì)消息,在“較滿狀態(tài)”軟件激勵(lì)模塊應(yīng)該停止發(fā)送激勵(lì)消息,“溢出狀態(tài)”用于系統(tǒng)報(bào)錯(cuò)。同時(shí)在激勵(lì)發(fā)送狀態(tài)與等待狀態(tài)之間的轉(zhuǎn)換使用了兩個(gè)不同的門限值來進(jìn)行區(qū)分,只有fifo使用大于af_num,激勵(lì)發(fā)送狀態(tài)才進(jìn)入等待狀態(tài),只有fifo使用小于ae_num,等待狀態(tài)才返回激勵(lì)發(fā)送狀態(tài)。由于af_num與ae_num的差別可以防止軟件激勵(lì)模塊在激勵(lì)發(fā)送狀態(tài)與等待狀態(tài)之間頻繁轉(zhuǎn)換。而且用戶可以通過配置ae_num和af_num的值來調(diào)節(jié)系統(tǒng)的效率與穩(wěn)定。
因此,輸入事務(wù)處理器的多種接收狀態(tài)信息配合軟件激勵(lì)模塊的樂觀預(yù)測(cè)方法減少了處于等待的時(shí)間,實(shí)現(xiàn)了激勵(lì)消息的更快發(fā)送速度。
三、輸入事務(wù)處理器的接收狀態(tài)信息的全體反饋在一個(gè)事務(wù)級(jí)軟硬件協(xié)同仿真系統(tǒng)中,通常有多個(gè)輸入事務(wù)處理器需要對(duì)其對(duì)應(yīng)的軟件激勵(lì)模塊進(jìn)行接收狀態(tài)的信息反饋。通常,每個(gè)輸入事務(wù)處理器獨(dú)立完成各自的狀態(tài)信息的反饋,在需要狀態(tài)信息反饋時(shí),輸入事務(wù)處理器發(fā)送一個(gè)輸入準(zhǔn)備好消息給對(duì)應(yīng)的軟件激勵(lì)模塊。單獨(dú)的輸入準(zhǔn)備好消息的格式示例如圖2。由于每個(gè)輸入事務(wù)處理器獨(dú)立的進(jìn)行狀態(tài)信息報(bào)告,在輸入準(zhǔn)備好消息中需要有輸入事務(wù)處理器的編號(hào)信息,同時(shí)每個(gè)輸入準(zhǔn)備好消息都有自己的額外消耗。在本發(fā)明中,狀態(tài)信息報(bào)告不在是單獨(dú)地針對(duì)一個(gè)輸入事務(wù)處理器,而是用一個(gè)狀態(tài)報(bào)告消息對(duì)所有的輸入事務(wù)處理器的狀態(tài)信息進(jìn)行報(bào)告。該狀態(tài)報(bào)告消息的格式如圖6所示。假設(shè)共有n個(gè)輸入事務(wù)處理器需要進(jìn)行狀態(tài)信息報(bào)告,則狀態(tài)報(bào)告消息分為n個(gè)區(qū)域,每個(gè)區(qū)域占用2bit。各個(gè)區(qū)域按順序分別對(duì)應(yīng)了各個(gè)編號(hào)的輸入事務(wù)處理器器的接收狀態(tài)。區(qū)域內(nèi)的2bit信息就是上述的輸入事務(wù)處理器的狀態(tài)信息編碼。
該狀態(tài)報(bào)告消息發(fā)給軟件方后,軟件根據(jù)約定編號(hào)順序?qū)⒏鱾€(gè)輸入事務(wù)處理器的狀態(tài)信息解析出來,分發(fā)給各個(gè)對(duì)應(yīng)的軟件激勵(lì)模塊。軟件激勵(lì)模塊根據(jù)其狀態(tài)信息進(jìn)行激勵(lì)消息的流控。
這種狀態(tài)信息的全體反饋機(jī)制通過狀態(tài)報(bào)告消息的約定位置標(biāo)志各個(gè)輸入事務(wù)處理器的狀態(tài)信息,減少了原來的用于識(shí)別輸入事務(wù)處理器的編號(hào)信息。同時(shí)用一個(gè)狀態(tài)報(bào)告消息代替n個(gè)獨(dú)立的輸入事務(wù)處理器的輸入準(zhǔn)備好消息。因此該方法既將減少了通道上的數(shù)據(jù)傳輸量,也節(jié)約了頻繁發(fā)送輸入準(zhǔn)備好消息的時(shí)間消耗。
四、周期發(fā)送狀態(tài)報(bào)告消息為了保證激勵(lì)消息不造成輸入事務(wù)處理器的溢出,在過去的方法中,軟件激勵(lì)模塊每次發(fā)送激勵(lì)消息后,對(duì)應(yīng)的輸入事務(wù)處理器就必須檢查其緩存空間是否還有剩余空間。如果有剩余空間就發(fā)送輸入準(zhǔn)備好消息,如果沒有就等待直到有剩余空間再發(fā)送輸入準(zhǔn)備好消息。因此每一個(gè)激勵(lì)消息都對(duì)應(yīng)了一個(gè)輸入準(zhǔn)備好消息,輸入準(zhǔn)備消息好消息的平均產(chǎn)生速度與激勵(lì)消息的平均產(chǎn)生速度相同。在激勵(lì)消息較多的情況下,輸入準(zhǔn)備好消息將占用了大量的消息通道帶寬,延遲整個(gè)協(xié)同仿真系統(tǒng)的仿真進(jìn)度。
在本發(fā)明中,事務(wù)級(jí)軟硬件協(xié)同仿真系統(tǒng)使用上述的狀態(tài)報(bào)告消息代替輸入準(zhǔn)備好消息完成激勵(lì)消息的流控功能。由于狀態(tài)報(bào)告消息不再是對(duì)應(yīng)某一個(gè)輸入事務(wù)處理器模塊或者某一個(gè)激勵(lì)消息進(jìn)行的狀態(tài)反饋,所以不能也不需要使用激勵(lì)消息來觸發(fā)狀態(tài)報(bào)告消息的發(fā)送。在本發(fā)明中,狀態(tài)報(bào)告消息采用周期性發(fā)送方式,硬件方按照固定的周期采集各個(gè)輸入事務(wù)處理器的接收狀態(tài)信息,然后封裝成一個(gè)狀態(tài)報(bào)告消息發(fā)送給軟件仿真方。用戶可以根據(jù)系統(tǒng)中激勵(lì)消息發(fā)送的頻率和輸入事務(wù)處理器的緩存空間大小來設(shè)置發(fā)送周期。只要保證輸入事務(wù)處理器的緩存空間比較大,在一個(gè)周期內(nèi)的激勵(lì)消息不會(huì)立即造成緩存空間的溢出,那么周期性的狀態(tài)報(bào)告消息就可以幫助軟件激勵(lì)模塊實(shí)現(xiàn)激勵(lì)消息的流控。通常只要狀態(tài)報(bào)告消息的發(fā)送速度是單個(gè)輸入事務(wù)處理器的激勵(lì)消息的平均發(fā)送速度的1/4到1/2,就可以有效地實(shí)現(xiàn)對(duì)激勵(lì)消息的流控。
周期性的狀態(tài)報(bào)告消息使得用于激勵(lì)消息流控的狀態(tài)反饋消息數(shù)量不再是與激勵(lì)消息的數(shù)量呈正比,而是與用戶設(shè)置的發(fā)送周期呈正比,大約是單個(gè)輸入事務(wù)處理器發(fā)送的激勵(lì)消息的四分之一。一旦設(shè)定了發(fā)送周期,在整個(gè)協(xié)同仿真過程中該狀態(tài)報(bào)告消息占用的消息通道的帶寬是一個(gè)較穩(wěn)定的數(shù)值,不會(huì)和激勵(lì)消息的發(fā)送速度相關(guān)。因此,周期性的狀態(tài)報(bào)告消息機(jī)制即有助于節(jié)約消息通道的帶寬也提高了協(xié)同仿真速度的穩(wěn)定性。
性能估計(jì)在仿真過程中,硬件仿真方周期性的產(chǎn)生的狀態(tài)報(bào)告消息告知軟件仿真方各個(gè)輸入事務(wù)處理器的狀態(tài)信息。假設(shè)系統(tǒng)中有n個(gè)輸入事務(wù)處理器,單位時(shí)間內(nèi)每個(gè)輸入事務(wù)處理器平均收到激勵(lì)消息為v個(gè),且狀態(tài)報(bào)告消息的大小根據(jù)圖6所示為(2n)bit,設(shè)置狀態(tài)報(bào)告消息的發(fā)送速度為激勵(lì)消息發(fā)送速度的1/4,于是可以得出單位時(shí)間內(nèi)狀態(tài)報(bào)告消息平均消耗了(2n*(1/4)*v)bit=(1/2*n*v)bit的傳輸數(shù)據(jù)量。由此可見,對(duì)比原來方法的(9*n*v)bit,本發(fā)明中的狀態(tài)報(bào)告消息完成同樣的流控功能消耗了更少的消息通道帶寬。
本發(fā)明的有益效果是本發(fā)明提供了更高速的事務(wù)級(jí)軟硬件協(xié)同仿真的方法和用于激勵(lì)消息的流控功能的狀態(tài)報(bào)告消息的定義。在該方法中,軟件激勵(lì)模塊采用樂觀預(yù)測(cè)方法判斷輸入事務(wù)處理器的接收狀態(tài),輸入事務(wù)處理器提供四種接收狀態(tài)來反映其緩存空間的使用程度,硬件方還定義了狀態(tài)報(bào)告消息,該消息將所有的輸入事務(wù)處理器的接收狀態(tài)信息周期性的報(bào)告給軟件方。本發(fā)明通過用樂觀預(yù)測(cè)代替悲觀預(yù)測(cè),用四種接收狀態(tài)代替兩種接收狀態(tài),用全體狀態(tài)報(bào)告代替單獨(dú)狀態(tài)報(bào)告,用周期性狀態(tài)報(bào)告代替激勵(lì)消息觸發(fā)狀態(tài)報(bào)告等四個(gè)主要方面的改善,減少了軟件激勵(lì)模塊處于等待狀態(tài)的次數(shù)和時(shí)間,即加快了激勵(lì)消息的發(fā)送速度,同時(shí)使用狀態(tài)報(bào)告消息減小了狀態(tài)反饋消息對(duì)消息通道的帶寬的占用,即縮小了各種消息在通道上傳輸?shù)难舆t時(shí)間??傊景l(fā)明通過提高激勵(lì)消息的流控效率,可以大大提高該仿真系統(tǒng)的仿真速度。該發(fā)明可以為事務(wù)級(jí)軟硬件協(xié)同仿真系統(tǒng)提供以下優(yōu)點(diǎn)
1、通過樂觀預(yù)測(cè)方法,便得軟件激勵(lì)模塊更多的處于激勵(lì)發(fā)送狀態(tài),激勵(lì)消息可以更加流暢的發(fā)送到輸入事務(wù)處理器。因此同樣的時(shí)間內(nèi)更多的激勵(lì)消息被處理,協(xié)同仿真系統(tǒng)的仿真也更快。
2、通過輸入事務(wù)處理器的多個(gè)接收狀態(tài)的編碼,軟件激勵(lì)模塊可以更加詳細(xì)的了解輸入事務(wù)處理器的緩存空間的使用程度,由此可以更加精確的調(diào)節(jié)激勵(lì)消息的發(fā)送速度。恰當(dāng)?shù)募?lì)消息的發(fā)送速度可以幫助提高協(xié)同仿真系統(tǒng)的仿真速度。
3、通過將所有的輸入事務(wù)處理器的接收狀態(tài)都放在一個(gè)狀態(tài)報(bào)告消息里發(fā)送,協(xié)同仿真系統(tǒng)減少了需要發(fā)送的狀態(tài)反饋消息的數(shù)量,減小了消息通道的帶寬消耗,縮小了協(xié)同仿真系統(tǒng)中所有消息的傳輸延遲,由此提高了協(xié)同仿真系統(tǒng)的速度。
4、通過采用周期性的發(fā)送狀態(tài)報(bào)告消息,在確定發(fā)送周期后,該協(xié)同仿真系統(tǒng)中的狀態(tài)報(bào)告消息占用的消息通道帶寬成為一個(gè)較穩(wěn)定的數(shù)值。該方法可以進(jìn)一步減小狀態(tài)反饋消息的數(shù)量,提高協(xié)同仿真系統(tǒng)的速度,并且還可以提高協(xié)同仿真系統(tǒng)的仿真速度的穩(wěn)定性。


圖1事務(wù)級(jí)的軟硬件協(xié)同仿真系統(tǒng)的基本結(jié)構(gòu)示意圖。
圖2輸入準(zhǔn)備好消息的格式示意圖。
圖3軟件激勵(lì)模塊采用悲觀方法預(yù)測(cè)接收狀態(tài)示意圖。
圖4本發(fā)明采用樂觀方法預(yù)測(cè)接收狀態(tài)示意圖。
圖5輸入事務(wù)處理器的基本結(jié)構(gòu)示意圖。
圖6狀態(tài)報(bào)告消息的格式示意圖。
權(quán)利要求
1.一種高速事務(wù)級(jí)軟硬件協(xié)同仿真方法,其特征在于,包括以下步驟步驟1、軟件仿真方進(jìn)行初始化軟件仿真方先進(jìn)行初始化,軟件仿真方在穩(wěn)定后向硬件仿真方發(fā)送復(fù)位信號(hào),通知硬件仿真方進(jìn)行初試化;然后經(jīng)過一段時(shí)間的延遲,保證硬件仿真方已經(jīng)進(jìn)入正常工作狀態(tài)后,軟件激勵(lì)模塊直接轉(zhuǎn)移到激勵(lì)發(fā)送狀態(tài),發(fā)送激勵(lì)消息;步驟2、硬件仿真方在收到復(fù)位信號(hào)后進(jìn)行初始化,各個(gè)輸入事務(wù)處理器開始準(zhǔn)備接收激勵(lì)消息;步驟3、軟件仿真方進(jìn)行相應(yīng)的仿真任務(wù),在發(fā)生約定的事務(wù)后,軟件激勵(lì)模塊向?qū)?yīng)的輸入事務(wù)處理器發(fā)送激勵(lì)消息,然后軟件激勵(lì)模塊繼續(xù)保持在激勵(lì)發(fā)送狀態(tài),并繼續(xù)之后的仿真任務(wù);步驟4、硬件仿真方的輸入事務(wù)處理器在收到激勵(lì)消息后將消息翻譯成對(duì)應(yīng)的多個(gè)時(shí)鐘周期的激勵(lì)信號(hào),實(shí)現(xiàn)對(duì)被測(cè)模塊的激勵(lì)輸入;同時(shí),硬件仿真方定期檢查所有輸入事務(wù)處理器的消息緩存空間的使用情況,向軟件仿真方發(fā)送狀態(tài)報(bào)告消息,狀態(tài)報(bào)告消息格式由順序編號(hào)的各輸入事務(wù)處理器的狀態(tài)編碼組成;所述各輸入事務(wù)處理器的狀態(tài)編碼如下表所述;輸入事務(wù)處理器的四個(gè)接收狀態(tài)表
注fifo_num表示fifo總的單元數(shù)步驟5、軟件激勵(lì)模塊在收到狀態(tài)報(bào)告消息后,根據(jù)對(duì)應(yīng)輸入事務(wù)處理器的狀態(tài)編碼進(jìn)行狀態(tài)轉(zhuǎn)移控制。若軟件激勵(lì)模塊處于激勵(lì)發(fā)送狀態(tài)時(shí),收到“10”或者“11”狀態(tài)編碼,則轉(zhuǎn)入到等待狀態(tài),否則不變。若處于等待狀態(tài)時(shí),收到“00”狀態(tài)編碼則轉(zhuǎn)入到激勵(lì)發(fā)送狀態(tài);步驟6、硬件仿真方的輸出事務(wù)處理器在仿真過程中監(jiān)視被測(cè)模塊的輸出端口,不斷的將響應(yīng)信號(hào)的變化用響應(yīng)消息進(jìn)行編碼,并且將響應(yīng)消息發(fā)給對(duì)應(yīng)的軟件響應(yīng)模塊;步驟7、軟件響應(yīng)模塊在接收響應(yīng)消息后,進(jìn)行相應(yīng)的響應(yīng)記錄和分析,判斷被測(cè)模塊的輸出是否正確;在整個(gè)仿真過程中,步驟3、4,5不斷重復(fù),步驟6、7不斷重復(fù)。
全文摘要
一種高速的事務(wù)級(jí)軟硬件協(xié)同仿真方法,涉及集成電路芯片的功能仿真領(lǐng)域,它可以應(yīng)用于將計(jì)算機(jī)與硬件仿真器聯(lián)合進(jìn)行仿真的軟硬件協(xié)同仿真系統(tǒng)中。該事務(wù)級(jí)軟硬件協(xié)同仿真方法在原有的事務(wù)級(jí)軟硬件協(xié)同仿真系統(tǒng)結(jié)構(gòu)下,改善了四個(gè)方面的處理機(jī)制,軟件激勵(lì)模塊采用樂觀預(yù)測(cè)方法判斷輸入事務(wù)處理器的接收狀態(tài),輸入事務(wù)處理器提供四種接收狀態(tài)來反映其緩存空間的使用程度,硬件方還定義了狀態(tài)報(bào)告消息,該消息將所有的輸入事務(wù)處理器的接收狀態(tài)信息周期性的報(bào)告給軟件方。通過改善事務(wù)級(jí)軟硬件協(xié)同仿真系統(tǒng)中的激勵(lì)消息的流控方法,該協(xié)同仿真系統(tǒng)減少了軟件激勵(lì)模塊處于等待狀態(tài)的次數(shù),減小了狀態(tài)反饋消息占用的通道帶寬,由此提高了整個(gè)事務(wù)級(jí)軟硬件協(xié)同仿真系統(tǒng)的仿真速度。
文檔編號(hào)G06F11/36GK1828551SQ20061002070
公開日2006年9月6日 申請(qǐng)日期2006年4月13日 優(yōu)先權(quán)日2006年4月13日
發(fā)明者廖恬瑜, 陳小平, 涂曉東 申請(qǐng)人:電子科技大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1