專利名稱:系統(tǒng)大規(guī)模集成電路設計支持設備及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及系統(tǒng)LSI(大規(guī)模集成電路)設計支持設備和系統(tǒng)LSI設計支持方法,用于支持將以高級語言描述的系統(tǒng)程序所實現(xiàn)的功能分配給包括微處理器、數(shù)字信號處理和專用邏輯電路的系統(tǒng)LSI。
背景技術(shù):
近來,在單片LSI上安裝包括多個功能(feature)的系統(tǒng)已隨著LSI的組裝密度的提高成為可能。LSI(在本文中指系統(tǒng)LSI)包括不同類型的處理單元,該處理單元包括微處理器、數(shù)字信號處理器和專用邏輯電路以及存儲器。各種系統(tǒng)功能都由合適的處理單元執(zhí)行。
每個處理單元都具有單獨的體系結(jié)構(gòu),適合執(zhí)行特定的處理。例如,微處理器(在本文中指CPU)適合確定從LSI的外部輸入的各種控制信息或執(zhí)行以高級語言描述的程序中的具有復雜算法的處理。
數(shù)字信號處理器(在本文中指DSP)適合高速執(zhí)行復雜的算術(shù)運算。專用邏輯電路能夠高效地執(zhí)行簡單算術(shù)運算,但不適合執(zhí)行伴隨著復雜判斷條件的處理。
將系統(tǒng)功能分配給哪個處理單元是由下面的過程決定的。首先,基于描述了部分或全部的系統(tǒng)操作的程序作簡單的分析。在此分析中,處理每個程序功能單元,也就是模塊,或以如C語言的高級語言描述的函數(shù)的處理時間。基于此信息,設計者將系統(tǒng)功能分配給合適的處理單元。接著,設計者計算詳細的處理時間以及每個處理單元的執(zhí)行周期的數(shù)目。倘若到此階段為止已發(fā)現(xiàn)問題,設計者就編寫合乎該處理單元的內(nèi)置程序,例如由CPU執(zhí)行的程序或用于DSP的程序,并設計專用邏輯電路來計算正確的處理時間。
一種設計支持方法已被提出用以支持前面所提到的一系列處理(例如參見已提出公開的日本專利號160949/1997,第4-14頁及圖1)。按照該已提出公開的日本專利號160949/1997,輸入通過編譯以高級語言描述的包含多個函數(shù)的程序所得的目標碼,以執(zhí)行仿真并記錄/輸出處理時間和預先指定的部分的處理計算,由此,根據(jù)處理時間的長度來選擇以硬件實現(xiàn)或用專用邏輯電路來處理的部件。
雖然該相關(guān)技術(shù)的方法支持基于處理時間將特定的系統(tǒng)功能分配給專用邏輯電路,但該方法不具備合乎其它標準所確定的信息。換句話說,倘若在實現(xiàn)主要使用了某些系統(tǒng)功能中的簡單算術(shù)運算的功能A(Feature A)中,CPU滿足該處理時間,那么就不需要用專用邏輯電路執(zhí)行處理。在這種情況下,CPU實際上執(zhí)行了不適合其結(jié)構(gòu)的處理。這就導致了大量不必要的運算從而引起功耗的增加。
另一個例子是倘若CPU不能在預定的時間內(nèi)實現(xiàn)具有使用某些系統(tǒng)功能中的多重條件判斷的復雜算法的功能B(Feature B),那么功能B就被分配給專用邏輯電路。問題是需要多級狀態(tài)變換控制電路來完成這種用專用邏輯電路完成的復雜處理。這就增加了專用邏輯電路的尺寸,相應的設計周期也將變得很長。
發(fā)明內(nèi)容
本發(fā)明就是考慮到上述事實而做出的,其目標是提供系統(tǒng)LSI設計支持設備和系統(tǒng)LSI設計支持方法,用于支持將系統(tǒng)功能充分地分配給系統(tǒng)LSI中的具有不同體系結(jié)構(gòu)的處理單元。
為了解決上述問題,本發(fā)明的第一方面提供了系統(tǒng)LSI設計支持設備,用于支持將系統(tǒng)功能分配給包括具有不同體系結(jié)構(gòu)的處理單元的系統(tǒng)LSI的設計,該設備具有以高級語言描述系統(tǒng)功能的程序作為輸入,其特征在于該設備包括函數(shù)提取裝置,用于提取在程序中描述的函數(shù);分析裝置,用于計算在由函數(shù)提取裝置提取的每個函數(shù)中描述的條件分支語句的數(shù)目;以及計算裝置,用于基于分析裝置對由函數(shù)提取裝置提取的每個函數(shù)的計算結(jié)果,輸出計算結(jié)果信息。
本發(fā)明的第二方面提供了系統(tǒng)LSI設計支持方法,用于支持將系統(tǒng)功能分配給包括具有不同體系結(jié)構(gòu)的處理單元的系統(tǒng)LSI的設計,其特征在于該方法包括步驟輸入以高級語言描述系統(tǒng)功能的程序;提取在程序中描述的函數(shù);計算在由函數(shù)提取裝置提取的每個函數(shù)中描述的條件分支語句的數(shù)目;以及用于基于分析裝置對由函數(shù)提取裝置提取的每個函數(shù)的計算結(jié)果,輸出計算結(jié)果信息。
按照這種配置結(jié)構(gòu),基于關(guān)于條件分支語句的數(shù)目的系統(tǒng)LSI設計支持信息,將系統(tǒng)的功能恰當?shù)胤峙浣o具有不同體系結(jié)構(gòu)的處理單元就成為可能。
本發(fā)明的第三方面提供了按照第一方面的系統(tǒng)LSI設計支持設備,其特征在于分析裝置計算在由函數(shù)提取裝置提取的每個函數(shù)中描述的條件分支語句的嵌套數(shù)目。
本發(fā)明的第四方面提供了按照第十四方面的系統(tǒng)LSI設計支持方法,其特征在于該方法包括計算在每個被提取出的函數(shù)中描述的條件分支語句的嵌套數(shù)目的步驟。
按照這種配置結(jié)構(gòu),基于關(guān)于條件分支語句的嵌套數(shù)目的系統(tǒng)LSI設計支持信息,將系統(tǒng)的功能恰當?shù)胤峙浣o具有不同體系結(jié)構(gòu)的處理單元就成為可能。
本發(fā)明的第五方面提供了按照第一或第二方面的系統(tǒng)LSI設計支持設備,其特征在于,基于涉及在由函數(shù)提取裝置提取的每個函數(shù)中描述的條件分支語句的條件的變量計算處理,分析裝置計算產(chǎn)生該變量所需的函數(shù)的數(shù)目。
本發(fā)明的第六方面提供了按照第十四或第十五方面的系統(tǒng)LSI設計支持方法,其特征在于,該方法包括基于涉及在每個被提取出的函數(shù)中描述的條件分支語句的條件的變量計算處理,計算產(chǎn)生變量所需的函數(shù)的數(shù)目的步驟。
按照這種配置結(jié)構(gòu),基于涉及產(chǎn)生與條件分支語句的條件有關(guān)的變量所需的函數(shù)數(shù)目的系統(tǒng)LSI設計支持信息,將系統(tǒng)提供的功能恰當?shù)胤峙浣o具有不同體系結(jié)構(gòu)的處理單元就成為可能。
本發(fā)明的第七方面提供了按照第一至第三方面的任意一個的系統(tǒng)LSI設計支持設備,其特征在于該設備包括映射裝置,用于比較限定信息和從計算裝置輸出的計算結(jié)果信息,以便將合適的處理單元映射給每個函數(shù),其中從處理單元處理的條件分支語句的最佳數(shù)目、條件分支語句的最佳嵌套數(shù)目以及產(chǎn)生涉及條件分支語句的條件的變量所需的最佳函數(shù)數(shù)目所選出的多種組合是按單獨的處理單元限定的。
本發(fā)明的第八方面提供了按照第十四至第十六方面的任意一個的系統(tǒng)LSI設計支持方法,其特征在于該方法包括步驟輸入限定信息,其中從處理單元處理的條件分支語句的最佳的數(shù)目、條件分支語句的嵌套數(shù)目以及產(chǎn)生涉及條件分支語句的條件的變量所需的函數(shù)數(shù)目中所選出的多種組合是按單獨的處理單元限定的;以及比較限定信息和計算結(jié)果信息,以便將合適的處理單元映射給每個函數(shù)。
按照這種配置結(jié)構(gòu),基于關(guān)于從條件分支語句的數(shù)目、條件分支語句的嵌套數(shù)目以及產(chǎn)生與條件分支語句的條件有關(guān)的變量所需的函數(shù)數(shù)目中所選出的多種組合的系統(tǒng)LSI設計支持信息,將系統(tǒng)的功能恰當?shù)胤峙浣o具有不同體系結(jié)構(gòu)的處理單元就成為可能。
本發(fā)明的第九方面提供了系統(tǒng)LSI設計支持設備,用于支持將系統(tǒng)功能分配給包括具有不同體系結(jié)構(gòu)的處理單元的系統(tǒng)LSI的設計,該設備具有以高級語言描述系統(tǒng)功能的程序作為輸入,其特征在于該設備包括函數(shù)提取裝置,用于提取在程序中描述的函數(shù);分析裝置,用于計算在由函數(shù)提取裝置提取的每個函數(shù)中描述的循環(huán)控制語句的數(shù)目;以及計算裝置,用于輸出計算結(jié)果信息,其中對于由函數(shù)提取裝置提取的每個函數(shù),將分析裝置的計算結(jié)果進行求和。
本發(fā)明的第十方面提供了系統(tǒng)LSI支持設計方法,用于支持將系統(tǒng)功能分配給包括具有不同體系結(jié)構(gòu)的處理單元的系統(tǒng)LSI的設計,其特征在于該方法包括步驟輸入以高級語言描述系統(tǒng)功能的程序;提取在程序中描述的函數(shù);計算在由函數(shù)提取裝置提取的每個函數(shù)中描述的循環(huán)控制語句的數(shù)目;以及基于分析裝置對由函數(shù)提取裝置提取的每個函數(shù)的計數(shù)結(jié)果,輸出計算結(jié)果信息。
按照這種配置結(jié)構(gòu),基于關(guān)于循環(huán)控制語句的數(shù)目的系統(tǒng)LSI設計支持信息,將系統(tǒng)的功能恰當?shù)胤峙浣o具有不同體系結(jié)構(gòu)的處理單元就成為可能。
本發(fā)明的第十一方面提供了按照第五方面的系統(tǒng)LSI設計支持設備,其特征在于分析裝置計算在由函數(shù)提取裝置提取的每個函數(shù)中描述的循環(huán)控制語句的嵌套數(shù)目。
本發(fā)明的第十二方面提供了按照第十八方面的系統(tǒng)LSI設計支持方法,其特征在于該方法包括計算在每個被提取出的函數(shù)中描述的循環(huán)控制語句的嵌套數(shù)目的步驟。
按照這種配置結(jié)構(gòu),基于關(guān)于循環(huán)控制語句的嵌套數(shù)目的系統(tǒng)LSI設計支持信息,將系統(tǒng)的功能恰當?shù)胤峙浣o具有不同體系結(jié)構(gòu)的處理單元就成為可能。
本發(fā)明的第十三方面提供了按照第五或第六方面的系統(tǒng)LSI設計支持設備,其特征在于,基于與在由函數(shù)提取裝置提取的每個函數(shù)中描述的循環(huán)控制語句的循環(huán)次數(shù)有關(guān)的變量的計算處理,分析裝置計算產(chǎn)生該變量所需的函數(shù)的數(shù)目。
本發(fā)明的第十四方面提供了按照第十八或第十九方面的系統(tǒng)LSI設計支持方法,其特征在于,該方法包括基于與在每個被提取出的函數(shù)中描述的循環(huán)控制語句的循環(huán)次數(shù)有關(guān)的變量的計算處理,計算產(chǎn)生該變量所需的函數(shù)的數(shù)目的步驟。
按照這種配置結(jié)構(gòu),基于關(guān)于產(chǎn)生與循環(huán)控制語句的循環(huán)次數(shù)有關(guān)的變量所需的函數(shù)的數(shù)目的系統(tǒng)LSI設計支持信息,將系統(tǒng)的功能恰當?shù)胤峙浣o具有不同體系結(jié)構(gòu)的處理單元就成為可能。
本發(fā)明的第十五方面提供了按照第五至第七方面的任意一個的系統(tǒng)LSI設計支持設備,其特征在于該設備包括映射裝置,用于比較限定信息和從計算裝置輸出的計算結(jié)果信息,以便將合適的處理單元映射給每個函數(shù),其中從處理單元處理的循環(huán)控制語句的最佳數(shù)目、循環(huán)控制語句的最佳嵌套數(shù)目、以及產(chǎn)生與循環(huán)控制語句的循環(huán)次數(shù)有關(guān)的變量所需的最佳函數(shù)數(shù)目中所選出的多種組合是按單獨的處理單元限定的。
本發(fā)明的第十六方面提供按照第十八至第二十方面的任意一個的系統(tǒng)LSI設計支持方法,其特征在于該方法包括步驟輸入限定信息,其中從處理單元處理的循環(huán)控制語句的最佳數(shù)目、循環(huán)控制語句的嵌套數(shù)目以及產(chǎn)生與循環(huán)控制語句的循環(huán)次數(shù)有關(guān)的變量所需的函數(shù)數(shù)目中所選出的多種組合是按單獨的處理單元限定的;以及比較限定信息和計算結(jié)果信息,以便將合適的處理單元映射給每個函數(shù)。
按照這種配置結(jié)構(gòu),基于關(guān)于循環(huán)控制語句的數(shù)目、循環(huán)控制語句的嵌套數(shù)目、以及產(chǎn)生與循環(huán)控制語句的循環(huán)次數(shù)有關(guān)的變量所需的函數(shù)數(shù)目中所選出的多種組合的系統(tǒng)LSI設計支持信息,將系統(tǒng)的功能恰當?shù)胤峙浣o具有不同體系結(jié)構(gòu)的處理單元就成為可能。
本發(fā)明的第十七方面提供了系統(tǒng)LSI設計支持設備,用于支持將系統(tǒng)功能分配給包括具有不同體系結(jié)構(gòu)的處理單元的系統(tǒng)LSI的設計,該設備具有以高級語言描述系統(tǒng)功能的程序作為輸入,其特征在于該設備包括函數(shù)提取裝置,用于提取在程序中描述的函數(shù);分析裝置,用于計算在由函數(shù)提取裝置提取的每個函數(shù)中描述的條件分支語句和循環(huán)控制語句的數(shù)目;以及計算裝置,用于基于分析裝置對由函數(shù)提取裝置提取的每個函數(shù)的計數(shù)結(jié)果,輸出計算結(jié)果信息。
本發(fā)明的第十八方面提供了系統(tǒng)LSI設計支持方法,用于支持將系統(tǒng)功能分配給包括具有不同體系結(jié)構(gòu)的處理單元的系統(tǒng)LSI的設計,其特征在于該方法包括步驟輸入以高級語言描述系統(tǒng)功能的程序;提取在程序中描述的函數(shù);計算在由函數(shù)提取裝置提取的每個函數(shù)中描述的條件分支語句和循環(huán)控制語句的數(shù)目;以及基于分析裝置對由函數(shù)提取裝置提取的每個函數(shù)的計數(shù)結(jié)果,輸出計算結(jié)果信息。
按照這種配置結(jié)構(gòu),基于關(guān)于條件分支語句和循環(huán)控制語句的數(shù)目的系統(tǒng)LSI設計支持信息,將系統(tǒng)的功能恰當?shù)胤峙浣o具有不同體系結(jié)構(gòu)的處理單元就成為可能。
本發(fā)明的第十九方面提供了按照第九方面的系統(tǒng)LSI設計支持設備,其特征在于分析裝置計算在由函數(shù)提取裝置提取的每個函數(shù)中描述的條件分支語句和循環(huán)控制語句的嵌套數(shù)目。
本發(fā)明的第二十方面提供了按照第二十二方面的系統(tǒng)LSI設計支持方法,其特征在于該方法包括計算在每個被提取出的函數(shù)中描述的條件分支語句和循環(huán)控制語句的嵌套數(shù)目的步驟。
按照這種配置結(jié)構(gòu),基于關(guān)于條件分支語句和循環(huán)控制語句的嵌套數(shù)目的系統(tǒng)LSI設計支持信息,將系統(tǒng)的功能恰當?shù)胤峙浣o具有不同體系結(jié)構(gòu)的處理單元就成為可能。
本發(fā)明的第二十一方面提供了按照第九或第十方面的系統(tǒng)LSI設計支持設備,其特征在于基于與在由函數(shù)提取裝置提取的每個函數(shù)中描述的條件分支語句和與循環(huán)控制語句的循環(huán)次數(shù)有關(guān)的變量的計算處理,分析裝置計算產(chǎn)生這些變量所需的函數(shù)的數(shù)目。
本發(fā)明的第二十二方面提供了按照第二十二或第二十三方面的系統(tǒng)LSI設計支持方法,其特征在于,該方法包括基于與在每個被提取出的函數(shù)中描述的條件分支語句的條件有關(guān)的變量和與循環(huán)控制語句的循環(huán)次數(shù)有關(guān)的變量的計算處理,計算產(chǎn)生這些變量所需的函數(shù)的數(shù)目的步驟。
按照這種配置結(jié)構(gòu),基于關(guān)于產(chǎn)生與條件分支語句的條件有關(guān)的變量和與循環(huán)控制語句的循環(huán)次數(shù)有關(guān)的變量所需的函數(shù)數(shù)目的系統(tǒng)LSI設計支持信息,將系統(tǒng)的功能恰當?shù)胤峙浣o具有不同體系結(jié)構(gòu)的處理單元就成為可能。
本發(fā)明第二十三方面提供了按照第九至第十一方面的任意一個的系統(tǒng)LSI設計支持設備,其特征在于該設備包括用于比較限定信息和從計算裝置輸出的計算結(jié)果信息、以便將合適的處理單元映射給每個函數(shù)的映射裝置,其中從處理單元處理的條件分支語句和循環(huán)控制語句的最佳數(shù)目、條件分支語句和循環(huán)控制語句的最佳嵌套數(shù)目、以及產(chǎn)生與條件分支語句和循環(huán)控制語句的循環(huán)次數(shù)有關(guān)的變量所需的最佳函數(shù)數(shù)目中所選出的多種組合是按單獨的處理單元限定的。
本發(fā)明的第二十四方面提供按照第二十二至第二十四方面的任意一個的系統(tǒng)LSI設計支持方法,其特征在于該方法包括步驟輸入限定信息,其中從處理單元處理的條件分支語句和循環(huán)控制語句的最佳數(shù)目、條件分支語句和循環(huán)控制語句的最佳嵌套數(shù)目、以及產(chǎn)生與條件分支語句的條件有關(guān)的變量和與循環(huán)控制語句的循環(huán)次數(shù)有關(guān)的變量所需的最佳函數(shù)數(shù)目中所選出的多種組合是按單獨的處理單元限定的;以及比較限定信息和計算結(jié)果信息,以便將合適的處理單元映射給每個函數(shù)。
按照這種配置結(jié)構(gòu),基于關(guān)于從條件分支語句和循環(huán)控制語句的數(shù)目、條件分支語句和循環(huán)控制語句的嵌套數(shù)目、以及產(chǎn)生與條件分支語句的條件有關(guān)的變量和與循環(huán)控制語句的循環(huán)次數(shù)有關(guān)的變量所需的函數(shù)數(shù)目中所選出的多種組合的系統(tǒng)LSI設計支持信息,將系統(tǒng)的功能恰當?shù)胤峙浣o具有不同體系結(jié)構(gòu)的處理單元就成為可能。
本發(fā)明的第二十五方面提供了按照第一至第十二方面的任意一個的系統(tǒng)LSI設計支持設備,其特征在于函數(shù)提取裝置包括函數(shù)組合裝置,用于在由函數(shù)提取裝置提取的函數(shù)中任意選擇出的多個函數(shù)集合中至少指定一個,并由分析裝置對由函數(shù)組合裝置指定的每一函數(shù)集合執(zhí)行分析。
本發(fā)明的第二十六方面提供了按照第十四至第二十五方面的任意一個的系統(tǒng)LSI設計支持方法,該方法包括從提取的函數(shù)中任意選擇的多個函數(shù)集合中指定至少一個的步驟,其特征在于該方法對每個指定的函數(shù)集合執(zhí)行計算。
按照這種配置結(jié)構(gòu),基于關(guān)于互相關(guān)聯(lián)的函數(shù)由同一處理單元處理的情況的系統(tǒng)LSI設計支持信息,將系統(tǒng)的功能恰當?shù)胤峙浣o具有不同體系結(jié)構(gòu)的處理單元就成為可能。
本發(fā)明的第二十七方面提供了用于存儲提供給系統(tǒng)LSI設計支持設備的數(shù)據(jù)的數(shù)據(jù)庫設備,該系統(tǒng)LSI設計支持設備支持將系統(tǒng)功能分配給包括具有不同體系結(jié)構(gòu)的處理單元的系統(tǒng)LSI的設計,其特征在于該數(shù)據(jù)涉及以高級語言描述系統(tǒng)功能的程序,并且該數(shù)據(jù)是限定信息,其中按每個單獨的處理單元限定由處理單元處理的條件分支語句的最佳數(shù)目。
按照這種配置結(jié)構(gòu),為LSI設計支持設備提供用于產(chǎn)生涉及條件分支語句的系統(tǒng)LSI設計支持信息的數(shù)據(jù)就成為可能。
本發(fā)明的第二十八方面提供了用于存儲提供給系統(tǒng)LSI設計支持設備的數(shù)據(jù)的數(shù)據(jù)庫設備,該系統(tǒng)LSI設計支持設備支持將系統(tǒng)功能分配給包括具有不同體系結(jié)構(gòu)的處理單元的系統(tǒng)LSI的設計,其特征在于該數(shù)據(jù)涉及以高級語言描述系統(tǒng)功能的程序,并且該數(shù)據(jù)是限定信息,其中按每個單獨的處理單元限定由處理單元處理的循環(huán)控制語句的最佳數(shù)目。
按照這種配置結(jié)構(gòu),為LSI設計支持設備提供用于產(chǎn)生涉及循環(huán)控制語句的系統(tǒng)LSI設計支持信息的數(shù)據(jù)就成為可能。
本發(fā)明的第二十九方面提供了用于存儲提供給系統(tǒng)LSI設計支持設備的數(shù)據(jù)的數(shù)據(jù)庫設備,該系統(tǒng)LSI設計支持設備支持將系統(tǒng)功能分配給包括具有不同體系結(jié)構(gòu)的處理單元的系統(tǒng)LSI的設計,其特征在于該數(shù)據(jù)涉及以高級語言描述系統(tǒng)功能的程序,并且該數(shù)據(jù)是限定信息,其中按每個單獨的處理單元限定由處理單元處理的條件分支語句和循環(huán)控制語句的最佳數(shù)目。
按照這種配置結(jié)構(gòu),為LSI設計支持設備提供用于產(chǎn)生涉及條件分支語句和循環(huán)控制語句的系統(tǒng)LSI設計支持信息的數(shù)據(jù)成為可能。
圖1是示出按照本發(fā)明實施例1的系統(tǒng)LSI設計支持設備的配置結(jié)構(gòu)的框圖;圖2是在實施例1中存儲于輔助存儲器的程序的描述實例;圖3是示出按照實施例1的函數(shù)的分析流程的流程圖;圖4是計算結(jié)果實例的概念圖表的示意圖;圖5是示出按照實施例2的函數(shù)的分析流程的流程圖;圖6是計算結(jié)果實例的概念圖表的示意圖;圖7是在實施例3中存儲于輔助存儲器的程序的描述實例;圖8是示出按照實施例3的函數(shù)的分析流程的流程圖;圖9是計算結(jié)果實例的概念圖表的示意圖;圖10是在實施例4中存儲于輔助存儲器的程序的描述實例;
圖11是示出按照實施例4的函數(shù)的分析流程的流程圖;圖12是計算結(jié)果實例的概念圖表的示意圖;圖13是示出按照實施例5的函數(shù)的分析流程的流程圖;圖14是計算結(jié)果實例的概念圖表的示意圖;圖15是在實施例6中存儲于輔助存儲器的程序的描述實例;圖16是示出按照實施例6的函數(shù)的分析流程的流程圖;圖17是計算結(jié)果實例的概念圖表的示意圖;圖18是示出按照實施例7的函數(shù)的分析流程的流程圖;圖19是計算結(jié)果實例的概念圖表的示意圖;圖20是示出按照本發(fā)明實施例8的系統(tǒng)LSI設計支持設備的配置結(jié)構(gòu)框圖;圖21是計算結(jié)果實例的概念圖表的示意圖;圖22是計算結(jié)果實例的概念圖表的示意圖;圖23是示出按照本發(fā)明實施例10的系統(tǒng)LSI設計支持設備的配置結(jié)構(gòu)的框圖;圖24是關(guān)于用于分配處理單元的條件分支語句的條件實例的概念圖表的示意圖;圖25是映射結(jié)果的概念圖表的示意圖;圖26是關(guān)于用于分配處理單元的循環(huán)控制語句的條件實例的概念圖表的示意圖;圖27是映射結(jié)果的概念圖表的示意圖;圖28是用于分配處理單元的條件實例的概念圖表的示意圖;圖29是用于分配處理單元的條件的數(shù)據(jù)項和權(quán)重因數(shù)之間的關(guān)系的概念圖表的示意圖;圖30是映射結(jié)果的概念圖表示意圖。
具體實施例方式
本發(fā)明的實施例將參照附圖進行描述。通過使用系統(tǒng)LSI設計支持設備來執(zhí)行設計的系統(tǒng)LSI包括多個具有不同體系結(jié)構(gòu)(系統(tǒng)LSI的配置結(jié)構(gòu)未示出)的處理單元(CPU、DSP和專用邏輯電路)。
(實施例1)圖1是示出按照本發(fā)明實施例1的系統(tǒng)LSI設計支持設備的配置結(jié)構(gòu)的框圖。在圖1中,計算機100包括處理器110和主存儲器120。處理器110執(zhí)行系統(tǒng)LSI設計支持設備的各種算術(shù)運算和全面控制。主存儲器120存儲描述了涉及系統(tǒng)LSI設計支持設備的運算過程的程序和數(shù)據(jù)。輔助存儲器130存儲要輸入計算機100的數(shù)據(jù)。輔助存儲器140存儲從計算機100輸出的數(shù)據(jù)。
以高級語言描述了部分或全部系統(tǒng)功能的程序132被預先存儲在輔助存儲器130(該存儲裝置未示出)中。圖2是在實施例1中存儲于輔助存儲器的程序132的描述實例。如圖2所示,該程序以C語言描述并包括多個函數(shù)。
接下來,將描述如此配置的系統(tǒng)LSI設計支持設備的操作。當程序132輸入到計算機100中時,將以主存儲器120中的函數(shù)提取部分122、分析部分124和計算部分126的順序執(zhí)行各種類型的處理。
函數(shù)提取部分122提取在程序132中描述的函數(shù)。倘若程序132如圖2所示,func_A、func_B和func_C作為函數(shù)被提取。分析部分124計算每個被提取出的函數(shù)的條件分支語句的數(shù)目。
圖3是示出按照實施例1的函數(shù)中的分析流程的流程圖。分析部分124在由函數(shù)提取部分122提取的函數(shù)中選擇一個(步驟S101)。倘若程序132如圖2所示,func_A先被選擇。接著,計算包含在函數(shù)中的條件分支語句的數(shù)目(步驟S102)。在圖2中的func_A中,if語句作為條件分支語句并且if語句的數(shù)目為3,這些if語句包括if語句211、if語句212和if語句213。條件分支語句的數(shù)目,這里是3,被記錄下來(步驟S103)。判斷是否所有函數(shù)都已完成上述處理(步驟S104)。倘若沒有完成,處理從步驟S101開始重復。如果已經(jīng)完成,則繼續(xù)執(zhí)行計算部分126中的處理。
計算部分126對由分析部分124獲得的條件分支語句的數(shù)目求和并產(chǎn)生計算結(jié)果。圖4是計算結(jié)果實例的概念圖表示意圖。計算結(jié)果信息142被存儲于輔助存儲器140中。
實施例1的配置結(jié)構(gòu)提供了描述系統(tǒng)功能的程序132的基于函數(shù)的特點。例如,獲得如下設計支持信息在上述程序?qū)嵗?,func_B使用10個條件分支語句,這樣在允許有效條件判斷的CPU上處理該函數(shù)是合適的。
(實施例2)
下面將參照圖1、2、5和6描述按照本發(fā)明實施例2的系統(tǒng)LSI設計支持設備。
實施例2與實施例1的不同之處在于圖1中的分析部分124也計算每個被提取出的函數(shù)的循環(huán)控制語句的數(shù)目。
圖5是示出按照實施例2的函數(shù)的分析流程的流程圖。分析部分124在由函數(shù)提取部分122提取的函數(shù)中選擇出一個(步驟S201)。倘若程序132如圖2所示,func_A先被選擇。接著,計算包含在函數(shù)中的條件分支語句的數(shù)目(步驟S202)。在圖2中,全部的3個if語句被計算。然后,計算包含在函數(shù)中的條件分支語句的嵌套的數(shù)目(嵌套的級數(shù))和目標條件分支語句的數(shù)目(步驟S203)。圖2的func_A中的if語句212具有在if語句211中的單級嵌套結(jié)構(gòu)。于是,將單級嵌套的條件分支語句的數(shù)目計算為1,并將該數(shù)目記錄下來(步驟S204)。判斷是否所有函數(shù)都已完成上述處理(步驟S205)。倘若沒有完成,處理從步驟S201開始重復。如果已完成,則執(zhí)行計算部分126中的處理。
計算部分126對由分析部分124獲得的條件分支語句的數(shù)目求和并產(chǎn)生計算結(jié)果。圖6是計算結(jié)果實例的概念圖表的示意圖。計算結(jié)果信息142被存儲于輔助存儲器140中。
實施例2的配置結(jié)構(gòu)以不同于實施例1的配置結(jié)構(gòu)的觀點,提供了程序132的基于函數(shù)的特點。通常,條件分支的嵌套的級數(shù)越多,處理就會越復雜,并且使用專用邏輯電路來執(zhí)行就會越困難。例如,獲得如下設計支持信息func_A在上述程序?qū)嵗惺褂昧饲短椎臈l件分支語句,這樣在允許有效條件判斷的CPU上處理該函數(shù)是合適的。
(實施例3)下面將參照圖1、7、8和9描述按照本發(fā)明實施例3的系統(tǒng)LSI設計支持設備。
實施例3與實施例1和2的不同之處在于圖1的分析部分124跟蹤每個被提取出的函數(shù)中的條件分支語句的條件的產(chǎn)生過程,并計算產(chǎn)生條件變量以便分析內(nèi)部語法所需的函數(shù)數(shù)目。圖7是實施例3中存儲于輔助存儲器中的程序132的描述實例。
圖8是示出按照實施例3的函數(shù)的分析流程的流程圖。分析部分124在由函數(shù)提取部分122提取的函數(shù)中選擇一個(步驟S301)。倘若程序132如圖7所示,func_A先被選擇。接著,分析經(jīng)由多少函數(shù)產(chǎn)生與包含在函數(shù)中的條件分支語句使用的條件有關(guān)的變量(步驟S302)。假設用于圖7中的條件分支語句211的變量AIN1由func_A外部的函數(shù)計算,并且假設變量AIN2作為常量由外部給出。如圖7所示,變量AIN1由func_D計算,并且變量AIN1由在func_D中的兩個語句711和722所描述的func_A1和func_A2產(chǎn)生。于是,產(chǎn)生AIN1所需的函數(shù)的數(shù)目為2。變量AIN2作為常量由外部給出,使得產(chǎn)生AIN2所需的函數(shù)的數(shù)目為0。基于這種分析,產(chǎn)生條件變量所需的函數(shù)的數(shù)目和變量的數(shù)目被記錄下來(步驟S303)。判斷是否所有函數(shù)都已完成上述處理(步驟S304)。倘若沒有完成,處理從步驟S301開始重復。如果已完成,則執(zhí)行計算部分126中的處理。
計算部分126對由分析部分124獲得的條件分支語句的數(shù)目、產(chǎn)生條件變量所需的函數(shù)的數(shù)目和變量的數(shù)目進行求和并產(chǎn)生計算結(jié)果。圖9是計算結(jié)果實例的概念圖表的示意圖。計算結(jié)果信息142被存儲于輔助存儲器140中。
實施例3的配置結(jié)構(gòu)以不同于實施例1和2的配置結(jié)構(gòu)的觀點,提供了程序132的基于函數(shù)的特點。通常,用來產(chǎn)生用于條件分支的變量的過程越多,處理就會越復雜,并且使用專用邏輯電路來執(zhí)行就會越困難。例如,獲得如下設計支持信息需要2個函數(shù)來產(chǎn)生用在func_A中的條件分支語句的變量,這樣在允許有效條件判斷的CPU上處理該函數(shù)是合適的。
(實施例4)下面將參照圖1、10、11和12描述按照本發(fā)明實施例4的系統(tǒng)LSI設計支持設備。
實施例4與實施例1至3的不同之處在于圖1的分析部分124計算每個被提取出的函數(shù)的循環(huán)控制語句的數(shù)目。圖10是在實施例4中存儲于輔助存儲器中的程序132的描述實例。
圖11是示出按照實施例4的函數(shù)的分析流程的流程圖。分析部分124在由函數(shù)提取部分122提取的函數(shù)中選擇一個(步驟S401)。倘若程序132如圖10所示,func_LA先被選擇。接著,計算包含在函數(shù)中的循環(huán)控制語句的數(shù)目(步驟S402)。在圖10的func_LA中,for語句被用作循環(huán)控制語句并且for語句的數(shù)目為3,這些for語句是for語句1011、for語句1012和for語句1013。循環(huán)控制語句的數(shù)目,這里為3,被記錄下來(步驟S403)。判斷是否所有函數(shù)都已完成上述處理(步驟S404)。倘若沒有完成,處理從步驟S401開始重復。如果已完成,則執(zhí)行計算部分126中的處理。
計算部分126對由分析部分124獲得的循環(huán)控制語句的數(shù)目求和并產(chǎn)生計算結(jié)果。圖12是計算結(jié)果實例的概念圖表的示意圖。計算結(jié)果信息142被存儲于輔助存儲器140中。
實施例4的配置結(jié)構(gòu)提供了描述系統(tǒng)功能的程序132的以函數(shù)為基礎的特點。例如,獲得如下設計支持信息上述程序?qū)嵗械膄unc_LB使用10個循環(huán)控制語句,這樣在允許有效循環(huán)控制的CPU上處理該函數(shù)是合適的。
(實施例5)下面將參照圖1、10、13和14描述按照本發(fā)明實施例5的系統(tǒng)LSI設計支持設備。
實施例5與實施例1至4的不同之處在于圖1的分析部分124還計算每個被提取出的函數(shù)的循環(huán)控制語句的嵌套數(shù)目。
圖13是示出按照實施例5的函數(shù)的分析流程的流程圖。分析部分124在由函數(shù)提取部分122提取的函數(shù)中選擇一個(步驟S501)。倘若程序132如圖10所示,func_LA先被選擇。接著,計算包含在函數(shù)中的循環(huán)控制語句的數(shù)目(步驟S502)。在圖10中,計算全部的3個for語句。然后,計算包含在函數(shù)中的循環(huán)控制語句的嵌套數(shù)目(嵌套的級數(shù))以及目標循環(huán)控制語句的數(shù)目(步驟S503)。圖10中的func_LA的for語句1012具有在for語句1011中的單級嵌套結(jié)構(gòu)。于是,單級嵌套的循環(huán)控制語句的數(shù)目就被計算為1,并將該數(shù)目記錄下來(步驟S504)。判斷是否所有函數(shù)都已完成上述處理(步驟S505)。倘若沒有完成,處理從步驟S501開始重復。如果已完成,則執(zhí)行計算部分126中的處理。
計算部分126對由分析部分124獲得的循環(huán)控制語句的數(shù)目以及嵌套的數(shù)目求和并產(chǎn)生計算結(jié)果。圖14是計算結(jié)果實例的概念圖表的示意圖。計算結(jié)果信息142被存儲于輔助存儲器140中。
實施例5的配置結(jié)構(gòu)以不同于實施例4的配置結(jié)構(gòu)的觀點,提供了程序132的基于函數(shù)的特點。通常,循環(huán)控制語句的嵌套的級數(shù)越多,處理就會越復雜,并且使用專用邏輯電路來執(zhí)行就會越困難。例如,獲得如下設計支持信息在上述程序?qū)嵗校琭unc_LA使用嵌套的循環(huán)控制語句,這樣在系統(tǒng)LSI中的DSP上處理該函數(shù)是合適的。
(實施例6)下面將參照圖1、15、16和17描述按照本發(fā)明實施例6的系統(tǒng)LSI設計支持設備。
實施例6與實施例1至5的不同之處在于圖1中的分析部分124跟蹤變量的產(chǎn)生過程,并計算產(chǎn)生條件變量所需的函數(shù)的數(shù)目以便分析內(nèi)部語法,所述變量用于指示每個被提取出的函數(shù)中的循環(huán)控制語句的循環(huán)次數(shù)。圖15是在實施例6中存儲于輔助存儲器中的程序132的描述實例。
圖16是示出按照實施例6的函數(shù)的分析流程的流程圖。分析部分124在由函數(shù)提取部分122提取的函數(shù)中選擇一個(步驟S601)。倘若程序132如圖15所示,func_LA先被選擇。接著,分析經(jīng)由多少函數(shù)產(chǎn)生與包含在函數(shù)中的循環(huán)控制語句的循環(huán)次數(shù)有關(guān)的變量(步驟S602)。假設用于指示圖15中的循環(huán)控制語句的循環(huán)次數(shù)的變量AIN1在func_LD中計算,并且假設變量AIN1由在func_LD中的兩個語句1511和1512描述的func_LA1和func_LA2產(chǎn)生。這樣,產(chǎn)生AIN1所需的函數(shù)的數(shù)目就是2?;谶@種分析,產(chǎn)生條件變量所需的函數(shù)的數(shù)目和變量的數(shù)目被記錄下來(步驟S603)。判斷是否所有函數(shù)都已完成上述處理(步驟S604)。倘若沒有完成,處理從步驟S601開始重復。如果已完成,則繼續(xù)執(zhí)行計算部分126中的處理。
計算部分126對由分析部分124獲得的循環(huán)控制語句的數(shù)目、產(chǎn)生條件變量所需的函數(shù)的數(shù)目和變量的數(shù)目求和,并產(chǎn)生計算結(jié)果。圖17是計算結(jié)果實例的概念圖表的示意圖。計算結(jié)果信息142被存儲于輔助存儲器140中。
實施例6的配置結(jié)構(gòu)以不同于實施例5的觀點,提供了程序132的基于函數(shù)的特點。通常,用于產(chǎn)生用來指示循環(huán)控制中的循環(huán)次數(shù)的變量的過程越多,處理就會越復雜,并且使用專用邏輯電路來執(zhí)行就會越困難。例如,獲得如下設計支持信息需要2個函數(shù)來產(chǎn)生用在func_LA中的循環(huán)控制語句的變量,這樣在系統(tǒng)LSI中集成的DSP上處理該函數(shù)是合適的。
(實施例7)下面將參照圖1、18和19描述按照本發(fā)明的實施例7的系統(tǒng)LSI設計支持設備。
在實施例7中,對于每個被提取出的函數(shù),圖1的分析部分124計算條件分支語句的數(shù)目、循環(huán)控制語句的數(shù)目、條件分支語句中的嵌套數(shù)目和循環(huán)控制語句的嵌套數(shù)目。而且,分析部分124跟蹤條件分支語句的條件的產(chǎn)生過程以及循環(huán)控制語句的循環(huán)次數(shù),并計算產(chǎn)生條件分支語句中的變量所需的函數(shù)的數(shù)目以及產(chǎn)生循環(huán)控制語句中的變量所需的函數(shù)數(shù)目,以便分析內(nèi)部語法。假設按照本實施例的程序132是包含圖2、7、10和15所示的細節(jié)的程序。
圖18是示出按照實施例7的函數(shù)的分析流程的流程圖。分析部分124在由函數(shù)提取部分122提取的函數(shù)中選擇一個(步驟S701)。然后分析部分124計算包含在函數(shù)中的條件分支語句的數(shù)目(步驟S702),并記錄條件分支語句的數(shù)目(步驟S703)。接著,分析部分124計算包含在函數(shù)中的條件分支語句的嵌套數(shù)目(嵌套的級數(shù))以及目標條件分支語句的數(shù)目(步驟S704),然后記錄嵌套的數(shù)目(步驟S705)。接著,分析部分124跟蹤經(jīng)由多少函數(shù)來產(chǎn)生與包含在該函數(shù)中的條件分支語句的條件有關(guān)的變量(步驟S706),并記錄產(chǎn)生這些條件變量所需的函數(shù)的數(shù)目(步驟S707)。
然后分析部分124計算包含在函數(shù)中的循環(huán)控制語句的數(shù)目(步驟S708),并記錄循環(huán)控制語句的數(shù)目(步驟S709)。接著,分析部分124計算包含在函數(shù)中的循環(huán)控制語句的嵌套的數(shù)目(嵌套的級數(shù))以及目標循環(huán)控制語句的數(shù)目(步驟S710),然后記錄嵌套的數(shù)目(步驟S711)。接著,分析部分124跟蹤經(jīng)由多少函數(shù)來產(chǎn)生與包含在該函數(shù)中的循環(huán)控制語句中所用的循環(huán)次數(shù)有關(guān)的變量(步驟S712),并記錄產(chǎn)生這些條件變量所需的函數(shù)的數(shù)目(步驟S713)。判斷是否所有函數(shù)都已完成上述處理(步驟S714)。倘若沒有完成,處理從步驟S701開始重復。如果已完成,則執(zhí)行計算部分126中的處理。
計算部分126對條件分支語句的數(shù)目和循環(huán)控制語句的數(shù)目、條件分支語句的嵌套數(shù)目和循環(huán)控制語句的嵌套數(shù)目、以及在條件分支語句中產(chǎn)生變量所需的函數(shù)數(shù)目和在循環(huán)控制語句中產(chǎn)生變量所需的函數(shù)數(shù)目進行求和,并產(chǎn)生計算結(jié)果。圖19是計算結(jié)果實例的概念圖表示意圖。計算結(jié)果信息142被存儲于輔助存儲器140中。
實施例7的配置結(jié)構(gòu)以實施例1至6的觀點,提供了程序132的基于函數(shù)的特點,從而提供了全面的設計支持信息。
(實施例8)
下面將參照圖7、8、20和21描述按照本發(fā)明的實施例8的系統(tǒng)LSI設計支持設備。
實施例8與實施例1至7不同之處在于分析是對多函數(shù)的“集合”進行,而不是跟蹤每個被提取出的函數(shù)的條件分支語句的條件的產(chǎn)生過程。圖20是示出按照本發(fā)明實施例8的系統(tǒng)LSI設計支持設備的配置結(jié)構(gòu)的框圖。輔助存儲器130存儲程序132和文件2032。文件2032具有由多個任意選出的函數(shù)所組成的“集合”的列表。函數(shù)提取部分2122提取在程序132中描述的函數(shù)并參考文件2032中指定的“集合”列表來選擇特定的函數(shù)。隨后的分析及計算對“集合”執(zhí)行而不是在單個函數(shù)上執(zhí)行。
下面將描述具有上述配置結(jié)構(gòu)的系統(tǒng)LSI設計支持設備的操作。將按照本實施例的程序132描述為包括如圖7所示的細節(jié)的程序。
函數(shù)提取部分2122提取在程序132中描述的函數(shù)并參考文件2032。在文件2032中,在程序132中互相緊密關(guān)聯(lián)的多個函數(shù)由設計者預先指定為一個“集合”。例如,圖7的程序中的func_A和產(chǎn)生由func_A使用的變量AIN1的func_D互相緊密關(guān)聯(lián),使得它們能理想地由同樣的處理單元處理。在這種情況下,給文件2032指定func_A和func_D作為要被分析的函數(shù)的“集合”,允許同時選擇這兩個函數(shù)并且在兩個函數(shù)上執(zhí)行隨后的處理。
分析部分124執(zhí)行與圖8的流程圖相同的分析。這里,條件分支語句的數(shù)目和在兩個函數(shù)func_A和func_B(或指定的“集合”)中產(chǎn)生條件變量所需的函數(shù)的數(shù)目被計算。
計算部分126對由分析部分124獲得的條件分支語句的數(shù)目和產(chǎn)生條件變量所需的函數(shù)的數(shù)目求和并產(chǎn)生計算結(jié)果。圖21是計算結(jié)果實例的概念圖表的示意圖。計算結(jié)果信息142被存儲于輔助存儲器140中。
從上述描述可知,為了在原來指定的函數(shù)的“集合”上執(zhí)行關(guān)于條件分支語句的分析,例如,互相緊密關(guān)聯(lián)的func_A和func_D的分析由單獨的處理單元執(zhí)行被預先排除。這樣獲得了涉及系統(tǒng)LSI設計的適當?shù)脑O計支持信息。
(實施例9)下面將參照圖15、16、20和22描述按照本發(fā)明的實施例9的系統(tǒng)LSI設計支持設備。
實施例9與實施例1至8的不同之處在于分析是在多函數(shù)的“集合”之上進行而不是跟蹤每個被提取出的函數(shù)的循環(huán)控制語句的循環(huán)次數(shù)的產(chǎn)生過程,以及由圖20中的分析部分124進行的分析是涉及循環(huán)控制語句的處理而不是涉及條件分支語句的處理。
下面將描述具有上述配置結(jié)構(gòu)的系統(tǒng)LSI設計支持設備的操作。將按照本實施例的程序132描述作為包括如圖15所示的細節(jié)的程序。
函數(shù)提取部分2122提取在程序132中描述的函數(shù)并參考文件2032。在文件2032中,在程序132中互相緊密關(guān)聯(lián)的多個函數(shù)由設計者預先指定為一個“集合”。例如,圖15的程序中的func_LA和產(chǎn)生由func_LA使用的變量AIN1的func_LD互相緊密關(guān)聯(lián),于是它們能理想地由同樣的處理單元處理。在這種情況下,給文件2032指定func_A和func_D作為被分析的函數(shù)的“集合”,允許同時選擇這兩個函數(shù)并且在兩個函數(shù)上執(zhí)行隨后的處理。
分析部分124執(zhí)行與圖16的流程圖相同的分析。這里,循環(huán)控制語句的數(shù)目和在兩個函數(shù)func_LA和func_LB(或指定的“集合”)中產(chǎn)生循環(huán)次數(shù)所需的函數(shù)的數(shù)目被計算。
計算部分126對由分析部分124獲得的循環(huán)控制語句的數(shù)目和產(chǎn)生循環(huán)次數(shù)所需的函數(shù)的數(shù)目求和并產(chǎn)生計算結(jié)果。圖22是計算結(jié)果實例的概念圖表的示意圖。計算結(jié)果信息142被存儲于輔助存儲器140中。
從上述描述可知,為了在預先指定的函數(shù)的“集合”上執(zhí)行關(guān)于條件分支語句的分析,例如,互相緊密關(guān)聯(lián)的func_LA和func_LD的分析由單獨的處理單元被預先排除。這樣獲得了涉及系統(tǒng)LSI設計的適當?shù)脑O計支持信息。
(實施例10)下面將參照圖2、3、4、23、24和25描述按照本發(fā)明實施例10的系統(tǒng)LSI設計支持設備。
實施例10與實施例1至9的不同之處在于主存儲器120還包括映射部分2328,用于基于描述了涉及用于分配處理單元的函數(shù)的條件的信息,將適當?shù)奶幚韱卧成浣o每個函數(shù)。圖23是示出按照本發(fā)明實施例10的系統(tǒng)LSI設計支持設備的配置結(jié)構(gòu)的框圖。輔助存儲器130存儲了程序132以及描述涉及用于分配處理單元的函數(shù)的條件的信息(或庫)2332。圖24是關(guān)于用于分配處理單元的條件分支語句的條件實例的概念圖表的示意圖。
下面將描述具有上述配置結(jié)構(gòu)的系統(tǒng)LSI設計支持設備的操作。將按照本實施例的程序132描述為包括如圖2所示的細節(jié)的程序。
函數(shù)提取部分122提取在程序132中描述的函數(shù)。分析部分124計算每個被提取出的函數(shù)的條件分支語句的數(shù)目,與圖3所示的流程圖相同。計算部分126對由分析部分124獲得的條件分支語句的數(shù)目求和并產(chǎn)生如圖4所示的計算結(jié)果。
映射部分2328參考庫2332,以基于所獲得的計算結(jié)果將合適的處理單元映射給每個函數(shù)。例如,如圖4所示,func_A具有3個條件分支語句。參考庫2332(圖24),可知與3個條件分支語句相應的處理單元是DSP。換句話說,能夠獲得func_A在DSP上足夠處理的設計支持信息。圖25是映射結(jié)果的概念圖表的示意圖。這樣,合適的處理單元就被映射給在程序132中使用的每個函數(shù)。映射結(jié)果信息2342被存儲于輔助存儲器140中。
如上所述,從處理條件分支語句的觀點,通過將適當?shù)奶幚韱卧成浣o包含在程序132中的每個函數(shù),就可能獲得涉及系統(tǒng)LSI設計的適當?shù)脑O計支持信息。
(實施例11)下面將參照圖10、11、12、23、26和27描述按照本發(fā)明實施例11的系統(tǒng)LSI設計支持設備。
實施例11與實施例1至10的不同之處在于主存儲器120還包括映射部分2328,用于基于描述了與分配處理單元的函數(shù)相關(guān)的條件的信息,將適當?shù)奶幚韱卧成浣o每個函數(shù)。實施例11與實施例10的不同之處在于庫2332描述了關(guān)于循環(huán)控制語句的數(shù)目而不是條件分支語句的數(shù)目的條件。圖26是關(guān)于用于分配處理單元的循環(huán)控制語句的條件實例的概念圖表的示意圖。
下面將描述具有上述配置結(jié)構(gòu)的系統(tǒng)LSI設計支持設備的操作。按照該本施例的程序132描述為包括如圖10所示的細節(jié)的程序。
函數(shù)提取部分122提取在程序132中描述的函數(shù)。分析部分124計算每個被提取出的函數(shù)的循環(huán)控制語句的數(shù)目,與圖11所示的流程圖相同。計算部分126對由分析部分124獲得的循環(huán)控制語句的數(shù)目求和并產(chǎn)生如圖12所示的計算結(jié)果。
映射部分2328參考庫2332,以基于所獲得的計算結(jié)果將合適的處理單元映射給每個函數(shù)。例如,如圖12所示,func_B具有10個循環(huán)控制語句。參考庫2332(圖26),可知與10個循環(huán)控制語句相應的處理單元是DSP。換句話說,能夠獲得func_B在DSP上足夠處理的設計支持信息。圖27是映射結(jié)果的概念圖表的示意圖。這樣,合適的處理單元就被映射給在程序132中使用的每個函數(shù)。映射結(jié)果信息2342被存儲于輔助存儲器140中。
如上所述,從處理循環(huán)控制語句的角度看,通過將合適的處理單元映射給包含在程序132中的每個函數(shù),就可以獲得涉及系統(tǒng)LSI設計的適當?shù)脑O計支持信息。
(實施例12)下面將參照圖18、19、23、28、29和30描述按照本發(fā)明實施例12的系統(tǒng)LSI設計支持設備。
實施例12與實施例1至11的不同之處在于圖23中的庫2332包含了關(guān)于條件分支語句的數(shù)目和循環(huán)控制語句的數(shù)目以及條件分支語句和循環(huán)控制語句的嵌套數(shù)目、以及產(chǎn)生條件變量所需的函數(shù)的數(shù)目的條件。圖28是用于分配處理單元的條件實例的概念圖表的示意圖。
下面將描述具有上述配置結(jié)構(gòu)的系統(tǒng)LSI設計支持設備的操作。將按照本實施例的程序132描述作為包括如圖2、7、10和15所示的細節(jié)的程序。
函數(shù)提取部分122提取在程序132中描述的函數(shù)。與圖18所示的流程圖相同,分析部分124計算每個被提取出的函數(shù)的條件分支語句的數(shù)目和循環(huán)控制語句的數(shù)目、條件分支語句的嵌套數(shù)目和循環(huán)控制語句的嵌套數(shù)目、以及產(chǎn)生用于條件分支語句的變量和循環(huán)控制語句的變量所需的函數(shù)數(shù)目。計算部分126對由分析部分124獲得的條件分支語句的數(shù)目求和并產(chǎn)生如圖19所示的計算結(jié)果。
映射部分2328參考庫2332,以基于所獲得的計算結(jié)果將合適的處理單元映射給每個函數(shù)。
某些函數(shù)可同時包括條件分支語句和循環(huán)控制語句。映射給這種函數(shù)的處理單元可由所包括的條件分支語句和循環(huán)控制語句的細節(jié)決定。例如,倘若函數(shù)包含5個條件分支語句和1個具有單一嵌套級的條件分支語句,那么較合適的處理單元是DSP。倘若該函數(shù)還包含4個循環(huán)控制語句,則相應較合適的處理單元就是CPU。
在該實施例中,將權(quán)重因數(shù)賦予用于分配處理單元的每個條件項(圖28),并且將獲得最高分的處理單元被選擇為最佳的處理單元。
圖29是用于分配處理單元的條件項與權(quán)重因數(shù)之間的關(guān)系的概念圖表的示意圖。這個信息也包括在庫2332中。下面將描述怎樣為func_A確定處理單元。K在圖29中表示分配給每個項的權(quán)重因數(shù)。如圖29所示,在圖29中畫圈的項適用于func_A。為適用的項加上權(quán)重因數(shù),對CPU得到的權(quán)重因數(shù)值以如下方式計算1+2=3用于條件分支語句的嵌套數(shù)目,1+3=4用于變量的產(chǎn)生,1+1=2用于循環(huán)控制語句的嵌套數(shù)目,1+1=2用于表示循環(huán)次數(shù)的變量的產(chǎn)生,這樣為3+2+2+1=11。對DSP得到的權(quán)重因數(shù)值以如下方式計算6用于條件分支語句的數(shù)目,2+2=4用于條件分支語句的嵌套數(shù)目,2+2=4用于變量的產(chǎn)生,1+2+3=6用于循環(huán)控制語句的循環(huán)次數(shù)的變量的產(chǎn)生,這樣為6+4+4+6=20。對專用邏輯電路得到的權(quán)重因數(shù)值以如下方式計算1用于條件分支語句的嵌套的數(shù)目,6用于循環(huán)控制語句的數(shù)目,2用于嵌套的數(shù)目,2用于循環(huán)次數(shù)的變量的產(chǎn)生,這樣為1+1+6+2+2=12。
比較每個處理的因數(shù)呈現(xiàn)出CPU=11、DSP=20、專用邏輯電路=11。這樣確定了DSP是最佳處理單元。這使得將其它函數(shù)映射到處理單元成為可能。圖30是映射結(jié)果實例的概念圖表的示意圖。
這樣,就將合適的處理單元映射給用在程序132中的每個函數(shù)。映射結(jié)果信息2342被存儲于輔助存儲器140中。
如上所述,基于條件分支語句和循環(huán)控制語句的詳細使用形式,通過將適當?shù)奶幚韱卧成浣o包含在程序132中的每個函數(shù),就可以獲得涉及系統(tǒng)LSI設計的適當設計支持信息。
在前述的實施例中,庫2332中的要存儲于輔助存儲器130中的信息可以不局限于圖24、26和28所示的值,而是可以由設計者任意指定。這些值可以被更新。
雖然在前述的實施例中,以C語言寫成的if語句被用作條件分支語句,但也可使用如switch語句的另一條件分支語句。相似地,雖然以C語言寫成的if語句可作為循環(huán)控制語句,但也可使用如while語句的另一循環(huán)控制語句。
雖然在前述的實施例中,輔助存儲器130和140都安置在計算機100的外部,但它們也可以安置在計算機100的內(nèi)部。庫2332可以作為數(shù)據(jù)庫與存儲于輔助存儲器130中的信息分開存儲,并且可以通過電信線路連接來允許從多個計算機訪問庫2332中的信息。
描述了系統(tǒng)LSI設計支持設備的功能的程序不局限于前述實施例所舉的實例。
如上文所述,按照本發(fā)明,通過對每個包含在程序里的每個函數(shù)的條件分支語句的數(shù)目和循環(huán)控制語句的數(shù)目計算并求和,就使得獲得適當?shù)挠糜趯ο到y(tǒng)LSI中集成的處理單元恰當?shù)胤峙湎到y(tǒng)功能的設計支持信息成為可能,其中所述程序以高級語言描述了部分或全部的系統(tǒng)功能。
盡管已經(jīng)參考附圖并利用實例詳細描述了本發(fā)明,但對于本領(lǐng)域的技術(shù)人員來說,各種變化和修改是明顯的。例如,盡管實施例中的計算部分簡單地對計算結(jié)果求和,但注意到本發(fā)明的計算部分可以對計算結(jié)果進行條件求和或其它計算,以獲得計算結(jié)果。因此,除非這些變化和修改脫離了權(quán)利要求的范圍,否則它們均應被視為被包括在其中。
權(quán)利要求
1.一種系統(tǒng)LSI設計支持設備,支持用于將系統(tǒng)功能分配給系統(tǒng)LSI的設計,其中該系統(tǒng)LSI包括具有多種不同體系結(jié)構(gòu)的處理單元,所述設備具有以高級語言描述系統(tǒng)功能的程序作為輸入,包括函數(shù)提取器,用于提取在程序中描述的函數(shù);分析器,用于計算在由函數(shù)提取器提取的每個函數(shù)中描述的條件分支語句的數(shù)目;以及計算部分,用于基于分析器對由函數(shù)提取器提取的每個函數(shù)的計算結(jié)果,輸出計算結(jié)果信息。
2.按照權(quán)利要求1的系統(tǒng)LSI設計支持設備,其中分析器計算在由函數(shù)提取器提取的每個函數(shù)中描述的條件分支語句的嵌套數(shù)目。
3.按照權(quán)利要求1的系統(tǒng)LSI設計支持設備,其中,基于與在由函數(shù)提取器提取的每個函數(shù)中描述的條件分支語句的條件有關(guān)的變量的計算處理,分析器計算產(chǎn)生變量所需的函數(shù)的數(shù)目。
4.按照權(quán)利要求1的系統(tǒng)LSI設計支持設備,還包括映射裝置,用于比較限定信息和從計算部分輸出的計算結(jié)果信息,以便將合適的處理單元映射給每個函數(shù),其中從處理單元處理的條件分支語句的數(shù)目、條件分支語句的嵌套數(shù)目以及產(chǎn)生與條件分支語句的條件有關(guān)的變量所需的函數(shù)的數(shù)目所選出的多個組合是按每個單獨的處理單元限定的。
5.一種系統(tǒng)LSI設計支持設備,支持用于將系統(tǒng)功能分配給系統(tǒng)LSI的設計,其中該系統(tǒng)LSI包括具有多種不同體系結(jié)構(gòu)的處理單元,所述設備具有以高級語言描述系統(tǒng)功能的程序作為輸入,包括函數(shù)提取器,用于提取在程序中描述的函數(shù);分析器,用于計算在由函數(shù)提取器提取的每個函數(shù)中描述的循環(huán)控制語句的數(shù)目;計算部分,用于基于分析器對由函數(shù)提取器提取的每個函數(shù)的計算結(jié)果,輸出計算結(jié)果信息。
6.按照權(quán)利要求5的系統(tǒng)LSI設計支持設備,其中分析器計算在由函數(shù)提取器提取的每個函數(shù)中描述的循環(huán)控制語句的嵌套數(shù)目。
7.按照權(quán)利要求5的系統(tǒng)LSI設計支持設備,其中,基于與在由函數(shù)提取器提取的每個函數(shù)中描述的循環(huán)控制語句的循環(huán)次數(shù)有關(guān)的變量的計算處理,分析器計算產(chǎn)生變量所需的函數(shù)的數(shù)目。
8.按照權(quán)利要求5的系統(tǒng)LSI設計支持設備,還包括映射裝置,用于比較限定信息和從計算部分輸出的計算結(jié)果信息,以便將合適的處理單元映射給每個函數(shù),其中從處理單元處理的循環(huán)控制語句的數(shù)目、循環(huán)控制語句的嵌套數(shù)目以及產(chǎn)生涉及循環(huán)控制語句的循環(huán)次數(shù)的變量所需的函數(shù)的數(shù)目所選出的多個組合是按每個單獨的處理單元限定的。
9.一種系統(tǒng)LSI設計支持設備,支持用于將系統(tǒng)功能分配給系統(tǒng)LSI的設計,其中該系統(tǒng)LSI包括具有多種不同體系結(jié)構(gòu)的處理單元,所述設備具有以高級語言描述系統(tǒng)功能的程序作為輸入,包括函數(shù)提取器,用于提取在程序中描述的函數(shù);分析器,用于計算在由函數(shù)提取器提取的每個函數(shù)中描述的條件分支語句和循環(huán)控制語句的數(shù)目;計算部分,用于輸出計算結(jié)果信息,其中對由函數(shù)提取器提取的每個函數(shù),將分析器的計算結(jié)果進行求和。
10.按照權(quán)利要求9的系統(tǒng)LSI設計支持設備,其中分析器計算在由函數(shù)提取器提取的每個函數(shù)中描述的條件分支語句和循環(huán)控制語句的嵌套數(shù)目。
11.按照權(quán)利要求9的系統(tǒng)LSI設計支持設備,其中,基于與在由函數(shù)提取器提取的每個函數(shù)中描述的條件分支語句和循環(huán)控制語句的循環(huán)次數(shù)有關(guān)的變量的計算處理,分析器計算產(chǎn)生變量所需的函數(shù)的數(shù)目。
12.按照權(quán)利要求9的系統(tǒng)LSI設計支持設備,還包括映射裝置,用于比較限定信息和從計算部分輸出的計算結(jié)果信息,以便將合適的處理單元映射給每個函數(shù),其中從處理單元處理的條件分支語句和循環(huán)控制語句的數(shù)目、條件分支語句和循環(huán)控制語句的嵌套數(shù)目、以及產(chǎn)生與條件分支語句和循環(huán)控制語句的循環(huán)次數(shù)有關(guān)的變量所需的函數(shù)的數(shù)目所選出的多個組合是按每個單獨的處理單元限定的。
13.按照權(quán)利要求1的系統(tǒng)LSI設計支持設備,其中函數(shù)提取器包括函數(shù)組合裝置,用于在從函數(shù)提取器提取的函數(shù)中任意選擇出的多個函數(shù)集合中至少指定一個,并由分析器對由函數(shù)組合裝置指定的每一函數(shù)集合進行分析。
14.一種系統(tǒng)LSI設計支持方法,支持用于將系統(tǒng)功能分配給系統(tǒng)LSI的設計,其中該系統(tǒng)LSI包括具有多種不同體系結(jié)構(gòu)的處理單元,包括步驟輸入以高級語言描述系統(tǒng)功能的程序;提取在程序中描述的函數(shù);計算在每個被提取出的函數(shù)中描述的條件分支語句的數(shù)目;基于對每個被提提取的函數(shù)的計算結(jié)果而輸出計算結(jié)果信息。
15.按照權(quán)利要求14的系統(tǒng)LSI設計支持方法,還包括步驟計算在每個被提取出的函數(shù)中描述的條件分支語句的嵌套數(shù)目。
16.按照權(quán)利要求14的系統(tǒng)LSI設計支持方法,還包括步驟基于與在每個被提取出的函數(shù)中描述的條件分支語句的條件有關(guān)的變量的計算處理,計算產(chǎn)生變量所需的函數(shù)的數(shù)目。
17.按照權(quán)利要求14的系統(tǒng)LSI設計支持方法,還包括步驟輸入限定信息,其中從處理單元處理的條件分支語句的數(shù)目、條件分支語句的嵌套數(shù)目、以及產(chǎn)生與條件分支語句的條件有關(guān)的變量所需的函數(shù)數(shù)目所選出的多種組合是由每個單獨的處理單元限定的;以及比較限定信息和計算結(jié)果信息以便將合適的處理單元映射給每個函數(shù)。
18.一種系統(tǒng)LSI設計支持方法,支持用于將系統(tǒng)功能分配給系統(tǒng)LSI的設計,其中該系統(tǒng)LSI包括具有多種不同體系結(jié)構(gòu)的處理單元,包括步驟輸入以高級語言描述系統(tǒng)功能的程序;提取在程序中描述的函數(shù);計算在每個被提取出的函數(shù)中描述的循環(huán)控制語句的數(shù)目;基于對每個被提取出的函數(shù)求和的計算結(jié)果輸出計算結(jié)果信息。
19.按照權(quán)利要求18的系統(tǒng)LSI設計支持方法,還包括步驟計算在每個被提取出的函數(shù)中描述的循環(huán)控制語句的嵌套數(shù)目。
20.按照權(quán)利要求18的系統(tǒng)LSI設計支持方法,還包括步驟基于與在每個被提取出的函數(shù)中描述的循環(huán)控制語句的循環(huán)次數(shù)有關(guān)的變量的計算處理,計算產(chǎn)生變量所需的函數(shù)的數(shù)目。
21.按照權(quán)利要求18的系統(tǒng)LSI設計支持方法,還包括步驟輸入限定信息,其中從處理單元處理的循環(huán)控制語句的數(shù)目、循環(huán)控制語句的嵌套數(shù)目、以及產(chǎn)生與循環(huán)控制語句的循環(huán)次數(shù)有關(guān)的變量所需的函數(shù)數(shù)目所選出的多種組合是由每個單獨的處理單元限定的;以及比較限定信息和計算結(jié)果信息,以便將合適的處理單元映射給每個函數(shù)。
22.一種系統(tǒng)LSI設計支持方法,支持用于將系統(tǒng)功能分配給系統(tǒng)LSI的設計,其中該系統(tǒng)LSI包括具有多種不同體系結(jié)構(gòu)的處理單元,包括步驟輸入以高級語言描述系統(tǒng)功能的程序;提取在程序中描述的函數(shù);計算在每個被提取的函數(shù)中描述的條件分支語句和循環(huán)控制語句的數(shù)目;以及輸出對每個被提取出的函數(shù)的計算結(jié)果的計算結(jié)果信息。
23.按照權(quán)利要求22的系統(tǒng)LSI設計支持方法,還包括步驟計算在每個被提取出的函數(shù)中描述的條件分支語句和循環(huán)控制語句的嵌套數(shù)目。
24.按照權(quán)利要求22的系統(tǒng)LSI設計支持方法,還包括步驟基于與在每個被提取出的函數(shù)中描述的條件分支語句的條件有關(guān)的變量和與循環(huán)控制語句的循環(huán)次數(shù)有關(guān)的變量的計算處理,計算產(chǎn)生所述變量所需的函數(shù)的數(shù)目。
25.按照權(quán)利要求22的系統(tǒng)LSI設計支持方法,還包括步驟輸入限定信息,其中從處理單元處理的條件分支語句和循環(huán)控制語句的數(shù)目、條件分支語句和循環(huán)控制語句的嵌套數(shù)目、以及產(chǎn)生與條件分支語句的條件有關(guān)的變量和與循環(huán)控制語句的循環(huán)次數(shù)有關(guān)的變量所需的函數(shù)數(shù)目中所選出的多種組合是按每個單獨的處理單元限定的;以及比較限定信息和計算結(jié)果信息,以便將合適的處理單元映射給每個函數(shù)。
26.按照權(quán)利要求14的系統(tǒng)LSI設計支持方法,還包括步驟指定從被提取出的函數(shù)中任意選出的多個函數(shù)集合中的至少一個,其中該指定對每個指定的函數(shù)集合的執(zhí)行計算。
27.一種數(shù)據(jù)庫設備,用于存儲提供給系統(tǒng)LSI設計支持設備的數(shù)據(jù),其中該系統(tǒng)LSI設計支持設備支持用于將系統(tǒng)的功能分配給包括具有多種不同體系結(jié)構(gòu)的處理單元的系統(tǒng)LSI的設計,其中所述數(shù)據(jù)涉及以高級語言描述系統(tǒng)功能的程序,并且所述數(shù)據(jù)是限定信息,其中處理單元處理的條件分支語句的數(shù)目按單獨的處理單元限定。
28.一種數(shù)據(jù)庫設備,用于存儲提供給系統(tǒng)LSI設計支持設備的數(shù)據(jù),其中該系統(tǒng)LSI設計支持設備支持用于將系統(tǒng)功能分配給包括具有多種不同體系結(jié)構(gòu)的處理單元的系統(tǒng)LSI的設計,其中所述數(shù)據(jù)涉及以高級語言描述系統(tǒng)功能的程序,并且所述數(shù)據(jù)是限定信息,其中處理單元處理的循環(huán)控制語句的數(shù)目按單獨的處理單元限定。
29.一種數(shù)據(jù)庫設備,用于存儲提供給系統(tǒng)LSI設計支持設備的數(shù)據(jù),其中該系統(tǒng)LSI設計支持設備支持用于將系統(tǒng)功能分配給包括具有多種不同體系結(jié)構(gòu)的處理單元的系統(tǒng)LSI的設計,其中所述數(shù)據(jù)涉及以高級語言描述系統(tǒng)功能的程序,并且所述數(shù)據(jù)是限定信息,其中處理單元處理的條件分支語句和循環(huán)控制語句的數(shù)目按單獨的處理單元限定。
全文摘要
充分地將系統(tǒng)提供的特征分配給系統(tǒng)LSI中集成的、具有不同體系結(jié)構(gòu)的處理單元。提供分析單元用于計算以高級語句描述系統(tǒng)特征的程序的每個函數(shù)中所描述的條件分支語句的數(shù)目和循環(huán)控制語句的數(shù)目、條件分支語句的嵌套數(shù)目和循環(huán)控制語句的嵌套數(shù)目、以及產(chǎn)生條件分支語句的條件和循環(huán)控制語句的循環(huán)次數(shù)所需的函數(shù)的數(shù)目。
文檔編號G06F17/50GK1551021SQ20041003024
公開日2004年12月1日 申請日期2004年2月27日 優(yōu)先權(quán)日2003年2月27日
發(fā)明者岡本稔 申請人:松下電器產(chǎn)業(yè)株式會社