專利名稱:根據(jù)應(yīng)用項(xiàng)的通信類型綜合通信支持的方法和設(shè)備的制作方法
背景技術(shù):
1.發(fā)明領(lǐng)域本發(fā)明總的涉及集成電路設(shè)計(jì)領(lǐng)域。更具體地,本發(fā)明涉及通過(guò)綜合異步通信進(jìn)行集成電路的自動(dòng)設(shè)計(jì)。
2.相關(guān)技術(shù)描述現(xiàn)代電子器件典型地包括一個(gè)或多個(gè)集成電路(IC)芯片,被設(shè)計(jì)來(lái)滿足特定的性能要求。由于集成電路變得越來(lái)越復(fù)雜,邏輯設(shè)計(jì)者越來(lái)越希望有能力把復(fù)雜的功能塊快速實(shí)施為集成電路設(shè)計(jì)的能力。另外,由于應(yīng)用項(xiàng)變得更復(fù)雜需要更復(fù)雜的處理,要求設(shè)計(jì)者快速分析增長(zhǎng)數(shù)目的可能的解決方案。為了許可更容易的邏輯設(shè)計(jì)定做的或半定做的IC來(lái)滿足性能約束或電路要求,以及幫助進(jìn)行電路生產(chǎn)制造,已開(kāi)發(fā)了用于設(shè)計(jì)和制造的自動(dòng)系統(tǒng)。例如,使用計(jì)算機(jī)輔助設(shè)計(jì)(CAD)的自動(dòng)設(shè)計(jì)系統(tǒng)常規(guī)地被使用來(lái)設(shè)計(jì)高度復(fù)雜的IC和具有短的存活周期的IC,諸如嵌入系統(tǒng)。
一種CAD系統(tǒng)被稱為“邏輯綜合系統(tǒng)”。在邏輯綜合系統(tǒng)中,輸入、輸出、和高電平設(shè)計(jì)描述通過(guò)使用硬件描述語(yǔ)言(HDL)被輸入到計(jì)算機(jī)。然后,通過(guò)使用綜合軟件,計(jì)算機(jī)創(chuàng)建一個(gè)執(zhí)行以HDL描述的功能的邏輯設(shè)計(jì)。
通常,短的存活周期的系統(tǒng),諸如嵌入系統(tǒng),常常包括一個(gè)或多個(gè)多處理器,它們被使用來(lái)調(diào)配并行的應(yīng)用項(xiàng)的任務(wù)來(lái)滿足時(shí)間約束。因此,在這樣的系統(tǒng)中,幾個(gè)處理器可以通過(guò)通信接口,諸如用于同步傳送的數(shù)據(jù)總線或用于異步傳送的通信存儲(chǔ)器(例如,F(xiàn)IFO,雙端口等等),被連接到一個(gè)或多個(gè)IC。然而,傳統(tǒng)的方法通常以通用方式把通信接口設(shè)計(jì)在這樣的系統(tǒng)中,而不是針對(duì)特定的應(yīng)用項(xiàng)使得它們最佳化。
例如,
圖1A是顯示設(shè)計(jì)單元的示例性庫(kù)100的方框圖。如圖所示,庫(kù)100包括單元,諸如處理器P1和P2,以及硬件HW1和HW2。在庫(kù)100中的每個(gè)設(shè)計(jì)單元能夠執(zhí)行分配的任務(wù)。例如,處理器P1可被使用來(lái)執(zhí)行任務(wù)T1、T2、T3和T4,而處理器P2執(zhí)行任務(wù)T13。同樣地,硬件HW1可以執(zhí)行任務(wù)T5、T6、T7和T8,而硬件HW2可被使用來(lái)執(zhí)行任務(wù)T9、T10、T11和T12。典型地,任務(wù)T1到T13在庫(kù)中作為函數(shù)被提供。
圖1B通過(guò)使用來(lái)自庫(kù)100的函數(shù)和設(shè)計(jì)單元顯示應(yīng)用項(xiàng)120的模型。在這個(gè)應(yīng)用項(xiàng)模型中,任務(wù)被表示為節(jié)點(diǎn),通過(guò)用箭頭表示的邊緣把它們一個(gè)一個(gè)地連接起來(lái)。邊緣表示通信鏈路,二任務(wù)代表函數(shù)。應(yīng)用項(xiàng)120用任務(wù)節(jié)點(diǎn)和通信邊緣被模型化。具體地,處理器P1被分配任務(wù)T1、T2、T3和T4,它們分別通過(guò)通信邊緣E1、E2、E3和E4被分別鏈接到任務(wù)T5、T6、T7和T8的節(jié)點(diǎn)。硬件HW2被分配任務(wù)T9、T10、T11和T12,它們分別通過(guò)通信邊緣E5、E6、E7和E8被分別鏈接到任務(wù)T5、T6、T7和T8的節(jié)點(diǎn)。處理器P2的任務(wù)T13通過(guò)通信邊緣E9、E10、E11和E12被分別鏈接到任務(wù)T9、T10、T11和T12的節(jié)點(diǎn)。
圖1C是顯示圖1B上模型化的應(yīng)用項(xiàng)120的時(shí)間安排的示意圖。在這個(gè)時(shí)間安排圖上,設(shè)計(jì)單元的分配的任務(wù)被安排為時(shí)間的函數(shù)。具體地,每個(gè)設(shè)計(jì)單元的任務(wù)被分配特定的持續(xù)時(shí)間以及按順序進(jìn)行安排。例如,處理器P1的任務(wù)按T1、T2、T3和T4的順序被安排,以及硬件HW1的任務(wù)按T5、T6、T7和T8的順序被安排。同樣地,硬件HW2的任務(wù)按T9、T10、T11和T12的順序被安排。
在這個(gè)圖上,連接應(yīng)用項(xiàng)120的任務(wù)節(jié)點(diǎn)的通信邊緣被安排為同步通信或異步通信。在發(fā)送單元(即,發(fā)射機(jī))和接收單元(即,接收機(jī))之間的同步通信或異步通信的確定是通過(guò)在發(fā)射機(jī)完成任務(wù)時(shí)的接收機(jī)單元的可提供性而作出的。如果接收機(jī)在發(fā)射機(jī)完成任務(wù)時(shí)沒(méi)有在執(zhí)行任務(wù),則通信被表征為同步。否則,通信是異步。例如,通信152、160、162、164、166、168和176是同步通信,而通信156、158、170、172和174是異步通信。
通信表征為同步通信或異步通信,影響應(yīng)用項(xiàng)的綜合。典型地,同步通信是通過(guò)使用在兩個(gè)或多個(gè)設(shè)計(jì)單元之間的數(shù)據(jù)通信的總線而被綜合和實(shí)施的。另一方面,異步通信通常是通過(guò)使用先進(jìn)先出緩存器(FIFO),雙端口等等存儲(chǔ)用于同步的數(shù)據(jù)而被綜合和實(shí)施的。
圖1C的應(yīng)用項(xiàng)時(shí)間安排表可被使用來(lái)綜合用于應(yīng)用項(xiàng)120的系統(tǒng)180的結(jié)構(gòu),如圖1D所示。系統(tǒng)180包括處理器P1,P2,硬件HW1和HW2。另外,系統(tǒng)包括一對(duì)FIFOFIFO1和FIFO2。FIFO1被配備在處理器P1和硬件HW1之間,以便允許進(jìn)行異步通信。同樣地,F(xiàn)IFO允許在硬件HW2與處理器P2之間的異步通信。
然而,特別遺憾的是FIFO以及一般的通信存儲(chǔ)器,比起總線來(lái)說(shuō),典型地在IC芯片上需要更大的面積來(lái)實(shí)施。這意味著,具有FIFO或通信存儲(chǔ)器的系統(tǒng)的實(shí)施通常比起具有總線的系統(tǒng)更昂貴。而且,由于嵌入系統(tǒng)的短的存活周期,通常,傳統(tǒng)的方法沒(méi)有使得異步通信有效地最佳化來(lái)減小花費(fèi)和小片面積。
因此,所需要的是用于有效地實(shí)施異步通信的方法和設(shè)備,而沒(méi)有傳統(tǒng)技術(shù)上所需要的附帶花費(fèi)和小片面積。
發(fā)明概述廣義地說(shuō),本發(fā)明是通過(guò)提供根據(jù)應(yīng)用項(xiàng)的通信類型來(lái)同步通信支持的方法和設(shè)備而滿足這些需要的。應(yīng)當(dāng)看到,本發(fā)明可以以多種方式,包括處理過(guò)程,設(shè)備,系統(tǒng),器件,或方法來(lái)實(shí)施。下面描述本發(fā)明的幾個(gè)發(fā)明性實(shí)施例。
本發(fā)明提供根據(jù)應(yīng)用項(xiàng)的通信類型來(lái)綜合通信支持的方法。在本方法中,為應(yīng)用項(xiàng)提供一個(gè)應(yīng)用項(xiàng)時(shí)間安排表。應(yīng)用項(xiàng)時(shí)間安排表描述用于執(zhí)行特定的任務(wù)的多個(gè)單元和在特定的任務(wù)之間的一個(gè)或多個(gè)通信鏈路。在接收應(yīng)用項(xiàng)時(shí)間安排表以后,對(duì)于在應(yīng)用項(xiàng)時(shí)間安排表中的每個(gè)通信鏈路,確定其通信類型為異步通信還是同步通信。然后,對(duì)于每個(gè)異步通信,確定每個(gè)異步通信是否可被變換成半同步通信,它使用中斷和總線來(lái)傳送數(shù)據(jù)。對(duì)于半同步通信,通過(guò)使用中斷和總線,把通信支持綜合為同步通信。另外,通信支持可以對(duì)于被確定為不是半同步通信的異步通信被綜合。
在另一個(gè)實(shí)施例中,本發(fā)明通過(guò)用于根據(jù)應(yīng)用項(xiàng)的通信類型綜合通信支持的集成電路設(shè)計(jì)工具。集成電路設(shè)計(jì)工具包括(a)用于提供用于應(yīng)用項(xiàng)的應(yīng)用項(xiàng)時(shí)間安排表的裝置,應(yīng)用項(xiàng)時(shí)間安排表具有多個(gè)用于執(zhí)行特定任務(wù)的單元以及在特定的任務(wù)之間的一個(gè)或多個(gè)通信路徑;(b)用于確定對(duì)于在應(yīng)用項(xiàng)時(shí)間安排表中的每個(gè)通信路徑的通信類型為異步通信或同步通信的裝置;(c)用于對(duì)于每個(gè)異步通信確定是否能把每個(gè)異步通信轉(zhuǎn)換成使用中斷和總線來(lái)傳送數(shù)據(jù)的半異步通信的裝置;(d)用于通過(guò)使用中斷和總線來(lái)同步用于半同步通信的第一硬件支持為同步通信的裝置;以及(e)用于通過(guò)使用通信存儲(chǔ)器來(lái)同步用于不是半同步通信的異步通信的第二硬件支持的裝置。
本發(fā)明的方法和設(shè)備提供減小通信專用的硬件的尺寸,而保留應(yīng)用項(xiàng)性能的目的。具體地,可被轉(zhuǎn)換成半同步通信的異步通信的識(shí)別允許使用同步總線和中斷機(jī)制來(lái)代替?zhèn)鹘y(tǒng)的FIFO。在IC芯片上實(shí)施總線允許大大地節(jié)省表面積以及成本的附帶節(jié)省。結(jié)合附圖,作為例子顯示本發(fā)明的原理,從以下的詳細(xì)說(shuō)明,將明白本發(fā)明的其它方面和優(yōu)點(diǎn)。
附圖簡(jiǎn)述通過(guò)結(jié)合附圖的以下的詳細(xì)說(shuō)明,將容易了解本發(fā)明,其中相同的標(biāo)號(hào)表示相同結(jié)構(gòu)的單元。
圖1A顯示描述設(shè)計(jì)單元的示例性庫(kù)的方框圖。
圖1B顯示通過(guò)使用來(lái)自庫(kù)的函數(shù)和設(shè)計(jì)單元對(duì)應(yīng)用項(xiàng)的模型化。
圖1C顯示描述圖1B上模型化的應(yīng)用項(xiàng)的時(shí)間安排表的示意圖。
圖1D顯示對(duì)于圖1B的應(yīng)用項(xiàng)模型的系統(tǒng)的結(jié)構(gòu)。
圖2顯示按照本發(fā)明的一個(gè)實(shí)施例的集成電路制造系統(tǒng)方框圖。
圖3顯示按照本發(fā)明的一個(gè)實(shí)施例的、用于開(kāi)發(fā)集成電路設(shè)計(jì)的方法的流程圖。
圖4A-4C顯示用于說(shuō)明確定同步或異步通信的任務(wù)的移動(dòng)性的更詳細(xì)的時(shí)序圖。
圖5A顯示說(shuō)明從發(fā)射機(jī)u1的任務(wù)T1到接收機(jī)u2的任務(wù)的異步通信的示意圖。
圖5B顯示按照本發(fā)明的一個(gè)實(shí)施例的、通過(guò)存儲(chǔ)數(shù)據(jù)在接收機(jī)u2中而同步異步通信任務(wù)T1到任務(wù)T4的示意圖。
圖5C顯示按照本發(fā)明的一個(gè)實(shí)施例的、通過(guò)存儲(chǔ)數(shù)據(jù)在發(fā)射機(jī)u1中而同步異步通信任務(wù)T1到任務(wù)T4的示意圖。
圖6A顯示按照本發(fā)明的一個(gè)實(shí)施例的、用于確定傳播延時(shí)的接收機(jī)存儲(chǔ)方法的流程圖。
圖6B顯示按照本發(fā)明的一個(gè)實(shí)施例的、用于確定傳播延時(shí)的發(fā)射機(jī)存儲(chǔ)方法的流程圖。
圖7A顯示具有同步時(shí)間tsyn的、在發(fā)射機(jī)u1和接收機(jī)u2之間的同步通信。
圖7B顯示具有發(fā)射時(shí)間te和傳輸時(shí)間tr的、在發(fā)射機(jī)u1和接收機(jī)u2之間的同步通信。
圖8A顯示代表通過(guò)總線的數(shù)據(jù)傳輸?shù)哪P汀?br>
圖8B顯示通過(guò)通信存儲(chǔ)器的數(shù)據(jù)傳輸?shù)哪P汀?br>
圖9A顯示描述圖1B上模型化的應(yīng)用項(xiàng)的時(shí)間安排表的示意圖。
圖9B顯示對(duì)于圖9A上修改的應(yīng)用項(xiàng)的系統(tǒng)的硬件結(jié)構(gòu)。
圖10A顯示描述按照本發(fā)明的一個(gè)實(shí)施例的、使用中斷機(jī)制的應(yīng)用項(xiàng)的時(shí)間安排表的示意圖。
圖10B顯示對(duì)于圖10A上修改的應(yīng)用項(xiàng)120的系統(tǒng)的硬件結(jié)構(gòu)。
優(yōu)選實(shí)施例詳細(xì)描述在本發(fā)明根據(jù)應(yīng)用項(xiàng)的通信類型同步通信支持的方法和設(shè)備的以下的詳細(xì)說(shuō)明中,闡述多個(gè)具體細(xì)節(jié),以便提供對(duì)本發(fā)明的透徹的了解。然而,本領(lǐng)域技術(shù)人員將會(huì)看到,本發(fā)明可以不用這些具體細(xì)節(jié)的某些部分或全部,而被實(shí)施。在其它情況下,熟知的電路,系統(tǒng)和處理運(yùn)行沒(méi)有加以詳細(xì)描述,以免不必要地掩蓋本發(fā)明。
本發(fā)明以同步方式實(shí)行在單元之間的數(shù)據(jù)傳送。對(duì)于兩個(gè)單元之間的同步傳送,通信支持將是總線,它比起FIFO或所有其它存儲(chǔ)系統(tǒng)花費(fèi)更少的表面。為了實(shí)行這種通信同步,移動(dòng)性的任務(wù)被使用來(lái)同步在發(fā)送單元與接收單元之間的發(fā)送和接收。然后,考慮到對(duì)于單元間通信所需要的數(shù)據(jù)貯存要求,中斷驅(qū)動(dòng)機(jī)制被使用來(lái)在發(fā)送單元與接收單元之間傳送數(shù)據(jù)。這樣,異步通信可以具有同步傳送。
本發(fā)明的方法和設(shè)備提供減小通信專用的硬件的尺寸,而保留應(yīng)用項(xiàng)性能的目的。另外,本發(fā)明允許在面積上規(guī)定最佳化的一組通信支持。而且,它可根據(jù)將在電路上實(shí)施的應(yīng)用項(xiàng)估計(jì)在現(xiàn)有的多處理器電路(常常稱為“預(yù)定的系統(tǒng)”)上通信支持的附加開(kāi)銷。
圖2顯示按照本發(fā)明的一個(gè)實(shí)施例的集成電路制造系統(tǒng)200的方框圖。系統(tǒng)200包括處理器(例如,CPU)202,I/O端口204,鍵盤(pán)206,監(jiān)視器208,ROM 210,RAM 212,磁盤(pán)驅(qū)動(dòng)單元214,掩膜產(chǎn)生器216,和IC制作器218。處理器202被耦合到I/O端口204,和用戶輸入裝置,諸如鍵盤(pán)206。HDL可被接收和通過(guò)I/O端口204、用戶輸入裝置206或另一個(gè)輸入信道,諸如磁盤(pán)驅(qū)動(dòng)器214,被輸入到系統(tǒng)200。集成電路制造系統(tǒng)常常被稱為集成電路制造工具,以及在Dockser等的、題目為“Method and Apparatus for Efficiently ImplementingComplex Function Blocks in Integrated Circuit Designs(在集成電路設(shè)計(jì)中用于有效地實(shí)施復(fù)函數(shù)塊的方法和設(shè)備)”的美國(guó)專利No.5,963,454中描述了這樣的制造系統(tǒng),該專利在此引用,以供參考。
系統(tǒng)200優(yōu)選地配備有各種類型的數(shù)字貯存裝置,諸如ROM 210,RAM 212,和磁盤(pán)驅(qū)動(dòng)器214。磁盤(pán)驅(qū)動(dòng)器214可被使用來(lái)存儲(chǔ)從I/O端口204或用戶輸入裝置206接收的HDL,或可被使用來(lái)輸入HDL到系統(tǒng)中,它可以存儲(chǔ)通過(guò)運(yùn)行在系統(tǒng)200和它的處理器202中的處理過(guò)程創(chuàng)建的掩膜產(chǎn)生數(shù)據(jù)。磁盤(pán)驅(qū)動(dòng)器214可以用其它永久貯存裝置,諸如磁帶或軟盤(pán)代替或被增大。諸如應(yīng)用項(xiàng)模型、設(shè)計(jì)約束、預(yù)設(shè)計(jì)系統(tǒng)、設(shè)計(jì)單元和函數(shù)的庫(kù)、應(yīng)用項(xiàng)時(shí)間安排表、和通信表等輸入可以通過(guò)I/O端口204或用戶輸入裝置206被輸入,或它們可以在系統(tǒng)200上被直接綜合。
根據(jù)輸入,系統(tǒng)200綜合硬件設(shè)計(jì),和得出掩膜產(chǎn)生數(shù)據(jù)。這個(gè)掩膜產(chǎn)生數(shù)據(jù)可被存儲(chǔ)在數(shù)字貯存器,例如磁盤(pán)驅(qū)動(dòng)器214。掩膜產(chǎn)生器216接收來(lái)自處理器202的掩膜產(chǎn)生數(shù)據(jù)。替換地,(未示出)掩膜產(chǎn)生器216可以直接從數(shù)字貯存器,諸如磁盤(pán)驅(qū)動(dòng)器214,接收掩膜產(chǎn)生數(shù)據(jù)。掩膜產(chǎn)生器216可以是系統(tǒng)200的一部分,或它可以是分開(kāi)的裝置。掩膜產(chǎn)生數(shù)據(jù)被掩膜產(chǎn)生器216用來(lái)創(chuàng)建光刻掩膜。這些掩膜將在集成電路制做器218中被使用來(lái)在晶片上形成集成電路的元件。該掩膜足以在集成電路上創(chuàng)建元件以及元件之間的連接。集成電路制做器218包括半導(dǎo)體制造設(shè)備,諸如蝕刻劑、化學(xué)汽相淀積(CVD)機(jī),印刷機(jī)等等,正如在半導(dǎo)體制造領(lǐng)域中的技術(shù)人員熟知的。
被系統(tǒng)200處理的最后結(jié)果是封裝的集成電路220。這個(gè)封裝的IC220將包含通過(guò)使用由掩膜產(chǎn)生器216產(chǎn)生的掩膜創(chuàng)建的模224。半導(dǎo)體模224典型地包含數(shù)字集成電路和I/O焊盤(pán)222,用于把電路耦合到幾個(gè)引線226。I/O焊盤(pán)222可以以任何傳統(tǒng)的方式(諸如通過(guò)焊接連線)被耦合到引線226。
圖3顯示按照本發(fā)明的、用于得出集成電路設(shè)計(jì)的方法的流程圖。在這種方法中,硬件通信單元通過(guò)多階段通信特性處理過(guò)程而被分配。方法從操作步驟302開(kāi)始,其中應(yīng)用項(xiàng)時(shí)間安排表和通信表被提供為輸入。在一個(gè)實(shí)施例中,應(yīng)用項(xiàng)時(shí)間安排表對(duì)于多處理器系統(tǒng)提供以所有任務(wù)的已知的開(kāi)始和結(jié)束時(shí)間。例如,所有數(shù)據(jù)進(jìn)行傳送的模型在發(fā)送任務(wù)的結(jié)束點(diǎn)和在接收任務(wù)的開(kāi)始點(diǎn)時(shí)被完成。通信表包括在按照時(shí)間安排表的單元之間的所有通信的信息。
然后在操作步驟304,通過(guò)諸如任務(wù)的移動(dòng)性的方法,單元之間的通信被確定為同步的還是異步的。例如,任務(wù)1可以以同步模式或異步模式與任務(wù)2通信。當(dāng)發(fā)送和接收的時(shí)間移動(dòng)性有重疊時(shí),傳送可以以同步方式被完成。否則,傳送不能以同步方式來(lái)進(jìn)行,而是通過(guò)使用諸如FIFO的通信存儲(chǔ)器以異步通信來(lái)實(shí)行。在圖4A到4C上將更詳細(xì)地討論通過(guò)任務(wù)的移動(dòng)性確定同步或異步通信。
按照一個(gè)實(shí)施例,在通信表上的通信集被劃分成兩個(gè)子集同步通信子集和異步通信子集。對(duì)于在操作步驟304和306被確定為同步的通信,方法進(jìn)到操作步驟318,在該操作步驟,用于同步傳送的支持被綜合出來(lái)。另一方面,對(duì)于在操作步驟304和306被確定為異步的通信,方法進(jìn)到操作步驟308,在該操作步驟,在異步通信類別中執(zhí)行一個(gè)或多個(gè)尋求操作。尋求操作被使用來(lái)確定異步通信是否潛在地能通過(guò)使用接收機(jī)和發(fā)射機(jī)存儲(chǔ)算法被轉(zhuǎn)換成半同步的。
潛在地為半同步通信的那些異步通信是真正的異步通信。在這種情形下,方法通過(guò)操作步驟310進(jìn)到操作步驟312,在其中綜合異步支持用于真正的異步通信。在該操作步驟,確定硬件要求,以使得對(duì)于異步通信的存儲(chǔ)器要求最小化。這可通過(guò)把技術(shù)上熟知的、加權(quán)的雙方匹配算法施加到剩余的同步通信而達(dá)到。如果把綜合應(yīng)用到預(yù)定的系統(tǒng),這個(gè)級(jí)別使用在預(yù)定的系統(tǒng)中可提供的、通信硬件信息(例如,總線,雙端口等)。
在綜合異步支持后,資源可被分配用于半同步和同步通信。對(duì)于被確定為潛在地半同步的那些異步通信,通過(guò)確定半同步通信的數(shù)據(jù)必須被存儲(chǔ)的地方,而確定該潛在的半同步通信是否真正的半同步的。分配圖象數(shù)據(jù)的操作步驟優(yōu)選地按照時(shí)間安排表考慮單元中自由存儲(chǔ)器的可提供性。在一個(gè)實(shí)施例中,通過(guò)使用化費(fèi)γ作出這樣的分配。例如,單元常常包括存儲(chǔ)器,通信數(shù)據(jù)的分配可以是在接收端(例如,接收機(jī)),發(fā)送端(例如,發(fā)射機(jī)),或通信存儲(chǔ)器,在先前的操作步驟312中被檢測(cè)。如果任何這些本地化是可能的而不造成貯存容量空間的不足,則具有最低附加花費(fèi)的本地化被擴(kuò)展。
如果潛在的半同步通信保持為異步的,則在操作步驟316執(zhí)行支持的新的綜合。例如,如果使用通信存儲(chǔ)器,則傳送是異步的(即,不是真正的半同步)。在這種情形下,綜合用于異步傳送的支持,如需要的話,通過(guò)在操作步驟316進(jìn)行新的分配,產(chǎn)生異步支持。例如,加上通信存儲(chǔ)器,以及可以建立新的通信硬件。
對(duì)于真正的半同步通信,半同步通信被規(guī)定為接收機(jī)或發(fā)射機(jī)。由于這個(gè)特性,已知與這些傳送事件有關(guān)的時(shí)間。通信硬件現(xiàn)在可以在同步傳送的同時(shí)對(duì)于同步和半同步類型被最佳化,因?yàn)樗鼈兪褂孟嗤挠布愋?,諸如總線。正如下面更詳細(xì)地描述的,在操作步驟318實(shí)行最佳化,在其中綜合用于同步傳送的支持。然后方法在操作步驟320結(jié)束。
圖4A-4C更詳細(xì)地顯示用于說(shuō)明確定同步或異步通信的任務(wù)的移動(dòng)性的時(shí)序圖。在這些圖上,te是指發(fā)送通信的時(shí)間以及tr表示接收通信的時(shí)間。另外,u1是指發(fā)射機(jī),以及u2表示接收機(jī)。在發(fā)射機(jī)u1與接收機(jī)u2之間,時(shí)間移動(dòng)性是由于任務(wù)的盡可能早(ASAP)和盡可能遲(ALAP)的時(shí)間安排表造成的。然而,如果通信單元正在處理中斷機(jī)制(正如通常在軟件部件的情形下),則有可能實(shí)行同步傳送,即使沒(méi)有可能的移動(dòng)性重疊。通過(guò)這種方法同步的通信被稱為“半同步”。
對(duì)于開(kāi)始時(shí)間Tbegin_ASAP_T1,由于應(yīng)用項(xiàng)的最大時(shí)間,任務(wù)T1和T2可被移動(dòng)。例如,任務(wù)T1和T2具有3.5的執(zhí)行時(shí)間,而通信時(shí)間是0.5。在這種情形下,如果應(yīng)用項(xiàng)的最大時(shí)間是12,則任務(wù)T1可以在時(shí)間0(Tbegin)和時(shí)間3.5(Tend)之間實(shí)行。通信可以從時(shí)間3.5(Tbegin)到時(shí)間4(Tend)在單元u1和u2之間實(shí)行。任務(wù)T2可以從時(shí)間4(Tbegin)到時(shí)間7(Tend)被實(shí)行。遵守12的時(shí)間約束。Tbegin ASAP T1被確定為時(shí)間0。
替換地,任務(wù)T2在時(shí)間12 Tmax應(yīng)用項(xiàng),也是T2的Tend時(shí)結(jié)束。這樣,任務(wù)T2的Tbegin是時(shí)間8.5。在單元u1和u2之間的通信可以在時(shí)間8(Tbegin)和時(shí)間8.5(Tend)之間實(shí)行。任務(wù)T1可以從時(shí)間5(Tbegin)到時(shí)間8(Tend)被實(shí)行。遵守12的時(shí)間約束。時(shí)間Tbegin ALAP T1是時(shí)間5。因此,任務(wù)的開(kāi)始時(shí)間Tbegin可以從Tbegin_ASAP到Tbegin_ALAP。這樣的處理過(guò)程在這里稱為“任務(wù)的移動(dòng)性”。
應(yīng)用任務(wù)的移動(dòng)性,通信可被確定為同步或異步的。例如,當(dāng)在任務(wù)T1和T2之間的通信中Tbegin_ASAP_T1大于Tend_ALAP_T1時(shí),在兩個(gè)任務(wù)之間的通信被確定為異步通信。否則,通信是同步通信。任務(wù)的移動(dòng)性在技術(shù)上是熟知的,以及在以下的附錄中更詳細(xì)地描述。
按照優(yōu)選實(shí)施例,本發(fā)明通過(guò)提供中斷處理能力給通信單元,實(shí)行在圖3的操作步驟304中被歸類為異步通信的異步傳送。例如,圖5A顯示說(shuō)明從發(fā)射機(jī)u1的任務(wù)T1到接收機(jī)u2的任務(wù)T4的異步通信的示意圖。異步通信用由長(zhǎng)的任務(wù)T3引起的時(shí)間tasyn表示。在任務(wù)T1和T4之間的異步通信在傳統(tǒng)的通信綜合系統(tǒng)中需要FIFO。
通過(guò)存儲(chǔ)通信數(shù)據(jù)在接收機(jī)u2或發(fā)射機(jī)u1中,來(lái)實(shí)行異步通信的同步。在本發(fā)明的接收機(jī)存儲(chǔ)方法中,當(dāng)發(fā)射機(jī)發(fā)送數(shù)據(jù)時(shí),它在相關(guān)的任務(wù)結(jié)束時(shí)聲稱中斷。接收機(jī)中斷正在進(jìn)行中的任務(wù)(例如T3),允許發(fā)射機(jī)以同步方式發(fā)送數(shù)據(jù)到接收機(jī)。接收機(jī)把數(shù)據(jù)存儲(chǔ)在它的內(nèi)部的存儲(chǔ)器中,直至需要接收的數(shù)據(jù)的任務(wù)被準(zhǔn)備好可以實(shí)行為止。
圖5B顯示按照本發(fā)明的一個(gè)實(shí)施例的、通過(guò)存儲(chǔ)數(shù)據(jù)在接收機(jī)u2中而同步異步通信任務(wù)T1到任務(wù)T4的示意圖。如圖所示,發(fā)射機(jī)u1實(shí)行任務(wù)T1和T2,而接收機(jī)實(shí)行任務(wù)T3和T4。相反,圖5B顯示發(fā)射機(jī)u1向接收機(jī)u2聲稱中斷504。中斷允許通過(guò)總線而不是FIFO以同步方式實(shí)行從發(fā)射機(jī)u1到接收機(jī)u2的數(shù)據(jù)傳送。接收機(jī)u2存儲(chǔ)數(shù)據(jù),直至任務(wù)可在以后時(shí)間被實(shí)行為止。
在替換的實(shí)施例中,發(fā)射機(jī)可以代替接收機(jī),存儲(chǔ)用于同步異步通信的數(shù)據(jù)。具體地,當(dāng)發(fā)送數(shù)據(jù)時(shí),發(fā)射機(jī)把通信數(shù)據(jù)存儲(chǔ)在它自己的內(nèi)部存儲(chǔ)器中。當(dāng)接收機(jī)想要數(shù)據(jù)時(shí),它向發(fā)射機(jī)聲稱中斷,發(fā)射機(jī)暫停它本身正在進(jìn)行的任務(wù),以及發(fā)送存儲(chǔ)數(shù)據(jù)給接收機(jī)。
圖5C顯示按照本發(fā)明的一個(gè)實(shí)施例的、通過(guò)存儲(chǔ)數(shù)據(jù)在發(fā)射機(jī)u1中而同步異步通信任務(wù)T1到任務(wù)T4的示意圖。在圖上,發(fā)射機(jī)在完成任務(wù)T1后存儲(chǔ)數(shù)據(jù)在它的內(nèi)部存儲(chǔ)器中,以及開(kāi)始任務(wù)T2。當(dāng)接收機(jī)u2準(zhǔn)備好執(zhí)行任務(wù)T4時(shí),它向發(fā)射機(jī)u1聲稱中斷506。作為應(yīng)答,發(fā)射機(jī)u1暫停任務(wù)T2,把存儲(chǔ)的數(shù)據(jù)在總線而不是FIFO上以同步方式傳送到接收機(jī)u2。
接收機(jī)和發(fā)射機(jī)存儲(chǔ)方法因此把以異步傳送的異步通信轉(zhuǎn)換成以同步傳送的異步通信。這些轉(zhuǎn)換的通信在這里被稱為“半同步通信”。應(yīng)當(dāng)指出,轉(zhuǎn)換只是在發(fā)射機(jī)或接收機(jī)的存儲(chǔ)器容量在特定的通信的存活期間足夠存儲(chǔ)數(shù)據(jù)的情況下才能實(shí)行。在這種情況下,由于中斷,時(shí)間安排表需要被修改。
一般地,中斷的產(chǎn)生增加處理時(shí)間。這個(gè)時(shí)間增加,在這里被稱為差值(Δ),正比于中斷程序執(zhí)行時(shí)間。另外,數(shù)據(jù)傳送的時(shí)刻將不同于最初的時(shí)間安排表。參照?qǐng)D5C,這樣的差值不單可以出現(xiàn)在發(fā)射任務(wù)后,也可出現(xiàn)在接收任務(wù)前。時(shí)間增加Δ也具有修改總的時(shí)間安排表的效果,由此要求仍舊遵守時(shí)間約束。例如,由于使用中斷連同存儲(chǔ)通信數(shù)據(jù),與中斷有關(guān)的任務(wù)可以在時(shí)間上平移。由于中斷將受到平移影響的任務(wù)連同貯存數(shù)據(jù)的尺寸和存活時(shí)間(例如持續(xù)時(shí)間)一起被存儲(chǔ)。這允許把加權(quán)因子指派給通信類型的可能的轉(zhuǎn)換的花費(fèi)(通信時(shí)間、硅處理過(guò)程等)。Δ的傳播如下地影響被中斷的任務(wù),其它任務(wù),同步通信,和異步通信中斷的任務(wù)Tend=Tend+Δ其它任務(wù)Tbegin=Tbegin+Δ;Tend=Tend+Δ同步通信Tbegin=Tbegin+Δ;Tend=Tend+Δ;以及異步通信如果Δ由邊緣的末端點(diǎn)傳播Tend=Tend+Δ;以及如果Δ由邊緣的起始點(diǎn)傳播Tbegin=Tbegin+Δ時(shí)間安排的應(yīng)用項(xiàng)可以用數(shù)據(jù)流程圖表示,其中節(jié)點(diǎn)代表任務(wù),邊緣代表在任務(wù)之間的通信,如圖1B所示。按照優(yōu)選實(shí)施例,本發(fā)明提供在應(yīng)用項(xiàng)時(shí)間安排表上Δ的傳播方法,允許確定受時(shí)間滯后Δ影響的任務(wù)。一種傳播方法被提供來(lái)存儲(chǔ)數(shù)據(jù)到接收機(jī),以及另一種傳播方法被提供來(lái)存儲(chǔ)數(shù)據(jù)到發(fā)射機(jī)。在這些方法的任一種方法中,如果接收機(jī)或發(fā)射機(jī)單元沒(méi)有中斷系統(tǒng)和/或沒(méi)有足夠空間存儲(chǔ)異步通信的數(shù)據(jù),則通信傳送不能與接收機(jī)存儲(chǔ)通信或發(fā)射機(jī)存儲(chǔ)通信同步,在一個(gè)實(shí)施例中,方法首先進(jìn)行接收機(jī)存儲(chǔ)通信,以及如果通信仍舊為異步,則執(zhí)行發(fā)射機(jī)存儲(chǔ)通信。
圖6A顯示按照本發(fā)明的一個(gè)實(shí)施例的、用于確定傳播延時(shí)的接收機(jī)存儲(chǔ)方法600的流程圖。對(duì)于所有的異步通信,接收機(jī)存儲(chǔ)方法600在操作步驟602確定接收機(jī)是否可中斷的。如果接收機(jī)是不可中斷的,則通信不能由接收機(jī)存儲(chǔ)方法被同步,以及方法進(jìn)到圖6B的操作步驟652。另一方面,如果接收機(jī)是可中斷的,則方法進(jìn)到操作步驟604,確定當(dāng)中斷到達(dá)接收機(jī)時(shí)任務(wù)是否正在進(jìn)行。
如果任務(wù)正在進(jìn)行,則在操作步驟606,確定正在進(jìn)行的任務(wù)是否可中斷的。當(dāng)確定任務(wù)是可中斷時(shí),方法進(jìn)到操作步驟610,評(píng)估接收機(jī)是否具有足夠的存儲(chǔ)器空間來(lái)存儲(chǔ)在通信存活期間的通信數(shù)據(jù)。如果接收機(jī)具有足夠的存儲(chǔ)器空間,則在操作步驟614,把通信歸類為潛在的半同步的,以及在操作步驟618,傳播與中斷有關(guān)的延時(shí)。否則,該通信被確定為異步的,方法進(jìn)到圖6B的操作步驟652。
然而,在操作步驟604,如果確定當(dāng)中斷到達(dá)接收機(jī)時(shí)任務(wù)沒(méi)有在進(jìn)行,則進(jìn)一步確定在Tinterrupt和Tinterrupt+Temission之間的時(shí)間間隔內(nèi)任務(wù)是否正在進(jìn)行。優(yōu)選地,該時(shí)間間隔是[Tinterrupt,Tinterrupt+Temission]。如果是的話,則方法進(jìn)到操作步驟612,在其中確定接收機(jī)是否具有足夠的存儲(chǔ)器空間來(lái)存儲(chǔ)在通信存活期間的通信數(shù)據(jù)。如果接收機(jī)具有足夠的存儲(chǔ)器空間,則在操作步驟616,把通信歸類為潛在的半同步的。然而,延時(shí)Δ不被傳播,如在操作步驟620中所示的。否則,如果在操作步驟608,任務(wù)正在進(jìn)行,這個(gè)整個(gè)任務(wù)可被移位一個(gè)延時(shí)Δ,而不用中斷。在這種情形下,方法進(jìn)到操作步驟610。然后方法在操作步驟622結(jié)束。
任務(wù)T2被稱為是在一定的環(huán)境下直接時(shí)間依賴于任務(wù)T1的。例如,如果任務(wù)T1和T2被同一個(gè)單元執(zhí)行,以及任務(wù)T2的執(zhí)行緊接在任務(wù)T1的執(zhí)行結(jié)束后開(kāi)始,則存在直接時(shí)間依賴性。另外,當(dāng)任務(wù)T1和T2在兩個(gè)不同的單元上執(zhí)行以及任務(wù)T2從任務(wù)T1結(jié)束同步數(shù)據(jù),則也可存在這樣的條件。
在實(shí)施接收機(jī)存儲(chǔ)方法時(shí),延時(shí)Δ被傳送到接收機(jī)上的所有的任務(wù)Ti和通信,從中斷的任務(wù)以后直至作為時(shí)間α的接收機(jī)任務(wù)為止。另外,延時(shí)Δ可被循環(huán)地傳播到與任務(wù)Ti有直接時(shí)間依賴性的任務(wù),優(yōu)選地每個(gè)任務(wù)至多一個(gè)延時(shí)。
圖6B顯示按照本發(fā)明的一個(gè)實(shí)施例的、用于確定傳播延時(shí)的發(fā)射機(jī)存儲(chǔ)方法650的流程圖。如圖所示,發(fā)射機(jī)存儲(chǔ)方法650的操作以與圖6A的接收機(jī)存儲(chǔ)方法600相同的方式進(jìn)行。然而,在發(fā)射機(jī)存儲(chǔ)方法650中,操作步驟是對(duì)于發(fā)射機(jī)而不是對(duì)于接收機(jī)實(shí)行的。
當(dāng)實(shí)施發(fā)射機(jī)存儲(chǔ)方法時(shí),延時(shí)+Δ被傳送到接收機(jī)單元上所有的任務(wù)Tj和通信,從接收機(jī)任務(wù)開(kāi)始點(diǎn)直至?xí)r間安排表的末尾作為時(shí)間間隔β為止。另外,時(shí)間延時(shí)-Δ被傳送到發(fā)射機(jī)單元上所有的任務(wù)Tk和通信,在發(fā)射機(jī)任務(wù)的末端之間直至中斷的時(shí)間被接收的時(shí)間間隔x為止。而且,延時(shí)+Δ被循環(huán)地傳播到與任務(wù)Tj有直接時(shí)間依賴性的任務(wù),優(yōu)選地每個(gè)任務(wù)至多一個(gè)延時(shí)。同樣地,延時(shí)-Δ被循環(huán)地傳播到與任務(wù)Tk有直接時(shí)間依賴性的任務(wù),優(yōu)選地每個(gè)任務(wù)至多一個(gè)延時(shí)。
對(duì)于這樣規(guī)定的半同步通信和對(duì)于與被確定的這些傳送事件有關(guān)的時(shí)間,通信硬件可以通過(guò)使用同一種類型的支持,諸如總線,同時(shí)地針對(duì)同步和半同步型而被最佳化。在由于預(yù)定的系統(tǒng)或存在已知的異步通信,支持硬件是通信的存儲(chǔ)器的情況下,通信可被歸類為同步的。在這種情形下,數(shù)據(jù)傳輸?shù)哪P蛯⑹遣煌?。例如,圖7A和7B顯示兩種同步通信模型。具體地,圖7A顯示具有同步時(shí)間tsyn的、在發(fā)射機(jī)u1和接收機(jī)u2之間的同步通信,而圖7B顯示具有發(fā)射時(shí)間te和傳輸時(shí)間tr的、在發(fā)射機(jī)u1和接收機(jī)u2之間的同步通信。
按照一個(gè)實(shí)施例,同步傳輸模型是按照現(xiàn)有的硬件(預(yù)定的系統(tǒng))適配的,或潛在地被加在異步通信硬件的確定級(jí)上。在連接用于同步傳送的單元的通信存儲(chǔ)器的情形下,使用圖7B所示的同步模型,而不用圖7A的模型,或者適合于簡(jiǎn)單的總線的情形。然后,熟知的、搜索加權(quán)的雙方匹配算法被使用來(lái)使得支持所有的傳送的總線數(shù)目最小化。圖8A顯示代表通過(guò)總線的數(shù)據(jù)傳輸?shù)哪P?。Tsyn是數(shù)據(jù)從發(fā)射機(jī)u1傳輸?shù)浇邮諜C(jī)u2的時(shí)間。圖8B顯示通過(guò)通信存儲(chǔ)器(例如,F(xiàn)IFO,雙端口等)的數(shù)據(jù)傳輸?shù)哪P?。發(fā)送時(shí)間te是數(shù)據(jù)從u1傳輸?shù)紽IFO的時(shí)間,以及傳輸時(shí)間tr是數(shù)據(jù)從FIFO傳輸?shù)浇邮諜C(jī)u2的時(shí)間。在這兩個(gè)階段末尾,通信硬件以及在單元之間的必要的協(xié)議(同步/半同步/異步)被產(chǎn)生。
例如,圖9A顯示描述圖1B上模型化的應(yīng)用項(xiàng)120的時(shí)間安排表的示意圖。如圖1C所示,時(shí)間安排表圖安排設(shè)計(jì)單元的分配的任務(wù)為時(shí)間的函數(shù)。在這種配置下,通過(guò)使用任務(wù)的移動(dòng)性,任務(wù)T3被安排在后面進(jìn)行,以使得在任務(wù)T2與T6之間的通信成為同步的。同樣地,任務(wù)T4被安排在后面進(jìn)行,以使得在任務(wù)T3與T7之間的通信成為同步的。
圖9B顯示對(duì)于圖9A上修改的應(yīng)用項(xiàng)120的系統(tǒng)950的硬件結(jié)構(gòu)。系統(tǒng)950在處理器P1與HW1之間包括總線952,而不是FIFO。然而,系統(tǒng)950仍包括FIFO。因此,雖然系統(tǒng)950比起圖1C的系統(tǒng)協(xié)議較少的芯片表面,但FIFO 954仍舊比總線協(xié)議更大的表面。
圖10A顯示描述按照本發(fā)明的一個(gè)實(shí)施例的、使用中斷機(jī)制的應(yīng)用項(xiàng)120的時(shí)間安排表的示意圖。如圖所示,處理器P2配備有產(chǎn)生中斷的中斷機(jī)制和對(duì)于存儲(chǔ)在任務(wù)T9到T13,任務(wù)T10到T13,任務(wù)T11到T13,和任務(wù)T12到T13之間的數(shù)據(jù)足夠的存儲(chǔ)器空間。
在這種配置下,在任務(wù)T9到T13,任務(wù)T10到T13,任務(wù)T11到T13,和任務(wù)T12到T13之間的異步通信通過(guò)使用接收機(jī)存儲(chǔ)方法被轉(zhuǎn)換成半同步的。處理器P2存儲(chǔ)通信數(shù)據(jù),直至任務(wù)T13準(zhǔn)備好執(zhí)行為止。應(yīng)當(dāng)指出,在使用接收機(jī)存儲(chǔ)方法時(shí),從任務(wù)到任務(wù)的花費(fèi),γi/j為如下γ9/13=γ11/13=γ10/13=γ12/13=0圖10B顯示對(duì)于圖10A上修改的應(yīng)用項(xiàng)120的系統(tǒng)1050的硬件結(jié)構(gòu)。系統(tǒng)1050現(xiàn)在包括兩條總線1052和1054,而沒(méi)有任何FIFO。因此,系統(tǒng)1050比起圖1C和9B的系統(tǒng)需要少得多的芯片表面。
本發(fā)明使用任務(wù)的移動(dòng)性和中斷驅(qū)動(dòng)機(jī)制來(lái)減小數(shù)據(jù)貯存需要。它通過(guò)盡可能對(duì)地以同步的方式實(shí)行在單元之間的數(shù)據(jù)傳輸,而使得在給定的時(shí)間約束內(nèi)表面面積最佳化。而且,預(yù)定的系統(tǒng)的規(guī)定可以考慮到復(fù)用硬件。另外,本發(fā)明的方法和設(shè)備考慮單元上空閑的存儲(chǔ)器容量(例如,與任務(wù)的本地變量有關(guān)的空間),使得要被傳送的數(shù)據(jù)的貯存最佳化。通過(guò)本方法,我們?nèi)コ伺c多處理器系統(tǒng)中的通信有關(guān)的冗余的存儲(chǔ)器。
例如,基于BIP37雙處理器的系統(tǒng),具有由雙端口RAM連接的兩個(gè)核心,以及每個(gè)核心1K RAM,可以通過(guò)確定雙端口RAM對(duì)于給定的應(yīng)用項(xiàng)是否可被去除,而使得系統(tǒng)最佳化。例如,對(duì)于多通道音頻壓縮應(yīng)用項(xiàng),對(duì)于異步通信所需要的存儲(chǔ)器尺寸是1K。在BiP3771上的1K代表芯片面積的15%。本發(fā)明通過(guò)把所需要的所有數(shù)據(jù)直接存儲(chǔ)在本地處理器存儲(chǔ)器中,而允許去除這樣的存儲(chǔ)器。
雖然借助于幾個(gè)優(yōu)選實(shí)施例描述了本發(fā)明,但可以有屬于本發(fā)明的范圍內(nèi)的改變、置換和等價(jià)物。也應(yīng)當(dāng)指出,可以有實(shí)施本發(fā)明的方法、裝置、和系統(tǒng)的替換的方法。所以,打算由以下的附屬權(quán)利要求來(lái)包括屬于本發(fā)明的真正的精神和范圍內(nèi)的所有的這樣的改變、置換和等價(jià)物。
附錄傳送的類型可以由在以下的論文中描述的任務(wù)算法的移動(dòng)性來(lái)被確定M.Israel L.Freund等,“A Codesign Experiment in AcousticEcho Cancellation(在回聲抵消中代碼符號(hào)實(shí)驗(yàn))”,ACM Transactionon Design Automation of Electronics Systems,Vol.2,No.4,October1997,pp.365-383,該論文在此引用,以供參考。在劃分后,提供在功能性單元上任務(wù)的時(shí)間安排表。目的是通過(guò)局部重新安排操作使得同步通信的使用最大化。然而,即使對(duì)于局部重新安排,也不總是可能只使用同步通信。在這樣的情況下,要求異步通信,兩種傳送類型在最后的結(jié)構(gòu)中被使用來(lái)實(shí)施應(yīng)用項(xiàng)的所有的通信。算法是基于兩個(gè)函數(shù)Node_characterization和Edge_characterization。對(duì)于每個(gè)節(jié)點(diǎn)Vi,Node_characterization計(jì)算被規(guī)定為在ASAP開(kāi)始時(shí)間ts(ASAP)i和ALAP結(jié)束時(shí)間te(ALAP)i之間的間隔的移動(dòng)性間隔ΔM_Vi。
ΔM_Vi=[ts(ASAP)i,te(ALAP)i]以下的算法可被使用來(lái)確定傳送類型<pre listing-type="program-listing"> While all the communication edges are not labeled do For each potential synchronous communication edge in the list L do Preliminarily schedule the next edge eij that is not labeled; Analyze the impact of that solution on other communication edges; If no asynchronous communication edge is revealed then Schedule definitively the edge eij, Label the edge eij with a synchronous transfer; Reorder the list L; End if; End for; Definitively schedule the edge eij that has the lowest cost functionξij Label the edge eij with a synchronous transfer; Remove asynchronous communication edges from the list L;<!-- SIPO <DP n="14"> --><dp n="d14"/> Reorder the list L; End while;</pre>間隔移動(dòng)性的計(jì)算考慮到時(shí)間約束。Edge_characterization計(jì)算通信邊緣eij的移動(dòng)性間隔ΔMeij(邊緣連接的節(jié)點(diǎn)被分配給不同的單元)和它的移動(dòng)性數(shù)值Meij。移動(dòng)性間隔代表在兩個(gè)節(jié)點(diǎn)Vi和Vj之間的通信可以發(fā)生的所有的時(shí)刻ΔMeij=[ts(ASAP)j,te(ALAP)i]數(shù)值ts(ASAP)j代表接收數(shù)據(jù)的節(jié)點(diǎn)的ASAP開(kāi)始時(shí)間,以及數(shù)值te(ALAP)i代表發(fā)送數(shù)據(jù)的節(jié)點(diǎn)的ALAP結(jié)束時(shí)間。移動(dòng)性數(shù)值被規(guī)定為Meij=te(ALAP)i-ts(ASAP)j如果ts(ASAP)j>te(ALAP)i,則Meij是負(fù)值,以及通信是異步的,因?yàn)樵诎l(fā)送者與接收者之間沒(méi)有時(shí)間重疊。否則,通信可被認(rèn)為是潛在同步的。函數(shù)也提供對(duì)于潛在同步通信的邊緣的花費(fèi)數(shù)值ξeij,它代表通過(guò)這個(gè)邊緣傳送的數(shù)據(jù)量(通信量)Veij與它的移動(dòng)性數(shù)值的比值ξeij=Vei,j/Mei,j具有最大花費(fèi)數(shù)值的邊緣首先被考慮,因?yàn)榕c這些邊緣有關(guān)的通信是同步的,預(yù)期更好的硬件最小化。
算法運(yùn)行如下(圖8)。首先,節(jié)點(diǎn)和邊緣被表征。當(dāng)傳送類型(同步或異步)被分配給這個(gè)邊緣時(shí),邊緣eij被加標(biāo)簽。具有異步通信的邊緣(ts(ASAP)j>te(ALAP)i,即Meij<O)被加標(biāo)簽,以及不考慮用于其余部分。潛在同步邊緣的排序表L按照ξeij被創(chuàng)建。相應(yīng)于第一未加標(biāo)簽的L的邊緣eij的節(jié)點(diǎn)Vi和Vj是最初安排的(局部重新安排)。這個(gè)時(shí)間安排表對(duì)其它通信邊緣的影響通過(guò)再次表征節(jié)點(diǎn)和邊緣而被分析。如果任何通信邊緣ekl(k≠i和l≠j)變成為異步的,則eij肯定被安排,以及加標(biāo)簽為同步傳送。否則,考慮來(lái)自L的另一個(gè)未加標(biāo)簽的邊緣eij。處理過(guò)程被迭代進(jìn)行,直至對(duì)其它邊緣沒(méi)有影響的、所有的通信邊緣被加標(biāo)簽為止。
在這個(gè)步驟以后,在L中的其余潛在同步邊緣涉及至少一個(gè)異步通信。令ξij=(∑ data of asynchronous edges)/(∑ data of synchronousedges)是與eij有關(guān)的花費(fèi)函數(shù),被規(guī)定為與成為異步的L的邊緣有關(guān)的數(shù)據(jù)的總量和與保持為同步的L的邊緣有關(guān)的數(shù)據(jù)的總量的比值。帶有ξij最小值的邊緣eij被加標(biāo)簽為同步傳送,因?yàn)槟康氖鞘沟肍IFO專用的面積最小化。
權(quán)利要求
1.一種根據(jù)應(yīng)用項(xiàng)的通信類型綜合通信支持的方法,包括為應(yīng)用項(xiàng)提供一個(gè)應(yīng)用項(xiàng)時(shí)間安排表,應(yīng)用項(xiàng)時(shí)間安排表具有用于執(zhí)行特定的任務(wù)的多個(gè)單元和在特定的任務(wù)之間的一個(gè)或多個(gè)通信鏈路;對(duì)于在應(yīng)用項(xiàng)時(shí)間安排表中的每個(gè)通信鏈路,確定其通信類型為異步通信還是同步通信;對(duì)于每個(gè)異步通信,確定每個(gè)異步通信是否可被轉(zhuǎn)換成使用中斷和總線來(lái)傳送數(shù)據(jù)的半同步通信;以及通過(guò)使用中斷和總線,綜合用于半同步通信的通信支持為同步通信。
2.如權(quán)利要求1的方法,還包括通過(guò)使用通信存儲(chǔ)器,綜合不是半同步通信的異步通信。
3.如權(quán)利要求1的方法,其中每個(gè)異步通信從發(fā)送單元發(fā)起到接收單元,以及其中發(fā)送單元適合于執(zhí)行用于產(chǎn)生通信數(shù)據(jù)的第一任務(wù)以及接收單元適合于接收用于執(zhí)行第二任務(wù)的通信數(shù)據(jù)。
4.如權(quán)利要求3的方法,其中對(duì)于每個(gè)半同步通信,總線被使用來(lái)耦合發(fā)送單元與接收單元,用來(lái)把通信數(shù)據(jù)從發(fā)送單元同步傳送到接收單元。
5.如權(quán)利要求4的方法,其中接收單元包括用于存儲(chǔ)通信數(shù)據(jù)的內(nèi)部存儲(chǔ)器,其中發(fā)送單元在總線上向接收單元發(fā)出一個(gè)中斷,以及發(fā)送通信數(shù)據(jù)到接收單元,以便存儲(chǔ)在內(nèi)部存儲(chǔ)器。
6.如權(quán)利要求4的方法,其中發(fā)送單元包括用于存儲(chǔ)通信數(shù)據(jù)的內(nèi)部存儲(chǔ)器,其中接收單元向發(fā)送單元發(fā)出一個(gè)中斷,以便當(dāng)接收單元準(zhǔn)備好執(zhí)行第二任務(wù)時(shí)從發(fā)送單元的內(nèi)部存儲(chǔ)器傳送通信數(shù)據(jù)。
7.如權(quán)利要求4的方法,其中中斷與在應(yīng)用項(xiàng)時(shí)間安排表中傳播的延時(shí)Δ有關(guān)。
8.一種根據(jù)應(yīng)用項(xiàng)的通信類型綜合通信支持的方法,包括為應(yīng)用項(xiàng)提供一個(gè)應(yīng)用項(xiàng)時(shí)間安排表,應(yīng)用項(xiàng)時(shí)間安排表具有用于執(zhí)行特定的任務(wù)的多個(gè)單元和在特定的任務(wù)之間的一個(gè)或多個(gè)通信路徑;對(duì)于在應(yīng)用項(xiàng)時(shí)間安排表中的每個(gè)通信路徑,確定其通信類型為異步通信還是同步通信;對(duì)于每個(gè)異步通信,確定每個(gè)異步通信是否可被轉(zhuǎn)換成使用中斷和總線來(lái)傳送數(shù)據(jù)的半同步通信;通過(guò)使用中斷和總線,綜合用于半同步通信的第一硬件支持為同步通信;以及通過(guò)使用通信存儲(chǔ)器,綜合用于不是半同步通信的異步通信的第二硬件支持。
9.如權(quán)利要求8的方法,其中每個(gè)異步通信從發(fā)送單元發(fā)起到接收單元,以及其中發(fā)送單元適合于執(zhí)行用于產(chǎn)生通信數(shù)據(jù)的第一任務(wù)以及接收單元適合于接收用于執(zhí)行第二任務(wù)的通信數(shù)據(jù)。
10.如權(quán)利要求9的方法,其中對(duì)于每個(gè)半同步通信,總線被使用來(lái)耦合發(fā)送單元與接收單元,用來(lái)把通信數(shù)據(jù)從發(fā)送單元同步傳送到接收單元。
11.如權(quán)利要求10的方法,其中接收單元包括用于存儲(chǔ)通信數(shù)據(jù)的內(nèi)部存儲(chǔ)器,其中發(fā)送單元在總線上向接收單元發(fā)出一個(gè)中斷,以及發(fā)送通信數(shù)據(jù)到接收單元,以便存儲(chǔ)在內(nèi)部存儲(chǔ)器。
12.如權(quán)利要求10的方法,其中發(fā)送單元包括用于存儲(chǔ)通信數(shù)據(jù)的內(nèi)部存儲(chǔ)器,其中接收單元向發(fā)送單元發(fā)出一個(gè)中斷,以便當(dāng)接收單元準(zhǔn)備好執(zhí)行第二任務(wù)時(shí)從發(fā)送單元的內(nèi)部存儲(chǔ)器傳送通信數(shù)據(jù)。
13.如權(quán)利要求10中闡述的方法,其中中斷與在應(yīng)用項(xiàng)時(shí)間安排表中傳播的延時(shí)Δ有關(guān)。
14.一種根據(jù)應(yīng)用項(xiàng)的通信類型用于綜合通信支持的集成電路設(shè)計(jì)工具,包括為應(yīng)用項(xiàng)提供一個(gè)應(yīng)用項(xiàng)時(shí)間安排表的裝置,應(yīng)用項(xiàng)時(shí)間安排表具有用于執(zhí)行特定的任務(wù)的多個(gè)單元和在特定的任務(wù)之間的一個(gè)或多個(gè)通信路徑;用于對(duì)于在應(yīng)用項(xiàng)時(shí)間安排表中的每個(gè)通信路徑,確定其通信類型為異步通信還是同步通信的裝置;用于對(duì)于每個(gè)異步通信,確定每個(gè)異步通信是否可被轉(zhuǎn)換成使用中斷和總線來(lái)傳送數(shù)據(jù)的半同步通信的裝置;用于通過(guò)使用中斷和總線,綜合用于半同步通信的第一硬件支持為同步通信的裝置;以及用于通過(guò)使用通信存儲(chǔ)器,綜合用于不是半同步通信的異步通信的第二硬件支持的裝置。
15.如權(quán)利要求14的集成電路設(shè)計(jì)工具,其中每個(gè)異步通信從發(fā)送單元發(fā)起到接收單元,以及其中發(fā)送單元適合于執(zhí)行用于產(chǎn)生通信數(shù)據(jù)的第一任務(wù)以及接收單元適合于接收用于執(zhí)行第二任務(wù)的通信數(shù)據(jù)。
16.如權(quán)利要求15的集成電路設(shè)計(jì)工具,其中對(duì)于每個(gè)半同步通信,總線被使用來(lái)耦合發(fā)送單元與接收單元,用來(lái)把通信數(shù)據(jù)從發(fā)送單元同步傳送到接收單元。
17.如權(quán)利要求16的集成電路設(shè)計(jì)工具,其中接收單元包括用于存儲(chǔ)通信數(shù)據(jù)的內(nèi)部存儲(chǔ)器,其中發(fā)送單元在總線上向接收單元發(fā)出一個(gè)中斷,以及發(fā)送通信數(shù)據(jù)到接收單元,以便存儲(chǔ)在內(nèi)部存儲(chǔ)器。
18.如權(quán)利要求16的集成電路設(shè)計(jì)工具,其中發(fā)送單元包括用于存儲(chǔ)通信數(shù)據(jù)的內(nèi)部存儲(chǔ)器,其中接收單元向發(fā)送單元發(fā)出一個(gè)中斷,以便當(dāng)接收單元準(zhǔn)備好執(zhí)行第二任務(wù)時(shí)從發(fā)送單元的內(nèi)部存儲(chǔ)器傳送通信數(shù)據(jù)。
19.如權(quán)利要求16的集成電路設(shè)計(jì)工具,其中中斷與在應(yīng)用項(xiàng)時(shí)間安排表中傳播的延時(shí)Δ有關(guān)。
全文摘要
公開(kāi)了一種根據(jù)應(yīng)用項(xiàng)的通信類型來(lái)綜合通信支持的方法。在集成電路設(shè)計(jì)方法中,為應(yīng)用項(xiàng)提供一個(gè)應(yīng)用項(xiàng)時(shí)間安排表。應(yīng)用項(xiàng)時(shí)間安排表描述用于執(zhí)行特定的任務(wù)的多個(gè)單元和在特定的任務(wù)之間的一個(gè)或多個(gè)通信鏈路。在接收應(yīng)用項(xiàng)時(shí)間安排表以后,對(duì)于在應(yīng)用項(xiàng)時(shí)間安排表中的每個(gè)通信鏈路,確定其通信類型為異步通信還是同步通信。然后,對(duì)于每個(gè)異步通信,確定每個(gè)異步通信是否可被轉(zhuǎn)換成使用中斷和總線來(lái)傳送數(shù)據(jù)的半同步通信。對(duì)于半同步通信,通過(guò)使用中斷和總線,把通信支持綜合為同步通信。另外,可以對(duì)于被確定為不是半同步通信的異步通信綜合通信支持。
文檔編號(hào)G06F17/50GK1399749SQ00805012
公開(kāi)日2003年2月26日 申請(qǐng)日期2000年12月8日 優(yōu)先權(quán)日1999年12月9日
發(fā)明者F·奎斯塔, M·奧圭恩 申請(qǐng)人:皇家菲利浦電子有限公司