少(2的9次方X4少于2的36次方),因此可降低存儲(chǔ)器的容量。
[0110]圖6A是本實(shí)施方式的時(shí)鐘轉(zhuǎn)換檢測(cè)部的電路圖。圖6A所示的時(shí)鐘轉(zhuǎn)換檢測(cè)部200具有否定邏輯和(NOR)電路210A、210B、邏輯積(AND)電路230、延遲電路240A?240C、觸發(fā)器(FF) 250、反相器260A、260B及D鎖存器270。
[0111]圖6B是圖6A所示的時(shí)鐘轉(zhuǎn)換檢測(cè)部的信號(hào)的時(shí)序圖。信號(hào)SI為向構(gòu)成存儲(chǔ)器的地址輸入信號(hào)。本實(shí)施例中,為地址AO。信號(hào)S2為D鎖存器的輸出。D鎖存器270是在信號(hào)SI有變化的情況下,以在一定期間內(nèi)不發(fā)生變化的方式進(jìn)行鎖存。其原因在于:因噪聲等而忽視后續(xù)的地址轉(zhuǎn)換。信號(hào)S3為從D鎖存器270輸出的延遲信號(hào)。如圖6B所示,延遲信號(hào)是利用上升及下降而制作時(shí)鐘,為了產(chǎn)生信號(hào)S4的時(shí)鐘寬度,利用延遲電路240B使其延遲。
[0112]作為時(shí)鐘信號(hào)而產(chǎn)生的信號(hào)S4是從AND電路230輸出。AND電路230中,因?yàn)楸惠斎胙舆t電路240B的輸入及輸出,所以當(dāng)兩者的信號(hào)電平不同時(shí),輸出信號(hào)電平“High”。由此,可檢測(cè)地址轉(zhuǎn)換。
[0113]信號(hào)S5是從延遲電路240C輸出的延遲信號(hào),等待LAT270的使能信號(hào)而進(jìn)行時(shí)鐘輸入。
[0114]信號(hào)S6為信號(hào)S5的信號(hào)延長(zhǎng),且為使能信號(hào)的脈沖產(chǎn)生。NOR電路210A輸出作為信號(hào)S5與S6的NOR運(yùn)算值的信號(hào)S7。而且,信號(hào)S7成為D鎖存器270的使能信號(hào)。信號(hào)S8是利用反相器260A使信號(hào)S5反轉(zhuǎn)所得的信號(hào),利用FF250而用作地址信號(hào)的鎖存器的時(shí)鐘。信號(hào)S9被用作構(gòu)成存儲(chǔ)器的使能,信號(hào)SlO被用作構(gòu)成存儲(chǔ)器的時(shí)鐘(atd_clk),信號(hào)Sll被用作構(gòu)成存儲(chǔ)器的地址。如此,根據(jù)作為地址AO的信號(hào)SI而產(chǎn)生時(shí)鐘信號(hào)S10,所以可使用同步SRAM作為構(gòu)成存儲(chǔ)器。
[0115]圖6C是表不地址AO與所產(chǎn)生的時(shí)鐘信號(hào)的關(guān)系的時(shí)序圖。圖6C中,僅表不信號(hào)SI與S10。使用地址AO從“Low”向“Hi”的上升時(shí)序,產(chǎn)生時(shí)鐘,如果也利用地址AO從“Hi”向“Low”的下降時(shí)序產(chǎn)生時(shí)鐘,那么在寫入數(shù)據(jù)時(shí),即使利用上升寫入數(shù)據(jù),下降時(shí)也會(huì)返回到最初的存儲(chǔ)器數(shù)據(jù),而無法保持?jǐn)?shù)據(jù)。作為該對(duì)策,MLUT20具有正型的地址轉(zhuǎn)換檢測(cè)(ATD)部200。如此,正型的ATD電路是僅利用AO的上升而產(chǎn)生CLK,因此以Hi保持存儲(chǔ)器內(nèi)部的地址。輸出以Hi保持的構(gòu)成數(shù)據(jù),AO成為L(zhǎng)ow,不產(chǎn)生CLK而將構(gòu)成數(shù)據(jù)保持在寄存器單元60的寄存器。由此,MLUT30無需準(zhǔn)備觸發(fā)器電路等實(shí)際的電路,便可構(gòu)成順序電路。
[0116][3.2]可重構(gòu)邏輯多路復(fù)用器
[0117]可重構(gòu)邏輯多路復(fù)用器50僅有數(shù)據(jù)的配線路徑的數(shù)量。例如,有可重構(gòu)邏輯多路復(fù)用器 52A、52B、52C 及 52D。
[0118]所述可重構(gòu)邏輯多路復(fù)用器為按照保持在寄存器單元60的構(gòu)成數(shù)據(jù)而使數(shù)據(jù)輸入與數(shù)據(jù)輸出結(jié)合的多路復(fù)用器,其連接路徑可根據(jù)構(gòu)成數(shù)據(jù)而重構(gòu)。作為動(dòng)作,將保持在寄存器單元60的數(shù)據(jù)設(shè)為“輸入信號(hào)”,將數(shù)據(jù)輸入用作“選擇控制信號(hào)”,選擇并輸出“輸入信號(hào)”。
[0119]A.邏輯功能的實(shí)現(xiàn)
[0120]圖4B所示的例中,在寄存器中保持有表示從構(gòu)成數(shù)據(jù)讀出的邏輯運(yùn)算的結(jié)果的4對(duì)4比特。也就是說,構(gòu)成數(shù)據(jù)中,4比特?cái)?shù)據(jù)是準(zhǔn)備與邏輯積、邏輯和、否定、否定邏輯和、排他性邏輯和等真值表對(duì)應(yīng)的值??芍貥?gòu)邏輯多路復(fù)用器52A等是利用16對(duì)I個(gè)多路復(fù)用器,將16對(duì)“2方向X2X 16”的4比特對(duì)應(yīng)于數(shù)據(jù)輸入而選擇為I對(duì)4比特。也就是說,在構(gòu)成存儲(chǔ)器40中,存儲(chǔ)有構(gòu)成數(shù)據(jù)輸入數(shù)量(圖4B中為4個(gè))及其配線方向(圖4B中為4個(gè))的數(shù)量的構(gòu)成數(shù)據(jù)(圖4B的例中為4方向X4對(duì)4比特?cái)?shù)據(jù))。
[0121]B.配線功能的實(shí)現(xiàn)
[0122]各可重構(gòu)邏輯多路復(fù)用器是將數(shù)據(jù)輸入用作選擇信號(hào),根據(jù)數(shù)據(jù)輸入,選擇多個(gè)真值表數(shù)據(jù)中的任一個(gè)。各可重構(gòu)邏輯多路復(fù)用器是以實(shí)現(xiàn)將從數(shù)據(jù)輸入線的數(shù)據(jù)輸入與向數(shù)據(jù)輸出線的數(shù)據(jù)輸出結(jié)合的所期望的配線路徑的方式構(gòu)成??芍貥?gòu)多路復(fù)用器有多個(gè),針對(duì)數(shù)據(jù)輸入線的方向與數(shù)據(jù)輸出線的方向的每一種組合而設(shè)置。例如可重構(gòu)邏輯多路復(fù)用器52A、52B、52C及52D是分別因從左側(cè)輸入向左側(cè)輸出的配線路徑、從左側(cè)輸入向右側(cè)輸出的配線路徑、從右側(cè)輸入向右側(cè)輸出的配線路徑、及從右側(cè)輸入向左側(cè)輸出的配線路徑而存在。例如在通過數(shù)據(jù)輸入選擇可重構(gòu)邏輯多路復(fù)用器52A,而非選擇可重構(gòu)邏輯多路復(fù)用器52B的情況下,根據(jù)數(shù)據(jù)輸入,可重構(gòu)邏輯多路復(fù)用器52B所選擇的輸入信號(hào)(構(gòu)成數(shù)據(jù))為“O”且使52A的信號(hào)與52C的信號(hào)進(jìn)行邏輯和,因此從左向左的信號(hào)優(yōu)先,構(gòu)成從左向左的信號(hào)路徑。根據(jù)數(shù)據(jù)輸入,可重構(gòu)邏輯多路復(fù)用器52A所選擇的輸入信號(hào)(構(gòu)成數(shù)據(jù))是設(shè)定特定的邏輯值,且將所述邏輯值向左輸出。
[0123]構(gòu)成數(shù)據(jù)的詳細(xì)情況是用圖12在下文中進(jìn)行敘述??芍貥?gòu)邏輯多路復(fù)用器52A與52C是進(jìn)行邏輯和,可通過將可重構(gòu)邏輯多路復(fù)用器52C的構(gòu)成數(shù)據(jù)設(shè)為“O”而使從左的InAO?InA3的信號(hào)向左以特定的邏輯值輸出。而且,可重構(gòu)邏輯多路復(fù)用器52B與52D是進(jìn)行邏輯和,可通過將可重構(gòu)邏輯多路復(fù)用器52D設(shè)為“0”,而將InAO?InA3的信號(hào)向右側(cè)輸出。利用與此相同的方法,將InBO?InB3的信號(hào)向左右輸出。
[0124]如上所述,可重構(gòu)邏輯多路復(fù)用器50是根據(jù)配線路徑而設(shè)置,而且,通過將構(gòu)成數(shù)據(jù)構(gòu)成為邏輯運(yùn)算值及將構(gòu)成數(shù)據(jù)以進(jìn)行配線選擇的方式構(gòu)成,而像邏輯運(yùn)算電路及/或開關(guān)那樣動(dòng)作。
[0125]圖7A是表示4方向配置的MLUT的信號(hào)線的配置例的圖。如圖7A所示,從左右的數(shù)據(jù)輸入輸出是與2方向配置相同,但除此以外,有從上的數(shù)據(jù)輸入InCO?C3、向上的數(shù)據(jù)輸出OutCO?0utC3、及從下的數(shù)據(jù)輸入InDO?InD3、向下的數(shù)據(jù)輸出OutDO?0utD3。
[0126]圖7B是表示4方向配置的MLUT的一個(gè)示例的圖。此外,本例也可以適當(dāng)進(jìn)行改良。圖7B所示的MLUT的信號(hào)線與圖7A所示的MLUT的信號(hào)線相同。雖未表示構(gòu)成存儲(chǔ)器,但各構(gòu)成要素的動(dòng)作與2方向配置的MLUT相同。因?yàn)槭?方向,所以可重構(gòu)邏輯多路復(fù)用器的數(shù)量與2方向配置的MLUT相比,增加了 4個(gè)(可重構(gòu)邏輯多路復(fù)用器52E?H),寄存器單元62也隨之增加。
[0127]2方向配置的多路復(fù)用器的輸出是與其他向相同方向的輸出進(jìn)行邏輯和,但即使為4方向配置,原理也相同。但是,由于方向成為4個(gè),所以成為4個(gè)邏輯和。例如,如果以數(shù)據(jù)輸出OutCO?0utC3為例,那么成為可重構(gòu)邏輯多路復(fù)用器52C、52E、52G的輸出的邏輯和。通過將可重構(gòu)邏輯多路復(fù)用器52E、52G的數(shù)據(jù)設(shè)為“0”,可將52E的輸出向上輸出。
[0128][4]頁(yè)面控制
[0129]圖8是表示進(jìn)行頁(yè)面控制的MLUT的一個(gè)示例的圖。進(jìn)行頁(yè)面控制的MLUT是:MLUT的一部分作為產(chǎn)生另一構(gòu)成存儲(chǔ)器的頁(yè)面控制信號(hào)的電路而動(dòng)作,其數(shù)據(jù)輸出控制另一構(gòu)成存儲(chǔ)器的頁(yè)面。
[0130]圖8所示的MLUT30具有大容量的存儲(chǔ)元單元40A、40B,各存儲(chǔ)元單元由9條地址線、及64條數(shù)據(jù)線構(gòu)成,所以成為2的9次方(512)字符X64比特的大容量。本例中,A2?AS可利用頁(yè)面地址進(jìn)行邏輯的多路復(fù)用。此時(shí)為128頁(yè)面的例。而且,本例中,為2方向配置的MLUT陣列。而且,構(gòu)成存儲(chǔ)器是以存儲(chǔ)各頁(yè)面的構(gòu)成數(shù)據(jù)的方式構(gòu)成,所以存儲(chǔ)容量變大。因此,由兩個(gè)存儲(chǔ)器構(gòu)成。由此,可進(jìn)行從左右的時(shí)鐘控制。
[0131]此外,圖8是概略圖,未表示作為存儲(chǔ)元單元的周邊電路的解碼器等,關(guān)于解碼器,針對(duì)各存儲(chǔ)元單元的每一個(gè),準(zhǔn)備圖5中所說明的解碼器120及數(shù)據(jù)輸入輸出部140。
[0132]圖9是表示在MLUT外部設(shè)置狀態(tài)機(jī)械的示例的圖。如圖9所示,也可以通過從外部系統(tǒng)的控制而對(duì)某一 MLUT30利用地址切換頁(yè)面(真值表數(shù)據(jù))。
[0133]以往的MPLD中,MPLD的狀態(tài)機(jī)械必須由真值表數(shù)據(jù)定義。因此,必須按照已決定的條件來設(shè)置由真值表數(shù)據(jù)定義預(yù)先所決定的多個(gè)狀態(tài)的真值表數(shù)據(jù)。包含MLUT的狀態(tài)機(jī)(state machine)成為控制電路,甚至必須產(chǎn)生與數(shù)據(jù)路徑不同的邏輯電路而進(jìn)行配置配線。
[0134]圖10是表示在MLUT內(nèi)部設(shè)置狀態(tài)機(jī)械的示例的圖。該示例為使用構(gòu)成數(shù)據(jù)的一部分,MRLD獨(dú)自設(shè)置狀態(tài)機(jī)械的示例。利用包含MLUT30B的電路等進(jìn)行遞減運(yùn)算而進(jìn)行C語言的for控制。使O數(shù)據(jù)(MLUT30B的O地址)存儲(chǔ)下一頁(yè)面的地址且在另一地址中存儲(chǔ)當(dāng)前地址。由此,可控制for字符。
[0135]圖10所示的MLUT30具有切換控制頁(yè)面的功能,所以無需利用真值表定義狀態(tài)機(jī)。例如,for字符是在特定值達(dá)到某一條件之前,不將本頁(yè)面的地址輸出為數(shù)據(jù)并進(jìn)行頁(yè)面切換,而以相同的頁(yè)面處理動(dòng)作。如果滿足某一條件(例如i = 0),那么此時(shí)將頁(yè)面切換的地址輸出到數(shù)據(jù)線。數(shù)據(jù)線是作為地址線輸入到另一存儲(chǔ)元單元,所以可進(jìn)行該另一存儲(chǔ)元單元的頁(yè)面切換。而且,在case字符的情況下,可根據(jù)特定值的值,將跳躍地址(jumpaddress)輸出為數(shù)據(jù)并進(jìn)行頁(yè)面切換,而動(dòng)作變更。根據(jù)以上,以往的MPLD僅可構(gòu)成邏輯電路,相對(duì)于此,還可以進(jìn)行C語言的動(dòng)作合成,可根據(jù)C語言而產(chǎn)生MPLD的MLUT的真值數(shù)據(jù),從而可具有超過FPGA的功能。
[0136]MRLD即使不經(jīng)過與專用的小型SRAM相關(guān)的半導(dǎo)體設(shè)計(jì)試制、制造,也可以利用以往的大容量的存儲(chǔ)