專利名稱:多線程協(xié)同仿真方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明實(shí)施例涉及一種多線程協(xié)同仿真方法及系統(tǒng)。
背景技術(shù):
目前,芯片設(shè)計(jì)過程一般是芯片的預(yù)研、劃分各功能模塊(如軟件模塊、硬件模塊)、具體模塊的實(shí)現(xiàn),然后是各個(gè)模塊的調(diào)試。現(xiàn)有技術(shù)中,多線程的軟件模塊和硬件模塊的調(diào)試不在同一仿真平臺(tái)中,例如,多線程的軟件模塊通過相對應(yīng)的第一仿真平臺(tái)進(jìn)行調(diào)試,并依據(jù)設(shè)計(jì)需求修改軟件模塊;硬件模塊通過相對應(yīng)的第二仿真平臺(tái)進(jìn)行調(diào)試,以及依據(jù)需要對硬件模塊進(jìn)行重新設(shè)計(jì)和調(diào) 試。然而,通過上述方法調(diào)試的軟件模塊和硬件模塊在并行開發(fā)后整合于芯片時(shí),出現(xiàn)不可預(yù)期的錯(cuò)誤,如芯片中軟件模塊和硬件模塊無法協(xié)同通信等,導(dǎo)致整個(gè)芯片設(shè)計(jì)的周期延長。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供一種多線程協(xié)同仿真方法及系統(tǒng),用以實(shí)現(xiàn)芯片上軟件模塊和硬件模塊在同一環(huán)境下的協(xié)同仿真。本發(fā)明一方面提供了一種多線程協(xié)同仿真方法,包括啟動(dòng)后的軟件模塊獲取硬件模塊的進(jìn)程號,并根據(jù)所述進(jìn)程號創(chuàng)建與所述硬件模塊通信的管道通信方式;所述軟件模塊通過所述管道通信方式與所述硬件模塊交互,以使所述軟件模塊與所述硬件模塊協(xié)同仿真。本發(fā)明另一方面還提供了一種多線程協(xié)同仿真方法,包括啟動(dòng)后的硬件模塊向軟件模塊發(fā)送進(jìn)程號,以使所述軟件模塊根據(jù)所述進(jìn)程號創(chuàng)建與硬件模塊通信的管道通信方式;所述硬件模塊在所述軟件模塊的觸發(fā)下,通過所述管道通信方式與所述軟件模塊交互,以使所述軟件模塊與所述硬件模塊協(xié)同仿真。本發(fā)明另一方面還提供了一種多線程協(xié)同仿真方法,包括啟動(dòng)后的軟件模塊在確定與硬件模塊通信的通信線程未建立時(shí),創(chuàng)建通信線程,以及創(chuàng)建所述通信線程中的軟件側(cè)套接字,用以使所述硬件模塊根據(jù)所述軟件側(cè)套接字的地址信息進(jìn)行連接,形成通信套接字;所述軟件模塊通過所述通信套接字與所述硬件模塊交互,以使所述軟件模塊與所述硬件模塊協(xié)同仿真。本發(fā)明另一方面還提供了一種多線程協(xié)同仿真方法,包括啟動(dòng)后的硬件模塊根據(jù)預(yù)設(shè)的軟件側(cè)套接字的地址信息連接軟件模塊的所述軟件側(cè)套接字,以形成與所述軟件模塊通信的通信套接字;
在所述軟件模塊的觸發(fā)下,所述硬件模塊通過所述通信套接字與所述軟件模塊交互,以使所述軟件模塊與所述硬件模塊協(xié)同仿真。本發(fā)明的另一方面還提供了一種多線程協(xié)同仿真系統(tǒng),包括硬件模塊和軟件模塊;所述硬件模塊用于向軟件模塊發(fā)送進(jìn)程號,以使所述軟件模塊根據(jù)所述進(jìn)程號創(chuàng)建與硬件模塊通信的管道通信方式;所述軟件模塊用于獲取硬件模塊的進(jìn)程號,并根據(jù)所述進(jìn)程號創(chuàng)建與所述硬件模塊通信的管道通信 方式,并通過所述管道通信方式與所述硬件模塊交互,以使所述軟件模塊與所述硬件模塊協(xié)同仿真。本發(fā)明的另一方面還提供了一種多線程協(xié)同仿真系統(tǒng),包括硬件模塊和軟件模塊;所述硬件模塊用于根據(jù)預(yù)設(shè)的軟件側(cè)套接字的地址信息連接軟件模塊的所述軟件側(cè)套接字,以形成與所述軟件模塊通信的通信套接字;所述軟件模塊具體用于在確定與硬件模塊通信的通信線程未建立時(shí),創(chuàng)建通信線程,以及創(chuàng)建所述通信線程中的軟件側(cè)套接字,用以使所述硬件模塊根據(jù)所述軟件側(cè)套接字的地址信息進(jìn)行連接,形成通信套接字,并通過所述通信套接字與所述硬件模塊交互,以使所述軟件模塊與所述硬件模塊協(xié)同仿真。由上述技術(shù)方案可知,本發(fā)明實(shí)施例的多線程協(xié)同仿真方法及系統(tǒng),通過創(chuàng)建進(jìn)程中多個(gè)線程的管道通信方式,使得軟件模塊和硬件模塊可以通過管道通信方式進(jìn)行交互,進(jìn)而實(shí)現(xiàn)芯片上軟件模塊和硬件模塊在同一環(huán)境下的協(xié)同仿真,節(jié)省了成本。
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖I為本發(fā)明一實(shí)施例提供的多線程協(xié)同仿真方法的流程示意圖;圖2為本發(fā)明另一實(shí)施例提供的多線程協(xié)同仿真方法的流程示意圖;圖3為本發(fā)明另一實(shí)施例提供的多線程協(xié)同仿真方法的流程示意圖;圖4為本發(fā)明另一實(shí)施例提供的多線程協(xié)同仿真方法的流程示意圖;圖5為本發(fā)明另一實(shí)施例提供的多線程協(xié)同仿真方法的流程示意圖;圖6為本發(fā)明另一實(shí)施例提供的多線程協(xié)同仿真系統(tǒng)的結(jié)構(gòu)示意圖;圖7為本發(fā)明另一實(shí)施例提供的多線程協(xié)同仿真系統(tǒng)的結(jié)構(gòu)示意圖。
具體實(shí)施方式
為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。本文中“和/或”,僅僅是一種描述關(guān)聯(lián)對象的關(guān)聯(lián)關(guān)系,其可以表不單獨(dú)存在A,同時(shí)存在A和B,單獨(dú)存在B這三種情況。在本發(fā)明實(shí)施例,正在計(jì)算機(jī)中執(zhí)行的程序叫做進(jìn)程,一個(gè)進(jìn)程可以支持多個(gè)線程即一個(gè)進(jìn)程中同時(shí)運(yùn)行多個(gè)線程完成不同的工作,稱為多線程。一個(gè)線程可以創(chuàng)建和撤消另一個(gè)線程,同一進(jìn)程中的多個(gè)線程之間可以并發(fā)執(zhí)行。同屬一個(gè)進(jìn)程的多個(gè)線程之間可以同時(shí)執(zhí)行,但相互之間并不同步。另,一個(gè)進(jìn)程中的多個(gè)線程可共享進(jìn)程所擁有的全部資源。此外,由于硬件模塊大多通過代碼模擬化實(shí)現(xiàn),在協(xié)同仿真過程中軟件模塊運(yùn)行的速度遠(yuǎn)大于硬件模塊的運(yùn)行速度,進(jìn)而軟件模塊在發(fā)送某一操作指令之后,需等待硬件模塊返回的與操作指令對應(yīng)的響應(yīng)信息,以便實(shí)現(xiàn)對軟件模塊和硬件模塊的協(xié)同仿真。圖I為本發(fā)明一實(shí)施例提供的多線程協(xié)同仿真方法的流程示意圖,如圖I所示,本實(shí)施例的多線程協(xié)同仿真方法如下文所述。101、啟動(dòng)后的軟件模塊獲取硬件模塊的進(jìn)程號,并根據(jù)進(jìn)程號創(chuàng)建與硬件模塊通信的管道通信方式。在本實(shí)施例中,軟件模塊啟動(dòng)后,可通過預(yù)設(shè)的主線程第三管道獲取啟動(dòng)后的硬件模塊的進(jìn)程號。另,在根據(jù)進(jìn)程號創(chuàng)建與硬件模塊通信的管道通信方式之后,可以將預(yù)設(shè)的主線程第三管道釋放。通常預(yù)設(shè)的主線程第三管道相對于軟件模塊一側(cè)可稱為主線程讀 管道,相對于硬件模塊一側(cè)可稱為主線程寫管道。本實(shí)施例中的管道通信方式可包括與進(jìn)程號對應(yīng)的主線程第一管道、與進(jìn)程號對應(yīng)的主線程第二管道、與進(jìn)程號對應(yīng)的中斷線程管道等等。102、軟件模塊通過管道通信方式與硬件模塊交互,以使軟件模塊與硬件模塊協(xié)同仿真。舉例來說,在互斥鎖保護(hù)模式下,軟件模塊執(zhí)行與進(jìn)程號對應(yīng)的進(jìn)程中的第一操作指令,得到第一操作信息,并通過與第一操作指令對應(yīng)的管道通信方式將第一操作信息發(fā)送至硬件模塊,以獲得硬件模塊返回的與第一操作信息對應(yīng)的響應(yīng)信息。通常,軟件模塊發(fā)送第一操作信息之后,通過另一管道等待硬件模塊返回的響應(yīng)信息。
在實(shí)際的仿真過程中,可將硬件模塊的功能細(xì)化為一塊一塊的功能模塊,通過軟件模塊與硬件模塊的交互,以獲知每一個(gè)功能模塊是否符合芯片的設(shè)計(jì)需求,由上可知,需要操作員預(yù)先設(shè)置各種測試指令,以實(shí)現(xiàn)軟件模塊和硬件模塊的測試。應(yīng)說明的是,本實(shí)施例中提及的第一操作指令可為,操作員測試軟件模塊或硬件模塊的功能所設(shè)定的指令和/或程序,例如,可以設(shè)定程序以對硬件模塊中某項(xiàng)功能的開啟、關(guān)閉等進(jìn)行測試。當(dāng)然,為方便對軟件模塊進(jìn)行多個(gè)線程之間的并行化管理,在同時(shí)執(zhí)行多個(gè)線程期間,保證任意線程之間的操作不發(fā)生沖突,本實(shí)施例中采用互斥鎖保護(hù)當(dāng)前線程執(zhí)行的操作指令,其用以實(shí)現(xiàn)在一個(gè)時(shí)刻內(nèi),只允許一個(gè)線程執(zhí)行,而其他線程等待。
上述實(shí)施例中的多線程協(xié)同仿真方法,通過創(chuàng)建至少一個(gè)進(jìn)程的多個(gè)線程的管道通信方式,使得軟件模塊和硬件模塊可以交互,進(jìn)而實(shí)現(xiàn)芯片上軟件模塊和硬件模塊在同一環(huán)境下的協(xié)同仿真,節(jié)省了芯片的仿真成本。在上述實(shí)施例的基礎(chǔ)上,圖2示出了本發(fā)明另一實(shí)施例提供的多線程協(xié)同仿真方法的流程示意圖,如圖2所示,本實(shí)施例的多線程協(xié)同仿真方法如下文所述。201、在軟件模塊啟動(dòng)之后,通過預(yù)設(shè)的主線程第三管道獲取啟動(dòng)后的硬件模塊的進(jìn)程號,并根據(jù)進(jìn)程號創(chuàng)建與硬件模塊通信的管道通信方式。在本實(shí)施例中,軟件模塊在獲取進(jìn)程號之后,創(chuàng)建與硬件模塊通信的主線程第一管道和主線程第二管道,在主線程第一管道和主線程第二管道創(chuàng)建完畢之后,設(shè)置主線程信號量為等待信號量,以便主線程創(chuàng)建中斷線程。在在中斷線程創(chuàng)建完畢后,中斷線程創(chuàng)建內(nèi)部的中斷線程管道,在中斷線程管道創(chuàng)建完畢之后,中斷線程發(fā)送激活信號量至主線程,以便激活主線程,進(jìn)而與進(jìn)程號對應(yīng)的管道通信方式創(chuàng)建完畢。 應(yīng)了解的是,信號量是用在多線程同步過程中傳送的,一個(gè)線程完成了某一個(gè)動(dòng)作就通過信號量告訴同屬一個(gè)進(jìn)程的其它線程,以便激活同一進(jìn)程中正在等待該信號量的線程。其中,主線程第一管道相對于軟件模塊側(cè)可稱為軟件側(cè)寫管道,主線程第一管道相對于硬件模塊側(cè)可稱為硬件側(cè)讀管道;主線程第二管道相對于軟件模塊側(cè)可稱為軟件側(cè)讀管道,主線程第二管道相對于硬件模塊側(cè)可稱為硬件側(cè)寫管道;中斷線程管道相對于軟件模塊側(cè)可稱為中斷線程讀管道,中斷線程管道相對于硬件模塊側(cè)可稱為中斷線程寫管道。202、在互斥鎖保護(hù)模式下,軟件模塊執(zhí)行與進(jìn)程號對應(yīng)的進(jìn)程中的寫操作指令,得到寫操作信息,并通過軟件側(cè)寫管道將寫操作信息發(fā)送至硬件模塊。本實(shí)施例中的第一操作指令可為讀操作指令、寫操作指令等。具體地,軟件模塊在主線程的寫操作指令的操作入口處鎖定,以執(zhí)行寫操作指令,并通過軟件側(cè)寫管道將與寫操作指令對應(yīng)的寫操作信息發(fā)送至硬件側(cè)讀管道。203、硬件模塊通過硬件側(cè)讀管道接收并讀取寫操作信息,根據(jù)讀取的寫操作信息通過硬件側(cè)寫管道向軟件模塊發(fā)送響應(yīng)信息。204、軟件模塊通過軟件側(cè)讀管道接收到響應(yīng)信息后,解除寫操作指令的互斥鎖。205、在步驟204之后,主線程查看多線程之間的共享變量中的中斷標(biāo)識是否為有效,若是,則執(zhí)行步驟206,否則執(zhí)行步驟207。206、若主線程查看到多線程之間的共享變量中的中斷標(biāo)識為有效狀態(tài),則主線程將其對應(yīng)的信號量設(shè)為等待,并激活中斷線程以使軟件模塊通過中斷線程執(zhí)行中斷。此時(shí),主線程將中斷標(biāo)識置為無效狀態(tài)。需要說明的是,在步驟201中的中斷線程創(chuàng)建完畢之后,該中斷線程一直處于監(jiān)測硬件模塊是否有中斷請求信息,若監(jiān)測到硬件模塊通過中斷線程寫管道發(fā)送有中斷請求信息,則中斷線程將共享變量中的中斷標(biāo)識設(shè)為有效狀態(tài),否則,中斷標(biāo)識處于無效狀態(tài)。本實(shí)施例中,軟件模塊執(zhí)行中斷也是在互斥鎖保護(hù)模式下進(jìn)行,中斷處理完畢后,解除互斥鎖。此時(shí)中斷線程通過對應(yīng)的激活主線程,并將中斷線程對應(yīng)的信號量設(shè)為等待。
特別地,軟件模塊執(zhí)行中斷可具體為執(zhí)行中斷處理函數(shù)。207、若主線程查看到多線程之間的共享變量中的中斷標(biāo)識為共享變量中的中斷標(biāo)識為無效狀態(tài),則軟件模塊執(zhí)行進(jìn)程中的下一個(gè)操作指令。相應(yīng)地,下一個(gè)操作指令也是在互斥鎖保護(hù)模式下進(jìn)行。本實(shí)施例中軟件模塊和硬件模塊的其他交互流程可為重復(fù)步驟205、步驟206或步驟207。另外,本實(shí)施例中提及的互斥鎖,用于在每一線程的操作指令的入口處鎖定,其具體程序可如下所示
權(quán)利要求
1.一種多線程協(xié)同仿真方法,其特征在于,包括 啟動(dòng)后的軟件模塊獲取硬件模塊的進(jìn)程號,并根據(jù)所述進(jìn)程號創(chuàng)建與所述硬件模塊通信的管道通信方式; 所述軟件模塊通過所述管道通信方式與所述硬件模塊交互,以使所述軟件模塊與所述硬件模塊協(xié)同仿真。
2.根據(jù)權(quán)利要求I所述的多線程協(xié)同仿真方法,其特征在于,所述管道通信方式包括 與所述進(jìn)程號對應(yīng)的主線程第一管道; 與所述進(jìn)程號對應(yīng)的主線程第二管道; 與所述進(jìn)程號對應(yīng)的中斷線程管道。
3.根據(jù)權(quán)利要求I所述的多線程協(xié)同仿真方法,其特征在于,所述軟件模塊通過所述管道通信方式與所述硬件模塊交互,以使軟件模塊與所述硬件模塊協(xié)同仿真,包括 在互斥鎖保護(hù)模式下,所述軟件模塊執(zhí)行與所述進(jìn)程號對應(yīng)的進(jìn)程中的第一操作指令,得到第一操作信息,并通過與所述第一操作指令對應(yīng)的管道通信方式將所述第一操作信息發(fā)送至所述硬件模塊,以獲得所述硬件模塊返回的與所述第一操作信息對應(yīng)的響應(yīng)信息。
4.根據(jù)權(quán)利要求I所述的多線程協(xié)同仿真方法,其特征在于,所述啟動(dòng)后的軟件模塊獲取硬件模塊的進(jìn)程號,包括 所述啟動(dòng)后的軟件模塊通過預(yù)設(shè)的主線程第三管道獲取硬件模塊的進(jìn)程號。
5.一種多線程協(xié)同仿真方法,其特征在于,包括 啟動(dòng)后的硬件模塊向軟件模塊發(fā)送進(jìn)程號,以使所述軟件模塊根據(jù)所述進(jìn)程號創(chuàng)建與硬件模塊通信的管道通信方式; 所述硬件模塊在所述軟件模塊的觸發(fā)下,通過所述管道通信方式與所述軟件模塊交互,以使所述軟件模塊與所述硬件模塊協(xié)同仿真。
6.根據(jù)權(quán)利要求5所述的多線程協(xié)同仿真方法,其特征在于,所述管道通信方式包括 與所述進(jìn)程號對應(yīng)的主線程第一管道; 與所述進(jìn)程號對應(yīng)的主線程第二管道; 與所述進(jìn)程號對應(yīng)的中斷線程管道。
7.根據(jù)權(quán)利要求5所述的多線程協(xié)同仿真方法,其特征在于,所述通過所述管道通信方式與所述硬件模塊交互,以使軟件模塊與所述硬件模塊協(xié)同仿真,包括 所述硬件模塊接收第一操作信息,并返回與所述第一操作信息對應(yīng)的響應(yīng)信息,所述第一操作信息為在互斥鎖保護(hù)模式下,所述軟件模塊執(zhí)行與所述進(jìn)程號對應(yīng)的進(jìn)程中的第一操作指令,得到第一操作信息,并通過與所述第一操作指令對應(yīng)的管道通信方式將所述第一操作信息發(fā)送的。
8.根據(jù)權(quán)利要求5所述的多線程協(xié)同仿真方法,其特征在于,所述啟動(dòng)后的硬件模塊向軟件模塊發(fā)送進(jìn)程號,包括 所述啟動(dòng)后的硬件模塊通過預(yù)設(shè)的主線程第三管道向軟件模塊發(fā)送進(jìn)程號。
9.一種多線程協(xié)同仿真方法,其特征在于,包括 啟動(dòng)后的軟件模塊在確定與硬件模塊通信的通信線程未建立時(shí),創(chuàng)建通信線程,以及創(chuàng)建所述通信線程中的軟件側(cè)套接字,用以使所述硬件模塊根據(jù)所述軟件側(cè)套接字的地址信息進(jìn)行連接,形成通信套接字; 所述軟件模塊通過所述通信套接字與所述硬件模塊交互,以使所述軟件模塊與所述硬件模塊協(xié)同仿真。
10.根據(jù)權(quán)利要求9所述的多線程協(xié)同仿真方法,其特征在于,還包括 所述軟件模塊在所述硬件模塊的觸發(fā)下創(chuàng)建中斷線程,用于根據(jù)所述硬件模塊通過所述通信套接字發(fā)送的中斷請求消息執(zhí)行中斷。
11.根據(jù)權(quán)利要求10所述的多線程協(xié)同仿真方法,其特征在于,所述軟件模塊通過所述通信套接字與所述硬件模塊交互,以使所述軟件模塊與所述硬件模塊協(xié)同仿真,包括 在互斥鎖保護(hù)模式下,所述軟件模塊通過預(yù)設(shè)的主線程執(zhí)行進(jìn)程的第一操作指令,得 到第一操作信息,并將所述第一操作信息存儲(chǔ)于線程共享數(shù)據(jù)區(qū)中,以使所述硬件模塊通過包含所述通信套接字的通信線程訪問;以及 所述軟件模塊通過所述主線程訪問所述線程共享數(shù)據(jù)區(qū)以獲取所述硬件模塊返回的與所述第一操作信息對應(yīng)的響應(yīng)信息。
12.—種多線程協(xié)同仿真方法,其特征在于,包括 啟動(dòng)后的硬件模塊根據(jù)預(yù)設(shè)的軟件側(cè)套接字的地址信息連接軟件模塊的所述軟件側(cè)套接字,以形成與所述軟件模塊通信的通信套接字; 在所述軟件模塊的觸發(fā)下,所述硬件模塊通過所述通信套接字與所述軟件模塊交互,以使所述軟件模塊與所述硬件模塊協(xié)同仿真。
13.根據(jù)權(quán)利要求12所述的多線程協(xié)同仿真方法,其特征在于,還包括 所述硬件模塊通過所述通信套接字向所述軟件模塊發(fā)送中斷請求消息,以使所述軟件模塊創(chuàng)建用于執(zhí)行中斷的中斷線程。
14.根據(jù)權(quán)利要求13所述的多線程協(xié)同仿真方法,其特征在于,所述硬件模塊通過所述通信套接字與所述軟件模塊交互,以使所述軟件模塊與所述硬件模塊協(xié)同仿真,包括 所述硬件模塊通過包含所述通信套接字的通信線程獲取存儲(chǔ)于線程共享數(shù)據(jù)區(qū)中的第一操作信息,并返回與所述第一操作信息對應(yīng)的響應(yīng)信息,以使所述軟件模塊通過預(yù)設(shè)的主線程訪問所述線程共享數(shù)據(jù)區(qū)獲得所述響應(yīng)信息; 所述第一操作信息為所述軟件模塊通過所述主線程執(zhí)行進(jìn)程的第一操作指令,得到存儲(chǔ)于所述線程共享數(shù)據(jù)區(qū)中的第一操作信息。
15.一種多線程協(xié)同仿真系統(tǒng),其特征在于,包括硬件模塊和軟件模塊; 所述硬件模塊用于 向軟件模塊發(fā)送進(jìn)程號,以使所述軟件模塊根據(jù)所述進(jìn)程號創(chuàng)建與硬件模塊通信的管道通信方式; 所述軟件模塊用于 獲取硬件模塊的進(jìn)程號,并根據(jù)所述進(jìn)程號創(chuàng)建與所述硬件模塊通信的管道通信方式,并通過所述管道通信方式與所述硬件模塊交互,以使所述軟件模塊與所述硬件模塊協(xié)同仿真。
16.根據(jù)權(quán)利要求15所述的多線程協(xié)同仿真系統(tǒng),其特征在于, 所述管道通信方式包括 與所述進(jìn)程號對應(yīng)的主線程第一管道;與所述進(jìn)程號對應(yīng)的主線程第二管道; 與所述進(jìn)程號對應(yīng)的中斷線程管道。
17.—種多線程協(xié)同仿真系統(tǒng),其特征在于,包括硬件模塊和軟件模塊; 所述硬件模塊用于 根據(jù)預(yù)設(shè)的軟件側(cè)套接字的地址信息連接軟件模塊的所述軟件側(cè)套接字,以形成與所述軟件模塊通信的通信套接字; 所述軟件模塊具體用于 在確定與硬件模塊通信的通信線程未建立時(shí),創(chuàng)建通信線程,以及創(chuàng)建所述通信線程、中的軟件側(cè)套接字,用以使所述硬件模塊根據(jù)所述軟件側(cè)套接字的地址信息進(jìn)行連接,形成通信套接字,并通過所述通信套接字與所述硬件模塊交互,以使所述軟件模塊與所述硬件模塊協(xié)同仿真。
18.根據(jù)權(quán)利要求17所述的多線程協(xié)同仿真系統(tǒng),其特征在于, 所述軟件模塊還用于 在所述硬件模塊的觸發(fā)下創(chuàng)建中斷線程,用于根據(jù)所述硬件模塊通過所述通信套接字發(fā)送的中斷請求消息執(zhí)行中斷。
全文摘要
本發(fā)明實(shí)施例提供一種多線程協(xié)同仿真方法及系統(tǒng),多線程協(xié)同仿真方法,其特征在于,包括啟動(dòng)后的軟件模塊獲取硬件模塊的進(jìn)程號,并根據(jù)所述進(jìn)程號創(chuàng)建與所述硬件模塊通信的管道通信方式;所述軟件模塊通過所述管道通信方式與所述硬件模塊交互,以使所述軟件模塊與所述硬件模塊協(xié)同仿真。上述方法用以實(shí)現(xiàn)芯片上軟件模塊和硬件模塊在同一環(huán)境下的協(xié)同仿真。
文檔編號G06F17/50GK102725735SQ201180002703
公開日2012年10月10日 申請日期2011年11月2日 優(yōu)先權(quán)日2011年11月2日
發(fā)明者王萬財(cái), 謝春益, 鄒敏 申請人:華為技術(shù)有限公司