可再構(gòu)成的半導(dǎo)體裝置的配置配線方法、其程序及配置配線裝置制造方法
【專利摘要】本發(fā)明的課題在于提高可再構(gòu)成的半導(dǎo)體裝置的配置配線效率。為了對半導(dǎo)體裝置進(jìn)行配置配線,而基于電路構(gòu)成的電路描述生成接線對照表,從接線對照表提取應(yīng)掃描化的順序電路集合,從應(yīng)掃描化的順序電路集合生成寫入至存儲胞單元的第一集合的第一真值表集合,并從接線對照表的組合邏輯電路集合生成寫入至存儲胞單元的第二集合的第二真值表集合;所述半導(dǎo)體裝置包含構(gòu)成陣列且相互連接的多個存儲胞單元,存儲胞單元如果要寫入以將由多個地址所特定的輸入值的邏輯運(yùn)算輸出至數(shù)據(jù)線的方式構(gòu)成的真值表數(shù)據(jù),那么作為邏輯要素而動作,或者,如果要寫入以將由某地址所特定的輸入值輸出至連接于其他存儲胞單元的地址的數(shù)據(jù)線的方式構(gòu)成的真值表數(shù)據(jù),那么作為連接要素而動作。
【專利說明】可再構(gòu)成的半導(dǎo)體裝置的配置配線方法、其程序及配置配線裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種可再構(gòu)成的半導(dǎo)體裝置的配置配線方法、其程序及配置配線裝置。
【背景技術(shù)】
[0002]業(yè)界廣泛使用FPGA (Field-Programmable Gate Array,現(xiàn)場可編程門陣列)等可切換電路構(gòu)成的PLD (Programmable Logic Device,可編程邏輯器件)。 申請人:或
【發(fā)明者】開發(fā)以存儲胞單兀實(shí)現(xiàn)電路構(gòu)成的“MPLD (Memory-based Programmable Logic Device,基于存儲器的可編程邏輯器件)”(注冊商標(biāo))。MPLD例如示于下述專利文獻(xiàn)I。MPLD將稱為MLUT (Multi Look-Up-Table,多重查找表)的存儲陣列相互連接。MLUT存儲真值數(shù)據(jù)而構(gòu)成配線要素及邏輯要素。MPLD通過將該MLUT陣列狀地排列并相互連接而實(shí)現(xiàn)與FPGA大致相同的功能。
[0003]另外,MPLD是通過將MLUT用作邏輯要素及配線要素的兩者而使邏輯區(qū)域及配線區(qū)域具有柔軟性的裝置,與在存儲胞單元間的連接中具有專用的切換電路的FPGA不同。
[0004]對關(guān)于FPGA的最佳配置、配線方法已進(jìn)行了研究(專利文獻(xiàn)2)。在MPLD的配置配線的情況下,MLUT作為邏輯要素及/或連接要素而動作,所以對MLUT的真值表數(shù)據(jù)的寫入意味著邏輯動作的配置及/或MLUT間的配線。因此,用以寫入至MLUT的真值表數(shù)據(jù)的生成相當(dāng)于MPLD的“配置、配線”,但并未揭示關(guān)于MPLD的最佳配置、配線方法。
[0005][【背景技術(shù)】文獻(xiàn)]
[0006][專利文獻(xiàn)]
[0007][專利文獻(xiàn)I]日本專利特開2010-239325號公報
[0008][專利文獻(xiàn)2]日本專利特開平8-87537號公報
【發(fā)明內(nèi)容】
[0009][發(fā)明要解決的問題]
[0010]MPLD是以相同MLUT實(shí)現(xiàn)配線要素及邏輯要素,因此,通過在構(gòu)成電路時對邏輯胞的配置進(jìn)行研究,可減少用作配線要素的MLUT數(shù)量。也就是說,由于用作邏輯要素的MLUT數(shù)量增加,所以能以更小規(guī)模的MPLD實(shí)現(xiàn)所需的功能。然而,MPLD是以相同存儲胞單元也就是MLUT實(shí)現(xiàn)配線要素及邏輯要素,因此,無法使用通過邏輯與配線不同的電路單元而實(shí)現(xiàn)的FPGA的配置配線工具的運(yùn)算法。由于此種狀況,需要面向MPLD的配置配線方法。
[0011]本實(shí)施方式的配置配線方法的目的在于對包含存儲胞單元的可再構(gòu)成的半導(dǎo)體裝置,減少配線邏輯所使用的存儲胞單元的數(shù)量而提高配置配線效率。
[0012][解決問題的技術(shù)手段]
[0013]解決所述課題的形態(tài)由以下項(xiàng)目表示。
[0014]1.一種可再構(gòu)成的半導(dǎo)體裝置的配置配線方法,其特征在于:所述半導(dǎo)體裝置包含構(gòu)成陣列并且相互連接的多個存儲胞單元,所述存儲胞單元如果要寫入以將由多個地址所特定的輸入值的邏輯運(yùn)算輸出至數(shù)據(jù)線的方式而構(gòu)成的真值表數(shù)據(jù),那么作為邏輯要素而動作,及/或如果要寫入以將由某地址所特定的輸入值輸出至連接于其他存儲胞單元的地址的數(shù)據(jù)線的方式而構(gòu)成的真值表數(shù)據(jù),那么作為連接要素而動作;
[0015]基于描述著電路構(gòu)成的電路描述而生成接線對照表;
[0016]從所述接線對照表提取應(yīng)掃描化的順序電路數(shù)據(jù)集;
[0017]從所述應(yīng)掃描化的順序電路數(shù)據(jù)集,生成用以寫入至所述多個存儲胞單元中第一集合的第一真值表數(shù)據(jù)集;并
[0018]從所述接線對照表的組合邏輯電路數(shù)據(jù)集,生成用以寫入至所述多個存儲胞單元中第二集合的第二真值表數(shù)據(jù)集。
[0019]2.根據(jù)項(xiàng)目I所述的配置配線方法,其模擬使被分配所述第一真值表數(shù)據(jù)集的存儲胞單元同步于時鐘的執(zhí)行,及/或模擬使所述多個第二真值表數(shù)據(jù)集不同步于時鐘的執(zhí)行,而評估所述半導(dǎo)體裝置是否實(shí)現(xiàn)特定的動作速度。
[0020]3.根據(jù)項(xiàng)目I或2所述的配置配線方法,其中所述半導(dǎo)體裝置在各存儲胞單元的每一個中具有地址解碼器,該地址解碼器對從N條(N為2以上的整數(shù))地址線輸入的地址進(jìn)行解碼而將字符選擇信號輸出至字線;
[0021]所述存儲胞單元具有多個存儲元件,這些多個存儲元件連接于所述字線及數(shù)據(jù)線,分別存儲構(gòu)成真值表的數(shù)據(jù),并通過從所述字線輸入的所述字符選擇信號而對所述數(shù)據(jù)線輸入輸出所述數(shù)據(jù);且
[0022]所述存儲胞單元的N條地址線分別連接于所述存儲胞單元的其他N個存儲胞單元的數(shù)據(jù)線。
[0023]4.一種配置配線裝置,其特征在于:其是進(jìn)行可再構(gòu)成的半導(dǎo)體裝置的配置配線者,且
[0024]所述半導(dǎo)體裝置包含構(gòu)成陣列的多個存儲胞單元,所述存儲胞單元如果要寫入以將由多個地址所特定的輸入值的邏輯運(yùn)算輸出至數(shù)據(jù)線的方式而構(gòu)成的真值表數(shù)據(jù),那么作為邏輯要素而動作,及/或如果要寫入以將由某地址所特定的輸入值輸出至連接于其他存儲胞單元的地址的數(shù)據(jù)線的方式而構(gòu)成的真值表數(shù)據(jù),那么作為連接要素而動作;
[0025]所述配置配線裝置包含處理器;
[0026]所述處理器:
[0027]基于描述著電路構(gòu)成的電路描述而生成接線對照表;
[0028]從所述接線對照表,提取應(yīng)掃描化的順序電路數(shù)據(jù)集;
[0029]從所述應(yīng)掃描化的順序電路數(shù)據(jù)集,生成用以寫入至所述多個存儲胞單元中第一集合的第一真值表數(shù)據(jù)集;并
[0030]從所述接線對照表的組合邏輯電路數(shù)據(jù)集,生成用以寫入至所述多個存儲胞單元中第二集合的第二真值表數(shù)據(jù)集。
[0031]5.根據(jù)項(xiàng)目4所述的配置配線裝置,其中所述處理器是以如下方式構(gòu)成:模擬使被分配所述第一真值表數(shù)據(jù)集的存儲胞單元同步于時鐘的執(zhí)行,及/或模擬使所述多個第二真值表數(shù)據(jù)集不同步于時鐘的執(zhí)行,而評估所述半導(dǎo)體裝置是否實(shí)現(xiàn)特定的動作速度。
[0032]6.一種程序,其特征在于:其是用以將可再構(gòu)成的半導(dǎo)體裝置進(jìn)行配置配線者,所述半導(dǎo)體裝置包含構(gòu)成陣列的多個存儲胞單元,所述存儲胞單元如果要寫入以將由多個地址所特定的輸入值的邏輯運(yùn)算輸出至數(shù)據(jù)線的方式而構(gòu)成的真值表數(shù)據(jù),那么作為邏輯要素而動作,及/或如果要寫入以將由某地址所特定的輸入值輸出至連接于其他存儲胞單元的地址的數(shù)據(jù)線的方式而構(gòu)成的真值表數(shù)據(jù),那么作為連接要素而動作;且
[0033]使處理器執(zhí)行以下處理:
[0034]基于描述著電路構(gòu)成的電路描述而生成接線對照表;
[0035]從所述接線對照表,提取應(yīng)掃描化的順序電路數(shù)據(jù)集;
[0036]從所述應(yīng)掃描化的順序電路數(shù)據(jù)集,生成用以寫入至所述多個存儲胞單元中第一集合的第一真值表數(shù)據(jù)集;及
[0037]從所述接線對照表的組合邏輯電路數(shù)據(jù)集,生成用以寫入至所述多個存儲胞單元中第二集合的第二真值表數(shù)據(jù)集。
[0038]7.根據(jù)項(xiàng)目6所述的程序,其使處理器執(zhí)行如下處理:模擬使被分配所述第一真值表數(shù)據(jù)集的存儲胞單元同步于時鐘的執(zhí)行,及/或模擬使所述多個第二真值表數(shù)據(jù)集不同步于時鐘的執(zhí)行,而評估所述半導(dǎo)體裝置是否實(shí)現(xiàn)特定的動作速度。
[0039]8.根據(jù)項(xiàng)目6或7所述的程序,其中所述半導(dǎo)體裝置在各存儲胞單元的每一個中具有地址解碼器,該地址解碼器對從N條(N為2以上的整數(shù))地址線輸入的地址進(jìn)行解碼而將字符選擇信號輸出至字線;
[0040]所述存儲胞單元具有多個存儲元件,這些多個存儲元件連接于所述字線及數(shù)據(jù)線,分別存儲構(gòu)成真值表的數(shù)據(jù),并通過從所述字線輸入的所述字符選擇信號而對所述數(shù)據(jù)線輸入輸出所述數(shù)據(jù);且
[0041]所述存儲胞單元的N條地址線分別連接于所述存儲胞單元的其他N個存儲胞單元的數(shù)據(jù)線。
[0042][發(fā)明的效果]
[0043]本實(shí)施方式的配置配線方法可對包含存儲胞單元的可再構(gòu)成的半導(dǎo)體裝置,減少配線邏輯所使用的存儲胞單元的數(shù)量,從而提高配置配線效率。
【專利附圖】
【附圖說明】
[0044]圖1是可同步/非同步切換的MLUT的第一例。
[0045]圖2是表示MLUT的第一例的圖。
[0046]圖3是存儲元件的詳細(xì)例。
[0047]圖4是地址解碼器的詳細(xì)例。
[0048]圖5是表示MLUT的詳細(xì)例的圖。
[0049]圖6是表示預(yù)充電電路的詳細(xì)例的圖。
[0050]圖7A是ATD電路的詳細(xì)例。
[0051]圖7B是在ATD電路中流通的信號的時序圖。
[0052]圖8是可同步/非同步切換的MLUT的第二例。
[0053]圖9是表示使用可同步/非同步切換的MLUT的MPLD的一例的圖。
[0054]圖10是表示信息處理裝置的硬件構(gòu)成的一例的圖。
[0055]圖11是表示配置配線處理的一例的流程圖。
[0056]圖12表示作為通過邏輯合成而生成的實(shí)際電路圖的膠合邏輯與F/F的概略。
[0057]圖13表示通過掃描化重新生成的膠合邏輯與掃描F/F的概略。
[0058]圖14是表示MLUT分配的評估方法的一例的流程圖。
[0059]圖15是表示MLUT分配評估的例子的概念圖。
[0060]圖16是表示作為邏輯要素動作的MLUT的一例的圖。
[0061 ]圖17是表示作為邏輯電路動作的MLUT的一例的圖。
[0062]圖18是表不圖17中所不的邏輯電路的真值表的圖。
[0063]圖19是表示作為連接要素動作的MLUT的一例的圖。
[0064]圖20是表示圖19中所示的連接要素的真值表的圖。
[0065]圖21是表示通過具有4對AD對的MLUT而實(shí)現(xiàn)的連接要素的一例的圖。
[0066]圖22是表示I個MLUT作為邏輯要素及連接要素動作的一例的圖。
[0067]圖23表示圖22中所示的邏輯要素及連接要素的真值表。
[0068]圖24是表示通過具有AD對的MLUT而實(shí)現(xiàn)的邏輯動作及連接要素的一例的圖。
【具體實(shí)施方式】
[0069]以下,參考附圖依序?qū)Β趴稍贅?gòu)成的半導(dǎo)體裝置、⑵配置配線手法、(3)使MLUT作為邏輯要素及/或連接要素動作的真值表的例子進(jìn)行說明。
[0070](I)可再構(gòu)成的半導(dǎo)體裝置
[0071]以下,使用兩例對具有可同步或非同步切換的MLUT的可再構(gòu)成的半導(dǎo)體裝置進(jìn)行說明。
[0072](1.1)可同步/非同步切換的MLUT的第一例
[0073]圖1是可同步/非同步切換的MLUT的第一例。作為可再構(gòu)成的半導(dǎo)體裝置的MPLD20是通過將稱作MLUT的實(shí)現(xiàn)配線要素及邏輯要素的兩者的存儲電路相互連接而構(gòu)成邏輯。MPLD20構(gòu)成為如圖1所示般陣列狀地鋪設(shè)MLUT,并使用地址線LA與數(shù)據(jù)線LD的對而使MLUT彼此相互連接。MPLD20具有多個包含存儲胞單元的MLUT30,并且具有對特定MLUT的地址進(jìn)行解碼而特定成為動作對象的MLUT的MLUT解碼器12。MPLD20通過在MLUT30的存儲元件中分別存儲構(gòu)成真值表的數(shù)據(jù)而進(jìn)行作為邏輯要素、連接要素、或邏輯要素及連接要素而動作的邏輯動作。
[0074]MPLD20進(jìn)而進(jìn)行存儲動作。所謂存儲動作是指數(shù)據(jù)對MLUT30中所含的存儲胞單元的寫入WD或讀取RD。數(shù)據(jù)對MLUT30的寫入也成為真值表數(shù)據(jù)的覆寫,因此存儲動作產(chǎn)生真值表數(shù)據(jù)的再構(gòu)成。
[0075]圖2是表示MLUT的第一例的圖。圖2中所示的MLUT30具有:存儲胞陣列110,包含各自存儲數(shù)據(jù)的存儲胞;地址解碼器120 ;選擇部130,選擇從外部供給的外部時鐘;及數(shù)據(jù)輸入輸出部140,根據(jù)外部時鐘的選擇的有無而進(jìn)行對存儲胞陣列110的數(shù)據(jù)讀取或數(shù)據(jù)寫入。
[0076]存儲胞陣列具有η X 2m個存儲元件,η X 2η個存儲元件是配置于2的η次方條字線與η條位線的連接部分。此外,位線數(shù)也可視需要多于η條。圖3是存儲元件的詳細(xì)例。在圖 3 中所不的存儲兀件 40 中,包含 pMOS (positive channel Metal-Oxide-Semiconductor,正通道金屬氧化物半導(dǎo)體)晶體管161、162、及nMOS (negative channelMetal-Oxide-Semiconductor,負(fù)通道金屬氧化物半導(dǎo)體)晶體管 163、164、165、166。pMOS晶體管161的源極與pMOS晶體管162的源極連接于VDD (電源電壓端)。nMOS晶體管163的汲極與nMOS晶體管164的汲極連接于VSS (接地電壓端)。
[0077]nMOS晶體管165的汲極連接于位線b。nMOS晶體管165的柵極連接于字線WL。nMOS晶體管166的汲極連接于位線/b。nMOS晶體管166的柵極連接于字線WL。
[0078]根據(jù)所述構(gòu)成,在寫入動作中,存儲元件40通過字線WL的信號電平“H(High,高)”將從位線b及位線/b傳遞的信號電平保持于pMOS晶體管161、162、nM0S晶體管163、164。在讀取動作中,存儲元件40通過字線WL的信號電平“H”將保持于pMOS晶體管161、162、nMOS晶體管163、164的信號電平傳遞至位線b、及位線/b。
[0079]圖4是表示地址解碼器的詳細(xì)例的圖。圖4中所示的地址解碼器120具有反相器電路120-1、AND電路(與電路)120-2、及AND電路120-3。反相器電路120-1在η條地址信號線的每一條中存在η個。AND電路120-2、120-3分別存在2的η次方個。
[0080]反相器電路120-1將從η條地址信號線接收的地址信號的邏輯進(jìn)行反轉(zhuǎn),并將經(jīng)反轉(zhuǎn)的地址信號輸出至AND電路120-2。AND電路120-2接收地址信號、及反轉(zhuǎn)地址信號作為輸入信號,并在所有輸入值的信號電平為“H”時,通過邏輯積運(yùn)算對第二 AND電路輸出信號電平“H”的輸出。AND電路120-3接收AND電路120-2的輸出及內(nèi)部時鐘(下述)作為輸入信號,并在所有輸入值的信號電平為“H”時,通過邏輯積運(yùn)算輸出信號電平“H”的輸出。
[0081]字線選擇信號的信號電平為“H”,字線非選擇信號的信號電平為“L(LoW,低)”。以此方式,地址解碼器120構(gòu)成為將信號電平“H”的字線選擇信號輸出至2的η次方條字線中的I條字線。
[0082]此外,在圖4的例子中,表示使用內(nèi)部時鐘的例子,但也可為不同步于內(nèi)部時鐘的解碼器。此情況下,無需AND電路120-3,AND電路120-2的輸出與存儲胞的字線連接。
[0083]如果參考圖2,那么地址解碼器120對從η條地址信號線接收的地址信號進(jìn)行解碼,并將作為解碼信號的字線選擇信號輸出至2的η次方條字線WL。
[0084]選擇部130是基于從外部供給的選擇數(shù)據(jù)而將從外部供給的外部時鐘傳遞至數(shù)據(jù)輸入輸出部140的選擇電路。選擇部130是分別設(shè)置于各數(shù)據(jù)輸出線的多個選擇電路,選擇電路分別保持從外部供給的選擇數(shù)據(jù)。選擇數(shù)據(jù)也可從存儲胞陣列110供給。此情況下,各選擇電路分別連接于存儲胞陣列110內(nèi)的特定的存儲胞(選擇數(shù)據(jù)用存儲胞),在選擇數(shù)據(jù)用存儲胞的信號電平為“H”的情況下,選擇數(shù)據(jù)的信號電平也成為“H”,在選擇數(shù)據(jù)用存儲胞的信號電平為“L”的情況下,選擇數(shù)據(jù)的信號電平也成為“L”。選擇電路在選擇數(shù)據(jù)的信號電平為“L”的情況下,將外部時鐘傳遞至數(shù)據(jù)輸入輸出部140,對應(yīng)于該選擇電路的讀取數(shù)據(jù)Q同步于外部時鐘而被讀取。選擇電路在選擇數(shù)據(jù)的信號電平為“H”的情況下,不將外部時鐘傳遞至數(shù)據(jù)輸入輸出部140,對應(yīng)于該選擇電路的讀取數(shù)據(jù)Q非同步于外部時鐘地被讀取。
[0085]數(shù)據(jù)輸入輸出部140如果從外部接收允寫(WE,Write Enable)的邊緣時序(edgetiming)及寫入數(shù)據(jù),那么將該寫入數(shù)據(jù)的信號電平傳遞至η條位線b、/b,將寫入數(shù)據(jù)寫入至存儲胞。另外,數(shù)據(jù)輸入輸出部140通過將η條位線b、/b的信號電平輸出至外部而輸出讀取數(shù)據(jù)。
[0086]圖5是表示MLUT的詳細(xì)例的圖。圖4中所示的半導(dǎo)體存儲裝置100A具備存儲胞110、地址解碼器120A、120B、選擇部130A、比特預(yù)充電電路135、數(shù)據(jù)輸入輸出部140A。
[0087]在圖5所示的例子中,存儲胞單元110中,X列的2的5次方條字線與Y列的分別作為讀取用及寫入用而準(zhǔn)備的2的2次方X7條及I條位線縱橫地形成為格子狀,存儲胞配置于字線與位線的交叉點(diǎn)。由此,具有2的7次方X (7個+1個)存儲胞,其中7個存儲胞為所述的選擇數(shù)據(jù)用存儲胞。
[0088]圖2中所說明的地址解碼器120在圖5中包含X列用的X地址解碼器120A及Y列用的Y地址解碼器120B,X地址解碼器120A及Y地址解碼器120B分別連接于地址信號線AO?A4、及地址信號線A5?A6。在地址信號線的數(shù)量增加的情況下,如圖5所示,可通過區(qū)分為X列及Y列的解碼器,而在X軸方向上延伸存儲胞形狀。
[0089]選擇數(shù)據(jù)用存儲胞保持選擇數(shù)據(jù),并將選擇數(shù)據(jù)的信號作為S0、S1、……、S6而設(shè)為選擇電路的控制信號。
[0090]X地址解碼器120A包含作為地址變化檢測部的ATD電路(Address Transit1nDetect,地址變化檢測)121。ATD電路是設(shè)置于地址輸入端子,檢測施加至地址輸入端子的地址輸入信號的變化并輸出變化的地址信號的電路。ATD電路的詳細(xì)例將使用圖6及圖7在下文進(jìn)行敘述。
[0091]由于ATD電路只在檢測到地址信號的變化時將變化的地址信號輸出至X地址解碼器120A,因此X地址解碼器120A只在地址信號變化時輸出字符選擇信號,地址信號未變化時不輸出字線選擇信號。由此,未發(fā)生地址變化時,不輸出字線選擇信號,因此可防止由干擾噪聲引起的寫入誤動作。另外,X地址解碼器120A與圖2中所示的地址解碼器120相t匕,減少了將字線活化的地址線的數(shù)量,因此在產(chǎn)生地址變異的情況下,可減少噪聲經(jīng)由字線混入至存儲胞的可能性。
[0092]進(jìn)而,X地址解碼器120A具有用以產(chǎn)生內(nèi)部時鐘的時鐘電路122。如下所述,內(nèi)部時鐘也利用于數(shù)據(jù)輸入輸出部140的觸發(fā)器及ATD電路121的同步信號。也可在地址解碼器中同步于該內(nèi)部時鐘而抑制字符選擇信號的輸出不均。另一方面,通過使內(nèi)部時鐘周期短于外部時鐘周期,也可兼顧非同步SRAM (Semiconductor Random Access Memory,半導(dǎo)體隨機(jī)存取存儲器)的高速性。
[0093]內(nèi)部時鐘也可設(shè)為與外部時鐘不同的周期,為了不同步于作為非同步SRAM的外部時鐘而獲得可存取的非同步SRAM的高速性,優(yōu)選的是內(nèi)部時鐘相比外部時鐘為短周期。
[0094]此外,在所述說明中,對在X地址解碼器120A內(nèi)設(shè)置ATD電路121及時鐘電路122的例子進(jìn)行了說明,但ATD電路121及時鐘電路122也可與X地址解碼器120A分開設(shè)置。然而,為了檢測地址變化,ATD電路121必需設(shè)置于X地址解碼器120A的上段。
[0095]Y地址解碼器120B也可為多個選擇電路,且分別多個地設(shè)置于7條數(shù)據(jù)線的每一條。此情況下,各個選擇電路從4對比特對根據(jù)地址信號A5、A6而選擇I對比特對b、/b作為輸出用或輸入用數(shù)據(jù)線。
[0096]位線預(yù)充電電路135將位線b及位線/b —并預(yù)充電至“I”。
[0097]圖6表示用于I對位線對的位線預(yù)充電電路的詳細(xì)例。用于I對位線對的位線預(yù)充電電路135a具有2個PM0S,位線預(yù)充電電路135a的輸入經(jīng)由位線b及位線/b而與存儲胞連接。而且,位線預(yù)充電電路135a的輸出經(jīng)由位線b及位線/b而與Y地址解碼器連接。另外,位線預(yù)充電電路135a根據(jù)內(nèi)部時鐘而將位線對b、/b的信號電平預(yù)充電至“H”。此種用于I對位線對的位線預(yù)充電電路135a設(shè)置于存儲胞陣列110的各位線對b、/b的每一對。
[0098]如果時鐘進(jìn)入,信號電平成為“H”,那么PMOS斷開,因此與VDD的連接也切斷,位線以存儲胞的信息輸出電平。如果時鐘的信號電平成為“L”,那么PMOS接通,位線被提升至VDD的電位。如此,只在時鐘進(jìn)入時,位線與存儲胞連接,由此可防止由干擾噪聲引起的對存儲胞的寫入誤動作。
[0099]如果再次返回圖5,那么選擇部130A是與圖2中所示的選擇部130同樣地分別設(shè)置于數(shù)據(jù)輸出線的每一條的多個選擇電路,選擇電路分別保持選擇數(shù)據(jù)。選擇部130A與選擇部130不同的方面在于:選擇電路在選擇數(shù)據(jù)的信號電平為“H”的情況下,不將外部時鐘傳遞至數(shù)據(jù)輸入輸出部140,而將內(nèi)部時鐘傳遞至數(shù)據(jù)輸入輸出部140。在存儲胞陣列110中,追加I條位線設(shè)為D7。將D7的編號I的存儲胞的內(nèi)部信號設(shè)為S0,將編號2的存儲胞的內(nèi)部信號設(shè)為SI,從而將直至編號7的存儲胞的內(nèi)部信號S7為止的信號設(shè)為輸出鎖存器的時鐘的內(nèi)部時鐘及外部時鐘的選擇信號。
[0100]由于可在I個比特內(nèi)保持選擇數(shù)據(jù),因此可實(shí)現(xiàn)存儲胞陣列110的小型化。另外,也可不重新設(shè)置選擇數(shù)據(jù)存儲用的存儲胞,而將既存的存儲胞用于存儲選擇數(shù)據(jù)。
[0101]此外,為了從外部將數(shù)據(jù)直接寫入至選擇數(shù)據(jù),需要用以接收外部數(shù)據(jù)的寄存器。進(jìn)而,外部要求寄存器用的寫入控制。如果使選擇數(shù)據(jù)寫入存儲胞,那么可無需新的寫入控制而從外部控制選擇電路。
[0102]由于外部時鐘是以固定的周期進(jìn)入,因此即便地址變化,輸出也不會變化,但非同步是如果地址變化,那么根據(jù)內(nèi)部時鐘而動作。如此,如果內(nèi)部時鐘相比外部時鐘為短周期,那么能以更高的即時性實(shí)現(xiàn)數(shù)據(jù)存取。因此,在與非同步SRAM同樣地要求與外部時鐘不同步時的高速性的情況下,內(nèi)部時鐘必需設(shè)為與外部時鐘相比更短的周期。
[0103]數(shù)據(jù)輸入輸出部140具有設(shè)置于輸出數(shù)據(jù)線的每一條的多個觸發(fā)器(F/F)(在圖4所示的例子中為D型觸發(fā)器),并在C(CLOCK)端子的上升邊緣保持D輸入的值作為O輸出。也就是,只在時鐘時進(jìn)行輸出變化,除此以外則保持信息。由此,可使位線為“H”狀態(tài),可實(shí)現(xiàn)裝置的低電壓化中的邊界確保。
[0104]在所述的例子中,字線為32條,信號電平的劣化較少,因此未顯示傳感放大器,但在因地址、及存儲胞的增加引起字線增加的情況下,也可在比特預(yù)充電電路135與Y地址解碼器120B之間設(shè)置傳感放大器或光放大器。
[0105]另外,圖3中所示的存儲胞為單端口的存儲胞,但在使用同時進(jìn)行讀取及寫入的高速型存儲胞的情況下,也可為多端口的存儲胞。
[0106]如以上說明所示,半導(dǎo)體存儲裝置100A在未發(fā)生地址變化時不輸出字線選擇信號,因此可防止由干擾噪聲引起的寫入誤動作,并且可在數(shù)據(jù)線的每一條中進(jìn)行外部時鐘及內(nèi)部時鐘的切換。
[0107]圖7A是表示ATD電路的一例的圖。圖7A中所示的ATD電路121如121-1所示般,包含觸發(fā)器(F/F)、延遲電路(DC,Delayed Circuit)、進(jìn)行邏輯積運(yùn)算的AND電路、進(jìn)行互斥或邏輯運(yùn)算的XOR電路、進(jìn)行邏輯和運(yùn)算的OR電路、傳輸柵(TG, Transmiss1n Gate)。AND電路、XOR電路及OR電路是以MIL (Module Interconnect1n Language,模組互連語言)記號表不。
[0108]XOR電路的輸入是地址信號、及使該地址信號延遲所得的信號,因此如果在延遲的期間地址信號發(fā)生變化,那么檢測地址信號的變化,并輸出信號電平“H”。如此,ATD電路121是以XOR電路與延遲電路的組合檢測地址變化。
[0109]圖7B表示圖7A中所示的ATD電路的時序圖。圖7A及圖7B的Ai相當(dāng)于來自外部的地址信號輸入,ai相當(dāng)于從圖4中所示的反相器電路120-1的上段分支的信號輸入,附帶上劃線的ai為圖4中所示的反相器電路120-1的輸出信號,Φ1為從TG輸入至觸發(fā)器的時鐘的反饋信號,Φ2為輸入至AND電路的反饋信號。
[0110]觸發(fā)器接收同步于內(nèi)部時鐘的Φ1作為時鐘,并以時鐘的邊緣的上升保持地址信號。
[0111]XOR電路在前周期的地址與現(xiàn)周期的地址不同的情況下,輸出信號電平“H”的信號,并將該信號作為Φ2從TG輸出。接收Φ2作為時鐘的觸發(fā)器輸出以Φ1的周期保持的地址。AND電路在以Φ2的周期從觸發(fā)器輸出的Φ1周期的地址的信號電平與Φ2的信號電平相同的情況下,將Φ1周期的地址作為地址ai輸出。如此,ATD電路只在檢測到地址變化時將變化的地址信號輸出至地址解碼器。
[0112](1.2)可同步/非同步切換的MLUT的第二例
[0113]圖8是可同步/非同步切換的MLUT的第二例。圖8中所示的MLUT包含非同步用的存儲胞單元40a與同步用的存儲胞單元40b的對,且在同步用的存儲胞單元40b的后段具有與時鐘CLK同步的F/F41。在非同步用的存儲胞單元40a及同步用的存儲胞單元40b中,分別設(shè)置著地址解碼器9a及%,進(jìn)而,設(shè)置著通過動作切換信號選擇存儲動作或邏輯動作的地址切換電路10、及通過動作切換信號選擇讀取數(shù)據(jù)RD或邏輯動作用數(shù)據(jù)LD的輸出數(shù)據(jù)切換電路U。
[0114]將包含構(gòu)成MPLD20的存儲胞單元及其周邊電路的電路單元稱為MLUT。通過在存儲胞單元中存儲構(gòu)成真值表的數(shù)據(jù),MLUT作為可再構(gòu)成的裝置的MPLD的構(gòu)成要素而動作。MPLD用作可再構(gòu)成的裝置的技術(shù)性根據(jù)敘述如下。
[0115]如圖2所示,MLUT并不一定需要2個存儲胞單元,但由于各MLUT可用于同步/非同步的任一情況,因此,可實(shí)現(xiàn)同步存儲、順序電路的邏輯要素、非同步存儲、組合邏輯電路的邏輯要素的各種使用方法。
[0116]圖8中所示的MLUT30在動作切換信號表示邏輯動作的情況下,根據(jù)邏輯動作用地址LA輸出邏輯動作用數(shù)據(jù)LD。另外,MLUT30在動作切換信號表示存儲動作的情況下,根據(jù)存儲動作用地址接收寫入數(shù)據(jù)WD,或輸出讀取數(shù)據(jù)RD。
[0117]地址切換電路10將輸入存儲動作用地址的η條存儲動作用地址信號線、輸入邏輯動作用地址信號的η條邏輯動作用地址輸入信號線、及輸入動作切換信號的動作切換信號線連接。地址切換電路1a以基于動作切換信號而將存儲動作用地址、或邏輯動作用地址的任一者輸出至η條選擇地址信號線的方式動作。如此,地址切換電路1a選擇地址信號線的原因在于:存儲元件40是接收讀取動作及寫入動作的任一者的I端口型存儲元件。就邏輯動作而言是同時使CE (Chip Enable,芯片賦能)O、CEl活化而輸出同步存儲輸出與非同步存儲輸出的邏輯和。由此,可表現(xiàn)組合電路及順序電路。在存儲動作時交替地活化而進(jìn)行特定的存儲動作。
[0118]例如,進(jìn)行配線或組合電路的AD對(是指MLUT的邏輯動作用地址線、及與其連接的邏輯動作用數(shù)據(jù)線的對)在同步用的存儲器中存儲真值0,并在非同步用的存儲器中存儲特定的真值而以非同步用存儲器的數(shù)據(jù)進(jìn)行信號傳播。由此,無存儲器中的時鐘延遲而可構(gòu)成邏輯電路。另外,順序電路在同步用存儲器中存儲特定的真值,在非同步用存儲器中設(shè)為真值O。由此可構(gòu)成時鐘動作的順序電路。該情況可不使順序電路構(gòu)成中的特殊的F/F動作而為高效。
[0119]地址解碼器9a、9b對從地址切換電路10供給的從η條地址信號線接收的選擇地址信號進(jìn)行解碼,并將解碼信號輸出至2的η次方條字線。
[0120]存儲胞單元的ηΧ2η個存儲元件配置于2的η次方條字線、η條寫入數(shù)據(jù)線、與η個輸出數(shù)據(jù)線的連接部分。
[0121]輸出數(shù)據(jù)切換電路11是以如下方式動作:如果從η條輸出數(shù)據(jù)線接收信號,那么根據(jù)所輸入的動作切換信號而將讀取數(shù)據(jù)輸出至η條讀取數(shù)據(jù)信號線,或?qū)⒆x取數(shù)據(jù)輸出至邏輯動作用信號線。
[0122](1.3)使用可同步/非同步切換的MLUT的MPLD
[0123]圖9是表示使用可同步/非同步切換的MLUT的MPLD的一例的圖。圖9中所示的MPLD20具有多個MLUT30。MLUT30內(nèi)的矩形是在半導(dǎo)體存儲裝置中進(jìn)行說明的能以選擇信號切換的設(shè)置于數(shù)據(jù)輸出線的每一條的F/F。該F/F相當(dāng)于數(shù)據(jù)輸入輸出部140的F/F。
[0124]6方向配置的MLUT (在I個MLUT的周圍配置著6個MLUT,位于中心的MLUT與位于周圍的6個MLUT分別以I對AD對連接。換句話來說,MLUT的6條地址線分別連接于配置于周圍的其他6個MLUT的數(shù)據(jù)線,MLUT的6條數(shù)據(jù)線分別連接于MLUT的其他6個MLUT的地址線)可相對于AD對具有均一的連接,但在如乘法電路等那樣具有2個CLA (CarryLook Ahead,超前進(jìn)位)電路的電路中,無法在本MLUT內(nèi)實(shí)現(xiàn)電路,由于多使用一個MLUT,因此邏輯構(gòu)成效率較差。另一方面,交替配置(在I個MLUT的周圍配置8個MLUT,與位于周圍的4個MLUT及AD對連接,其中以2個AD對與2個MLUT連接。例如揭示于日本專利特開2010-239325號公報中)可在鄰接的MLUT具有2個AD對,因此,此情況下,交替配置具有優(yōu)勢。
[0125]然而,由于交替配置的MLUT可減少作為連接要素動作的MLUT的數(shù)量,所以可減少構(gòu)成所需的邏輯電路的存儲元件組塊的總量,因此,優(yōu)選的是盡可能地使用交替配置的MLUT。
[0126]另外,在以往方式的MLUT間連接中,相隔配線(相隔配線是指并非近距離配線的將MLUT間接線的AD對的配線。例如揭示于日本專利特開2010-239325號公報中)以AD對7跳過MLUT進(jìn)行配線,因此在長距離的配線中可節(jié)約MLUT。如果使用AD對7在順序電路中連接必需的F/F,那么F/F具有返回至自身的MLUT的構(gòu)造。另外,相隔配線與F/F以某程度的比率混合存在。如果以此關(guān)系構(gòu)成順序電路,那么需要作為連接要素的MLUT,邏輯構(gòu)成效率較差。
[0127]如圖9所示,MLUT本身具有F/F,無需為了與位于外部的F/F連接而使用AD對,因此AD對7可全部用于相隔配線。
[0128]通過使用可同步/非同步切換的MLUT,MLUT實(shí)現(xiàn)的電路也可在MLUT內(nèi)部區(qū)分為必需同步的電路、及無需同步的電路,或者將I個MLUT動態(tài)地區(qū)分用于必需同步的電路、及無需同步的電路。例如,可在組合電路或配線邏輯中必需非同步時,作為內(nèi)部時鐘在數(shù)據(jù)線的每一條中進(jìn)行非同步化,在順序電路時,以外部時鐘在數(shù)據(jù)線的每一條中進(jìn)行同步化,以此方式將MLUT針對數(shù)據(jù)線的每一條進(jìn)行設(shè)定。
[0129](2)配置配線方法
[0130]為了進(jìn)行MPLD的配置配線,必需如下的配置配線方法:從關(guān)于抽象的電路動作的硬件描述語言生成接線對照表(連接元件間的配線信息),并將其分配至實(shí)際的數(shù)字電路(以下稱為“邏輯合成”)。作為MPLD的功能搭載例,可考慮選擇經(jīng)邏輯合成的電路群而從輸入引腳逐次配置的方法。然而,關(guān)于配置,必須確保其后的電路的配置區(qū)域而進(jìn)行配置。另外,如果不區(qū)分組合電路及順序電路而進(jìn)行,那么在配置于無F/F的MLUT的情況下,會配置失敗而不得不再次進(jìn)行配置研究。此時,直至到達(dá)具有F/F的MLUT為止為配線邏輯,大量使用MLUT,配置配線效率狀態(tài)較差。
[0131]在本實(shí)施方式的配置配線方法中,生成將F/F掃描化而成的真值表,并通過MLUT構(gòu)成F/F。因此,實(shí)現(xiàn)所需的邏輯的組合電路、及F/F間的配線要素減少,MPLD的配置配線效率變高。
[0132]在C語言中,寄存器及其間的運(yùn)算成為主動作,寄存器為F/F,運(yùn)算為組合邏輯,所以基本而言可根據(jù)C語言進(jìn)行邏輯合成。由于根據(jù)寄存器指令決定F/F的配置,根據(jù)運(yùn)算的動作生成真值數(shù)據(jù),因此即便不經(jīng)由邏輯電路合成也可進(jìn)行邏輯合成。以往,再構(gòu)成裝置的邏輯合成,尤其是根據(jù)C語言的合成必需一次轉(zhuǎn)換為RTL(Register Transfer Language,寄存器傳送語言)描述(Verilog, VHDL (VHSIC Hardware Descript1n Language,高速集成電路硬件描述語言)),其后生成邏輯電路而進(jìn)行配置配線。為此,必需進(jìn)行數(shù)次信息處理,較為繁雜。在本實(shí)施方式的配置配線方法中,可進(jìn)行根據(jù)C語言的邏輯合成,從而可為業(yè)界提供簡便的方法。
[0133]對MPLD而言,真值表的制作、及將該真值表寫入至MLUT的作業(yè)相當(dāng)于FPGA的配置配線。以下使用圖11?15說明本實(shí)施方式的配置配線方法。
[0134]此外,配置配線方法通過執(zhí)行本實(shí)施方式的配置配線用的軟件程序的信息處理裝置而實(shí)現(xiàn)。在圖10中表示信息處理裝置的硬件構(gòu)成的一例。信息處理裝置210具有處理器211、輸入部212、輸出部213、存儲部214及驅(qū)動裝置215。處理器211將用以設(shè)計輸入至輸入部212的配置/配線用的軟件、集成電路的C語言描述或硬件描述語言(HDL,HardwareDescript1n Language)等電路描述語言、及通過執(zhí)行所述軟件而生成的真值表數(shù)據(jù)存儲于存儲部214中。另外,處理器211執(zhí)行配置/配線用的軟件而對存儲部214中存儲的電路描述進(jìn)行以下所示的配置/配線處理,并將真值表數(shù)據(jù)輸出至輸出部213。對輸出部213可連接半導(dǎo)體裝置100 (未圖示),處理器211執(zhí)行配置配線處理,將所生成的真值表數(shù)據(jù)經(jīng)由輸出部213寫入半導(dǎo)體裝置100。輸出部213也可與外部網(wǎng)絡(luò)連接。此情況下,配置配線用的軟件程序經(jīng)由網(wǎng)絡(luò)而收發(fā)。驅(qū)動裝置215例如為讀寫DVD (Digital Versatile Disc,數(shù)字多功能光盤)、快閃存儲器等記錄介質(zhì)217的裝置。驅(qū)動裝置215包含使記錄介質(zhì)217旋轉(zhuǎn)的電動機(jī)或在記錄介質(zhì)217上讀寫數(shù)據(jù)的讀寫頭等。此外,記錄介質(zhì)217可存儲配置配線用的程序。驅(qū)動裝置215從已設(shè)置的記錄介質(zhì)217讀取程序。處理器211將通過驅(qū)動裝置215讀取的程序存儲于存儲部214中。此外,信息處理裝置210作為執(zhí)行本實(shí)施方式的配置配線方法的配置配線裝置而動作。
[0135]圖11是表示配置配線處理的一例的流程圖。圖11中所示的配置配線處理由圖10中所示的信息處理裝置執(zhí)行。首先,進(jìn)行邏輯合成(SlOl)。所謂邏輯合成在廣義上是指生成邏輯動作,但在本實(shí)施方式中,在狹義的意義上,表示根據(jù)電路描述語言生成接線對照表(描述連接元件間的配線的一覽的柵極-電平的設(shè)計數(shù)據(jù)的表現(xiàn)形式)。在圖12中,表示作為通過邏輯合成而生成的實(shí)際的電路圖的膠合邏輯(glue logic) 1000A及F/F的概略。邏輯電路中存在組合電路及順序電路,組合邏輯電路稱為膠合-邏輯。
[0136]接著,對通過邏輯合成而生成的電路提取應(yīng)掃描化的F/F (S102)。所謂掃描化是指通過將對邏輯電路內(nèi)的寄存器進(jìn)行邏輯合成而成的電路內(nèi)部的F/F置換為附帶掃描功能的F/F (掃描F/F),而對F/F進(jìn)行最佳配置。此外,如果F/F隨機(jī)地被掃描化,那么配線會混線而無法構(gòu)成有效且較短的連鎖配線,因此觀察邏輯狀態(tài)而以形成最佳最短的連鎖的方式提取。應(yīng)掃描化的F/F的提取通過從接線對照表提取F/F而進(jìn)行。通過提取處理,在接線對照表中,特定應(yīng)掃描化的F/F。
[0137]圖13表示通過掃描化重新生成的膠合邏輯、及掃描F/F的概略。通過掃描化,將圖12的膠合-邏輯1000A構(gòu)成為與掃描F/F1100連接的膠合邏輯1000B,并將圖12中所示的電路內(nèi)的F/F置換為掃描F/F1100。另外,由此,掃描F/F1100以夾持膠合邏輯1000B的形狀加以配置。如果比較圖12與圖13,那么可知膠合邏輯與F/F間的連接關(guān)系是圖12中所示的連接關(guān)系的簡化。通過此種簡化,可大幅地減少F/F與膠合邏輯間的連接所必需的配線邏輯。
[0138]關(guān)于配置配線,迄今為止的MPLD的配置配線不區(qū)別組合電路及順序電路而將電路配置于MLUT進(jìn)行配線。MPLD是MLUT中的組合電路或配線包含存儲器的存儲信息,因此如圖12所示,如果膠合邏輯及F/F混合存在并以此狀態(tài)進(jìn)行配置配線,那么必需連接F/F與組合邏輯電路的配線邏輯,因此配線邏輯增加而合成效率降低。然而,如果先配置順序電路,那么連接F/F與組合邏輯電路的配線邏輯的數(shù)量相對減少,因此可削減組合電路間的配線邏輯。
[0139]根據(jù)通過提取處理而特定的應(yīng)掃描化的F/F生成真值表的數(shù)據(jù)集(S103)。提取掃描F/F1100。接著,由于在經(jīng)邏輯合成的F/F間必需多個MLUT,因此將其生成表現(xiàn)組合電路的真值表數(shù)據(jù)。當(dāng)然,由于為F/F,也包含配線邏輯,因此在生成的真值表數(shù)據(jù)中,也包含以配線邏輯表示F/F間的邏輯狀態(tài)的真值。此處生成的用以分別寫入至多個MLUT中的多個真值表數(shù)據(jù)表現(xiàn)F/F間的連接狀態(tài),因此不生成圖12中所示的膠合邏輯與F/F間的配線邏輯。
[0140]接著,進(jìn)行F/F的配置(S104)。在此步驟中,進(jìn)行將F/F用的真值數(shù)據(jù)分配至經(jīng)同步選擇的MLUT的處理。該處理也為將真值表分配至經(jīng)模擬的MLUT的處理。此外,該MLUT的模擬中,在將實(shí)現(xiàn)電路描述的真值表寫入至MLUT的情況下,至少進(jìn)行計算動作速度的時序分析。因此,在該模擬環(huán)境中,計算相當(dāng)于實(shí)現(xiàn)所需的電路描述的MLUT數(shù)量的配線長,進(jìn)而計算因配線長引起的信號延遲,并進(jìn)行時鐘同步等時序分析。
[0141]接著,進(jìn)行膠合邏輯的配置(S105)。在該步驟中,進(jìn)行將膠合邏輯的真值數(shù)據(jù)分配至經(jīng)非同步選擇的MLUT的處理。該處理也為將真值表分配至經(jīng)模擬的MLUT的處理。
[0142]此外,在S105中,也可視需要進(jìn)行MLUT分割或結(jié)合。所謂MLUT分割或結(jié)合是指將接線對照表制成適于MLUT的接線對照表。分割步驟是以可在分配至I個MLUT的I個真值表中包含特定的邏輯電路的方式將邏輯電路的輸入及輸出數(shù)量設(shè)為特定的AD對的數(shù)量以下的步驟。結(jié)合是為了將構(gòu)成于MLUT的真值表的數(shù)量最佳化,而將可包含于I個MLUT的2個以上的真值表匯總為I個真值表。通過此種MLUT分割或結(jié)合,可將構(gòu)成于MLUT的真值表的數(shù)量最佳化。
[0143]接著,評估分配真值表的MLUT是否滿足特定的MLUT數(shù)量、或動作速度等條件(S106)。如果評估滿足條件(S106為是(Yes)),那么進(jìn)行如下處理:生成實(shí)際的真值表數(shù)據(jù),存儲于存儲部214,及/或經(jīng)由輸出部213而寫入至MPLD,從而使其動作。此時,生成的真值表從步驟S103中所提取的應(yīng)掃描化的順序電路數(shù)據(jù)集(即掃描F/F)生成用以寫入至多個MLUT中的第一集合的第一真值表數(shù)據(jù)集、及從接線對照表的組合邏輯電路數(shù)據(jù)集生成用以寫入至多個MLUT中的第二集合的第二真值表數(shù)據(jù)集。在不滿足條件的情況下(S106為否(No)),返回至S104,重復(fù)再次進(jìn)行F/F及膠合邏輯對MLUT的再配置。
[0144]圖14是表示MLUT分配的評估方法的一例的流程圖。圖15是表示MLUT分配評估的例子的概念圖。該處理也通過如圖10所示的執(zhí)行存儲部中所存儲的軟件程序的信息處理裝置而實(shí)現(xiàn)。
[0145]首先,對所有MLUT排列優(yōu)先順序(S201)。將優(yōu)先順序較高的MLUT設(shè)為配置對象MLUT (S202)。關(guān)于配置對象MLUT,將生成自身的輸入信號的MLUT或設(shè)置著外部輸入的MLUT設(shè)為探索對象MLUT (S203)。將從探索基點(diǎn)MLUT位于圖15中所示的半徑R的圓內(nèi)的所有MLUT設(shè)為配置目的地MLUT的候補(bǔ)(S204)。從候補(bǔ)中隨機(jī)地選擇I個MLUT (S205)。判斷配置對象MLUT是否可配置于所選的MLUT (S206)并進(jìn)行配線(S207)。接著,判斷配置對象MLUT的輸出是否連接至外部(S208)。在配置對象MLUT的輸出連接至外部的情況下(S208、是),判斷是否已配置所有MLUT (S209),在已配置所有MLUT的情況下(S209、是),結(jié)束處理。如果以圖15說明步驟S208的例子,那么判斷MLUT2是否與外部nlOl連接,在已連接的情況下,判斷是否已配置所有MLUTO?2,在已配置的情況下,結(jié)束處理。
[0146]在配置對象MLUT的輸出未連接至外部的情況下(S208、否),將輸出目的地的MLUT設(shè)為注目MLUT(S210)。例如,在圖15中,對MLUTO或MLUTl而言,輸出目的地的MLUT成為MLUT2。接著,判斷配置對象MLUT的輸入目的地的MLUT是否完全配置完畢(S211)。在完全配置完畢的情況下(S211、是),返回至S203。在配置對象MLUT的輸入目的地的MLUT未完全配置完畢的情況下(S211、否),返回至S202。
[0147](3)使MLUT作為邏輯要素及/或連接要素而動作的真值表的例子
[0148]A.邏輯要素
[0149]圖16是表示作為邏輯要素動作的MLUT的一例的圖。圖16中所示的MLUT30a、30b分別具有4條邏輯動作用地址線AO?A3、4條邏輯動作用數(shù)據(jù)線DO?D3、4X 16 = 64個存儲元件40、及地址解碼器9。邏輯動作用數(shù)據(jù)線DO?D3分別串聯(lián)地連接24個存儲元件40。地址解碼器9是以基于輸入至邏輯動作用地址線AO?A3的信號而選擇連接于24條字線的任一條的4個存儲元件的方式而構(gòu)成。該4個存儲元件分別連接于邏輯動作用數(shù)據(jù)線DO?D3,且將存儲元件所存儲的數(shù)據(jù)輸出至邏輯動作用數(shù)據(jù)線DO?D3。例如,在對邏輯動作用地址線AO?A3輸入適當(dāng)信號的情況下,能以選擇4個存儲元件40a、40b、40c、及40d的方式構(gòu)成。此處,存儲元件40a連接于邏輯動作用數(shù)據(jù)線D0,存儲元件40b連接于邏輯動作用數(shù)據(jù)線Dl,存儲元件40d連接于邏輯動作用數(shù)據(jù)線D2,存儲元件40d連接于邏輯動作用數(shù)據(jù)線D3。接著,在邏輯動作用數(shù)據(jù)線DO?D3中,輸出存儲元件40a?40d所存儲的信號。如此,MLUT30a、30b從邏輯動作用地址線AO?A3接收邏輯動作用地址,并通過該邏輯動作用地址而將地址解碼器9選擇的4個存儲元件40所存儲的值作為邏輯動作用數(shù)據(jù)分別輸出至邏輯動作用數(shù)據(jù)線DO?D3。此外,MLUT30a的邏輯動作用地址線A2與鄰接的MLUT30b的邏輯動作用數(shù)據(jù)線DO連接,且MLUT30a接收從MLUT30b輸出的邏輯動作用數(shù)據(jù)作為邏輯動作用地址。另外,MLUT30a的邏輯動作用數(shù)據(jù)線D2與MLUT30b的邏輯動作用地址線AO連接,且MLUT30a輸出的邏輯動作用數(shù)據(jù)在MLUT30b中作為邏輯動作用地址接收。例如,MLUT30a的邏輯動作用數(shù)據(jù)線D2基于輸入至MLUT30a的邏輯動作用地址線AO?A3的信號而將連接于邏輯動作用數(shù)據(jù)線D2的24個存儲元件的任一個所存儲的信號輸出至MLUT30b的邏輯動作用地址AO。同樣地,MLUT30b的邏輯動作用數(shù)據(jù)線DO基于輸入至MLUT30b的邏輯動作用地址線AO?A3的信號而將連接于邏輯動作用數(shù)據(jù)線DO的24個存儲元件的任一個所存儲的信號輸出至MLUT30a的邏輯動作用地址A2。如此,MPLD彼此的連結(jié)使用I對地址線及數(shù)據(jù)線。
[0150]此外,在圖16中,MLUT30a、30b具有的AD對為4對,AD對的數(shù)量并不限于該數(shù)量。
[0151]圖17是表示作為邏輯電路動作的MLUT的一例的圖。在本例中,將邏輯動作用地址線AO及Al設(shè)為2輸入NOR電路(Not Or,或非電路)701的輸入,將邏輯動作用地址線A2及A3設(shè)為2輸入NAND電路(Not And,與非電路)702的輸入。接著,構(gòu)成將2輸入NOR電路的輸出、及2輸入NAND電路702的輸出輸入至2輸入NAND電路703,并對邏輯動作用數(shù)據(jù)線DO輸出2輸入NAND電路703的輸出的邏輯電路。
[0152]圖18是表示圖17中所示的邏輯電路的真值表的圖。圖17的邏輯電路為4輸入,因此將輸入AO?A3的所有輸入用作輸入。另一方面,輸出只為I個,因此只將輸出DO用作輸出。接著,該輸出DO記載著圖17中所示的多個地址所特定的輸入值的邏輯運(yùn)算(如圖17所示,邏輯和、或邏輯積)而得的值。在圖18中所示的真值表的輸出Dl?D3的欄中記載著這表示可為“O”或“I”的任一值。為了舉例而以此方式表示,但在實(shí)際中為了再構(gòu)成而將真值表數(shù)據(jù)寫入MLUT時,必需在這些欄中寫入“O”或“ I ”的任一值。
[0153]B.連接要素
[0154]圖19是表示作為連接要素動作的MLUT的一例的圖。在圖19中,作為連接要素的MLUT以如下方式動作:將邏輯動作用地址線AO的信號輸出至邏輯動作用數(shù)據(jù)線D1,將邏輯動作用地址線Al的信號輸出至邏輯動作用數(shù)據(jù)線D2,將邏輯動作用地址線A2的信號輸出至邏輯動作用數(shù)據(jù)線D3。作為連接要素的MLUT進(jìn)而以將邏輯動作用地址線A3的信號輸出至邏輯動作用數(shù)據(jù)線Dl的方式動作。
[0155]圖20是表示圖19中所示的連接要素的真值表的圖。圖19中所示的連接要素為4輸入4輸出。因此,使用輸入AO?A3的所有輸入、及輸出DO?D3的所有輸出。根據(jù)圖20中所不的真值表,MLUT作為將輸入AO的信號輸出至輸出Dl,將輸入Al的信號輸出至輸出D2,將輸入A2的信號輸出至輸出D3,并將輸入A3的信號輸出至輸出DO的連接要素而動作。
[0156]圖21是表示通過具有AD0、AD1、AD2、及AD3的4對AD對的MLUT而實(shí)現(xiàn)的連接要素的一例的圖。ADO具有邏輯動作用地址線AO及邏輯動作用數(shù)據(jù)線DO。ADl具有邏輯動作用地址線Al及邏輯動作用數(shù)據(jù)線Dl。AD2具有邏輯動作用地址線A2及邏輯動作用數(shù)據(jù)線D2。而且,AD3具有邏輯動作用地址線A3及邏輯動作用數(shù)據(jù)線D3。在圖21中,單點(diǎn)鏈線表示將輸入至AD對O的邏輯動作用地址線AO的信號輸出至AD對I的邏輯動作用數(shù)據(jù)線Dl的信號的流通。二點(diǎn)鏈線表示將輸入至第二 AD對I的邏輯動作用地址線Al的信號輸出至AD對2的邏輯動作用數(shù)據(jù)線D2的信號的流通。虛線表示將輸入至AD對2的邏輯動作用地址線A2的信號輸出至AD對3的邏輯動作用數(shù)據(jù)線D3的信號的流通。實(shí)線表示將輸入至AD對3的邏輯動作用地址線A3的信號輸出至AD對O的邏輯動作用數(shù)據(jù)線DO的信號的流通。
[0157]此外,在圖21中,MLUT30具有的AD對為4對,但AD對的數(shù)量并不特別限于4。
[0158]C.邏輯要素與連接要素的組合功能
[0159]圖22是表示I個MLUT作為邏輯要素及連接要素而動作的一例的圖。在圖22所示的例子中,構(gòu)成如下邏輯電路:將邏輯動作用地址線AO及Al設(shè)為2輸入NOR電路121的輸入,將2輸入NOR電路121的輸出、及邏輯動作用地址線A2設(shè)為2輸入NAND電路122的輸入,并對邏輯動作用數(shù)據(jù)線DO輸出2輸入NAND電路122的輸出。另外,同時構(gòu)成將邏輯動作用地址線A3的信號輸出至邏輯動作用數(shù)據(jù)線D2的連接要素。
[0160]在圖23中表示圖22中所示的邏輯要素及連接要素的真值表。圖22的邏輯動作使用輸入DO?D3的3個輸入,將I個輸出DO用作輸出。另一方面,圖23的連接要素構(gòu)成將輸入A3的信號輸出至輸出D2的連接要素。
[0161]圖24是表示通過具有AD0、AD1、AD2、及AD3的4對AD對的MLUT實(shí)現(xiàn)的邏輯動作及連接要素的一例的圖。與圖21中所示的MLUT同樣地,ADO具有邏輯動作用地址線AO及邏輯動作用數(shù)據(jù)線DO。ADl具有邏輯動作用地址線Al及邏輯動作用數(shù)據(jù)線Dl。AD2具有邏輯動作用地址線A2及邏輯動作用數(shù)據(jù)線D2。而且,AD3具有邏輯動作用地址線A3及邏輯動作用數(shù)據(jù)線D3。如上所述,MLUT30以I個MLUT30實(shí)現(xiàn)3輸入I輸出的邏輯動作、及I輸入I輸出的連接要素的2個動作。具體來說,邏輯動作將AD對O的邏輯動作用地址線A0、AD對I的邏輯動作用地址線Al、及AD對2的邏輯動作用地址線A2用作輸入。而且,將AD對O的邏輯動作用數(shù)據(jù)線DO的地址線用作輸出。另外,連接要素如虛線所示般將輸入至AD對3的邏輯動作用地址線A3的信號輸出至AD對2的邏輯動作用數(shù)據(jù)線D2。
[0162]以上說明的實(shí)施方式只是作為典型例而列舉的,該各實(shí)施方式的構(gòu)成要素的組合、變形及變化對業(yè)者而言明確,且明確業(yè)者可不脫離本發(fā)明的原理及權(quán)利要求所記載的發(fā)明的范圍而進(jìn)行所述實(shí)施方式的各種變形。
[0163][符號的說明]
[0164]20 MPLD
[0165]30 MLUT
[0166]100半導(dǎo)體裝置
【權(quán)利要求】
1.一種可再構(gòu)成的半導(dǎo)體裝置的配置配線方法,其特征在于: 所述半導(dǎo)體裝置包含構(gòu)成陣列并且相互連接的多個存儲胞單元,所述存儲胞單元如果要寫入以將由多個地址所特定的輸入值的邏輯運(yùn)算輸出至數(shù)據(jù)線的方式構(gòu)成的真值表數(shù)據(jù),那么作為邏輯要素而動作,及/或如果要寫入以將由某地址所特定的輸入值輸出至連接于其他存儲胞單元的地址的數(shù)據(jù)線的方式構(gòu)成的真值表數(shù)據(jù),那么作為連接要素而動作; 基于描述著電路構(gòu)成的電路描述而生成接線對照表; 從所述接線對照表提取應(yīng)掃描化的順序電路數(shù)據(jù)集; 從所述應(yīng)掃描化的順序電路數(shù)據(jù)集,生成用以寫入至所述多個存儲胞單元中第一集合的第一真值表數(shù)據(jù)集;且 從所述接線對照表的組合邏輯電路數(shù)據(jù)集,生成用以寫入至所述多個存儲胞單元中第二集合的第二真值表數(shù)據(jù)集。
2.根據(jù)權(quán)利要求1所述的配置配線方法,其模擬使被分配所述第一真值表數(shù)據(jù)集的存儲胞單元同步于時鐘的執(zhí)行,及/或模擬使所述多個第二真值表數(shù)據(jù)集不同步于時鐘的執(zhí)行,而評估所述半導(dǎo)體裝置是否實(shí)現(xiàn)特定的動作速度。
3.根據(jù)權(quán)利要求1或2所述的配置配線方法,其中所述半導(dǎo)體裝置在各存儲胞單元的每一個中具有地址解碼器,該地址解碼器對從N條(N為2以上的整數(shù))地址線輸入的地址進(jìn)行解碼而將字符選擇信號輸出至字線; 所述存儲胞單元具有多個存儲元件,這些多個存儲元件連接于所述字線及數(shù)據(jù)線,分別存儲構(gòu)成真值表的數(shù)據(jù),并通過從所述字線輸入的所述字符選擇信號而對所述數(shù)據(jù)線輸入輸出所述數(shù)據(jù);且 所述存儲胞單元的N條地址線分別連接于所述存儲胞單元的其他N個存儲胞單元的數(shù)據(jù)線。
4.一種配置配線裝置,其特征在于:其是進(jìn)行可再構(gòu)成的半導(dǎo)體裝置的配置配線者; 所述半導(dǎo)體裝置包含構(gòu)成陣列的多個存儲胞單元,所述存儲胞單元如果要寫入以將由多個地址所特定的輸入值的邏輯運(yùn)算輸出至數(shù)據(jù)線的方式構(gòu)成的真值表數(shù)據(jù),那么作為邏輯要素而動作,及/或如果要寫入以將由某地址所特定的輸入值輸出至連接于其他存儲胞單元的地址的數(shù)據(jù)線的方式構(gòu)成的真值表數(shù)據(jù),那么作為連接要素而動作; 所述配置配線裝置包含處理器; 所述處理器: 基于描述著電路構(gòu)成的電路描述而生成接線對照表; 從所述接線對照表提取應(yīng)掃描化的順序電路數(shù)據(jù)集; 從所述應(yīng)掃描化的順序電路數(shù)據(jù)集,生成用以寫入至所述多個存儲胞單元中第一集合的第一真值表數(shù)據(jù)集;且 從所述接線對照表的組合邏輯電路數(shù)據(jù)集,生成用以寫入至所述多個存儲胞單元中第二集合的第二真值表數(shù)據(jù)集。
5.根據(jù)權(quán)利要求4所述的配置配線裝置,其中所述處理器是以如下方式構(gòu)成:模擬使被分配所述第一真值表數(shù)據(jù)集的存儲胞單元同步于時鐘的執(zhí)行,及/或模擬使所述多個第二真值表數(shù)據(jù)集不同步于時鐘的執(zhí)行,而評估所述半導(dǎo)體裝置是否實(shí)現(xiàn)特定的動作速度。
6.一種程序,其特征在于:其是用以將可再構(gòu)成的半導(dǎo)體裝置進(jìn)行配置配線者,所述半導(dǎo)體裝置包含構(gòu)成陣列的多個存儲胞單元,所述存儲胞單元如果要寫入以將由多個地址所特定的輸入值的邏輯運(yùn)算輸出至數(shù)據(jù)線的方式構(gòu)成的真值表數(shù)據(jù),那么作為邏輯要素而動作,及/或如果要寫入以將由某地址所特定的輸入值輸出至連接于其他存儲胞單元的地址的數(shù)據(jù)線的方式構(gòu)成的真值表數(shù)據(jù),那么作為連接要素而動作;且 使處理器執(zhí)行以下處理: 基于描述著電路構(gòu)成的電路描述而生成接線對照表; 從所述接線對照表提取應(yīng)掃描化的順序電路數(shù)據(jù)集; 從所述應(yīng)掃描化的順序電路數(shù)據(jù)集,生成用以寫入至所述多個存儲胞單元中第一集合的第一真值表數(shù)據(jù)集 '及 從所述接線對照表的組合邏輯電路數(shù)據(jù)集,生成用以寫入至所述多個存儲胞單元的中第二集合的第二真值表數(shù)據(jù)集。
7.根據(jù)權(quán)利要求6所述的程序,其使處理器執(zhí)行如下處理:模擬使被分配所述第一真值表數(shù)據(jù)集的存儲胞單元同步于時鐘的執(zhí)行,及/或模擬使所述多個第二真值表數(shù)據(jù)集不同步于時鐘的執(zhí)行,而評估所述半導(dǎo)體裝置是否實(shí)現(xiàn)特定的動作速度。
8.根據(jù)權(quán)利要求6或7所述的程序,其中所述半導(dǎo)體裝置在各存儲胞單元的每一個中具有地址解碼器,該地址解碼器對從N條(N為2以上的整數(shù))地址線輸入的地址進(jìn)行解碼而將字符選擇信號輸出至字線; 所述存儲胞單元具有多個存儲元件,這些多個存儲元件連接于所述字線及數(shù)據(jù)線,分別存儲構(gòu)成真值表的數(shù)據(jù),并通過從所述字線輸入的所述字符選擇信號而對所述數(shù)據(jù)線輸入輸出所述數(shù)據(jù);且 所述存儲胞單元的N條地址線分別連接于所述存儲胞單元的其他N個存儲胞單元的數(shù)據(jù)線。
9.一種存儲介質(zhì),其存儲根據(jù)權(quán)利要求4至6中任一項(xiàng)所述的程序。
【文檔編號】H01L21/82GK104205104SQ201380018430
【公開日】2014年12月10日 申請日期:2013年2月14日 優(yōu)先權(quán)日:2012年4月9日
【發(fā)明者】佐藤正幸 申請人:太陽誘電株式會社