專利名稱:功能模塊模型和流水線電路合成方法及流水線電路裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及集成電路的功能電平設(shè)計,尤其涉及流水線電路的合成及使用其的功能模塊模型。
為了謀求電子電路的工作高速化,流水線體系結(jié)構(gòu)正在被人們所利用。針對一般電路的流水線化的方法,在「Princi Ples of Digital Design」(作者Gajski,出版社Prentice Hall)中已詳細說明。
所謂流水線化,是在信號通路上插入流水線寄存器,在由各流水線寄存器劃界的各區(qū)域中,可并列實行運算。
圖14是為說明流水線化的基本概念的圖。同圖中(a)是提供的電路圖,(b)是針對(a)電路表示流水線化結(jié)果的圖。在圖14中,310是運算器(模塊)的符號模型,320是流水線運算器的符號模型。在圖14(a)中,流水線寄存器的可插入位置是運算器310,320間的信號通路上的位置330和流水線運算器320的預(yù)先設(shè)定的流水線寄存器的插入位置340。
在圖14(b)中對圖14(a)插入4個流水線寄存器350。各數(shù)據(jù)data(i)~data(i+6),按每個時鐘順序傳送到由流水線寄存器350劃界的各區(qū)域。由流水線寄存器350劃界的各區(qū)域的延遲,分別作為ds1、ds2、ds3,該電路的時鐘周期max(dsi)即可縮短至延遲ds1、ds2、ds3的最大值。
若流水線段數(shù)為N,則理想的時鐘周期可縮短到原處理時間的1/N。將數(shù)據(jù)的個數(shù)作為M,通過流水線化,用原處理時間的(M+N-1)/N的時間可實行處理。當M對N足夠大時,通過流水線化,可實現(xiàn)約N倍的高速化。
但是,在以前,流水線寄存器的插入位置被運算器間的信號通路上、對流水線運算器預(yù)先設(shè)定的位置限定。因此,不能將流水線寄存器劃界的各區(qū)域的延遲均等。當時鐘周期成為原處理時間的1/N時,在由流水線寄存器劃界的各區(qū)域中延遲為均等的情況,以前由于不能將各區(qū)域的延遲均等,不能將時鐘周期充分最優(yōu)化。
并且,各模塊已經(jīng)作布局設(shè)計,延遲和面積的值被固定,例如,關(guān)于流水線寄存器劃界的區(qū)域,其延遲對于時鐘周期即使充裕,也不能變更設(shè)定延遲及面積。
象這樣以前不一定能實現(xiàn)最優(yōu)化的必要流水線化。
鑒于上述問題,本發(fā)明就流水線電路的合成,可實現(xiàn)最優(yōu)流水線化作為課題。
為解決上述課題,本發(fā)明提供一種為實現(xiàn)最優(yōu)流水線化的功能模塊模型和用該功能模塊模型的流水線電路合成方法。
具體來說,本發(fā)明之一的解決手段是在集成電路的功能電平設(shè)計中,被用作表示功能模塊的功能模塊模型,具有表示流水線寄存器可插入位置表示分割線的分割線數(shù)據(jù)。
按照本發(fā)明之一,功能模塊模型具有表示流水線寄存器可插入位置表示分割線的分割線數(shù)據(jù),在流水線電路的合成中,可選擇由該分割線表示的位置插入流水線寄存器的位置。因此,可進行流水線寄存器的插入位置最優(yōu)化。
并且,在本發(fā)明之二中,所述發(fā)明之一的功能模塊模型包括,在由分割線劃界的分割區(qū)域中表示延遲和面積的折衷選擇關(guān)系的延遲面積數(shù)據(jù)。
按照本發(fā)明之二,功能模塊模型由于具有在由分割線劃界的分割區(qū)域中,表示延遲和面積的折衷選擇關(guān)系的延遲面積數(shù)據(jù),在流水線電路的合成中,可由該延遲和面積的折衷選擇關(guān)系設(shè)定分割區(qū)域中的延遲和面積。因此,可容易地調(diào)整部分電路的延遲及面積,最優(yōu)化流水線電路整體的延遲及面積。
并且,在本發(fā)明之三中,在所述發(fā)明之二的功能模塊模型的延遲面積數(shù)據(jù),作為分割區(qū)域的延遲,至少在該分割區(qū)域中具有關(guān)鍵路徑的延遲。
并且,在本發(fā)明之四中,發(fā)明之一的功能模塊模型是表現(xiàn)運算器的模型。
還有,本發(fā)明之五中所述的解決手段,是在集成電路的功能電平設(shè)計中,作為被用于表示功能模塊的功能模塊模型,決定流水線寄存器的插入位置;在由流水線寄存器插入位置劃界的各區(qū)域中,具有表示延遲和面積的折衷選擇關(guān)系的延遲面積數(shù)據(jù)。
按照本發(fā)明之五,功能模塊模型由于具有由流水線寄存器插入位置劃界的分割區(qū)域中表示延遲和面積的折衷選擇關(guān)系的延遲面積數(shù)據(jù),在流水線電路的合成中,可由該延遲和面積的折衷選擇關(guān)系設(shè)定分割區(qū)域中的延遲和面積。因此,可容易調(diào)整部分電路的延遲及面積,最優(yōu)化流水線電路整體的延遲及面積。
而且,在本發(fā)明之六中,所述發(fā)明之五的功能模塊模型中的延遲面積數(shù)據(jù),在由流水線寄存器插入位置劃界的各區(qū)域中作為延遲,至少作為在該區(qū)域中具有關(guān)鍵路徑的延遲。
還有,在本發(fā)明之七中,發(fā)明之五的功能模塊模型是表現(xiàn)運算器的模型。
并且,本發(fā)明之八所述的解決手段是在集成電路的功能電平設(shè)計中,作為由功能模塊的連接信息合成流水線電路的方法,是使用具有表示流水線寄存器可插入位置,表示分割線的分割線數(shù)據(jù)的功能模塊模型;關(guān)于所述功能模塊模型準備的功能模塊,由用所述分割線數(shù)據(jù)表示的分割線所示的位置開始,選擇流水線寄存器的插入位置。
而且,在本發(fā)明之九中,所述本發(fā)明之八的流水線電路合成方法中,所述功能模塊模型是通過用所述分割線數(shù)據(jù)表示的分割線劃界的分割區(qū)域中,具有表示延遲和面積的折衷選擇關(guān)系的延遲面積數(shù)據(jù);作為有關(guān)所述功能模塊模型準備的功能模塊,由所述延遲面積數(shù)據(jù)表示的延遲和面積的折衷選擇關(guān)系設(shè)定在分割區(qū)域中的延遲和面積。
并且,在本發(fā)明之十中,在所述本發(fā)明之九的流水線電路合成方法中,作為條件提供流水線段數(shù)及時鐘周期;流水線電路在提供的流水線段數(shù)及時鐘周期可工作,并且,作為以面積為最小那樣決定流水線寄存器的插入位置及在分割區(qū)域中的延遲和面積。
而且,在本發(fā)明之十一中,在所述本發(fā)明之九的流水線電路合成方法中,作為條件提供時鐘周期;流水線電路在提供的時鐘周期求出可工作時的最小流水線段數(shù);流水線電路在所述最小流水線段數(shù)及提供的所述時鐘周期可工作,并且,以面積為最小那樣決定流水線寄存器的插入位置及在分割區(qū)域中的延遲和面積。
并且,在本發(fā)明之十二中,在所述本發(fā)明之十一的流水線電路合成方法中,從所述最小流水線段數(shù)開始增加設(shè)定流水線段數(shù);流水線電路在設(shè)定的流水線段數(shù)及提供的時鐘周期可工作,并且,以面積為最小那樣決定流水線寄存器的插入位置及在分割區(qū)域中的延遲和面積。
還有,在本發(fā)明之十三中,按照有關(guān)本發(fā)明的流水線電路合成方法設(shè)計的流水線電路裝置,具有實質(zhì)功能相同的兩個塊;在所述的兩個塊中,流水線寄存器的插入位置不同。
然后,在本發(fā)明之十四中,在所述本發(fā)明之十三中的流水線電路裝置,在所述兩個塊中,對應(yīng)部分電路的尺寸不同。
下面對附圖作以簡要的說明圖1(a)~(c)是一般地表示本發(fā)明的功能模塊模型圖。
圖2是表示關(guān)于本發(fā)明的功能模塊模型的計算機上的表現(xiàn)例的圖。
圖3是模式表示用圖2所示的分割線數(shù)據(jù)表示的分割線的信息的圖。
圖4是表示以前的功能模塊模型圖。
圖5是先行進位方式乘法器的電路圖。
圖6是在圖5所示的乘法器中插入流水線寄存器后的電路圖。
圖7表示關(guān)于本發(fā)明的流水線電路合成方法的一例的流程圖。
圖8(a)~(c)表示成為本發(fā)明的流水線電路合成方法對象的流水線電路。
圖9是對圖8的流水線電路表示圖7的處理實行結(jié)果的圖。
圖10是使用了以往的功能模塊模型的流水線電路。
圖11表示關(guān)于本發(fā)明的流水線電路合成方法的其他例的流程圖。
圖12是僅通過流水線寄存器插入位置的變更表示進行流水線電路的最優(yōu)化的結(jié)果。
圖13是用本發(fā)明的流水線電路合成方法設(shè)計的流水線電路裝置的布局模式圖。
圖14(a),(b)是為說明流水線化的基本概念的圖。
符號說明1A,1B——塊;5A,5B——流水線寄存器;2A,3A,4A,2B,3B,4B——部分電路;30——分割線;31~38——分割線;39——流水線寄存器;61~70——分割線;100——功能模塊模型;140—一分割線數(shù)據(jù);150——延遲面積數(shù)據(jù);Line1~Line4——分割線;block1~block5——分割區(qū)域。
圖1一般地表示本發(fā)明一實施例的功能模塊模型的圖。同圖中(a)是表示構(gòu)成功能模塊的布局的圖,(b)是在功能電路圖中表示(a)的功能模塊所示符號圖,10是輸入信號,20是輸出信號,30是表示流水線寄存器可插入位置的分割線。a1~a5是在由分割線30劃界的分割區(qū)域中的面積、d1~d5是在由分割線30劃界的分割區(qū)域中延遲,即為信號通過分割區(qū)域必要的時間。
圖1(a)所示功能模塊具有可插入流水線寄存器1個以上的分割線30,在各分割線30表示的任何位置,流水線寄存器的插入是可能的。在由分割線30劃界的各分割區(qū)域中,其面積ai和延遲di(i=1~5)在于折衷選擇的關(guān)系。即,提高分割區(qū)域電路的驅(qū)動能力,如果提高信號傳輸速度,可減少延遲,其中一方面,由于構(gòu)成電路的晶體管的尺寸加大,面積增大。
圖1(c)是在分割區(qū)域中表示面積ai和延遲di的折衷選擇關(guān)系的圖形。例如,對某分割區(qū)域提供延遲值時,由圖1(c)所示那樣的關(guān)系,求其延遲值內(nèi)可工作的最小面積。并且,提供面積值時,由圖1(c)所示那樣的關(guān)系,求在其面積值內(nèi)可實現(xiàn)的最小延遲。
圖2是表示關(guān)于本發(fā)明的功能模塊模型的計算機上的表現(xiàn)例的圖。功能模塊模型100具有表示外部端子信息的端子數(shù)據(jù)110,表示內(nèi)部動作的功能數(shù)據(jù)120、表示功能電路圖中符號的符號數(shù)據(jù)130,表示分割線信息的分割線數(shù)據(jù)140及在分割區(qū)域中表示延遲和面積關(guān)系的延遲面積數(shù)據(jù)150。圖2所示的功能模塊模型100是對應(yīng)乘法器的模型。
如圖2所示,分割線數(shù)據(jù)140表示可插入流水線寄存器位置的多個分割線Line1~Line4。通過將流水線寄存器插入分割線Line1~Line4的任何一條進行該功能模塊的電路分割。
圖3是將通過圖2所示的分割線數(shù)據(jù)140表示的分割線信息模式表示的圖。在圖3中,Line1~Line4是分割線,block1~block5是通過各分割線Line1~Line4被分開的分割區(qū)域,a0~a7,b0~b7是該功能模塊的輸入端子、x0~x14,cO是該功能模塊的輸出端子,d0~d22是分割區(qū)域block1的輸出端子(分割區(qū)域block2的輸入端子)。
另外,如圖2所示,延遲面積數(shù)據(jù)150是在各分割區(qū)域block1~block5中表示延遲和面積的多個組合,由此,表示在各分割區(qū)域block1~block5中面積和延遲的折衷選擇關(guān)系。例如圖2的延遲面積數(shù)據(jù)150是表示在分割區(qū)域block1中面積為3.0時由端子a0到端子d0的延遲是2.0。面積為4.0時,由端子b1到端子d0的延遲是1.6。并且在本實施例中,分割區(qū)域的延遲是其分割區(qū)域的各通路的延遲中的最大延遲,即用關(guān)鍵路徑的延遲表示的延遲。例如分割區(qū)域block1的延遲是當面積為3.0時是2.3(關(guān)鍵路徑是由端子a1到端d1的通路),面積為4.0時是1.8(關(guān)鍵路徑是由端子a0到端子d0的通路)。本實施例中,通過準備這樣的延遲面積數(shù)據(jù)150,可彈性選擇分割區(qū)域的面積及延遲最適合的解。
圖4表示以往的功能模塊模型的圖。如圖4所示,以往的功能模塊模型200不具備分割線數(shù)據(jù)。并且,延遲數(shù)據(jù)240僅表示該功能模塊模型的輸入端子到輸出端子的延遲值,并且,其延遲值是固定的。另外,面積數(shù)據(jù)250只不過是表示該功能模塊整體的面積信息而已。
如使用本實施例的功能模塊模型,流水線寄存器的插入位置的最優(yōu)化,部分電路的延遲及面積的調(diào)整成為可能,可將流水線電路整體的延遲及面積最優(yōu)化。
關(guān)于本實施例的功能模塊模型,以運算器為例更具體地說明。
圖5是先行進位方式乘法器的電路圖。如圖5所示的乘法器是通過將多個全加法器FA陳列排列,構(gòu)成了數(shù)組型乘法器。A0~A7是輸入A的各位信號線,B0~B7是輸入B的各位信號線,X0~X14是輸出的各位信號線。
有關(guān)本實施例的功能模塊模型的特征是(1)可插入流水線寄存器的位置,即分割線所表示的位置(2)在用分割線劃界的分割區(qū)域中,通過調(diào)整電路的驅(qū)動能力或晶體管尺寸,面積和速度的折衷選擇解析是可能的。
按照本實施例的功能模塊模型,如圖5所示表示乘法器時,可設(shè)定8根分割線31~38。按分割線31~38劃界的電路,通過調(diào)整晶體管尺寸,可變更其面積。例如,F(xiàn)ishbum et al.,“TILOSA posynomial programmingApproach to Transistor Sizing”,ICCad85,PP.326-328,1985所公開的,如使用晶體管尺寸最優(yōu)化方法,提供規(guī)定的延遲時,可計算面積為最小的晶體管尺寸。因此,在變更延遲的同時,通過使用該晶體管尺寸的最優(yōu)化方法,可如圖1(c)所示那樣,求延遲和面積的折衷選擇的關(guān)系。
圖6是在如圖5所示的乘法器中插入流水線寄存器后的電路圖。如圖6所示那樣,分割線36是作為流水線寄存器的插入位置36A被選擇,在該插入位置36A和各信號線上的交點,插入流水線寄存器39。
還有,浮點小數(shù)運算器,加法器,除法器等的乘法器以外的運算器,可適用關(guān)于本實施例的功能模塊模型。并且,不僅是運算器,關(guān)于存儲電路,組合電路等的模塊,也可適用本實施例的功能模塊模型。
下面,說明關(guān)于使用本實施例的功能模塊模型的流水線電路合成方法。
有關(guān)本實施例的流水線電路合成是關(guān)于所述的功能模塊模型準備的功能模塊,由表示流水線寄存器可插入的位置的分割線中,選擇實施插入流水線寄存器的位置,同時,在由分割線劃界的分割區(qū)域中,從其折衷選擇關(guān)系設(shè)定延遲和面積可作為問題定義。
在這里,按照設(shè)計目的,例如定義下面的問題。
(問題1)提供以流水線段數(shù)及時鐘周期為條件,使流水線電路的面積為最小。
圖7是有關(guān)本實施例的流水線電路合成方法的一例,是表示提供該問題1的解的處理順序的流程圖。關(guān)于圖7所示的處理順序,用圖8及圖9說明。
圖8(a)是作為合成對象的流水線電路,是由功能模塊的連接關(guān)系所表現(xiàn)的。在圖8中,41~45是寄存器,51、52是乘法器,53是加法器。即,圖8(a)是將輸入A,B的積和輸入C,D的積之和作為輸出Y,表示輸出電路。圖8(b)是表示乘法器的功能模塊模型,圖8(c)是表示加法器的功能模塊模型。在圖8(b),(c)中,各虛線表示分割線,在用分割線劃界的各分割區(qū)域中的數(shù)字表示在其分割區(qū)域中的延遲和面積的關(guān)系?!?”前的數(shù)字表示延遲,“/”后的數(shù)字表示面積。例如“2.3/3”表示其分割區(qū)域當延遲為2.3時,面積是3。
對于圖8(a)所示的流水線電路,2作為流水線段數(shù),作為條件,提供13.0作為時鐘周期。即,通過插入流水線,將寄存器41~44和寄存器45之間分割成2段,并且,隨著寄存器間的延遲為13.0以下,面積為最小。
首先,在步驟S11中,初期設(shè)定流水線寄存器的插入位置,及在各分割區(qū)域中的延遲和面積。在這是,將乘法器51的分割線61及乘法器52的分割線65作為流水線寄存器的插入位置,初期設(shè)定。并且,各分割區(qū)域的延遲及面積分別選擇延遲為最小的。即,關(guān)于乘法器51,52按分割區(qū)域的由上開始的順序,選擇為1.8/4、6/4、4.4/4、6/9,關(guān)于加法器53,按分割區(qū)域由上開始的順序選擇為0.6/3、0.6/3、0.6/3。
下面,在步驟S12中,在設(shè)定的流水線寄存器的插入位置及各分割區(qū)域中,進行延遲及面積的評價。由寄存器41、42開始到分割線61為止的延遲、及由寄存器43、44開始到分割線65為止的延遲分別是1.8,由分割線61開始到寄存器45為止的延遲,及由分割線65開始到寄存器45為止的延遲,分別為18.2(=6+4.4+6+0.6+0.6+0.6),大大超出提供的時鐘周期13.0。并且這時,乘法器51,52的面積分別是21(=4+4+4+9),由于加法器53的面積是9(=3+3+3),總面積為51。
接著,在步驟S14中,進行流水線寄存器插入位置的設(shè)定變更(S14a)或是在分割區(qū)域中的延遲及面積的設(shè)定變更(S14b)。在這里,將流水線寄存器插入位置在乘法器51的分割線62及乘法器52的分割線66設(shè)定變更。然后在步驟S12中進行評價。該結(jié)果由寄存器41,42開始到分割線62為止的延遲及由寄存器43,44開始到分割線66為止的延遲分別是7.8(=1.8+6),由分割線62開始到寄存器45為止的延遲及由分割線66開始到寄存器45為止的延遲分別是12.2(=4.4+6+0.6+0.6+0.6),共同與提供的時鐘周期為13.0以下。
并且,為了總面積更小,繼續(xù)進行處理。在步驟S14中,例如,由1.8/4到2.3/3設(shè)定變更乘法器51的最初的分割區(qū)域的延遲及面積。步驟S12的評價結(jié)果,由寄存器41,42開始到分割線62為止的延遲增加為8.3(=2.3+6),乘法器51的面積減少為20(=3+4+4+9),總面積減少50。
到滿足步驟S13為止,反復(fù)實行這樣的步驟S14及S12。作為步驟S13的結(jié)束條件,可以用步驟S14及S12的反復(fù)次數(shù),也可以用步驟12的評價不改善的連續(xù)次數(shù)。
圖9是針對圖8的流水線電路表示圖7的處理的實行結(jié)果的圖。如圖9所示,作為流水線寄存器的插入位置,乘法器51的分割線63及乘法器52的分割線67是最終的選擇(用虛線圖示)。然后,各分割區(qū)域的延遲及面積,關(guān)于乘法器51,52是由分割區(qū)域的上開始順序地選擇2.3/3、6/4、4.4/4、10/6,關(guān)于加法器53是由分割區(qū)域的上開始順序地最終選擇1/2,1/2,1/2。該結(jié)果,第1段區(qū)域α,延遲為12.7、面積為22.0,第2段區(qū)域β,延遲為13.0、面積為18.0。即,用時鐘周期13.0可動作,且可得到總面積是40.0的解。
圖10是使用了以往的功能模塊模型的流水線電路,與圖8(a)同樣,是表示將輸入A,B的積和輸入C,D的積之和作為輸出Y的輸出電路的圖。
在以往,流水線寄存器的插入位置是模塊間的信號通路上,或者是被限定在寄存器插入位置被固定的功能模塊模型是存在的模塊的其寄存器插入位置。例如,作為表示乘法器81,82的功能模塊模型的寄存器插入位置是被固定的時候,如圖10所示,流水線寄存器為可插入的位置是被限定在乘法器81,82的寄存器插入位置91,93及乘法器81,82和加法器83之間的流水線寄存器的插入位置92,94的4處。
即,由于流水線寄存器的插入位置的自由度是低的,用流水線寄存器劃界的各區(qū)域的延遲不能夠充分正?;?,因此,不能使時鐘周期十分短。并且,為了各模塊的延遲及面積的值被固定,例如,關(guān)于用流水線寄存器劃界的區(qū)域,其延遲即使對時鐘周期有余量,也不能削減面積。
對此,在本實施例中,例如圖8(a)的電路中,流水線寄存器可插入的位置也有9處,可進行比以往規(guī)定更細的最優(yōu)化。也就是說,為了增加流水線寄存器插入位置的自由度,由于能夠充分進行用流水線寄存器劃界的各區(qū)域的延遲的正?;?,可充分縮短時鐘周期。并且,在各分割區(qū)域中,由于可進行延遲和面積的折衷選擇,其延遲是在對時鐘周期有余量的區(qū)域,可減小其面積,能夠使電路整體面積最小化。
還有,在圖7的處理中,例如,使用象以下的成本函數(shù)Cost,可以進行流水線寄存器的插入位置及各分割區(qū)域中的延遲和面積。
Cost=A*∑ai+B*max(dsi)+C*P這里,ai是用分割線劃界的各分割區(qū)域的面積,∑ai相當模塊面積的總和。并且,dsi是用流水線寄存器劃界的各區(qū)域的延遲。max(dsi)是各區(qū)域延遲的最大值,即相當可動作的時鐘周期。并且,P是表示可動作的時鐘周期比提供的時鐘周期是否大的值,大時為“1”,反之為“0”。并且,A,B,C是為各項的重復(fù)的參數(shù),是滿足C》B》A>0關(guān)系那樣的設(shè)定。
反復(fù)執(zhí)行步驟S14,通過逐步改善法,最小化所述成本函數(shù)Cost。還有,在步驟S14中,根據(jù)隨機數(shù)選擇步驟S14a及步驟S14b的任一個,當選擇步驟S14a時,選擇作為流水線寄存器的插入位置被目前所選擇的分割線相鄰接的分割線作為新的流水線寄存器的插入位置。選擇步驟S14b時,選擇根據(jù)隨機數(shù)的任意的分割區(qū)域,變更鄰接該分割區(qū)域的延遲及面積的解。
還有,也可適用模擬退火法,代替逐步改善法。
這樣,如按照圖7所示的流水線電路合成方法,由于在選擇流水線寄存器插入位置的同時進行各分割區(qū)域的延遲及面積的最優(yōu)化,對提供的時鐘周期及流水線段數(shù),可進行面積為最小的流水線電路的合成。
并且,按設(shè)計目的,定義以下問題。
(問題2)提供以時鐘周期為條件,求可實行的多個流水線段數(shù),決定有關(guān)各流水線段數(shù)的流水線電路的面積為最小。在這種情況下,得到多個可實行的解。
圖11是關(guān)于本實施例的流水線電路合成方法的一例,是表示提供該問題2的解的處理程序的流程圖。
在步驟S21中,關(guān)于成為合成對象的流水線電路中,求關(guān)鍵路徑。然后,就關(guān)鍵路徑上的各模塊,由延遲和面積的折衷選擇關(guān)系選擇延遲為最小的延遲及面積的值。
在步驟S22中,在關(guān)鍵路徑插入流水線寄存器,由流水線寄存器劃界的各區(qū)域的延遲為提供的時鐘周期以下。這時,可只就流水線段數(shù)變小。將這時的流水線段數(shù)設(shè)定為最小流水線段數(shù)。
在步驟S10中,實行如圖7所示的處理。即,為合成對象的流水線電路是用步驟S22設(shè)定的最小流水線段數(shù)及提供的時鐘周期可進行動作,并且,以面積為最小那樣,決定流水線寄存器的插入位置及在分割區(qū)域中的延遲和面積。
在步驟S23中,僅1個增設(shè)流水線段數(shù)。然后,使用在步驟S23設(shè)定的流水線段數(shù),實行步驟S10。即,成為合成對象的流水線電路,在步驟S23設(shè)定的流水線段數(shù)及提供的時鐘周期可動作,并且,以面積為最小那樣,決定流水線寄存器的插入位置及分割區(qū)域中的延遲和面積。
到滿足步驟S24中的結(jié)束條件為止,反復(fù)實行步驟S23及步驟S10。在步驟S24中,例如,由步驟S10的結(jié)果開始,在當通過流水線段數(shù)的增加的流水線電路的最小面積不可縮小時,結(jié)束處理為好。
這樣,如按照圖11所示的流水線電路合成方法,在選擇流水線寄存器插入位置的同時,進行各分割區(qū)域的延遲及面積的最優(yōu)化,由于可決定最優(yōu)的流水線段數(shù),能夠進行用高速并且面積為最小那樣合成流水線電路。
還有,在分割區(qū)域的延遲及面積不變更時,僅變更流水線寄存器的插入位置,也可最優(yōu)化流水線電路。在這種情況下,例如實行與圖7同樣的處理,在步驟S14中,只進行步驟S14a即流水線寄存器插入位置的變更。
圖12是僅根據(jù)流水線寄存器插入位置的變更進行流水線電路的最優(yōu)化的結(jié)果所表示的圖。圖12,是在圖8(a)的流水線電路中,分別在寄存器41和乘法器51之間的插入反相器54,在乘法器52和加法器53之間插入反相器55。最優(yōu)化的結(jié)果,作為流水線寄存器的插入位置,選擇乘法器51的分割線62和乘法器52的分割線67,其結(jié)果,作為時鐘周期的12.8被實現(xiàn)。
如果反過來,如果就乘法器51,52的流水線寄存器的插入位置被固定在同樣位置的話,在第1段區(qū)域α及第2段區(qū)域β中,不能將延遲一起決定為12.8。例如,當流水線寄存器插入位置被固定在乘法器51,52的第2分割線62,66上,第2段區(qū)域β的延遲是17.2。一方面,流水線寄存器插入位置被固定在乘法器51,52的第3分割線63,67上,這一次第1段區(qū)域α的延遲是17.2。
象這樣,僅變更流水線寄存器的插入位置也可最優(yōu)化流水線電路。在這種情況下,功能模塊模型最好具有表示分割線的分割線數(shù)據(jù),在分割區(qū)域中,不要表示延遲和面積的折衷選擇關(guān)系的延遲面積數(shù)據(jù)。
并且,有關(guān)本實施例的功能模塊模型,不具有分割線數(shù)據(jù),即使決定流水線寄存器的插入位置,由流水線寄存器插入位置劃界的區(qū)域中如具有表示延遲和面積的折衷選擇關(guān)系的延遲面積數(shù)據(jù),能夠最優(yōu)化使用流水線電路。在這種情況下,例如最好實行與圖7同樣的處理,在步驟S14中,最好僅進行步驟S14b即延遲。面積的變更。
圖13是按照本實施例的流水線電路合成方法設(shè)計的流水線電路裝置的布局模式圖。在圖13中,1A,1B是具有同一功能的塊,塊1A是由部分電路2A,3A,4A組成,塊1B是由部分電路2B,3B,4B組成。分別對應(yīng)部分電路2A和部分電路2B、部分電路3A和部分電路3B,部分電路4A和部分電路4B,具有同一功能。但是,塊1A是針對部分電路3A和部分電路4A之間的流水線寄存器5A設(shè)置的,塊1B是針對部分電路2B和部分電路3B之間的流水線寄存器5B設(shè)置的。
在以前的流水線電路裝置中,有多個有同一功能的塊的情況下,在各塊中,流水線寄存器的插入位置是相同的。對此,在本實施例的流水線電路裝置中,如圖13所示那樣,在具有同一功能的塊中,有流水線寄存器的插入位置不同的情況。并且,在本實施例的流水線電路裝置中,在具有同一功能的塊中,有對應(yīng)部分電路的尺寸是不同的情況。在這樣的電路裝置中,如果使在各塊中的流水線寄存器的插入位置相同時,或是使對應(yīng)部分電路的尺寸相同時,有不正常動作的可能性。究其原因,是由于流水線寄存器間的延遲是變化的,如果該延遲超出時鐘周期,因此產(chǎn)生同步錯誤。
如按照以上那樣的本發(fā)明,在流水線電路的合成中,流水線寄存器的插入位置的最優(yōu)化,部分電路的延遲及面積的調(diào)整是可能的,更可實現(xiàn)流水線電路整體的延遲及面積的最優(yōu)化。
權(quán)利要求
1.一種功能模塊模型,是在集成電路的功能電平設(shè)計中,被用于表示功能模塊的功能模塊模型,其特征在于,具有表示流水線寄存器可插入位置,表示分割線的分割線數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的功能模塊模型,其特征在于,具有延遲面積數(shù)據(jù),是表示在由分割線劃界的分割區(qū)域中的延遲和面積的折衷選擇關(guān)系。
3.根據(jù)權(quán)利要求2所述的功能模塊模型,其特征在于,所述延遲面積數(shù)據(jù)是在分割區(qū)域中作為延遲,至少在該分割區(qū)域中具有關(guān)鍵路徑的延遲。
4.根據(jù)權(quán)利要求1所述的功能模塊模型,其特征在于,是表現(xiàn)運算器的模型。
5.一種功能模塊模型,是在集成電路的功能電平設(shè)計中,被用于表示功能模塊的功能模塊模型,其特征在于,決定流水線寄存器的插入位置;在由流水線寄存器插入位置劃界的各區(qū)域中,具有表示延遲和面積的折衷選擇關(guān)系的延遲面積數(shù)據(jù)。
6.根據(jù)權(quán)利要求5所述的功能模塊模型,其特征在于,所述延遲面積數(shù)據(jù),在由流水線寄存器插入位置劃界的各區(qū)域中作為延遲,至少在該區(qū)域中具有關(guān)鍵路徑的延遲。
7.根據(jù)權(quán)利要求5所述的功能模塊模型,其特征在于,是表現(xiàn)運算器的模型。
8.一種流水線電路合成方法,是在集成電路的功能電平設(shè)計中,由功能模塊的連接信息合成流水線電路的方法,其特征在于使用具有表示流水線寄存器可插入位置,表示分割線的分割線數(shù)據(jù)的功能模塊模型;關(guān)于所述功能模塊模型準備的功能模塊,由用所述分割線數(shù)據(jù)表示的分割線所示的位置開始,選擇流水線寄存器的插入位置。
9.根據(jù)權(quán)利要求8所述的流水線電路合成方法,其特征在于,所述功能模塊模型是通過用所述分割線數(shù)據(jù)表示的分割線劃界的分割區(qū)域中,具有表示延遲和面積的折衷選擇關(guān)系的延遲面積數(shù)據(jù);關(guān)于所述功能模塊模型準備的功能模塊,由所述延遲面積數(shù)據(jù)表示的延遲和面積的折衷選擇關(guān)系設(shè)定在分割區(qū)域中的延遲和面積。
10.根據(jù)權(quán)利要求9所述的流水線電路合成方法,其特征在于,作為條件提供流水線段數(shù)及時鐘周期;流水線電路在提供的流水線段數(shù)及時鐘周期可工作,并且,以面積為最小那樣決定流水線寄存器的插入位置及在分割區(qū)域中的延遲和面積。
11.根據(jù)權(quán)利要求9所述的流水線電路合成方法,其特征在于,作為條件提供時鐘周期;流水線電路在提供的時鐘周期求出可工作時的最小流水線段數(shù);流水線電路在所述最小流水線段數(shù)及提供的所述時鐘周期可工作,并且,以面積為最小那樣決定流水線寄存器的插入位置及在分割區(qū)域中的延遲和面積。
12.根據(jù)權(quán)利要求11所述的流水線電路合成方法,其特征在于,從所述最小流水線段數(shù)開始增加設(shè)定流水線段數(shù);流水線電路在設(shè)定的流水線段數(shù)及提供的時鐘周期可工作,并且,以面積為最小那樣決定流水線寄存器的插入位置及在分割區(qū)域中的延遲和面積。
13.一種流水線電路裝置,其特征在于,具有實質(zhì)功能相同的兩個塊;在所述的兩個塊中,流水線寄存器的插入位置不同。
14.根據(jù)權(quán)利要求13所述的流水線電路裝置,其特征在于,在所述兩個塊中,對應(yīng)部分電路的尺寸不同。
全文摘要
一種功能模塊模型包括表示流水線寄存器可插入的位置的表示分割線Linel-Line4的分割線數(shù)據(jù)和由分割線劃界的分割區(qū)域block1~block5中表示延遲和面積的折衷選擇關(guān)系的延遲面積數(shù)據(jù)。使用該功能模塊模型,從表示分割線數(shù)據(jù)的分割線中選擇流水線寄存器的插入位置,同時,從延遲面積數(shù)據(jù)表示的延遲和面積的折衷選擇關(guān)系中設(shè)定延遲和面積,合成面積最小的流水線電路。該流水線電路的合成中可實現(xiàn)最合適的流水線化。
文檔編號G06F7/53GK1208255SQ98102699
公開日1999年2月17日 申請日期1998年7月2日 優(yōu)先權(quán)日1997年7月3日
發(fā)明者福井正博, 田中正和, 秋濃俊郎, 今井正治, 武內(nèi)良典 申請人:松下電器產(chǎn)業(yè)株式會社