專利名稱:一種芯片仿真平臺中的數(shù)據(jù)處理方法及系統(tǒng)的制作方法
技術(shù)領域:
本發(fā)明涉及芯片仿真技術(shù),特別涉及一種芯片仿真平臺中的數(shù)據(jù)處理方法及系統(tǒng)。
背景技術(shù):
目前,芯片已在電子技術(shù)領域發(fā)揮著重要作用,大部分電子設備的運行都依賴于其內(nèi)部芯片的實現(xiàn)。芯片的實現(xiàn)包括兩個階段芯片設計和芯片制造。
所謂芯片設計包括算法實現(xiàn)和外圍邏輯電路設計。其中,算法是芯片的靈魂,其用于描述芯片所實現(xiàn)的功能,所謂算法實現(xiàn)包括算法研究、在芯片中實現(xiàn)研究得到的算法等等;所謂外圍邏輯電路指為實現(xiàn)芯片功能而設計的輔助電路,比如電源的連通、內(nèi)部模塊的握手等。之后,要在芯片設計的基礎之上進行芯片制造,而芯片制造的成本非常高,每次投片的成本通常在幾十萬美元左右。芯片制造的主要步驟就是要依據(jù)芯片設計結(jié)果進行流片。但是,芯片一經(jīng)流片,其內(nèi)部的邏輯就不能再被改變,如果芯片設計出現(xiàn)問題,就只能重新流片,這將給公司帶來巨大損失。
由于芯片流片的成本非常高,這就對芯片設計提出了很高要求,如何確保芯片設計的正確性,是所有芯片公司都要面對的重要課題。在芯片設計的過程中,通常需要構(gòu)建芯片仿真軟件平臺來對芯片功能的正確性進行驗證。目前,芯片仿真軟件平臺主要使用的硬件描述語言有VHDL、Verilog等,業(yè)界已存在一些基于VHDL、Verilog等主流硬件描述語言的芯片仿真平臺,能處理芯片算法仿真和芯片外圍邏輯電路仿真。
其中,芯片仿真的關鍵在于算法仿真,原因在于芯片的核心為其所承載的算法,算法將直接決定芯片實現(xiàn)的功能。所以,在芯片正確性的驗證中,最重要的就是芯片功能的驗證也就是芯片算法的驗證。雖然目前基于硬件描述語言的芯片仿真平臺能夠驗證芯片的算法,但還存在以下缺點1、仿真速度慢因為硬件描述語言用于描述硬件的功能,它支持硬件所需的并行處理結(jié)構(gòu),這種結(jié)構(gòu)與計算機的特性是不同的,如要在計算機上對硬件描述語句進行仿真,只能通過解釋程序來實現(xiàn)。也就是說,目前所有基于硬件描述語言的仿真平臺都是對這些硬件描述語句進行解釋執(zhí)行,其執(zhí)行速度是非常慢的。舉例來說,如在V568芯片中對V568的芯片語句進行仿真,則一幅VGA的圖像即分辨率為640×480的圖像數(shù)據(jù)格式至少需要一天以上的時間來處理。
2、占用較多資源由于這些芯片仿真平臺非常復雜,因此對計算機的要求也很高,往往需要運行在工作站上,甚至需要多臺工作站同時運行,這將耗費大量處理資源,使芯片仿真成本較高。
3、實現(xiàn)復雜由于這些芯片仿真平臺功能非常強大,所以使用非常復雜,比如需要建立測試環(huán)境等等,而且每種芯片的內(nèi)部功能都可能不同,那么就要為每種芯片建立一個仿真環(huán)境,這樣實現(xiàn)起來難度相當大。
鑒于上述基于硬件描述語言的芯片仿真平臺的缺點,最近,業(yè)界還提出了一種基于C/C++等語言的芯片仿真平臺,該種芯片仿真平臺與計算機的特性相符合,可運行在一臺計算機之上,因此,運行速度自然比基于硬件描述語言的仿真平臺快很多,易于調(diào)試(debug),而且不會占用太多處理資源,具有較強的可實施性。
此外,該種基于C/C++等語言的芯片仿真平臺能為用戶提供諸如動態(tài)創(chuàng)建算法仿真模型、運行算法仿真模型等功能,使用戶能按仿真需要靈活建立所要仿真的芯片算法組合,從而易于用戶調(diào)整芯片算法的組合方式,以仿真得到芯片算法的最佳組合。這里,每一算法仿真模型對應一種或多種芯片算法的組合,用戶在一次芯片算法仿真過程中可能選擇一個或多個算法仿真模型來進行仿真處理。其中,算法仿真模型對應的各個算法處理的組合方式用于指示構(gòu)成該算法仿真模型的各個算法處理、以及各個算法處理之間的執(zhí)行順序,各個算法處理之間的執(zhí)行順序?qū)⒍x出該算法仿真模型中的初始算法處理和最后的算法處理,在按算法仿真模型對數(shù)據(jù)進行算法處理時要對數(shù)據(jù)首先進行該初始算法處理、數(shù)據(jù)經(jīng)過最后的算法處理之后才成為當前算法仿真模型的算法處理結(jié)果數(shù)據(jù)。
但是,目前還不存在一種理想的數(shù)據(jù)處理機制能按動態(tài)創(chuàng)建的算法仿真模型中各個芯片算法的組合方式處理數(shù)據(jù),并保證數(shù)據(jù)處理的準確性。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的主要目的在于提供一種芯片仿真平臺中的數(shù)據(jù)處理方法及系統(tǒng),能有效按算法仿真模型準確完成芯片算法數(shù)據(jù)處理。
為達到上述目的,本發(fā)明的技術(shù)方案是這樣實現(xiàn)的本發(fā)明公開了一種芯片仿真平臺中的數(shù)據(jù)處理方法,將芯片仿真平臺所能提供的各個算法處理分別封裝至各個數(shù)據(jù)轉(zhuǎn)換單元;當要按算法仿真模型處理數(shù)據(jù)時,該方法包括A.按當前算法仿真模型中各個算法處理的組合方式連接該算法仿真模型中各個算法處理對應各個數(shù)據(jù)轉(zhuǎn)換單元,由當前算法仿真模型中的初始算法處理對應的數(shù)據(jù)轉(zhuǎn)換單元從數(shù)據(jù)源接收數(shù)據(jù);B.每一數(shù)據(jù)轉(zhuǎn)換單元對自身接收到的數(shù)據(jù)進行對應的算法處理并輸出,由當前算法仿真模型中最后的算法處理對應的數(shù)據(jù)轉(zhuǎn)換單元輸出結(jié)果數(shù)據(jù)。
其中,所述步驟A進一步包括在相連的數(shù)據(jù)轉(zhuǎn)換單元之間連接數(shù)據(jù)緩存單元;所述步驟B進一步包括每一數(shù)據(jù)緩存單元從輸入端連接的數(shù)據(jù)轉(zhuǎn)換單元接收數(shù)據(jù)進行緩存,輸出數(shù)據(jù)給輸出端連接的數(shù)據(jù)轉(zhuǎn)換單元,并記錄自身的存儲狀態(tài);所述初始算法處理對應的數(shù)據(jù)轉(zhuǎn)換單元接收數(shù)據(jù)進行算法處理的方法為當自身輸出端連接的數(shù)據(jù)緩存單元的存儲狀態(tài)為空、且數(shù)據(jù)源仍有數(shù)據(jù)可接收時,從數(shù)據(jù)源接收數(shù)據(jù)進行算法處理;所述最后算法處理對應的數(shù)據(jù)轉(zhuǎn)換單元接收數(shù)據(jù)進行算法處理的方法為當自身輸入端連接的數(shù)據(jù)緩存單元的存儲狀態(tài)非空時,從自身輸入端連接的數(shù)據(jù)緩存單元接收數(shù)據(jù)進行算法處理;除所述初始算法處理對應的數(shù)據(jù)轉(zhuǎn)換單元和最后算法處理對應的數(shù)據(jù)轉(zhuǎn)換單元之外的其它數(shù)據(jù)轉(zhuǎn)換單元接收數(shù)據(jù)進行算法處理的方法為當自身輸入端連接的數(shù)據(jù)緩存單元的存儲狀態(tài)非空、且輸出端連接的數(shù)據(jù)緩存單元的存儲狀態(tài)為空時,從輸入端連接的數(shù)據(jù)緩存單元接收數(shù)據(jù)進行算法處理。
步驟B中,所述數(shù)據(jù)轉(zhuǎn)換單元在對數(shù)據(jù)進行算法處理之前進一步緩存接收到的數(shù)據(jù),并記錄自身緩存的有效數(shù)據(jù)長度;所述初始算法處理對應的數(shù)據(jù)轉(zhuǎn)換單元接收數(shù)據(jù)的方法為當自身緩存的有效數(shù)據(jù)長度為零、且數(shù)據(jù)源仍有數(shù)據(jù)可接收時,從數(shù)據(jù)源接收數(shù)據(jù)進行算法處理;所述初始算法處理對應的數(shù)據(jù)轉(zhuǎn)換單元對接收到的數(shù)據(jù)進行算法處理的方法為所述數(shù)據(jù)轉(zhuǎn)換單元當輸出端連接的數(shù)據(jù)緩存單元的存儲狀態(tài)為空、且數(shù)據(jù)源仍有數(shù)據(jù)可接收時,對自身緩存的數(shù)據(jù)進行算法處理;所述最后算法處理對應的數(shù)據(jù)轉(zhuǎn)換單元接收數(shù)據(jù)的方法為當自身緩存的有效數(shù)據(jù)長度為零、且輸入端連接的數(shù)據(jù)緩存單元的存儲狀態(tài)非空時,從輸入端連接的數(shù)據(jù)緩存單元接收數(shù)據(jù)并緩存;所述最后算法處理對應的數(shù)據(jù)轉(zhuǎn)換單元對接收到的數(shù)據(jù)進行算法處理的方法為當自身輸入端連接的數(shù)據(jù)緩存單元的存儲狀態(tài)非空時,對自身緩存的數(shù)據(jù)進行算法處理;除所述初始算法處理對應的數(shù)據(jù)轉(zhuǎn)換單元和最后算法處理對應的數(shù)據(jù)轉(zhuǎn)換單元之外的其它數(shù)據(jù)轉(zhuǎn)換單元接收數(shù)據(jù)的方法為當自身緩存的有效數(shù)據(jù)長度為零、且輸入端連接的數(shù)據(jù)緩存單元的存儲狀態(tài)非空時,從輸入端連接的數(shù)據(jù)緩存單元接收數(shù)據(jù)并緩存;除所述初始算法處理對應的數(shù)據(jù)轉(zhuǎn)換單元和最后算法處理對應的數(shù)據(jù)轉(zhuǎn)換單元之外的其它數(shù)據(jù)轉(zhuǎn)換單元對接收到的數(shù)據(jù)進行算法處理的方法為所述數(shù)據(jù)轉(zhuǎn)換單元當輸出端連接的數(shù)據(jù)緩存單元的存儲狀態(tài)為空、且輸入端連接的數(shù)據(jù)緩存單元的存儲狀態(tài)非空時,對自身緩存的數(shù)據(jù)進行算法處理。
其中,所述步驟A進一步包括在相連的數(shù)據(jù)轉(zhuǎn)換單元之間連接數(shù)據(jù)緩存單元,并在所述初始算法對應的數(shù)據(jù)轉(zhuǎn)換單元的輸入端連接數(shù)據(jù)緩存單元,在所述最后算法對應的數(shù)據(jù)轉(zhuǎn)換單元的輸出端連接數(shù)據(jù)緩存單元;所述步驟B進一步包括每一數(shù)據(jù)緩存單元從數(shù)據(jù)源或輸入端連接的數(shù)據(jù)轉(zhuǎn)換單元接收數(shù)據(jù)進行緩存,輸出數(shù)據(jù),并記錄自身的存儲狀態(tài);步驟B中,所述數(shù)據(jù)轉(zhuǎn)換單元接收數(shù)據(jù)進行算法處理的方法為所述數(shù)據(jù)轉(zhuǎn)換單元當輸出端連接的數(shù)據(jù)緩存單元的存儲狀態(tài)為空、且輸入端連接的數(shù)據(jù)緩存單元的存儲狀態(tài)非空時,從輸入端連接的數(shù)據(jù)緩存單元接收數(shù)據(jù)進行算法處理。
步驟B中,所述數(shù)據(jù)轉(zhuǎn)換單元在對數(shù)據(jù)進行算法處理之前進一步緩存接收到的數(shù)據(jù),并記錄自身緩存的有效數(shù)據(jù)長度;所述數(shù)據(jù)轉(zhuǎn)換單元接收數(shù)據(jù)的方法為所述數(shù)據(jù)轉(zhuǎn)換單元當自身緩存的有效數(shù)據(jù)長度為零、且輸入端連接的數(shù)據(jù)緩存單元的存儲狀態(tài)非空時,從輸入端連接的數(shù)據(jù)緩存單元接收數(shù)據(jù)并緩存;所述數(shù)據(jù)轉(zhuǎn)換單元對接收到的數(shù)據(jù)進行算法處理的方法為所述數(shù)據(jù)轉(zhuǎn)換單元當輸出端連接的數(shù)據(jù)緩存單元的存儲狀態(tài)為空、且輸入端連接的數(shù)據(jù)緩存單元的存儲狀態(tài)非空時,對自身緩存的數(shù)據(jù)進行算法處理。
步驟B中,所述數(shù)據(jù)緩存單元記錄自身存儲狀態(tài)的方法為當數(shù)據(jù)緩存單元接收到數(shù)據(jù)時,該數(shù)據(jù)緩存單元記錄自身存儲狀態(tài)為非空;當數(shù)據(jù)緩存單元輸出數(shù)據(jù)時,如果自身緩存的有效數(shù)據(jù)長度為零,則該數(shù)據(jù)緩存單元記錄自身存儲狀態(tài)為空。
其中,所述初始算法處理對應的數(shù)據(jù)轉(zhuǎn)換單元從數(shù)據(jù)源接收數(shù)據(jù)的方法為按預先在該數(shù)據(jù)轉(zhuǎn)換單元內(nèi)設置的作為數(shù)據(jù)源的源文件地址從該數(shù)據(jù)源接收數(shù)據(jù);所述最后算法處理對應的數(shù)據(jù)轉(zhuǎn)換單元輸出數(shù)據(jù)的方法為按預先在該數(shù)據(jù)轉(zhuǎn)換單元內(nèi)設置的數(shù)據(jù)輸出的目標文件地址向該目標文件輸出數(shù)據(jù)。
其中,所述數(shù)據(jù)緩存單元從數(shù)據(jù)源接收數(shù)據(jù)的方法為按預先在該數(shù)據(jù)緩存單元內(nèi)設置的作為數(shù)據(jù)源的源文件地址從該數(shù)據(jù)源接收數(shù)據(jù);所述最后算法處理對應的數(shù)據(jù)轉(zhuǎn)換單元輸出端連接的數(shù)據(jù)緩存單元輸出數(shù)據(jù)的方法為按預先在該數(shù)據(jù)緩存單元內(nèi)設置的數(shù)據(jù)輸出的目標文件地址向該目標文件輸出數(shù)據(jù)。
本發(fā)明還公開了一種芯片仿真平臺中的數(shù)據(jù)處理系統(tǒng),該系統(tǒng)包括按當前算法仿真模型中各個算法處理組合方式連接的一個以上數(shù)據(jù)轉(zhuǎn)換單元;每一數(shù)據(jù)轉(zhuǎn)換單元,用于封裝自身對應的算法處理,對接收到的數(shù)據(jù)進行該算法處理并輸出。
其中,在相連的數(shù)據(jù)轉(zhuǎn)換單元之間進一步包括數(shù)據(jù)緩存單元;所述數(shù)據(jù)緩存單元,用于從自身輸入端連接的數(shù)據(jù)轉(zhuǎn)換單元接收數(shù)據(jù)進行緩存,輸出數(shù)據(jù)給自身輸出端連接的數(shù)據(jù)轉(zhuǎn)換單元,記錄自身存儲狀態(tài)并分別輸出至自身輸出端和輸入端連接的數(shù)據(jù)轉(zhuǎn)換單元;所述算法仿真模型中初始算法處理對應的數(shù)據(jù)轉(zhuǎn)換單元進一步用于從自身輸出端連接的數(shù)據(jù)緩存單元接收存儲狀態(tài),根據(jù)接收到的存儲狀態(tài)確定是否接收數(shù)據(jù);所述算法仿真模型中最后算法處理對應的數(shù)據(jù)轉(zhuǎn)換單元進一步用于從自身輸入端連接的數(shù)據(jù)緩存單元接收存儲狀態(tài),根據(jù)接收到的存儲狀態(tài)確定是否從該輸入端連接的數(shù)據(jù)緩存單元接收數(shù)據(jù);除所述初始算法處理對應的數(shù)據(jù)轉(zhuǎn)換單元和所述最后算法處理對應的數(shù)據(jù)轉(zhuǎn)換單元之外的其它數(shù)據(jù)轉(zhuǎn)換單元進一步用于從自身輸入端和輸出端連接的數(shù)據(jù)緩存單元接收存儲狀態(tài),根據(jù)接收到的存儲狀態(tài)確定是否從該輸入端連接的數(shù)據(jù)緩存單元接收數(shù)據(jù)。
其中,所述初始算法處理對應的數(shù)據(jù)轉(zhuǎn)換單元包括轉(zhuǎn)換器,用于封裝算法處理,接收自身所在數(shù)據(jù)轉(zhuǎn)換單元輸出端連接的數(shù)據(jù)緩存單元的存儲狀態(tài),根據(jù)接收到的存儲狀態(tài)確定是否從所述數(shù)據(jù)接收模塊接收數(shù)據(jù),對接收到的數(shù)據(jù)進行算法處理并輸出至自身所在數(shù)據(jù)轉(zhuǎn)換單元輸出端連接的數(shù)據(jù)緩存單元;數(shù)據(jù)接收模塊,用于從自身所在數(shù)據(jù)轉(zhuǎn)換單元的輸入端接收數(shù)據(jù),緩存并輸出數(shù)據(jù)至所述轉(zhuǎn)換器,記錄自身緩存的有效數(shù)據(jù)長度,根據(jù)該有效數(shù)據(jù)長度確定是否接收數(shù)據(jù);所述最后算法處理對應的數(shù)據(jù)轉(zhuǎn)換單元包括轉(zhuǎn)換器,用于封裝算法處理,接收自身所在數(shù)據(jù)轉(zhuǎn)換單元輸入端連接的數(shù)據(jù)緩存單元的存儲狀態(tài),根據(jù)接收到的存儲狀態(tài)確定是否從所述數(shù)據(jù)接收模塊接收數(shù)據(jù),對接收到的數(shù)據(jù)進行算法處理并輸出;數(shù)據(jù)接收模塊,用于從自身所在數(shù)據(jù)轉(zhuǎn)換單元輸入端連接的數(shù)據(jù)緩存單元接收存儲狀態(tài)和數(shù)據(jù),緩存并輸出數(shù)據(jù)至所述轉(zhuǎn)換器,記錄自身緩存的有效數(shù)據(jù)長度,根據(jù)該有效數(shù)據(jù)長度和接收到的存儲狀態(tài)確定是否從自身所在數(shù)據(jù)轉(zhuǎn)換單元輸入端連接的數(shù)據(jù)緩存單元接收數(shù)據(jù);除所述初始算法處理對應的數(shù)據(jù)轉(zhuǎn)換單元和所述最后算法處理對應的數(shù)據(jù)轉(zhuǎn)換單元之外的其它數(shù)據(jù)轉(zhuǎn)換單元包括轉(zhuǎn)換器,用于封裝算法處理,接收自身所在數(shù)據(jù)轉(zhuǎn)換單元輸入端和輸出端連接的數(shù)據(jù)緩存單元的存儲狀態(tài),根據(jù)接收到的存儲狀態(tài)確定是否從所述數(shù)據(jù)接收模塊接收數(shù)據(jù),對接收到的數(shù)據(jù)進行算法處理并輸出;數(shù)據(jù)接收模塊,用于從自身所在數(shù)據(jù)轉(zhuǎn)換單元輸入端連接的數(shù)據(jù)緩存單元接收存儲狀態(tài)和數(shù)據(jù),緩存并輸出數(shù)據(jù)至所述轉(zhuǎn)換器,記錄自身緩存的有效數(shù)據(jù)長度,根據(jù)該有效數(shù)據(jù)長度和接收到的存儲狀態(tài)確定是否從自身所在數(shù)據(jù)轉(zhuǎn)換單元輸入端連接的數(shù)據(jù)緩存單元接收數(shù)據(jù)。
其中,所述數(shù)據(jù)接收模塊包括存儲器和地址計數(shù)器;所述地址計數(shù)器用于監(jiān)控所述存儲器的讀寫操作,記錄該存儲器緩存的有效數(shù)據(jù)長度并輸出至該存儲器;所述初始算法處理對應的數(shù)據(jù)轉(zhuǎn)換單元的數(shù)據(jù)接收模塊中的存儲器,用于從自身所在數(shù)據(jù)轉(zhuǎn)換單元輸入端接收數(shù)據(jù),緩存并輸出數(shù)據(jù)至所述轉(zhuǎn)換器,從所述地址計數(shù)器接收有效數(shù)據(jù)長度,根據(jù)該有效數(shù)據(jù)長度確定是否接收數(shù)據(jù);除所述初始算法處理對應的數(shù)據(jù)轉(zhuǎn)換單元之外的其它數(shù)據(jù)轉(zhuǎn)換單元的數(shù)據(jù)接收模塊中的存儲器,用于從自身所在數(shù)據(jù)轉(zhuǎn)換單元輸入端連接的數(shù)據(jù)緩存單元接收存儲狀態(tài)和數(shù)據(jù),從所述地址計數(shù)器接收有效數(shù)據(jù)長度,根據(jù)該有效數(shù)據(jù)長度和存儲狀態(tài)確定是否接收數(shù)據(jù),緩存并輸出數(shù)據(jù)至所述轉(zhuǎn)換器。
其中,在每一數(shù)據(jù)轉(zhuǎn)換單元的輸入端和輸出端分別連接數(shù)據(jù)緩存單元、且兩個數(shù)據(jù)轉(zhuǎn)換單元之間僅連有一個數(shù)據(jù)緩存單元;所述數(shù)據(jù)緩存單元,用于從自身輸入端接收數(shù)據(jù)進行緩存,輸出數(shù)據(jù),并記錄自身存儲狀態(tài)并分別輸出;所述數(shù)據(jù)轉(zhuǎn)換單元進一步用于從自身輸入端和輸出端連接的數(shù)據(jù)緩存單元接收存儲狀態(tài),根據(jù)接收到的存儲狀態(tài)確定是否從該輸入端連接的數(shù)據(jù)緩存單元接收數(shù)據(jù)。
其中,所述數(shù)據(jù)轉(zhuǎn)換單元包括轉(zhuǎn)換器,用于封裝算法處理,從自身所在數(shù)據(jù)轉(zhuǎn)換單元輸入端和輸出端連接的數(shù)據(jù)緩存單元接收存儲狀態(tài),根據(jù)接收到的存儲狀態(tài)確定是否從所述數(shù)據(jù)接收模塊接收數(shù)據(jù)進行算法處理并輸出;數(shù)據(jù)接收模塊,用于從自身所在數(shù)據(jù)轉(zhuǎn)換單元輸入端連接的數(shù)據(jù)緩存單元接收存儲狀態(tài),記錄自身緩存的有效數(shù)據(jù)長度,根據(jù)該有效數(shù)據(jù)長度為零和接收到的存儲狀態(tài)確定是否接收數(shù)據(jù),緩存并輸出數(shù)據(jù)至所述轉(zhuǎn)換器。
其中,所述數(shù)據(jù)接收模塊包括存儲器,用于從自身所在數(shù)據(jù)轉(zhuǎn)換單元輸入端連接的數(shù)據(jù)緩存單元接收存儲狀態(tài),從所述地址計數(shù)器接收有效數(shù)據(jù)長度,根據(jù)該有效數(shù)據(jù)長度和接收到的存儲狀態(tài)確定是否接收數(shù)據(jù),緩存并輸出數(shù)據(jù)至所述轉(zhuǎn)換器;地址計數(shù)器,用于監(jiān)控所述存儲器的讀寫操作,記錄該存儲器緩存的有效數(shù)據(jù)長度并輸出至該存儲器。
其中,所述數(shù)據(jù)緩存單元包括緩存器,用于從自身所在數(shù)據(jù)緩存單元輸入端接收數(shù)據(jù)進行緩存,并從自身所在數(shù)據(jù)緩存單元輸出端輸出數(shù)據(jù);讀寫探測器,用于監(jiān)控所述緩存器的讀寫操作,記錄該緩存器的存儲狀態(tài)并輸出給所述狀態(tài)存儲器;狀態(tài)存儲器,用于從所述讀寫探測器接收存儲狀態(tài)并輸出。
由上述方案可以看出,本發(fā)明的關鍵在于將芯片仿真平臺所能提供的各個算法處理分別封裝至各個數(shù)據(jù)轉(zhuǎn)換單元;當要按算法仿真模型處理數(shù)據(jù)時,按當前算法仿真模型中各個算法處理的組合方式連接各個數(shù)據(jù)轉(zhuǎn)換單元,并向當前初始算法處理對應的數(shù)據(jù)轉(zhuǎn)換單元輸入數(shù)據(jù);每一數(shù)據(jù)轉(zhuǎn)換單元對自身接收到數(shù)據(jù)進行對應的算法處理并輸出,由當前最后的算法處理對應的數(shù)據(jù)轉(zhuǎn)換單元輸出結(jié)果數(shù)據(jù)。
因此,本發(fā)明所提供的芯片仿真平臺中的數(shù)據(jù)處理方法及系統(tǒng),能靈活按當前算法仿真模型的算法處理組合對數(shù)據(jù)進行處理,保證數(shù)據(jù)處理的準確性,并不必耗費太多處理資源,解決了現(xiàn)有基于C/C++等語言的芯片仿真平臺的關鍵問題。
圖1為本發(fā)明方法一較佳實施例處理流程示意圖;圖2A為本發(fā)明系統(tǒng)一較佳實施例組成結(jié)構(gòu)示意圖;圖2B為本發(fā)明系統(tǒng)一應用實例示意圖;圖3為本發(fā)明系統(tǒng)中數(shù)據(jù)轉(zhuǎn)換單元和數(shù)據(jù)緩存單元的內(nèi)部組成結(jié)構(gòu)示意圖;圖4為圖3所示輸入端口(PORT)的工作流程示意圖。
具體實施例方式
下面結(jié)合附圖及具體實施例對本發(fā)明再作進一步詳細的說明。
本發(fā)明公開了一種芯片仿真平臺中的數(shù)據(jù)處理方法及系統(tǒng),其主要設計思想為對當前建立的算法仿真模型中的各個算法處理分別進行封裝至其各自對應的數(shù)據(jù)轉(zhuǎn)換單元,所述數(shù)據(jù)轉(zhuǎn)換單元主要用于承載算法并按該算法對接收到的數(shù)據(jù)進行轉(zhuǎn)換處理;此外,還要按當前算法仿真模型中各算法處理的組合方式連接各個數(shù)據(jù)轉(zhuǎn)換單元,從而各個數(shù)據(jù)轉(zhuǎn)換單元可依次對數(shù)據(jù)進行算法處理,以最終得到當前算法仿真模型的芯片算法處理結(jié)果。
由于,本發(fā)明應用的芯片仿真平臺運行于一臺計算機之上,因此,計算機的中央處理單元(CPU)在每一時刻只能為一個數(shù)據(jù)轉(zhuǎn)換單元分配資源。所以,構(gòu)成當前算法仿真模型的各個數(shù)據(jù)轉(zhuǎn)換單元中,每一時刻只能有一個數(shù)據(jù)轉(zhuǎn)換單元在運行,為保證數(shù)據(jù)處理的準確性、避免數(shù)據(jù)丟失等問題,本發(fā)明進一步在各個相連的數(shù)據(jù)轉(zhuǎn)換單元之間連接數(shù)據(jù)緩存單元,該數(shù)據(jù)緩存單元用于緩存其輸入端連接的數(shù)據(jù)轉(zhuǎn)換單元輸出的數(shù)據(jù),當其輸出端連接的數(shù)據(jù)轉(zhuǎn)換單元獲得資源可以運行時,再輸出數(shù)據(jù)給該輸出端連接的數(shù)據(jù)轉(zhuǎn)換單元。
基于此種包含數(shù)據(jù)轉(zhuǎn)換單元和數(shù)據(jù)緩存單元的系統(tǒng),本發(fā)明方法的實施例如圖1所示。圖1為本發(fā)明方法一較佳實施例處理流程示意圖,當用戶建立了當前算法仿真模型之后,具體處理步驟包括
步驟101分別將當前算法仿真模型中的每一算法處理封裝至一數(shù)據(jù)轉(zhuǎn)換單元。
步驟102按當前算法仿真模型中各個算法處理的組合方式,使用數(shù)據(jù)緩存單元來連接步驟101所述各個數(shù)據(jù)轉(zhuǎn)換單元,當前算法仿真模型對應的初始數(shù)據(jù)轉(zhuǎn)換單元開始從數(shù)據(jù)源接收待處理的原始數(shù)據(jù)。這里,所謂初始數(shù)據(jù)轉(zhuǎn)換單元為當前算法仿真模型中的初始算法處理對應的數(shù)據(jù)轉(zhuǎn)換單元。
步驟103~步驟104當前芯片仿真平臺所在的計算機依次循環(huán)判斷當前算法仿真模型對應的各個數(shù)據(jù)轉(zhuǎn)換單元是否允許運行,并在數(shù)據(jù)轉(zhuǎn)換單元允許運行時為其分配CPU資源。同時,每一數(shù)據(jù)轉(zhuǎn)換單元判斷自身是否允許運行,在判斷自身允許運行且得到CPU資源后,從自身輸入端的數(shù)據(jù)緩存單元接收數(shù)據(jù),對數(shù)據(jù)進行算法處理后再輸出至自身輸出端的數(shù)據(jù)緩存單元,由當前算法仿真模型中的最后的算法處理對應的數(shù)據(jù)轉(zhuǎn)換單元輸出該算法仿真模型算法處理的結(jié)果數(shù)據(jù),完成整個數(shù)據(jù)處理過程。
由于,每個數(shù)據(jù)轉(zhuǎn)換單元判斷自身允許運行的方法為當自身輸入端連接的數(shù)據(jù)緩存單元為非空、且自身輸出端連接的數(shù)據(jù)緩存單元為空時,數(shù)據(jù)轉(zhuǎn)換單元判斷自身允許運行,也就是說當有輸入信號且自身當前已沒有數(shù)據(jù)可處理時,數(shù)據(jù)轉(zhuǎn)換單元被允許運行。這樣,對于一段數(shù)據(jù)來說,該段數(shù)據(jù)將按當前各個數(shù)據(jù)轉(zhuǎn)換單元之間的連接,從初始算法處理對應的數(shù)據(jù)轉(zhuǎn)換單元開始依次流向各個數(shù)據(jù)轉(zhuǎn)換單元,并最終到達最后的算法處理對應的數(shù)據(jù)轉(zhuǎn)換單元,由該最后的算法處理對應的數(shù)據(jù)轉(zhuǎn)換單元進行處理得到該段數(shù)據(jù)最終的算法處理結(jié)果數(shù)據(jù)。
舉例來說有三個數(shù)據(jù)轉(zhuǎn)換單元A、B、C按此順序順次連接,A為初始算法處理對應的數(shù)據(jù)轉(zhuǎn)換單元,C為最后的算法處理對應的數(shù)據(jù)轉(zhuǎn)換單元,計算機也按A、B、C的順序循環(huán)為各個數(shù)據(jù)轉(zhuǎn)換單元分配CPU資源。一段數(shù)據(jù)首先被輸入A,此時A允許運行且得到CPU資源,則A開始接收數(shù)據(jù)進行算法處理并輸出至A與B之間連接的數(shù)據(jù)緩存單元;然后,在到達CPU的下一時間片時,B將允許運行,而A不允許運行,計算機為B分配CPU資源,則B從輸入端連接的數(shù)據(jù)緩存單元讀取該段數(shù)據(jù)進行算法處理并輸出至輸出端連接的數(shù)據(jù)緩存單元;最后,在到達CPU的下一時間片時,C將允許運行,而A和B均不允許運行,此時計算機為C分配CPU資源,則C從輸入端連接的數(shù)據(jù)緩存單元讀取該段數(shù)據(jù)進行算法處理并輸出。
在整個的算法仿真模型的算法處理過程中,將針對多段數(shù)據(jù)進行處理,對于每段數(shù)據(jù)而言,都將從初始算法處理對應的數(shù)據(jù)轉(zhuǎn)換單元開始依次流向各個數(shù)據(jù)轉(zhuǎn)換單元,并最終到達最后的算法處理對應的數(shù)據(jù)轉(zhuǎn)換單元,從而得到該段數(shù)據(jù)最終的算法處理結(jié)果數(shù)據(jù)。
這里,由于,所述數(shù)據(jù)轉(zhuǎn)換單元允許運行的條件為數(shù)據(jù)轉(zhuǎn)換單元輸入端連接的數(shù)據(jù)緩存單元非空、且其輸出端連接的數(shù)據(jù)緩存單元為空。因此,每一數(shù)據(jù)轉(zhuǎn)換單元將實時監(jiān)控自身連接的各個數(shù)據(jù)緩存單元的存儲狀態(tài),并且每一數(shù)據(jù)緩存單元在接收/輸出數(shù)據(jù)的同時也記錄自身的存儲狀態(tài)。
基于上述本發(fā)明方法,本發(fā)明還提出了一種芯片仿真平臺中的數(shù)據(jù)處理系統(tǒng),下面結(jié)合附圖對本發(fā)明系統(tǒng)加以詳細說明,并對本發(fā)明方法作進一步闡述。
圖2A為本發(fā)明系統(tǒng)一較佳實施例組成結(jié)構(gòu)示意圖。如圖2A所示,本實施例包括五個數(shù)據(jù)轉(zhuǎn)換單元和四個數(shù)據(jù)緩存單元。
其中,五個數(shù)據(jù)轉(zhuǎn)換單元分別為單元(UNIT)1、UNIT2、UNIT3、UNIT4和UNIT5,而四個數(shù)據(jù)緩存單元分別為連接UNIT1和UNIT2的釘(PIN)12、連接UNIT1和UNIT3的PIN13、連接UNIT2和UNIT4的PIN24、以及連接UNIT3和UNIT5的PIN35。
圖2A中,UNIT1、UNIT2、UNIT3、UNIT4和UNIT5分別用于承載各自對應的芯片算法,從自身輸入端連接的PIN接收數(shù)據(jù),按自身承載的芯片算法對數(shù)據(jù)進行轉(zhuǎn)換處理再輸出至自身輸出端連接的PIN。由于,UNIT1為整個系統(tǒng)的初始單元,因此,UNIT1的輸入端并未連接PIN,而直接從數(shù)據(jù)源接收原始數(shù)據(jù);此外,UNIT4和UNIT5為整個系統(tǒng)數(shù)據(jù)處理的最后一個單元,因此UNIT4和UNIT5的輸出端未連接PIN,該UNIT4和UNIT5直接輸出的就是當前算法仿真模型的處理結(jié)果數(shù)據(jù)。這里,UNIT1、UNIT2、UNIT3、UNIT4和UNIT5等數(shù)據(jù)轉(zhuǎn)換單元可又被稱為系統(tǒng)容器。
另外,對于數(shù)據(jù)轉(zhuǎn)換單元來說,其接收數(shù)據(jù)的速度與其自身轉(zhuǎn)換并輸出數(shù)據(jù)的速度通常不同,這樣就容易產(chǎn)生數(shù)據(jù)丟失和漏處理等問題。針對此問題,每一數(shù)據(jù)轉(zhuǎn)換單元還可進一步包含至少一個數(shù)據(jù)接收模塊,該數(shù)據(jù)接收模塊設置在數(shù)據(jù)轉(zhuǎn)換單元的輸入端,又被稱為輸入PORT,如圖2中,UNIT1中的輸入PORT1、UNIT2中連接PIN12的輸入PORT2、UNIT3中連接PIN13的輸入PORT3、UNIT4中連接PIN24的輸入PORT4、和UNIT5中連接PIN35的輸入PORT5。
此外,本發(fā)明的數(shù)據(jù)緩存單元還有另一種連接方式,如圖2A所示,除了在兩個數(shù)據(jù)轉(zhuǎn)換單元之間連接數(shù)據(jù)緩存單元,還進一步在初始算法處理對應的數(shù)據(jù)轉(zhuǎn)換單元的輸入端連接數(shù)據(jù)緩存單元,即UNIT1連接的PIN01,并在最后算法處理對應的數(shù)據(jù)轉(zhuǎn)換單元的輸出端連接數(shù)據(jù)緩存單元,即UNIT4和UNIT5分別連接的PIN40和PIN50。
基于圖2A所述本發(fā)明系統(tǒng)的實現(xiàn)原理,下面以圖像處理芯片V568一算法仿真模型應用實例來說明本發(fā)明系統(tǒng)的應用場景。
圖2B為本發(fā)明系統(tǒng)一應用實例示意圖。如圖2B所示,該應用實例中包含6個數(shù)據(jù)轉(zhuǎn)換單元分別稱為UNIT1、UNIT2、UNIT3、UNIT4、UNIT5和UNIT6。各個數(shù)據(jù)轉(zhuǎn)換單元之間通過PIN連接,它們的連接關系為UNIT1與UNIT2連接,UNIT2與UNIT3和UNIT4連接,UNIT3連接UNIT5,而UNIT4連接UNIT6。這里,UNIT1為初始數(shù)據(jù)轉(zhuǎn)換單元,UNIT5和UNIT6均為最后的數(shù)據(jù)轉(zhuǎn)換單元。
其中,UNIT1用于從輸入分辨率為640×480的圖像里截取320×240的區(qū)域并輸出至UNIT2;UNIT2用于將輸入圖像復制為相同的兩份并分別輸出至UNIT3和UNIT4;UNIT3用于將輸入圖像縮小到128×160的分辨率并輸出至UNIT5;UNIT4用于將輸入圖像變換為塊結(jié)構(gòu)圖像并輸出至UNIT6;UNIT5用于對輸入圖像進行伽馬變換并輸出至液晶顯示屏顯示;UNIT6用于對輸入圖像進行靜態(tài)圖像壓縮(JPEG)壓縮并存儲至存儲器。
圖3為本發(fā)明系統(tǒng)中數(shù)據(jù)轉(zhuǎn)換單元和數(shù)據(jù)緩存單元的內(nèi)部組成結(jié)構(gòu)示意圖。圖3所示為數(shù)據(jù)轉(zhuǎn)換單元及其輸入/輸出端分別連接的數(shù)據(jù)緩存單元,該輸入/輸出端分別連接的數(shù)據(jù)緩存單元分別稱為輸入PIN和輸出PIN。圖3所示的數(shù)據(jù)轉(zhuǎn)換單元為輸入端和輸出端均連接有數(shù)據(jù)緩存單元的數(shù)據(jù)轉(zhuǎn)換單元。
在數(shù)據(jù)轉(zhuǎn)換單元中至少包含轉(zhuǎn)換器,該轉(zhuǎn)換器裝載有算法處理程序,可對接收到的數(shù)據(jù)進行算法處理。該轉(zhuǎn)換器還連接自身所在數(shù)據(jù)轉(zhuǎn)換單元的輸入PIN和輸出PIN,從該輸入PIN和輸出PIN讀取其存儲狀態(tài),判斷自身是否允許運行,在輸入PIN的存儲狀態(tài)非空而輸出PIN的存儲狀態(tài)為空時判斷允許運行并從輸入PIN讀取數(shù)據(jù)、進行算法處理后輸出數(shù)據(jù)至輸出PIN。
但是,當僅在兩個數(shù)據(jù)轉(zhuǎn)換單元之間連接數(shù)據(jù)緩存單元時,系統(tǒng)中的各個數(shù)據(jù)轉(zhuǎn)換單元將分為三類,這三類數(shù)據(jù)轉(zhuǎn)換單元判斷自身是否運行并接收數(shù)據(jù)進行算法處理的方法有所不同1、初始算法處理對應的數(shù)據(jù)轉(zhuǎn)換單元,當自身輸出端連接的數(shù)據(jù)緩存單元的存儲狀態(tài)為空、且數(shù)據(jù)源仍有數(shù)據(jù)可接收時,從數(shù)據(jù)源接收數(shù)據(jù)進行算法處理;這里,該數(shù)據(jù)轉(zhuǎn)換單元可按預先在其內(nèi)設置的作為數(shù)據(jù)源的源文件地址從數(shù)據(jù)源接收數(shù)據(jù),該種數(shù)據(jù)轉(zhuǎn)換單元不必接收輸入端連接的數(shù)據(jù)緩存單元的存儲狀態(tài);2、最后算法處理對應的數(shù)據(jù)轉(zhuǎn)換單元,當自身輸入端連接的數(shù)據(jù)緩存單元的存儲狀態(tài)非空時,從自身輸入端連接的數(shù)據(jù)緩存單元接收數(shù)據(jù)進行算法處理;這里,該數(shù)據(jù)轉(zhuǎn)換單元在將算法處理的結(jié)果數(shù)據(jù)輸出時按預先設置其內(nèi)的數(shù)據(jù)輸出的目標文件地址向該目標文件輸出數(shù)據(jù),該種數(shù)據(jù)轉(zhuǎn)換單元不必接收輸出端連接的數(shù)據(jù)緩存單元的存儲狀態(tài);3、除所述初始算法處理對應的數(shù)據(jù)轉(zhuǎn)換單元和最后算法處理對應的數(shù)據(jù)轉(zhuǎn)換單元之外的數(shù)據(jù)轉(zhuǎn)換單元,即圖3所示輸入端和輸出端均練有數(shù)據(jù)緩存單元的數(shù)據(jù)轉(zhuǎn)換單元,當自身輸入端連接的數(shù)據(jù)緩存單元的存儲狀態(tài)非空、且輸出端連接的數(shù)據(jù)緩存單元的存儲狀態(tài)為空時,從輸入端連接的數(shù)據(jù)緩存單元接收數(shù)據(jù)進行算法處理。
在輸入PIN和輸出PIN中均包含緩存器、讀寫探測器和狀態(tài)存儲器。其中,緩存器通常采用先進先出(FIFO)的緩存方式,也被稱為FIFO緩存器,用于從數(shù)據(jù)緩存單元外部接收數(shù)據(jù)進行緩存,并輸出數(shù)據(jù)給數(shù)據(jù)轉(zhuǎn)換單元。讀寫探測器,用于實時監(jiān)控FIFO的讀寫操作,并輸出FIFO的存儲狀態(tài)給自身連接的狀態(tài)存儲器。每當FIFO從外部接收數(shù)據(jù)時,該讀寫探測器就輸出值為非空的FIFO存儲狀態(tài)給狀態(tài)存儲器;每當FIFO輸出數(shù)據(jù)給數(shù)據(jù)轉(zhuǎn)換單元之后,其所存儲的數(shù)據(jù)量為零時,該讀寫探測器就輸出值為空的FIFO存儲狀態(tài)給該狀態(tài)存儲器。這里,輸入PIN對應的FIFO存儲狀態(tài)還可稱為輸入PIN存儲狀態(tài),而輸出PIN對應的FIFO存儲狀態(tài)還可稱為輸出PIN存儲狀態(tài)。
其中,對于一個數(shù)據(jù)轉(zhuǎn)換單元來說,其具有一個輸入PIN和一個輸出PIN,但兩個數(shù)據(jù)轉(zhuǎn)換單元之間如果連接了PIN且僅有一個PIN,那么該PIN對于自身輸入端連接的數(shù)據(jù)轉(zhuǎn)換單元來說就是輸出PIN,而對于自身輸出端連接的數(shù)據(jù)轉(zhuǎn)換單元來說就是輸入PIN。每個PIN會向其輸入端和輸出端連接的數(shù)據(jù)轉(zhuǎn)換單元分別輸出自身的存儲狀態(tài),但是,對于初始算法處理對應的數(shù)據(jù)轉(zhuǎn)換單元連接的輸入PIN來說,其輸入端并未連接數(shù)據(jù)轉(zhuǎn)換單元,則其僅向其輸出端連接的數(shù)據(jù)轉(zhuǎn)換單元輸出存儲狀態(tài),同理,對于最后的算法處理對應的數(shù)據(jù)轉(zhuǎn)換單元連接的輸出PIN來說,其輸出端并未連接數(shù)據(jù)轉(zhuǎn)換單元,則其僅向其輸入端連接的數(shù)據(jù)轉(zhuǎn)換單元輸出存儲狀態(tài)。
當除了在數(shù)據(jù)轉(zhuǎn)換單元之間,還在初始算法處理對應的數(shù)據(jù)轉(zhuǎn)換單元的輸入端和最后算法處理對應的數(shù)據(jù)轉(zhuǎn)換單元輸出端也連接的數(shù)據(jù)緩存單元時,該初始算法處理對應的數(shù)據(jù)轉(zhuǎn)換單元輸入端連接的數(shù)據(jù)緩存單元將于數(shù)據(jù)源相連,比如圖3的PIN01將與數(shù)據(jù)源連接,該PIN01內(nèi)的緩存器可按預先在其內(nèi)設置的作為數(shù)據(jù)源的源文件地址從數(shù)據(jù)源接收數(shù)據(jù);該最后算法處理對應的數(shù)據(jù)轉(zhuǎn)換單元輸出端連接的數(shù)據(jù)緩存單元將輸出數(shù)據(jù)至數(shù)據(jù)輸出的目標地,比如圖3中的PIN40和PIN50該PIN40和PIN50可按預先設置其內(nèi)的數(shù)據(jù)輸出的目標文件地址向該目標文件輸出算法處理結(jié)果數(shù)據(jù)。
如前面所述,為進一步保證數(shù)據(jù)處理的正確性,還可進一步在數(shù)據(jù)轉(zhuǎn)換單元中包含數(shù)據(jù)接收模塊,該數(shù)據(jù)接收模塊連接轉(zhuǎn)換器與作為輸入PIN的數(shù)據(jù)緩存單元,用于從輸入PIN讀取輸入PIN存儲狀態(tài),當該數(shù)據(jù)接收模塊自身存儲的有效數(shù)據(jù)長度為零、且輸入PIN存儲狀態(tài)為非空時,從輸入PIN的FIFO讀取數(shù)據(jù)進行緩存,并在轉(zhuǎn)換器請求讀取數(shù)據(jù)時輸出數(shù)據(jù)給轉(zhuǎn)換器。該數(shù)據(jù)接收模塊包含存儲器和地址計數(shù)器,又被稱為輸入PORT。
如圖3所示,輸入PORT包含存儲器和地址計數(shù)器。其中,存儲器從輸入PIN的FIFO接收數(shù)據(jù),從輸入PIN的狀態(tài)存儲器接收輸入PIN存儲狀態(tài),從地址計數(shù)器接收當前自身有效數(shù)據(jù)長度,并在自身有效數(shù)據(jù)長度為零、且輸入PIN存儲狀態(tài)為非空時從輸入PIN的FIFO讀取數(shù)據(jù)并輸出至轉(zhuǎn)換器。地址計數(shù)器,用于實時監(jiān)控轉(zhuǎn)換器和FIFO對存儲器進行的讀寫操作,根據(jù)監(jiān)控到的讀寫操作情況實時記錄存儲器當前的有效數(shù)據(jù)長度,比如當存儲器從FIFO接收了N字節(jié)的數(shù)據(jù),該地址計數(shù)器將把當前有效數(shù)據(jù)長度加N字節(jié);而當存儲器輸出了M字節(jié)的數(shù)據(jù)給轉(zhuǎn)換器,該地址計數(shù)器就將把當前有效數(shù)據(jù)長度減少M字節(jié)。
同樣,當僅在兩個數(shù)據(jù)轉(zhuǎn)換單元之間連接數(shù)據(jù)緩存單元時,系統(tǒng)中的所述三類數(shù)據(jù)轉(zhuǎn)換單元內(nèi)的數(shù)據(jù)接收模塊接收數(shù)據(jù)、以及轉(zhuǎn)換器對數(shù)據(jù)進行算法處理的方法將有所不同1、所述初始算法處理對應的數(shù)據(jù)轉(zhuǎn)換單元內(nèi)的數(shù)據(jù)接收模塊接收數(shù)據(jù)的方法為當自身緩存的有效數(shù)據(jù)長度為零、且數(shù)據(jù)源仍有數(shù)據(jù)可接收時,從數(shù)據(jù)源接收數(shù)據(jù);該初始算法處理對應的數(shù)據(jù)轉(zhuǎn)換單元中的轉(zhuǎn)換器對接收到的數(shù)據(jù)進行算法處理的方法為當該數(shù)據(jù)轉(zhuǎn)換單元輸出端連接的數(shù)據(jù)緩存單元的存儲狀態(tài)為空、且數(shù)據(jù)源仍有數(shù)據(jù)可接收時,從該數(shù)據(jù)接收模塊內(nèi)的存儲器讀取所緩存的數(shù)據(jù)進行算法處理;這里,該種數(shù)據(jù)轉(zhuǎn)換單元內(nèi)的數(shù)據(jù)接收模塊和轉(zhuǎn)換器不必接收數(shù)據(jù)該數(shù)據(jù)轉(zhuǎn)換器輸入端連接的數(shù)據(jù)緩存單元的存儲狀態(tài);
2、所述最后算法處理對應的數(shù)據(jù)轉(zhuǎn)換單元內(nèi)的數(shù)據(jù)接收模塊接收數(shù)據(jù)的方法為當自身緩存的有效數(shù)據(jù)長度為零、且輸入端連接的數(shù)據(jù)緩存單元的存儲狀態(tài)非空時,從輸入端連接的數(shù)據(jù)緩存單元接收數(shù)據(jù)并緩存;該最后算法處理對應的數(shù)據(jù)轉(zhuǎn)換單元內(nèi)的轉(zhuǎn)換器對接收到的數(shù)據(jù)進行算法處理的方法為當該數(shù)據(jù)轉(zhuǎn)換單元輸入端連接的數(shù)據(jù)緩存單元的存儲狀態(tài)非空時,從該數(shù)據(jù)接收模塊內(nèi)的存儲器讀取數(shù)據(jù)進行算法處理;這里,該種數(shù)據(jù)轉(zhuǎn)換單元內(nèi)的數(shù)據(jù)接收模塊和轉(zhuǎn)換器不必接收數(shù)據(jù)該數(shù)據(jù)轉(zhuǎn)換器輸出端連接的數(shù)據(jù)緩存單元的存儲狀態(tài);3、除所述初始算法處理對應的數(shù)據(jù)轉(zhuǎn)換單元和最后算法處理對應的數(shù)據(jù)轉(zhuǎn)換單元之外的其它數(shù)據(jù)轉(zhuǎn)換單元內(nèi)的數(shù)據(jù)接收模塊接收數(shù)據(jù)的方法為當自身緩存的有效數(shù)據(jù)長度為零、且輸入端連接的數(shù)據(jù)緩存單元的存儲狀態(tài)非空時,從輸入端連接的數(shù)據(jù)緩存單元接收數(shù)據(jù)并緩存;該種數(shù)據(jù)轉(zhuǎn)換單元內(nèi)的轉(zhuǎn)換器對接收到的數(shù)據(jù)進行算法處理的方法為當輸出端連接的數(shù)據(jù)緩存單元的存儲狀態(tài)為空、且輸入端連接的數(shù)據(jù)緩存單元的存儲狀態(tài)非空時,從該數(shù)據(jù)接收模塊內(nèi)的存儲器讀取數(shù)據(jù)進行算法處理。
基于圖3所示的數(shù)據(jù)轉(zhuǎn)換單元的內(nèi)部組成結(jié)構(gòu),為進一步說明本發(fā)明數(shù)據(jù)轉(zhuǎn)換單元的工作原理,下面分別對輸入PORT和轉(zhuǎn)換器的工作流程加以說明。其中,輸入PORT和轉(zhuǎn)換器之間的工作流程相互獨立,因此,二者的工作流程可并行進行。
圖4為圖3所示輸入PORT的工作流程圖。如圖4所示,輸入PORT啟動后,具體處理包括步驟401輸入PORT中的存儲器根據(jù)自身接收到的輸入PIN存儲狀態(tài)判斷輸入PIN是否為空,如果是,則返回步驟401;否則執(zhí)行步驟402。
步驟402該存儲器通過從地址計數(shù)器讀取當前有效數(shù)據(jù)長度判斷當前自身存儲的有效數(shù)據(jù)長度是否為零,如果是,則執(zhí)行步驟403;否則返回步驟401。
這里,當判斷有效數(shù)據(jù)長度不為零時也可返回步驟402,能實現(xiàn)相同的功能,上述步驟401和步驟402也可以合并為一個步驟401’來執(zhí)行,即判斷是否自身接收到的輸入PIN的存儲狀態(tài)非空、且自身存儲的有效數(shù)據(jù)長度為零,如果是,則執(zhí)行步驟403;否則返回本步驟401’。
步驟403該存儲器從輸入PIN的FIFO中讀取數(shù)據(jù)進行緩存。
當轉(zhuǎn)換器啟動后,轉(zhuǎn)換器將根據(jù)自身接收到的輸入PIN存儲狀態(tài)和輸出PIN存儲狀態(tài)判斷是否允許運行,即判斷當前是否輸入PIN為非空而輸出PIN為空,如果是,則開始從輸入PORT的存儲器中讀取數(shù)據(jù)、進行算法處理、輸出處理后的數(shù)據(jù)給輸出PIN的FIFO;否則不作任何處理。
綜上所述,應用本發(fā)明方法及系統(tǒng)能依據(jù)算法仿真模型中的各個算法處理組合對數(shù)據(jù)進行算法處理,以完成芯片算法仿真過程,且不必占用過多處理資源、且能保證較高的準確度。
以上所述僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護范圍。凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換、改進等,均包含在本發(fā)明的保護范圍內(nèi)。
權(quán)利要求
1.一種芯片仿真平臺中的數(shù)據(jù)處理方法,其特征在于,將芯片仿真平臺所能提供的各個算法處理分別封裝至各個數(shù)據(jù)轉(zhuǎn)換單元;當要按算法仿真模型處理數(shù)據(jù)時,該方法包括A.按當前算法仿真模型中各個算法處理的組合方式連接該算法仿真模型中各個算法處理對應各個數(shù)據(jù)轉(zhuǎn)換單元,由當前算法仿真模型中的初始算法處理對應的數(shù)據(jù)轉(zhuǎn)換單元從數(shù)據(jù)源接收數(shù)據(jù);B.每一數(shù)據(jù)轉(zhuǎn)換單元對自身接收到的數(shù)據(jù)進行對應的算法處理并輸出,由當前算法仿真模型中最后的算法處理對應的數(shù)據(jù)轉(zhuǎn)換單元輸出結(jié)果數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟A進一步包括在相連的數(shù)據(jù)轉(zhuǎn)換單元之間連接數(shù)據(jù)緩存單元;所述步驟B進一步包括每一數(shù)據(jù)緩存單元從輸入端連接的數(shù)據(jù)轉(zhuǎn)換單元接收數(shù)據(jù)進行緩存,輸出數(shù)據(jù)給輸出端連接的數(shù)據(jù)轉(zhuǎn)換單元,并記錄自身的存儲狀態(tài);所述初始算法處理對應的數(shù)據(jù)轉(zhuǎn)換單元接收數(shù)據(jù)進行算法處理的方法為當自身輸出端連接的數(shù)據(jù)緩存單元的存儲狀態(tài)為空、且數(shù)據(jù)源仍有數(shù)據(jù)可接收時,從數(shù)據(jù)源接收數(shù)據(jù)進行算法處理;所述最后算法處理對應的數(shù)據(jù)轉(zhuǎn)換單元接收數(shù)據(jù)進行算法處理的方法為當自身輸入端連接的數(shù)據(jù)緩存單元的存儲狀態(tài)非空時,從自身輸入端連接的數(shù)據(jù)緩存單元接收數(shù)據(jù)進行算法處理;除所述初始算法處理對應的數(shù)據(jù)轉(zhuǎn)換單元和最后算法處理對應的數(shù)據(jù)轉(zhuǎn)換單元之外的其它數(shù)據(jù)轉(zhuǎn)換單元接收數(shù)據(jù)進行算法處理的方法為當自身輸入端連接的數(shù)據(jù)緩存單元的存儲狀態(tài)非空、且輸出端連接的數(shù)據(jù)緩存單元的存儲狀態(tài)為空時,從輸入端連接的數(shù)據(jù)緩存單元接收數(shù)據(jù)進行算法處理。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,步驟B中,所述數(shù)據(jù)轉(zhuǎn)換單元在對數(shù)據(jù)進行算法處理之前進一步緩存接收到的數(shù)據(jù),并記錄自身緩存的有效數(shù)據(jù)長度;所述初始算法處理對應的數(shù)據(jù)轉(zhuǎn)換單元接收數(shù)據(jù)的方法為當自身緩存的有效數(shù)據(jù)長度為零、且數(shù)據(jù)源仍有數(shù)據(jù)可接收時,從數(shù)據(jù)源接收數(shù)據(jù)進行算法處理;所述初始算法處理對應的數(shù)據(jù)轉(zhuǎn)換單元對接收到的數(shù)據(jù)進行算法處理的方法為所述數(shù)據(jù)轉(zhuǎn)換單元當輸出端連接的數(shù)據(jù)緩存單元的存儲狀態(tài)為空、且數(shù)據(jù)源仍有數(shù)據(jù)可接收時,對自身緩存的數(shù)據(jù)進行算法處理;所述最后算法處理對應的數(shù)據(jù)轉(zhuǎn)換單元接收數(shù)據(jù)的方法為當自身緩存的有效數(shù)據(jù)長度為零、且輸入端連接的數(shù)據(jù)緩存單元的存儲狀態(tài)非空時,從輸入端連接的數(shù)據(jù)緩存單元接收數(shù)據(jù)并緩存;所述最后算法處理對應的數(shù)據(jù)轉(zhuǎn)換單元對接收到的數(shù)據(jù)進行算法處理的方法為當自身輸入端連接的數(shù)據(jù)緩存單元的存儲狀態(tài)非空時,對自身緩存的數(shù)據(jù)進行算法處理;除所述初始算法處理對應的數(shù)據(jù)轉(zhuǎn)換單元和最后算法處理對應的數(shù)據(jù)轉(zhuǎn)換單元之外的其它數(shù)據(jù)轉(zhuǎn)換單元接收數(shù)據(jù)的方法為當自身緩存的有效數(shù)據(jù)長度為零、且輸入端連接的數(shù)據(jù)緩存單元的存儲狀態(tài)非空時,從輸入端連接的數(shù)據(jù)緩存單元接收數(shù)據(jù)并緩存;除所述初始算法處理對應的數(shù)據(jù)轉(zhuǎn)換單元和最后算法處理對應的數(shù)據(jù)轉(zhuǎn)換單元之外的其它數(shù)據(jù)轉(zhuǎn)換單元對接收到的數(shù)據(jù)進行算法處理的方法為所述數(shù)據(jù)轉(zhuǎn)換單元當輸出端連接的數(shù)據(jù)緩存單元的存儲狀態(tài)為空、且輸入端連接的數(shù)據(jù)緩存單元的存儲狀態(tài)非空時,對自身緩存的數(shù)據(jù)進行算法處理。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟A進一步包括在相連的數(shù)據(jù)轉(zhuǎn)換單元之間連接數(shù)據(jù)緩存單元,并在所述初始算法對應的數(shù)據(jù)轉(zhuǎn)換單元的輸入端連接數(shù)據(jù)緩存單元,在所述最后算法對應的數(shù)據(jù)轉(zhuǎn)換單元的輸出端連接數(shù)據(jù)緩存單元;所述步驟B進一步包括每一數(shù)據(jù)緩存單元從數(shù)據(jù)源或輸入端連接的數(shù)據(jù)轉(zhuǎn)換單元接收數(shù)據(jù)進行緩存,輸出數(shù)據(jù),并記錄自身的存儲狀態(tài);步驟B中,所述數(shù)據(jù)轉(zhuǎn)換單元接收數(shù)據(jù)進行算法處理的方法為所述數(shù)據(jù)轉(zhuǎn)換單元當輸出端連接的數(shù)據(jù)緩存單元的存儲狀態(tài)為空、且輸入端連接的數(shù)據(jù)緩存單元的存儲狀態(tài)非空時,從輸入端連接的數(shù)據(jù)緩存單元接收數(shù)據(jù)進行算法處理。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,步驟B中,所述數(shù)據(jù)轉(zhuǎn)換單元在對數(shù)據(jù)進行算法處理之前進一步緩存接收到的數(shù)據(jù),并記錄自身緩存的有效數(shù)據(jù)長度;所述數(shù)據(jù)轉(zhuǎn)換單元接收數(shù)據(jù)的方法為所述數(shù)據(jù)轉(zhuǎn)換單元當自身緩存的有效數(shù)據(jù)長度為零、且輸入端連接的數(shù)據(jù)緩存單元的存儲狀態(tài)非空時,從輸入端連接的數(shù)據(jù)緩存單元接收數(shù)據(jù)并緩存;所述數(shù)據(jù)轉(zhuǎn)換單元對接收到的數(shù)據(jù)進行算法處理的方法為所述數(shù)據(jù)轉(zhuǎn)換單元當輸出端連接的數(shù)據(jù)緩存單元的存儲狀態(tài)為空、且輸入端連接的數(shù)據(jù)緩存單元的存儲狀態(tài)非空時,對自身緩存的數(shù)據(jù)進行算法處理。
6.根據(jù)權(quán)利要求2至5任一項所述的方法,其特征在于,步驟B中,所述數(shù)據(jù)緩存單元記錄自身存儲狀態(tài)的方法為當數(shù)據(jù)緩存單元接收到數(shù)據(jù)時,該數(shù)據(jù)緩存單元記錄自身存儲狀態(tài)為非空;當數(shù)據(jù)緩存單元輸出數(shù)據(jù)時,如果自身緩存的有效數(shù)據(jù)長度為零,則該數(shù)據(jù)緩存單元記錄自身存儲狀態(tài)為空。
7.根據(jù)權(quán)利要求1至3任一項所述的方法,其特征在于,所述初始算法處理對應的數(shù)據(jù)轉(zhuǎn)換單元從數(shù)據(jù)源接收數(shù)據(jù)的方法為按預先在該數(shù)據(jù)轉(zhuǎn)換單元內(nèi)設置的作為數(shù)據(jù)源的源文件地址從該數(shù)據(jù)源接收數(shù)據(jù);所述最后算法處理對應的數(shù)據(jù)轉(zhuǎn)換單元輸出數(shù)據(jù)的方法為按預先在該數(shù)據(jù)轉(zhuǎn)換單元內(nèi)設置的數(shù)據(jù)輸出的目標文件地址向該目標文件輸出數(shù)據(jù)。
8.根據(jù)權(quán)利要求4或5所述的方法,其特征在于,所述數(shù)據(jù)緩存單元從數(shù)據(jù)源接收數(shù)據(jù)的方法為按預先在該數(shù)據(jù)緩存單元內(nèi)設置的作為數(shù)據(jù)源的源文件地址從該數(shù)據(jù)源接收數(shù)據(jù);所述最后算法處理對應的數(shù)據(jù)轉(zhuǎn)換單元輸出端連接的數(shù)據(jù)緩存單元輸出數(shù)據(jù)的方法為按預先在該數(shù)據(jù)緩存單元內(nèi)設置的數(shù)據(jù)輸出的目標文件地址向該目標文件輸出數(shù)據(jù)。
9.一種芯片仿真平臺中的數(shù)據(jù)處理系統(tǒng),其特征在于,該系統(tǒng)包括按當前算法仿真模型中各個算法處理組合方式連接的一個以上數(shù)據(jù)轉(zhuǎn)換單元;每一數(shù)據(jù)轉(zhuǎn)換單元,用于封裝自身對應的算法處理,對接收到的數(shù)據(jù)進行該算法處理并輸出。
10.根據(jù)權(quán)利要求9所述的系統(tǒng),其特征在于,在相連的數(shù)據(jù)轉(zhuǎn)換單元之間進一步包括數(shù)據(jù)緩存單元;所述數(shù)據(jù)緩存單元,用于從自身輸入端連接的數(shù)據(jù)轉(zhuǎn)換單元接收數(shù)據(jù)進行緩存,輸出數(shù)據(jù)給自身輸出端連接的數(shù)據(jù)轉(zhuǎn)換單元,記錄自身存儲狀態(tài)并分別輸出至自身輸出端和輸入端連接的數(shù)據(jù)轉(zhuǎn)換單元;所述算法仿真模型中初始算法處理對應的數(shù)據(jù)轉(zhuǎn)換單元進一步用于從自身輸出端連接的數(shù)據(jù)緩存單元接收存儲狀態(tài),根據(jù)接收到的存儲狀態(tài)確定是否接收數(shù)據(jù);所述算法仿真模型中最后算法處理對應的數(shù)據(jù)轉(zhuǎn)換單元進一步用于從自身輸入端連接的數(shù)據(jù)緩存單元接收存儲狀態(tài),根據(jù)接收到的存儲狀態(tài)確定是否從該輸入端連接的數(shù)據(jù)緩存單元接收數(shù)據(jù);除所述初始算法處理對應的數(shù)據(jù)轉(zhuǎn)換單元和所述最后算法處理對應的數(shù)據(jù)轉(zhuǎn)換單元之外的其它數(shù)據(jù)轉(zhuǎn)換單元進一步用于從自身輸入端和輸出端連接的數(shù)據(jù)緩存單元接收存儲狀態(tài),根據(jù)接收到的存儲狀態(tài)確定是否從該輸入端連接的數(shù)據(jù)緩存單元接收數(shù)據(jù)。
11.根據(jù)權(quán)利要求10所述的系統(tǒng),其特征在于,所述初始算法處理對應的數(shù)據(jù)轉(zhuǎn)換單元包括轉(zhuǎn)換器,用于封裝算法處理,接收自身所在數(shù)據(jù)轉(zhuǎn)換單元輸出端連接的數(shù)據(jù)緩存單元的存儲狀態(tài),根據(jù)接收到的存儲狀態(tài)確定是否從所述數(shù)據(jù)接收模塊接收數(shù)據(jù),對接收到的數(shù)據(jù)進行算法處理并輸出至自身所在數(shù)據(jù)轉(zhuǎn)換單元輸出端連接的數(shù)據(jù)緩存單元;數(shù)據(jù)接收模塊,用于從自身所在數(shù)據(jù)轉(zhuǎn)換單元的輸入端接收數(shù)據(jù),緩存并輸出數(shù)據(jù)至所述轉(zhuǎn)換器,記錄自身緩存的有效數(shù)據(jù)長度,根據(jù)該有效數(shù)據(jù)長度確定是否接收數(shù)據(jù);所述最后算法處理對應的數(shù)據(jù)轉(zhuǎn)換單元包括轉(zhuǎn)換器,用于封裝算法處理,接收自身所在數(shù)據(jù)轉(zhuǎn)換單元輸入端連接的數(shù)據(jù)緩存單元的存儲狀態(tài),根據(jù)接收到的存儲狀態(tài)確定是否從所述數(shù)據(jù)接收模塊接收數(shù)據(jù),對接收到的數(shù)據(jù)進行算法處理并輸出;數(shù)據(jù)接收模塊,用于從自身所在數(shù)據(jù)轉(zhuǎn)換單元輸入端連接的數(shù)據(jù)緩存單元接收存儲狀態(tài)和數(shù)據(jù),緩存并輸出數(shù)據(jù)至所述轉(zhuǎn)換器,記錄自身緩存的有效數(shù)據(jù)長度,根據(jù)該有效數(shù)據(jù)長度和接收到的存儲狀態(tài)確定是否從自身所在數(shù)據(jù)轉(zhuǎn)換單元輸入端連接的數(shù)據(jù)緩存單元接收數(shù)據(jù);除所述初始算法處理對應的數(shù)據(jù)轉(zhuǎn)換單元和所述最后算法處理對應的數(shù)據(jù)轉(zhuǎn)換單元之外的其它數(shù)據(jù)轉(zhuǎn)換單元包括轉(zhuǎn)換器,用于封裝算法處理,接收自身所在數(shù)據(jù)轉(zhuǎn)換單元輸入端和輸出端連接的數(shù)據(jù)緩存單元的存儲狀態(tài),根據(jù)接收到的存儲狀態(tài)確定是否從所述數(shù)據(jù)接收模塊接收數(shù)據(jù),對接收到的數(shù)據(jù)進行算法處理并輸出;數(shù)據(jù)接收模塊,用于從自身所在數(shù)據(jù)轉(zhuǎn)換單元輸入端連接的數(shù)據(jù)緩存單元接收存儲狀態(tài)和數(shù)據(jù),緩存并輸出數(shù)據(jù)至所述轉(zhuǎn)換器,記錄自身緩存的有效數(shù)據(jù)長度,根據(jù)該有效數(shù)據(jù)長度和接收到的存儲狀態(tài)確定是否從自身所在數(shù)據(jù)轉(zhuǎn)換單元輸入端連接的數(shù)據(jù)緩存單元接收數(shù)據(jù)。
12.根據(jù)權(quán)利要求11所述的系統(tǒng),其特征在于,所述數(shù)據(jù)接收模塊包括存儲器和地址計數(shù)器;所述地址計數(shù)器用于監(jiān)控所述存儲器的讀寫操作,記錄該存儲器緩存的有效數(shù)據(jù)長度并輸出至該存儲器;所述初始算法處理對應的數(shù)據(jù)轉(zhuǎn)換單元的數(shù)據(jù)接收模塊中的存儲器,用于從自身所在數(shù)據(jù)轉(zhuǎn)換單元輸入端接收數(shù)據(jù),緩存并輸出數(shù)據(jù)至所述轉(zhuǎn)換器,從所述地址計數(shù)器接收有效數(shù)據(jù)長度,根據(jù)該有效數(shù)據(jù)長度確定是否接收數(shù)據(jù);除所述初始算法處理對應的數(shù)據(jù)轉(zhuǎn)換單元之外的其它數(shù)據(jù)轉(zhuǎn)換單元的數(shù)據(jù)接收模塊中的存儲器,用于從自身所在數(shù)據(jù)轉(zhuǎn)換單元輸入端連接的數(shù)據(jù)緩存單元接收存儲狀態(tài)和數(shù)據(jù),從所述地址計數(shù)器接收有效數(shù)據(jù)長度,根據(jù)該有效數(shù)據(jù)長度和存儲狀態(tài)確定是否接收數(shù)據(jù),緩存并輸出數(shù)據(jù)至所述轉(zhuǎn)換器。
13.根據(jù)權(quán)利要求9所述的系統(tǒng),其特征在于,在每一數(shù)據(jù)轉(zhuǎn)換單元的輸入端和輸出端分別連接數(shù)據(jù)緩存單元、且兩個數(shù)據(jù)轉(zhuǎn)換單元之間僅連有一個數(shù)據(jù)緩存單元;所述數(shù)據(jù)緩存單元,用于從自身輸入端接收數(shù)據(jù)進行緩存,輸出數(shù)據(jù),并記錄自身存儲狀態(tài)并分別輸出;所述數(shù)據(jù)轉(zhuǎn)換單元進一步用于從自身輸入端和輸出端連接的數(shù)據(jù)緩存單元接收存儲狀態(tài),根據(jù)接收到的存儲狀態(tài)確定是否從該輸入端連接的數(shù)據(jù)緩存單元接收數(shù)據(jù)。
14.根據(jù)權(quán)利要求13所述的系統(tǒng),其特征在于,所述數(shù)據(jù)轉(zhuǎn)換單元包括轉(zhuǎn)換器,用于封裝算法處理,從自身所在數(shù)據(jù)轉(zhuǎn)換單元輸入端和輸出端連接的數(shù)據(jù)緩存單元接收存儲狀態(tài),根據(jù)接收到的存儲狀態(tài)確定是否從所述數(shù)據(jù)接收模塊接收數(shù)據(jù)進行算法處理并輸出;數(shù)據(jù)接收模塊,用于從自身所在數(shù)據(jù)轉(zhuǎn)換單元輸入端連接的數(shù)據(jù)緩存單元接收存儲狀態(tài),記錄自身緩存的有效數(shù)據(jù)長度,根據(jù)該有效數(shù)據(jù)長度為零和接收到的存儲狀態(tài)確定是否接收數(shù)據(jù),緩存并輸出數(shù)據(jù)至所述轉(zhuǎn)換器。
15.根據(jù)權(quán)利要求14所述的系統(tǒng),其特征在于,所述數(shù)據(jù)接收模塊包括存儲器,用于從自身所在數(shù)據(jù)轉(zhuǎn)換單元輸入端連接的數(shù)據(jù)緩存單元接收存儲狀態(tài),從所述地址計數(shù)器接收有效數(shù)據(jù)長度,根據(jù)該有效數(shù)據(jù)長度和接收到的存儲狀態(tài)確定是否接收數(shù)據(jù),緩存并輸出數(shù)據(jù)至所述轉(zhuǎn)換器;地址計數(shù)器,用于監(jiān)控所述存儲器的讀寫操作,記錄該存儲器緩存的有效數(shù)據(jù)長度并輸出至該存儲器。
16.根據(jù)權(quán)利要求10至15任一項所述的系統(tǒng),其特征在于,所述數(shù)據(jù)緩存單元包括緩存器,用于從自身所在數(shù)據(jù)緩存單元輸入端接收數(shù)據(jù)進行緩存,并從自身所在數(shù)據(jù)緩存單元輸出端輸出數(shù)據(jù);讀寫探測器,用于監(jiān)控所述緩存器的讀寫操作,記錄該緩存器的存儲狀態(tài)并輸出給所述狀態(tài)存儲器;狀態(tài)存儲器,用于從所述讀寫探測器接收存儲狀態(tài)并輸出。
全文摘要
本發(fā)明公開了一種芯片仿真平臺中的數(shù)據(jù)處理方法,將芯片仿真平臺所能提供的各個算法處理分別封裝至各個數(shù)據(jù)轉(zhuǎn)換單元;當要按算法仿真模型處理數(shù)據(jù)時,該方法包括A.按當前算法仿真模型中各個算法處理的組合方式連接該算法仿真模型中各個算法處理對應各個數(shù)據(jù)轉(zhuǎn)換單元,并向當前算法仿真模型中的初始算法處理對應的數(shù)據(jù)轉(zhuǎn)換單元輸入數(shù)據(jù);B.每一數(shù)據(jù)轉(zhuǎn)換單元對自身接收到的數(shù)據(jù)進行對應的算法處理并輸出,由當前算法仿真模型中最后的算法處理對應的數(shù)據(jù)轉(zhuǎn)換單元輸出結(jié)果數(shù)據(jù)。本發(fā)明還公開了一種系統(tǒng),用于本發(fā)明方法及系統(tǒng)能準確對數(shù)據(jù)進行算法仿真模型的算法處理。
文檔編號G06F17/50GK1804846SQ20051009712
公開日2006年7月19日 申請日期2005年12月30日 優(yōu)先權(quán)日2005年12月30日
發(fā)明者游明琦 申請人:北京中星微電子有限公司