可再構成的半導體裝置的制造方法
【技術領域】
[0001]本發明涉及一種可再構成的半導體裝置。
【背景技術】
[0002]廣泛使用著可切換FPGA (Field-Programmable Gate Array,現場可編程門陣列)等電路構成的PLD (Programmable Logic Device,可編程邏輯器件)(例如專利文獻I)。申請人或發明者開發了利用存儲元單元實現電路構成的“MPLD (Memory-based ProgrammableLogic Device,基于存儲器的可編程邏輯器件)”(注冊商標)。MPLD例如示于下述專利文獻I。MPLD將稱為MLUT(Multi Look-Up-Table,多查找表)的存儲器陣列相互連接。MLUT存儲真值表數據而構成配線要素及邏輯要素。MPLD是通過將該MLUT排列成陣列狀并相互連接而實現與FPGA大致同等的功能。
[0003]而且,MPLD是通過利用真值表數據將MLUT用作邏輯要素與配線要素這兩者而使邏輯區域與配線區域具有靈活性的器件(例如專利文獻2),與存儲元單元間的連接具有專用的切換電路的FPGA不同。
[0004]進而,關于MLUT,揭示了具有向多方向進行輸入輸出的地址線或數據線的多方向型MLUT (專利文獻I)、或為矩形狀且只向水平方向輸入輸出數據的矩形狀型MLUT (專利文獻3)。MLUT間的連接是使地址線與數據線的各I比特成對而實現虛擬的雙方向線。將該虛擬的雙方向線稱為“AD對”。多方向型MLUT是鄰接的MLUT以I個AD對連接,所以與鄰接的MLUT發送的數據成為I比特。
[0005]【背景技術】文獻
[0006]專利文獻
[0007]專利文獻1:日本專利特開2010-239325號公報
[0008]專利文獻2:美國專利第5815726號說明書
[0009]專利文獻3:國際公開第2011/162116號
【發明內容】
[0010][發明要解決的問題]
[0011]在利用MLUT實現以多比特的運算為前提進行編碼的數據處理的情況下,必須將多比特分割(以下,稱為“比特分割”)成較小的比特數,利用多個MLUT實現比特運算。多方向型MLUT相對于鄰接的MLUT只具有I個數據或地址輸入輸出,所以只能對鄰接的MLUT進行以I比特為單位的數據傳送。因此,在多比特運算中,必須比特分割成I比特數,因而使用的MLUT數增加。例如,在利用MLUT實現8比特的加法器的情況下,需要8個實現以I比特為單位進行運算的加法器的MLUT,且也需要實現用來將它們的運算結果相加的邏輯電路的MLUT。
[0012][解決問題的技術手段]
[0013]解決所述問題的形態由以下項目組表示。
[0014]1.一種可再構成的半導體裝置,其特征在于:
[0015]包括相互以地址線或數據線連接的多個邏輯部;且
[0016]所述各邏輯部包括:
[0017]多條地址線;
[0018]多條數據線;
[0019]第一地址解碼器,對從所述多條地址線的一部分輸入的地址進行解碼;
[0020]第二地址解碼器,對從所述多條地址線的另一部分輸入的地址進行解碼;
[0021]第一存儲元單元,具有由所述第一地址解碼器的解碼線指定的多個存儲元;及
[0022]第二存儲元單元,具有由所述第二地址解碼器的解碼線指定的多個存儲元。
[0023]根據所述半導體裝置,因為存儲元單元與地址線的平方成比例地增加,所以即便數據線的數量相同,只要減少各存儲元單元的地址數,也能減少總共所需的存儲元的數量。
[0024]2.根據項目I所述的半導體裝置,其中所述存儲元單元為多查找表。
[0025]本半導體裝置是利用多查找表進行作為邏輯要素及/或連接要素的動作,所以與利用選擇電路實現配線連接的FPGA明顯不同。
[0026]3.根據項目I或2所述的半導體裝置,其中所述邏輯部為矩形狀,從一邊以多條地址線或多條數據線與其他邏輯部連接,并且從與所述一邊為相反側的另一邊以多條地址線或多條數據線與其他邏輯部連接。
[0027]因為能夠對鄰接的邏輯部進行多比特的數據處理,所以在包括進行多比特運算的程序的數據處理中,能夠減少使用的邏輯部的數量。
[0028]4.根據項目3所述的半導體裝置,其中所述第一存儲元單元具有多個存儲元,所述多個存儲元由從所述一邊的第一多地址線指定且輸出到所述第一多地址線的兩倍數量的第一多數據線,
[0029]所述第二存儲元單元具有多個存儲元,所述多個存儲元由從所述另一邊的第二多地址線指定且輸出到所述第二多地址線的兩倍數量的第二多數據線,
[0030]所述邏輯部將第一多數據線及第二多數據線的一部分向所述一邊輸出,并且將所述第一多數據線及第二多數據線的另一部分向另一邊輸出。
[0031]使各存儲元單元的數據數根據地址數增加,并且使從各存儲元單元數據輸出的方向為雙方向,由此可減少所需的存儲元的數量,且可進行向雙方向的數據輸出。
[0032]5.根據項目4所述的半導體裝置,其中所述第一存儲元單元存儲對于從所述一邊的地址輸入向所述一邊輸出數據的第一真值表數據、及向所述另一邊輸出數據的第二真值表數據,且
[0033]所述第二存儲元單元存儲對于從所述另一邊的地址輸入向所述一邊輸出數據的第三真值表數據、及向所述另一邊輸出數據的第四真值表數據,
[0034]按照所述第一?第四真值表數據改變所述數據的輸出方向。
[0035]6.根據項目4所述的半導體裝置,其中所述第一存儲元單元具有多個存儲元,所述多個存儲元由從所述一邊的第一多地址線指定且輸出到所述第一多地址線的兩倍數量的第一多數據線,
[0036]所述第二存儲元單元具有多個存儲元,所述多個存儲元由從所述另一邊的第二多地址線指定且輸出到所述第二多地址線的相同數量的第三多數據線,且
[0037]所述邏輯部將第一多數據線的一部分及第三多數據線向所述一邊輸出,并且將所述第一多數據線的另一部分向另一邊輸出。
[0038]通過限制任一存儲元單元的反饋方向的輸出,可進一步減少所需的存儲元的數量。
[0039]7.根據項目I至6中任一項所述的半導體裝置,其中所述第一及/或第二存儲元單元是以如下方式構成:
[0040]存儲以下真值表數據,并作為邏輯電路進行動作,所述真值表數據用來將存儲在由某一所述地址線指定的存儲元的值的邏輯運算輸出到數據線;及/或
[0041]存儲以下真值表數據,且作為連接電路進行動作,所述真值表數據用來將存儲在由某一所述地址線指定的存儲元的值輸出到連接在另一邏輯部的地址線的數據線。
[0042]8.根據項目I至7中任一項所述的半導體裝置,其中所述第一存儲元單元及第二存儲元單元存儲多個真值表數據,且連接在輸出指定所述多個真值表數據中的任I個的數據的第二多地址線。
[0043]可提供一種能夠活用大容量存儲器而以頁面切換控制的形式控制剩余地址的可再構成的半導體裝置。
[0044]9.根據項目I至8中任一項所述的半導體裝置,其中所述第一存儲元單元及第二存儲元單元中的任一存儲元單元的數據線的一部分連接在所述第二多地址線,并且所述第一存儲元單元及第二存儲元單元中的任一存儲元單元存儲輸出到所述第二多地址線且用來指定所述多個真值表數據的真值表數據。
[0045]也能夠活用大容量存儲器而進行頁面切換控制。
[0046]10.根據項目I至8中任一項所述的半導體裝置,其中所述第二多條地址線與外部連接。
[0047]11.根據項目I至10中任一項所述的半導體裝置,其中所述邏輯部包括:
[0048]數據輸入線;
[0049]數據輸出線;及
[0050]可再構成的邏輯復用器,響應所述真值表數據而選擇性地使從所述數據輸入線的數據輸入、與向所述數據輸出線的所述數據輸出結合,及/或響應所述真值表數據而將關于所述數據輸入進行邏輯運算后的數據向所述數據輸出線數據輸出;且
[0051]通過所述數據輸入線及所述數據輸出線而連接靠近的所述邏輯部。
[0052]12.根據項目11所述的半導體裝置,其還包括保持部,該保持部保持從所述存儲元單元讀出的真值表數據,并且將所述保持的真值表數據輸出到所述可再構成的邏輯復用器。
[0053]13.根據項目11或12所述的半導體裝置,其中所述可再構成的邏輯復用器通過從所述數據輸入線的數據輸入,而選擇并輸出保持在所述保持部的真值表數據中的任I個。
[0054]14.一種控制方法,其特征在于:是可再構成的半導體裝置的控制方法;且
[0055]所述半導體裝置是
[0056]包括相互以地址線或數據線連接的多個邏輯部;且
[0057]所述各邏輯部包括:
[0058]多條地址線;
[0059]多條數據線;
[0060]第一地址解碼器;
[0061]第二地址解碼器;
[0062]第一存儲元單元,具有多個存儲元;及
[0063]第二存儲元單元,具有多個存儲元;且
[0064]所述第一地址解碼器對從所述多條地址線的一部分輸入的地址進行解碼;
[0065]所述第二地址解碼器對從所述多條地址線的另一部分輸入的地址進行解碼;
[0066]所述第一存儲元單元的存儲元由所述第一地址解碼器的解碼線指定;
[0067]所述第二存儲元單元的存儲元由所述第二地址解碼器的解碼線指定。
[0068]15.根據項目14所述的半導體裝置,其中所述存儲元單元為多查找表。
[0069]16.根據項目14或15所述的控制方法,其中所述邏輯部為矩形狀,從一邊以多條地址線或多條數據線與其他邏輯部連接,并且從與所述一邊為相反側的另一邊以多條地址線或多條數據線與其他邏輯部連接。
[0070]17.根據項目16所述的控制方法,其中所述第一存儲元單元具有多個存儲元,所述多個存儲元由從所述一邊的第一多地址線指定且輸出到所述第一多地址線的兩倍數量的第一多數據線,
[0071]所述第二存儲元單元具有多個存儲元,所述多個存儲元由從所述另一邊的第二多地址線指定且輸出到所述第二多地址線的兩倍數量的第二多數據線,
[0072]所述邏輯部將第一多數據線及第二多數據線的一部分向所述一邊輸出,并且將所述第一多數據線及第二多數據線的另一部分向另一邊輸出。
[0073]18.根據項目17所述的控制方法,其中所述第一存儲元單元存儲對于從所述一邊的地址輸入向所述一邊輸出數據的第一真值表數據、及向所述另一邊輸出數據的第二真值表數據,且
[0074]所述第二存儲元單元存儲對于從所述另一邊的地址輸入向所述一邊輸出數據的第三真值表數據、及向所述另一邊輸出數據的第四真值表數據,
[0075]按照所述第一?第四真值表數據改變所述數據的輸出方向。
[0076]19.根據項目17所述的控制方法,其中所述第一存儲元單元具有多個存儲元,所述多個存儲元由從所述一邊的第一多地址線指定且輸出到所述第一多地址線的兩倍數量的第一多數據線,
[0077]所述第二存儲元單元具有多個存儲元,所述多個存儲元由從所述另一邊的第二多地址線指定且輸出到所述第二多地址線的相同數量的第三多數據線,
[0078]所述邏輯部將第一多數據線的一部分及第三多數據線向所述一邊輸出,并且將所述第一多數據線的另一部分向另一邊輸出。
[0079]20.根據項目14至19中任一項所述的控制方法,其中所述第一及/或第二存儲元單元是以如下方式構成:
[0080]存儲以下真值表數據,并作為邏輯電路進行動作,所述真值表數據用來將存儲在由某一所述地址線指定的存儲元的值的邏輯運算輸出到數據線;及/或
[0081]存儲以下真值表數據,并作為連接電路進行動作,所述真值表數據用來將存儲在由某一所述地址線指定的存儲元的值輸出到連接在另一邏輯部的地址線的數據線。
[0082]21.根據項目14至20中任一項所述的控制方法,其中所述第一存儲元單元及第二存儲元單元存儲多個真值表數據,且連接在輸出指定所述多個真值表數據中的任I個的數據的第二多地址線。
[0083]22.根據項目14至21中任一項所述的控制方法,其中所述第一存儲元單元及第二存儲元單元中的任一存儲元單元的數據線的一部分連接在所述第二多地址線,并且所述第一存儲元單元及第二存儲元單元中的任一存儲元單元存儲輸出到所述第二多地址線且用來指定所述多個真值表數據的真值表數據。
[0084]23.根據項目14至22中任一項所述的控制方法,其中所述第二多條地址線與外部連接。
[0085]24.根據項目14至23中任一項所述的控制方法,其中所述邏輯部包括:
[0086]數據輸入線、
[0087]數據輸出線、及
[0088]可再構成的邏輯復用器,且
[0089]通過所述數據輸入線及所述數據輸出線而連接在靠近的所述邏輯部,
[0090]所述可再構成的邏輯復用器響應所述真值表數據而選擇性地使從所述數據輸入線的數據輸入、與向所述數據輸出線的所述數據輸出結合,且
[0091]響應所述真值表數據而將關于所述數據輸入進行邏輯運算后的數據向所述數據輸出線數據輸出。
[0092]25.根據項目25所述的控制方法,其中還包括保持部,該保持部保持從所述存儲元單元讀出的真值表數據,并且將所述保持的真值表數據輸出到所述可再構成的邏輯復用器;且
[0093]所述可再構成的邏輯復用器通過從所述數據輸入線的數據輸入,而選擇并輸出保持在所述保持部的真值表數據中的任I個。
[0094]26.一種程序,用來控制可再構成的半導體裝置;其特征在于:
[0095]所述半導體裝置是
[0096]包括相互以地址線或數據線連接的多個邏輯部;且
[0097]所述各邏輯部包括:
[0098]多條地址線;
[0099]多條數據線;
[0100]第一地址解碼器;
[0101]第二地址解碼器;
[0102]第一存儲元單元,具有多個存儲元;及
[0103]第二存儲元單元,具有多個存儲元;且
[0104]所述第一地址解碼器對從所述多條地址線的一部分輸入的地址進行解碼;
[0105]所述第二地址解碼器對從所述多條地址線的另一部分輸入的地址進行解碼;
[0106]所述邏輯部為矩形狀,從一邊以多條地址線或多條數據線與其他邏輯部連接,并且從與所述一邊為相反側的另一邊以多條地址線或多條數據線與其他邏輯部連接;
[0107]所述第一及第二存儲元單元分別存儲包含真值表數據的程序,且作為邏輯要素及/或連接要素而構成;且
[0108]使所述第一或第二存儲元單元執行如下處理:
[0109]將存儲在由在一邊連接的所述地址線指定的存儲元的值的邏輯運算輸出到在與所述一邊為相反側連接的數據線,且作為邏輯電路進行動作;及
[0110]將存儲在由在一邊連接的某一所述地址線指定的存儲元的值輸出到在與所述一邊為相反側連接的數據線,且作為連接電路進行動作。
[0111]27.根據項目26所述的程序,其中所述存儲元單元為多查找表。
[0112]28.根據項目26或27所述的程序,其中具有輸出到第一多地址線的兩倍數量的第一多數據線的多個存儲元;
[0113]所述第二存儲元單元具有多個存儲元,所述多個存儲元由從所述另一邊的第二多地址線指定且輸出到所述第二多地址線的兩倍數量的第二多數據線;且
[0114]使所述第一或第二存儲元單元執行如下處理:
[0115]將第一多數據線及第二多數據線的一部分向所述一邊輸出;及
[0116]將所述第一多數據線及第二多數據線的另一部分向另一邊輸出。
[0117]29.根據項目26所述的程序,其中所述第一存儲元單元存儲對于從所述一邊的地址輸入向所述一邊輸出數據的第一真值表數據、及向所述另一邊輸出數據的第二真值表數據,且
[