TW201417502A - 可再構成之半導體裝置 - Google Patents

可再構成之半導體裝置 Download PDF

Info

Publication number
TW201417502A
TW201417502A TW102138944A TW102138944A TW201417502A TW 201417502 A TW201417502 A TW 201417502A TW 102138944 A TW102138944 A TW 102138944A TW 102138944 A TW102138944 A TW 102138944A TW 201417502 A TW201417502 A TW 201417502A
Authority
TW
Taiwan
Prior art keywords
data
address
memory cell
line
lines
Prior art date
Application number
TW102138944A
Other languages
English (en)
Other versions
TWI659614B (zh
Inventor
Masayuki Satou
Koshi Sato
Original Assignee
Taiyo Yuden Kk
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Taiyo Yuden Kk filed Critical Taiyo Yuden Kk
Publication of TW201417502A publication Critical patent/TW201417502A/zh
Application granted granted Critical
Publication of TWI659614B publication Critical patent/TWI659614B/zh

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17748Structural details of configuration resources
    • H03K19/1776Structural details of configuration resources for memories
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/10Decoders
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17724Structural details of logic blocks
    • H03K19/17728Reconfigurable logic blocks, e.g. lookup tables

Landscapes

  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Logic Circuits (AREA)

Abstract

本發明之課題在於減少可再構成之半導體裝置之記憶胞。本發明提供一種可再構成之半導體裝置,該可再構成之半導體裝置包括相互以位址線或資料線連接之複數個邏輯部,上述各邏輯部包括:複數條位址線;複數條資料線;第1位址解碼器,其對自上述複數條位址線之一部分輸入之位址進行解碼;第2位址解碼器,其對自上述複數條位址線之另一部分輸入之位址進行解碼;第1記憶胞單元,其包含由上述第1位址解碼器之解碼線特定之複數個記憶胞;及第2記憶胞單元,其包含由上述第2位址解碼器之解碼線特定之複數個記憶胞。

Description

可再構成之半導體裝置
本發明係關於一種可再構成之半導體裝置。
廣泛使用有可切換FPGA(Field-Programmable Gate Array,現場可程式閘陣列)等電路構成之PLD(Programmable Logic Device,可程式邏輯器件)(例如專利文獻1)。申請人或發明者開發有利用記憶胞單元實現電路構成之「MPLD(Memory-based Programmable Logic Device,基於記憶體之可程式邏輯器件)」(註冊商標)。MPLD係例如示於下述專利文獻1。MPLD將稱為MLUT(Multi Look-Up-Table,多查找表)之記憶體陣列相互連接。MLUT儲存真值表資料而構成配線要素及邏輯要素。MPLD係藉由將該MLUT排列成陣列狀並相互連接而實現與FPGA大致同等之功能。
又,MPLD係藉由利用真值表資料將MLUT用作邏輯要素與配線要素之兩者而使邏輯區域與配線區域具有靈活性的器件(例如專利文獻2),與記憶胞單元間之連接具有專用之切換電路之FPGA不同。
進而,關於MLUT,揭示有包含向多方向進行輸入輸出之位址線或資料線之多方向型MLUT(專利文獻1)、或為矩形狀且僅向水平方向輸入輸出資料之矩形狀型MLUT(專利文獻3)。MLUT間之連接係使位址線與資料線之各1位元成對而實現虛擬之雙方向線。將該虛擬之雙方向線稱為「AD對」。多方向型MLUT係鄰接之MLUT以1個AD對連接,故與鄰接之MLUT發送之資料成為1位元。
[先前技術文獻] [專利文獻]
[專利文獻1]日本專利特開2010-239325號公報
[專利文獻2]美國專利第5815726號說明書
[專利文獻3]國際公開第2011/162116號
於利用MLUT實現以多位元之運算為前提進行編碼之資料處理之情形時,必須將多位元分割(以下,稱為「位元分割」)成較小之位元數,利用複數個MLUT實現位元運算。多方向型MLUT相對於鄰接之MLUT僅具有1個資料或位址輸入輸出,故僅能對鄰接之MLUT進行以1位元為單位之資料傳送。因此,於多位元運算中,必須位元分割成1位元數,因而使用之MLUT數增加。例如,於利用MLUT實現8位元之加法器之情形時,需要8個實現以1位元為單位進行運算之加法器之MLUT,且亦需要實現用以將其等之運算結果相加之邏輯電路之MLUT。
解決上述課題之形態係藉由以下項目組表示。
1.一種可再構成之半導體裝置,其特徵在於:包括相互以位址線或資料線連接之複數個邏輯部;且上述各邏輯部包括:複數條位址線;複數條資料線;第1位址解碼器,其對自上述複數條位址線之一部分輸入之位址進行解碼;第2位址解碼器,其對自上述複數條位址線之另一部分輸入之位 址進行解碼;第1記憶胞單元,其包含由上述第1位址解碼器之解碼線特定之複數個記憶胞;及第2記憶胞單元,其包含由上述第2位址解碼器之解碼線特定之複數個記憶胞。
根據上述半導體裝置,由於記憶胞單元與位址線之平方成比例地增加,故即便資料線之數量相同,只要減少各記憶胞單元之位址數,亦可減少總共所需之記憶胞之數量。
2.如項目1之半導體裝置,其中上述記憶胞單元為多查找表。
本半導體裝置係利用多查找表進行作為邏輯要素及/或連接要素之動作,故與利用選擇電路實現配線連接之FPGA明顯不同。
3.如項目1或2之半導體裝置,其中上述邏輯部為矩形狀,自一邊以複數條位址線或複數條資料線與其他邏輯部連接,並且自與上述一邊為相反側之另一邊以複數條位址線或複數條資料線與其他邏輯部連接。
由於可對鄰接之邏輯部進行複數個位元之資料處理,故於包括進行複數個位元運算之程式之資料處理中,可減少使用之邏輯部之數量。
4.如項目3之半導體裝置,其中上述第1記憶胞單元包含由自上述一邊之第1複數位址線特定且輸出至上述第1複數位址線之2倍數量之第1複數資料線的複數個記憶胞,上述第2記憶胞單元包含由自上述另一邊之第2複數位址線特定且輸出至上述第2複數位址線之2倍數量之第2複數資料線的複數個記憶胞,上述邏輯部將第1複數資料線及第2複數資料線之一部分向上述一邊輸出,並且將上述第1複數資料線及第2複數資料線之另一部分向 另一邊輸出。
使各記憶胞單元之資料數根據位址數增加,並且使自各記憶胞單元資料輸出之方向為雙方向,藉此可減少所需之記憶胞之數量,且可進行向雙方向之資料輸出。
5.如項目4之半導體裝置,其中上述第1記憶胞單元記憶對於自上述一邊之位址輸入向上述一邊輸出資料之第1真值表資料、及向上述另一邊輸出資料之第2真值表資料,且上述第2記憶胞單元記憶對於自上述另一邊之位址輸入向上述一邊輸出資料之第3真值表資料、及向上述另一邊輸出資料之第4真值表資料,按照上述第1~第4真值表資料改變上述資料之輸出方向。
6.如項目4之半導體裝置,其中上述第1記憶胞單元包含由自上述一邊之第1複數位址線特定且輸出至上述第1複數位址線之2倍數量之第1複數資料線的複數個記憶胞,上述第2記憶胞單元包含由自上述另一邊之第2複數位址線特定且輸出至上述第2複數位址線之相同數量之第3複數資料線的複數個記憶胞,且上述邏輯部將第1複數資料線之一部分及第3複數資料線向上述一邊輸出,並且將上述第1複數資料線之另一部分向另一邊輸出。
藉由限制任一記憶胞單元之反饋方向之輸出,可進一步減少所需之記憶胞之數量。
7.如項目1至6中任一項之半導體裝置,其中上述第1及/或第2記憶胞單元係以如下方式構成:記憶用以將記憶於由某一上述位址線特定之記憶胞之值的邏輯運算輸出至資料線的真值表資料,且作為邏輯電路進行動作;及/或記憶用以將記憶於由某一上述位址線特定之記憶胞之值輸出至 連接於另一邏輯部之位址線之資料線的真值表資料,且作為連接電路進行動作。
8.如項目1至7中任一項之半導體裝置,其中上述第1記憶胞單元及第2記憶胞單元記憶複數個真值表資料,且連接於輸出特定上述複數個真值表資料中之任一個之資料的第2複數位址線。
可提供一種能夠活用大容量記憶體以頁面切換控制之形式控制剩餘位址的可再構成之半導體裝置。
9.如項目1至8中任一項之半導體裝置,其中上述第1記憶胞單元及第2記憶胞單元中之任一者之資料線之一部分連接於上述第2複數位址線,並且上述第1記憶胞單元及第2記憶胞單元中之任一者記憶輸出至上述第2複數位址線且用以特定上述複數個真值表資料的真值表資料。
亦可活用大容量記憶體而進行頁面切換控制。
10.如項目1至8中任一項之半導體裝置,其中上述第2複數條位址線與外部連接。
11.如項目1至10中任一項之半導體裝置,其中上述邏輯部包括:資料輸入線;資料輸出線;及可再構成之邏輯多工器,其響應上述真值表資料而選擇性地使自上述資料輸入線之資料輸入、與向上述資料輸出線之上述資料輸出結合,及/或響應上述真值表資料而將關於上述資料輸入進行邏輯運算後之資料向上述資料輸出線資料輸出;且藉由上述資料輸入線及上述資料輸出線而連接靠近之上述邏輯部。
12.如項目10之半導體裝置,其更包括保持部,該保持部保持自上述記憶胞單元讀出之真值表資料,並且將上述所保持之真值表資料 輸出至上述可再構成之邏輯多工器。
13.如項目10或11之半導體裝置,其中上述可再構成之邏輯多工器藉由自上述資料輸入線之資料輸入,而選擇並輸出保持於上述保持部之真值表資料中之任一者。
14.一種控制方法,其特徵在於:其係可再構成之半導體裝置之控制方法;且上述半導體裝置係包括相互以位址線或資料線連接之複數個邏輯部;且上述各邏輯部包括:複數條位址線;複數條資料線;第1位址解碼器;第2位址解碼器;第1記憶胞單元,其包含複數個記憶胞;及第2記憶胞單元,其包含複數個記憶胞;且上述第1位址解碼器對自上述複數條位址線之一部分輸入之位址進行解碼;上述第2位址解碼器對自上述複數條位址線之另一部分輸入之位址進行解碼;上述第1記憶胞單元之記憶胞係由上述第1位址解碼器之解碼線特定;上述第2記憶胞單元之記憶胞係由上述第2位址解碼器之解碼線特定。
15.如項目14之半導體裝置,其中上述記憶胞單元為多查找表。
16.如項目14或15之控制方法,其中上述邏輯部為矩形狀,自一邊以複數條位址線或複數條資料線與其他邏輯部連接,並且自與上述 一邊為相反側之另一邊以複數條位址線或複數條資料線與其他邏輯部連接。
17.如項目16之控制方法,其中上述第1記憶胞單元包含由自上述一邊之第1複數位址線特定且輸出至上述第1複數位址線之2倍數量之第1複數資料線的複數個記憶胞,上述第2記憶胞單元包含由自上述另一邊之第2複數位址線特定且輸出至上述第2複數位址線之2倍數量之第2複數資料線的複數個記憶胞,上述邏輯部將第1複數資料線及第2複數資料線之一部分向上述一邊輸出,並且將上述第1複數資料線及第2複數資料線之另一部分向另一邊輸出。
18.如項目17之控制方法,其中上述第1記憶胞單元記憶對於自上述一邊之位址輸入向上述一邊輸出資料之第1真值表資料、及向上述另一邊輸出資料之第2真值表資料,且上述第2記憶胞單元記憶對於自上述另一邊之位址輸入向上述一邊輸出資料之第3真值表資料、及向上述另一邊輸出資料之第4真值表資料,按照上述第1~第4真值表資料改變上述資料之輸出方向。
19.如項目17之控制方法,其中上述第1記憶胞單元包含由自上述一邊之第1複數位址線特定且輸出至上述第1複數位址線之2倍數量之第1複數資料線的複數個記憶胞,上述第2記憶胞單元包含由自上述另一邊之第2複數位址線特定且輸出至上述第2複數位址線之相同數量之第3複數資料線的複數個記憶胞,上述邏輯部將第1複數資料線之一部分及第3複數資料線向上述一邊輸出,並且將上述第1複數資料線之另一部分向另一邊輸出。
20.如項目14至19中任一項之控制方法,其中上述第1及/或第2記憶胞單元係以如下方式構成:記憶用以將記憶於由某一上述位址線特定之記憶胞之值的邏輯運算輸出至資料線的真值表資料,且作為邏輯電路進行動作;及/或記憶用以將記憶於由某一上述位址線特定之記憶胞之值輸出至連接於另一邏輯部之位址線之資料線的真值表資料,且作為連接電路進行動作。
21.如項目14至20中任一項之控制方法,其中上述第1記憶胞單元及第2記憶胞單元記憶複數個真值表資料,且連接於輸出特定上述複數個真值表資料中之任一個之資料的第2複數位址線。
22.如項目14至21中任一項之控制方法,其中上述第1記憶胞單元及第2記憶胞單元中之任一者之資料線之一部分連接於上述第2複數位址線,並且上述第1記憶胞單元及第2記憶胞單元中之任一者記憶輸出至上述第2複數位址線且用以特定上述複數個真值表資料的真值表資料。
23.如項目14至22中任一項之控制方法,其中上述第2複數條位址線與外部連接。
24.如項目14至23中任一項之控制方法,其中上述邏輯部包括:資料輸入線、資料輸出線、及可再構成之邏輯多工器,且藉由上述資料輸入線及上述資料輸出線而連接於靠近之上述邏輯部,上述可再構成之邏輯多工器響應上述真值表資料而選擇性地使自上述資料輸入線之資料輸入、與向上述資料輸出線之上述資料輸出結合,且 響應上述真值表資料而將關於上述資料輸入進行邏輯運算後之資料向上述資料輸出線資料輸出。
25.如項目14至24中任一項之控制方法,其中更包括保持部,該保持部保持自上述記憶胞單元讀出之真值表資料,並且將上述所保持之真值表資料輸出至上述可再構成之邏輯多工器;且上述可再構成之邏輯多工器藉由自上述資料輸入線之資料輸入,而選擇並輸出保持於上述保持部之真值表資料中之任一者。
26.一種程式,其係用以控制可再構成之半導體裝置者;其特徵在於:上述半導體裝置係包括相互以位址線或資料線連接之複數個邏輯部;且上述各邏輯部包括:複數條位址線;複數條資料線;第1位址解碼器;第2位址解碼器;第1記憶胞單元,其包含複數個記憶胞;及第2記憶胞單元,其包含複數個記憶胞;且上述第1位址解碼器對自上述複數條位址線之一部分輸入之位址進行解碼;上述第2位址解碼器對自上述複數條位址線之另一部分輸入之位址進行解碼;上述邏輯部為矩形狀,自一邊以複數條位址線或複數條資料線與其他邏輯部連接,並且自與上述一邊為相反側之另一邊以複數條位址線或複數條資料線與其他邏輯部連接;上述第1及第2記憶胞單元分別記憶包含真值表資料之程式,且 作為邏輯要素及/或連接要素而構成;且使上述第1或第2記憶胞單元執行如下處理:將記憶於由在一邊連接之上述位址線特定之記憶胞之值的邏輯運算輸出至在與上述一邊為相反側連接之資料線,且作為邏輯電路進行動作;及將記憶於由在一邊連接之某一上述位址線特定之記憶胞之值輸出至在與上述一邊為相反側連接之資料線,且作為連接電路進行動作。
27.如項目26之程式,其中上述記憶胞單元為多查找表。
28.如項目26或27之程式,其中包含輸出至第1複數位址線之2倍數量之第1複數資料線的複數個記憶胞;上述第2記憶胞單元包含由自上述另一邊之第2複數位址線特定且輸出至上述第2複數位址線之2倍數量之第2複數資料線的複數個記憶胞;且使上述第1或第2記憶胞單元執行如下處理:將第1複數資料線及第2複數資料線之一部分向上述一邊輸出;及將上述第1複數資料線及第2複數資料線之另一部分向另一邊輸出。
29.如項目26之程式,其中上述第1記憶胞單元記憶對於自上述一邊之位址輸入向上述一邊輸出資料之第1真值表資料、及向上述另一邊輸出資料之第2真值表資料,且上述第2記憶胞單元記憶對於自上述另一邊之位址輸入向上述一邊輸出資料之第3真值表資料、及向上述另一邊輸出資料之第4真值表資料,且使上述第1或第2記憶胞單元執行如下處理: 按照上述第1~第4真值表資料改變上述資料之輸出方向。
30.如項目29之程式,其中上述第1記憶胞單元包含由自上述一邊之第1複數位址線特定且輸出至上述第1複數位址線之2倍數量之第1複數資料線的複數個記憶胞,上述第2記憶胞單元包含由自上述另一邊之第2複數位址線特定且輸出至上述第2複數位址線之相同數量之第3複數資料線的複數個記憶胞,且使上述第1或第2記憶胞單元執行如下處理:上述邏輯部將第1複數資料線之一部分及第3複數資料線向上述一邊輸出,並且將上述第1複數資料線之另一部分向另一邊輸出。
31.如項目26至30中任一項之程式,其中上述第1記憶胞單元及第2記憶胞單元中之任一者之資料線之一部分連接於上述第2複數位址線,且使上述第1記憶胞單元及第2記憶胞單元中之任一者執行如下處理,即,輸出至上述第2複數位址線且特定上述複數個真值表資料。
32.如項目26至31中任一項之程式,其中上述邏輯部包括:資料輸入線、資料輸出線、及可再構成之邏輯多工器,且上述記憶胞單元係藉由上述資料輸入線及上述資料輸出線而連接於靠近之上述邏輯部,使上述可再構成之邏輯多工器執行如下處理:響應上述真值表資料而選擇性地使自上述資料輸入線之資料輸入、與向上述資料輸出線之上述資料輸出結合,且響應上述真值表資料而將關於上述資料輸入進行邏輯運算後之 資料向上述資料輸出線資料輸出。
33.一種記憶媒體,其儲存如項目26至32中任一項所示之程式。
本實施形態之半導體裝置可藉由對鄰接之邏輯部進行複數個位元之資料傳送,並且減少向邏輯部中所包含之記憶胞單元之輸入位址數,而減少所需之記憶胞。又,可提供一種能夠活用大容量記憶體而以頁面切換控制之形式控制剩餘位址的可再構成之半導體裝置。
9‧‧‧位址解碼器
9A‧‧‧位址解碼器
9B‧‧‧位址解碼器
11A‧‧‧位址選擇器
11B‧‧‧位址選擇器
12‧‧‧解碼器
12A‧‧‧I/O(輸入輸出)緩衝器
12B‧‧‧I/O(輸入輸出)緩衝器
13A‧‧‧資料選擇器
13B‧‧‧資料選擇器
14‧‧‧輸入輸出部
14A‧‧‧位址選擇器
14B‧‧‧位址選擇器
20‧‧‧MRLD
30‧‧‧MLUT
30A~30E‧‧‧MLUT
30a~30f‧‧‧MLUT
31‧‧‧記憶胞單元
31A‧‧‧記憶胞單元
31B‧‧‧記憶胞單元
32‧‧‧記憶胞單元
40‧‧‧記憶元件
40‧‧‧記憶胞單元
40A‧‧‧大容量之記憶胞單元
40B‧‧‧大容量之記憶胞單元
50‧‧‧MLUT區塊
50‧‧‧可再構成之邏輯多工器
52A~52H‧‧‧可再構成之邏輯多工器
60‧‧‧MLUT陣列
60‧‧‧暫存器單元
60A‧‧‧於邏輯電路中使用MLUT之各FF之例
60B‧‧‧於邏輯電路中禁止FF之例
62‧‧‧暫存器單元
110‧‧‧記憶胞陣列
120‧‧‧位址解碼器
120‧‧‧外部系統
121‧‧‧2輸入NOR電路
122‧‧‧2輸入NAND電路
140‧‧‧資料輸入輸出部
161‧‧‧pMOS電晶體
162‧‧‧pMOS電晶體
163‧‧‧nMOS電晶體
164‧‧‧nMOS電晶體
165‧‧‧nMOS電晶體
166‧‧‧nMOS電晶體
171‧‧‧2輸入NOR電路
172‧‧‧2輸入NAND電路
200‧‧‧位址轉換檢測部
210‧‧‧資訊處理裝置
210A‧‧‧否定邏輯和(NOR)電路
210B‧‧‧否定邏輯和(NOR)電路
211‧‧‧處理器
212‧‧‧輸入部
213‧‧‧輸出部
214‧‧‧記憶部
215‧‧‧驅動裝置
217‧‧‧記憶媒體
230‧‧‧邏輯積(AND)電路
240A~240C‧‧‧延遲電路
250‧‧‧正反器(FF)
260A‧‧‧反相器
260B‧‧‧反相器
270‧‧‧D鎖存器
300‧‧‧MLUT陣列
701‧‧‧2輸入NOR電路
702‧‧‧2輸入NAND電路
703‧‧‧2輸入NAND電路
910‧‧‧C語言描述
920‧‧‧FPGA中之C語言高階合成
930‧‧‧ASIC中之C語言高階合成
940‧‧‧FPGA
945‧‧‧邏輯胞
950‧‧‧開關矩陣之詳細情況
960‧‧‧邏輯胞945與開關矩陣之詳細情況
1000‧‧‧邏輯錐
1010‧‧‧輸入端子行
1020‧‧‧輸出端子行
1030‧‧‧位址線或資料線之數量
1040‧‧‧MLUT邏輯段數
1040A‧‧‧MLUT邏輯段數
1040B‧‧‧MLUT邏輯段數
A‧‧‧位址信號
A0~A7‧‧‧位址
A0~A3、A4~A7‧‧‧位址信號
A0~A3‧‧‧邏輯用位址輸入LA線
A0~A8‧‧‧位址線
A0L~A7L、A8~A15、A0R~A7R‧‧‧位址
AD‧‧‧寫入用位址
B‧‧‧位址信號
b、/b‧‧‧位元線
BL‧‧‧位元線
C‧‧‧資料信號
D0~D3、D4~D7‧‧‧輸出
D0~D7‧‧‧輸出資料
D0~D3‧‧‧邏輯動作用資料線
D0L~D7L、D0R~D7R‧‧‧資料
LA‧‧‧邏輯用位址
LD‧‧‧邏輯用資料
ICrock‧‧‧內部時脈
InA0~InA3‧‧‧自左之資料輸入
InB0~InB3‧‧‧自右之資料輸入
InC0~C3‧‧‧自上之資料輸入
InD0~InD3‧‧‧自下之資料輸入
m‧‧‧信號路徑距離
n‧‧‧解碼位址
OCrock‧‧‧外部時脈
OutA0~OutA3‧‧‧向左之資料輸出
OutB0~OutB3‧‧‧向左之資料輸出
OutC0~OutC3‧‧‧向上之資料輸出
OutD0~OutD3‧‧‧向下之資料輸出
re‧‧‧讀出賦能信號
RD‧‧‧讀出用資料
RE‧‧‧讀出賦能
S1~S11‧‧‧信號
SW‧‧‧開關矩陣
VDD‧‧‧電源電壓端
VSS‧‧‧接地電壓端
WL‧‧‧字元線
WE‧‧‧寫入賦能
WD‧‧‧寫入用資料
we‧‧‧寫入賦能信號
圖1係表示本實施形態之半導體裝置之整體構成之一例的圖。
圖2係表示MLUT陣列之一例之圖。
圖3係表示MLUT彼此之連接係由1條位址或資料線連接之構成例之圖。
圖4係邏輯錐之一例。
圖5係表示FPGA中之利用C語言之邏輯合成之一例的圖。
圖6係表示MLUT間之連接係由複數條位址或資料線連接之構成例之圖。
圖7係說明n值之圖。
圖8係表示雙方向型MLUT之分割例之圖。
圖9係表示雙方向型MLUT之分割例之圖。
圖10係表示雙方向型MLUT之分割例之圖。
圖11係表示雙方向型MLUT中之位元分割之例之圖。
圖12係表示本實施形態之MLUT之一例之圖。
圖13係表示利用本實施形態之MLUT而實現之電路構成之一例的圖。
圖14係表示本實施形態之MLUT之另一例之圖。
圖15A係表示本實施形態之MLUT之電路例之圖。
圖15B係表示記憶胞之一例之圖。
圖16係表示本實施形態之MLUT之陣列配置之詳細例之圖。
圖17係對FPGA之構成進行說明之圖。
圖18係概略性地表示橫向堆積包含2個記憶胞單元之MLUT而構成之MLUT之圖。
圖19係表示使用有大容量記憶體之MLUT之一例之圖。
圖20係表示圖19所示之MLUT之電路例之圖。
圖21係說明使用有圖19所示之MLUT之MPLD之圖。
圖22係表示於MLUT內部設置狀態機之例之圖。
圖23係說明使用有圖22所示之MLUT之MPLD之圖。
圖24係表示2方向配置之MLUT陣列之一例之圖。
圖25係表示4方向配置之MLUT陣列之一例之圖。
圖26A係表示2方向配置之MLUT之信號線之配置例的圖。
圖26B係表示2方向配置之MLUT之一例之圖。
圖27係表示記憶胞單元之一例之圖。
圖28A係表示位址轉換檢測部之一例之圖。
圖28B係位址轉換檢測部之時序圖之一例。
圖28C係位址轉換檢測部中之位址與所生成之時脈之時序圖之一例。
圖29A係表示4方向配置之MLUT之信號線之配置例的圖。
圖29B係表示4方向配置之MLUT之一例之圖。
圖30係表示進行頁面控制之MLUT之一例之圖。
圖31係表示外部系統與MPLD之連接一例之概念圖。
圖32係表示作為邏輯要素進行動作之MLUT之一例之圖。
圖33係表示作為邏輯電路進行動作之MLUT之一例之圖。
圖34係表示圖33所示之邏輯電路之真值表之圖。
圖35係表示作為連接要素進行動作之MLUT之一例之圖。
圖36係表示圖35所示之連接要素之真值表之圖。
圖37係表示藉由包含4個AD對之MLUT而實現之連接要素之一例的圖。
圖38係表示1個MLUT作為邏輯要素及連接要素進行動作之一例之圖。
圖39表示圖38所示之邏輯要素及連接要素之真值表。
圖40係表示藉由具有AD對之MLUT而實現之邏輯動作及連接要素之一例的圖。
圖41係表示由圖24中所說明之交替配置之MLUT構成之邏輯電路及配線的圖。
圖42A係表示儲存於MLUT30A之左側之記憶胞單元之構成資料之一例的圖。
圖42B係表示儲存於MLUT30A之右側之記憶胞單元之構成資料之一例的圖。
圖42C係表示儲存於MLUT30B之左側之記憶胞單元之構成資料之一例的圖。
圖42D係表示儲存於MLUT30B之右側之記憶胞單元之構成資料之一例的圖。
圖42E係表示儲存於MLUT30C之左側之記憶胞單元之構成資料之一例的圖。
圖42F係表示儲存於MLUT30C之右側之記憶胞單元之構成資料之一例的圖。
圖42G係表示儲存於MLUT30D之左側之記憶胞單元之構成資料之一例的圖。
圖42H係表示儲存於MLUT30D之右側之記憶胞單元之構成資料 之一例的圖。
圖42I係表示儲存於MLUT30E之左側之記憶胞單元之構成資料之一例的圖。
圖42J係表示儲存於MLUT30E之右側之記憶胞單元之構成資料之一例的圖。
圖43係表示生成真值表資料之資訊處理裝置之硬體構成之圖。
與多方向型MLUT不同,雙方向型MLUT將進行輸入輸出之邊限制為2個,與鄰接之另一MLUT進行複數個位元之輸入輸出,故可減少藉由位元分割而使用之MLUT數。
MLUT包含記憶胞單元,但必需與位址線相同數量之資料線,故記憶胞單元必需位址線之數量之平方×資料線之數量之記憶胞。因此,藉由減少位址線之數量,記憶胞之數量可急劇地減少。本實施形態之MLUT(Multi Look-Up-Table)具有與先前之MLUT不同之記憶胞單元之構成。
本實施形態之半導體裝置之目的在於:藉由對鄰接之邏輯部進行複數個位元之資料處理,並且減少向邏輯部中所包含之記憶胞單元之輸入位址數,而減少所需之記憶胞。
以下,參照圖式,依序對[1]MRLD、[2]多方向型MLUT、[3]雙方向型MLUT、[4]2記憶胞單元型MLUT、[5]與FPGA之比較例、[6]大容量記憶體之使用例、[7]使用多工器之MLUT、[8]MPLD之邏輯或連接動作、[9]真值表資料之生成方法進行說明。
[1]MRLD
圖1係表示本實施形態之半導體裝置之整體構成之一例的圖。以下,將該可再構成之半導體裝置稱為MRLD(Memory based Reconfigurable Logic Device,基於記憶體之可重構邏輯器件)(註冊商 標)。MRLD係具備與FPGA大致同等之功能之器件,但其構造不同。FPGA包括LUT與開關組(switch block)、接線板(connection block)等,且邏輯資源與配線資源之比例固定。相對於此,MRLD成為排列有可用作被稱為MLUT之邏輯元件、配線元件之兩者之元件的構成。藉由該構成,可提高整體之面積中之邏輯區域之比例。
MRLD係與「MPLD」(註冊商標)同樣地,於各MLUT間不介置配線要素而直接連接之方面相同,但在有效地活用作為記憶體IP(Internet Protocol,網際網路協定)而供給之同步SRAM(Static Random Access Memory,靜態隨機存取記憶體)之功能之方面有區別。
圖1所示之20為作為可再構成之半導體裝置之MRLD。MRLD20包含:MLUT陣列60,其係將複數個作為邏輯部之MLUT呈陣列狀配置而成;解碼器12,其特定MLUT之記憶體讀出動作、寫入動作;及輸入輸出部14。
MLUT30包含記憶體。在記憶體之記憶元件中分別記憶被視為真值表之資料,藉此,MLUT30進行作為邏輯要素、或連接要素、或邏輯要素及連接要素進行動作之邏輯動作。
於MRLD20之邏輯動作中,使用以實線表示之邏輯用位址LA、及邏輯用資料LD之信號。邏輯用位址LA係作為邏輯電路之輸入信號而使用。而且,邏輯用資料LD係作為邏輯電路之輸出信號而使用。MLUT30之邏輯用位址LA與鄰接之MLUT之邏輯動作用資料LD之資料線連接。
藉由MRLD20之邏輯動作而實現之邏輯係藉由記憶於MLUT30之真值表資料而實現。若干個MLUT30係以作為AND電路、加法器等之組合電路之邏輯要素之形式進行動作。其他MLUT係作為連接實現組合電路之MLUT30間之連接要素進行動作。用以使MLUT20實現邏輯 要素、及連接要素之真值表資料之覆寫係藉由向記憶體之寫入動作而進行。
MRLD20之寫入動作係藉由寫入用位址AD、及寫入用資料WD進行,讀出動作係藉由寫入用位址AD、及讀出用資料RD進行。
寫入用位址AD係特定MLUT30內之記憶胞之位址。寫入用位址AD係利用m條信號線特定2的m次方之數n個記憶胞。寫入用位址AD係於記憶體之讀出動作、寫入動作之兩者之情形時使用,經由m條信號線由解碼器12解碼,而選擇成為對象之記憶胞。再者,於本實施形態中,雖於下文進行敍述,但邏輯用動作位址LA之解碼係藉由MLUT30內之解碼器進行。
解碼器12按照讀出賦能(read enable)信號re、寫入賦能(write enable)信號we等控制信號對寫入用位址AD進行解碼,且對MLUT30輸出解碼位址n。解碼位址n係用作特定MLUT30內之記憶胞之位址。
輸入輸出部14按照寫入賦能信號we將寫入用資料WD寫入,且按照讀出賦能信號re輸出讀出用資料RD。
圖2係表示MLUT陣列之一例之圖。再者,於圖2中未明確表示連接MLUT30間之位址線及資料線之連接,使用下述圖3等對位址線及資料線進行說明。如所圖示般,MLUT陣列60係將MLUT30呈陣列狀配置而成者。各MLUT連接於寫入用位址AD、寫入賦能信號we、讀出賦能信號re、寫入用資料WD、及讀出用資料RD用之各信號線。
[2]多方向型MLUT
圖3係表示MLUT彼此之連接係由1條位址或資料線連接之構成例之圖。圖3所示之MRLD20中,表示以MLUT彼此之連接係由1條位址或資料線連接之方式構成之MLUT30a~30f。
再者,如上所述,所謂AD對係位址線與資料線之組之定義。以下,於圖式中,例如,如圖3所示,於以雙方向之箭頭表示之情形 時,表示該AD對,於如下述圖12般表示單方向之箭頭之情形時,表示位址線及資料線中之任一者。
圖4係邏輯錐之一例。使用邏輯錐對難以應用多方向型MLUT之例子進行說明。所謂邏輯錐係指由對組合邏輯電路之一個輸出造成影響之所有輸入及邏輯電路元件定義之集合(電路群)。於圖4所示之邏輯錐中,雖未圖示,但存在以同一時脈移動之複數個FF(flip flop,正反器),且由組合邏輯電路將FF之輸出與FF之D輸入之間連接。C語言合成係於運算中將變數進行FF表現並配置為輸入輸出而於FF間生成電路資料。若位於輸入端子行1010之時脈進入至FF,則所有FF更新值,FF之值被更新後所有組合電路進行動作,於下一時脈到來之前之期間,影響範圍擴大至下段之電路,從而位於輸出端子行1020之FF之輸入確定。以此方式,形成作為由對1個FF輸出造成影響之所有輸入及邏輯電路元件定義之集合的邏輯錐1000。關於圖4所示之MLUT段數,使用圖7於下文進行敍述。
[2.1]多方向型MLUT之問題 連接使用之MLUT之增加
於多方向型MLUT中,於可由1個MLUT構成所期望之邏輯錐之情形時,用作連接要素之MLUT減少,其結果,MLUT使用數量減少。然而,於邏輯錐遍及複數個MLUT之情形時,由於MLUT間之資料傳送寬度為1位元,故於MLUT彼此之連接中產生資料之分離,從而用作連接要素之記憶體區域增加。如此,為了構成所期望之邏輯錐,必需複數個MLUT,將對於各MLUT分割邏輯電路而構成之情形稱為「MLUT分割(亦稱為「聚類(clustering)」)」。又,於C語言等高階語言中,位元數達到複數個位元。於利用「多方向型MLUT」實現以C語言等進行編碼之功能之情形時,將複數個位元進行位元分割並運算,產生合成運算後之資料等之資料流,故用作連接要素之MLUT增加,從而MLUT使用數量增加。
若增加MLUT所連接之資料線及位址線,而使記憶胞單元隨之大型化,則MLUT間之資料傳送會消失,用作連接要素之MLUT減少。然而,若如此般增加資料線及位址線,則鄰接之MLUT之連接數亦增加,且各個MLUT向各個方向增加輸入輸出,故構成變得困難。
[2.2]多方向型MLUT之問題 連接使用之MLUT之增加
作為FPGA之邏輯合成方法,發表了由C語言構築功能之高階合成方法,且已被實用化。圖5係表示FPGA中之利用C語言之邏輯合成之一例的圖。910表示C語言描述之例。920係FPGA中之C語言高階合成之例。930係ASIC(Application Specific Integrated Circuit,特殊應用積體電路)中之C語言高階合成之例。於C語言高階合成920中,將C語言之變數作為暫存器,利用組合電路表現其間之運算而構築功能。此例係安裝於FPGA之例,但與FPGA之邏輯表現一併分解邏輯而使其動作。於C語言高階合成930中,為利用ASIC而非FPGA進行安裝之例,但ASIC中邏輯表現較為自由,故總括地進行處理且利用暫存器處理變數資料。如此,C語言之處理係通常對資料行進行處理並儲存於暫存器而進行接下來之處理(資料路徑處理)。
如圖5所示,C語言係描述資料流並對其進行控制而構築動作,故成為單方向之流動。而且,其資料位元為8位元或16位元等之資料行。於C語言合成工具中可選擇該資料行長度,但通常以至少3位元以上之資料行進行描述。
[3]雙方向型MLUT
圖6係表示MLUT間之連接係由複數條位址或資料線連接之構成例之圖。圖6所示之MLUT30A~30E於資料之輸出端具有FF,關於該FF之構成,使用圖15A於下文進行敍述。MLUT30A係以如下方式構成:以2條位址線或資料線與鄰接之其他MLUT30B~30E連接,亦即,MLUT彼此之連接係由複數條位址或資料線連接。此種構成係鄰 接之MLUT以複數個AD對連接,故發送至鄰接之MLUT之資料成為複數個位元(於圖6之例中為4位元)。進而,位址線及資料線係限定於雙方向(於圖6中為右側方向及左側方向)上之連接而非多方向。又,雖設為雙方向,但並不將鄰接之MLUT限定為2個,為了設為其以上而提高可構成性,可於輸入方向及輸出方向分別與2個MLUT連接(亦稱為「交替配置」)。例如,MLUT30A於右側方向與MLUT30B及30C連接,於左側方向與MLUT30D及30E連接。將此種MLUT稱為「雙方向型MLUT」。
本實施形態之MLUT為矩形狀,自一邊以複數條位址線或複數條資料線與其他邏輯部連接,並且自與一邊為相反側之另一邊以複數條位址線或複數條資料線與其他MLUT連接。
與多方向型MLUT不同,雙方向型MLUT藉由將資料線及位址線設為複數條而可進行多位元之資料處理,進而,由於可限定輸入及輸出方向之資料流之方向,故亦容易製成邏輯庫。
亦即,由於可對鄰接之MLUT進行複數個位元之資料處理,故於包含進行複數個位元運算之程式(例如上述C語言)之資料處理中,可減少使用之MLUT之數量。
[3.1]所需之雙方向型MLUT之數量之邏輯段數
以下,使用n值之定義對相對於邏輯錐所需之雙方向型MLUT之決定方法進行說明。圖7係說明n值之圖,且使用圖6中所說明之MLUT30A及30C說明n值。將自面對於鄰接之MLUT30A及30C之1邊引出之位址線或資料線之數量1030定義為「n值」。於圖3之多方向型MLUT中,具有相當於鄰接之MLUT之量的邊,故自1邊引出之位址線或資料線為「1」,n值為「1」。圖6及圖7之4位元長度型MLUT為矩形,因以複數個位元傳送為必要條件,故自1邊引出之位址線或資料線為「4」,n值為「4」。於雙方向型MLUT中,由於與鄰接之MLUT之 關係,資料傳送量成為n值之一半,且信號路徑(signal path)偏移1段,故為了實現最長信號路徑而必需以信號路徑除以(n值/2)所得之段數。所謂MLUT邏輯段數係表示為了實現所期望之電路而橫向配置之所需之MLUT段數之數量。MLUT邏輯段數係由以下之式表示。
式1:MLUT邏輯段數=m/(n值/2)
再者,此處,m為信號路徑距離,表示設為邏輯錐之輸入信號線。
於圖7所示之例中,n值為「4」,但由於鄰接之MLUT於一方向上有2個,故(n值/4)為「2」。於以8位元運算C語言之邏輯運算且邏輯錐之輸入資料線為8條之情形時,MLUT邏輯段數為4。亦即,於利用MLUT進行8位元運算之情形時,必需4個MLUT。
[3.2]雙方向型MLUT之分割例
圖8~圖10係表示MLUT分割之例之圖。圖8係表示向右方向之資料連接之MLUT之圖。圖8之1040表示相對於8位元之輸入所需之MLUT邏輯段數。於圖8中,MLUT需要5個。如圖8所示,藉由以MLUT邏輯段數分割構成邏輯錐之組合電路,而可進行MLUT分割。可對於經MLUT分割之組合電路,對輸入之所有組合(於n值之情形時為2n)實施邏輯運算,從而求出其真值表資料。
圖9及圖10係表示利用雙方向型MLUT之資料之折回連接之圖。由於MLUT係雙方向地連接,故藉由使用複數個MLUT,可進行使資料自右方向向左方向返回之折回資料連接。以虛線表示之例係表示折回之資料連接。再者,雖未圖示右方向之流動,但於維持著圖8之以1040表示之右方向之流動之狀態下,藉由折回而有左方向之資料流。圖9係表示MLUT30B及30C進行資料之折回連接之例,圖10係表示MLUT30A進行邏輯運算及資料之折回連接之例。
如圖10所示,若於雙方向型MLUT中寫入向MLUT端反饋信號之 真值表資料,則可實施折回。又,於該例中,除設置去路方向之真值表資料以外,亦必須另外設置返路方向之真值表資料,故1個MLUT必須除記憶去路用之真值表資料以外亦記憶返路用之真值表資料,故可減少MLUT數。先前,如圖9及圖10所示,雙方向型之MLUT為可進行折回處理之構成。然而,本實施形態之MLUT係以利用1個MLUT記憶分別實現一方向之資料流之2個真值表資料之方式構成,兩者在此方面有明顯區別。
[3.3]雙方向型MLUT中之位元分割
又,對根據C語言直接求出真值表資料之配置配線方法進行敍述。C語言中之int運算例如為16位元。因此,生成相當於16位元之暫存器,藉由保持於該暫存器之位元值之運算而實現組合電路。若有具有16位元之n值之MLUT則可使其結果為真值表資料而構成動作,但將n值設為16之MLUT係使用16個位址,而必需2的16次方之記憶胞,故於用作如MLUT之構成單元之情形時,未使用之記憶體區域變多,而並不現實。因此,對分割位元而存在於MLUT之運算方法進行描述轉換。若為n值為4之MLUT,則進行將16位元分割成4個部分之C語言描述。此種情況在C語言描述中較為普遍。例如,32位元運算係使用flot進行描述,但存在使用int進行描述之情況。
圖11係表示雙方向型MLUT中之FF之使用例之圖。若對C語言合成施加分割成4位元之描述,則決定如1040A及1040B所示之MLUT邏輯段數。60A係於邏輯電路中使用MLUT之各FF之例,60B係於邏輯電路中禁止FF之例。60B之各MLUT中有FF會引起時脈延遲,故禁止中間之MLUT之FF,如60B所示,藉由停止FF之使用,可使動作高速化。
[4]2記憶胞單元型MLUT
以下說明之MLUT包括:複數條位址線;複數條資料線;第1位 址解碼器,其對自上述複數條位址線之一部分輸入之位址進行解碼;第2位址解碼器,其對自上述複數條位址線之另一部分輸入之位址進行解碼;第1記憶胞單元,其於上述第1位址解碼器之解碼線與上述資料線交叉之位置具有記憶胞;及第2記憶胞單元,其於上述第2位址解碼器之解碼線與上述資料線交叉之位置具有記憶胞。
MLUT係從由自位址線輸入之位址特定之記憶胞輸出資料,該資料為實現所期望之邏輯要素及/或連接要素之真值表資料。以下,對MLUT之構成、及記憶於MLUT之真值表資料進行說明,基於真值表資料之邏輯要素及/或連接要素之「資訊處理」係使用MLUT之硬體資源而實現,例如,藉由利用位址解碼器讀出真值表資料而實現。又,半導體裝置之控制方法係藉由位址解碼器等構成MLUT之硬體、及真值表資料之讀出而實現。
[4.1]2個記憶胞單元
圖12係表示本實施形態之MLUT之一例之圖。圖12所示之MLUT30包含記憶胞單元31A、31B。記憶胞單元例如為SRAM(Static Random Access Memory,靜態隨機存取記憶體)。如圖12所示,記憶胞單元31A包含由自一邊之第1複數位址線特定且輸出至第1複數位址線之2倍數量之第1複數資料線的複數個記憶胞,記憶胞單元31B包含由自另一邊之第2複數位址線特定且輸出至第2複數位址線之2倍數量之第2複數資料線的複數個記憶胞,MLUT30將第1複數資料線及第2複數資料線之一部分向一邊輸出,並且將第1複數資料線及第2複數資料線之另一部分向另一邊輸出。
再者,如使用圖10所說明般,各記憶胞單元係於每一方向上將真值表資料記憶於記憶胞。因此,於記憶胞單元31A及31B之各者中記憶自右向左方向用之真值表資料、及自左向右方向用之真值表資料。即,MLUT記憶分別規定特定之資料輸出方向之4個真值表資 料。
藉由使各記憶胞單元之資料數根據位址數增加,並且使自各記憶胞單元之資料輸出之方向為雙方向,而可減少所需之記憶胞之數量,且可進行向雙方向之資料輸出。再者,圖12係概略圖,未表示作為記憶胞單元之周邊電路之解碼器等,使用圖15A於下文進行敍述。
記憶胞單元31A、31B之各者係以如下方式構成:記憶用以將記憶於由某一位址線特定之記憶胞之值之邏輯運算輸出至資料線的真值表資料,且作為邏輯電路進行動作,及/或記憶用以將記憶於由某一位址線特定之記憶胞之值輸出至連接於其他MLUT之位址線之資料線的真值表資料,且作為連接電路進行動作。關於利用真值表資料實現所期望之功能之MLUT,於[7]MRLD之邏輯或連接動作中進行說明。
先前,用作MLUT之記憶胞單元包含1個記憶胞單元,又,用作MLUT之記憶胞單元係位址線之寬度與資料線之寬度相等。因此,圖12所示之包含8條位址線之記憶胞單元中,經解碼之位址線有2的8次方條(256條),位元線有8條,因此,必需2,046(256×8)個記憶胞。圖12所示之MLUT係進行記憶體分割,經解碼之位址線之數量為16條即可。因此,可將使用之記憶胞節約為256(16×8×2)。
亦即,可藉由減少向MLUT中所包含之記憶胞單元之輸入位址數,而大幅地減少所需之記憶胞。再者,藉此,變得無法進行先前可進行之一部分之邏輯運算,關於此,使用圖13於下文進行敍述。
如圖12所示,AD對向左右2方向輸入輸出,故記憶胞單元31A將輸入之位址信號A0~A3之輸出資料D0~D7傳輸至向輸入位址側之輸出D0~D3、及向另一記憶胞單元側之輸出D4~D7。再者,以下,將使輸出向信號輸入方向返回之連接構成稱為「反饋」。記憶胞單元31A之輸出D0~D3用之記憶胞限定於反饋方向之真值表資料,輸出資料D0~D7用之記憶胞限定於自右向左方向之真值表資料。記憶胞單 元31B亦同樣地將輸入之位址信號A4~A7之輸出資料D0~D7傳輸至向輸入位址側之輸出D4~D7、及向另一記憶胞單元側之輸出D0~D3。
兩記憶胞單元之輸出信號之連接部分構成線或(wired OR)、或以邏輯和(OR)電路連接,故可傳輸特定之資料。
如此,本實施形態之MLUT於內部包含2個記憶胞單元,將對於MLUT之位址信號按照位址信號之輸入方向輸入至2個記憶胞單元之位址解碼器(使用圖15A於下文進行敍述)。例如,一個位址解碼器對自複數條位址線之一部分輸入之位址進行解碼,另一位址解碼器對自複數條位址線之另一部分輸入之位址進行解碼,解碼信號特定與各位址解碼器連接之記憶胞。
其次,對圖12所示之MLUT之位址線與資料線之關係進行說明。MLUT30為雙方向型MLUT,原則上於去路方向(自左向右之方向)使用位址A0~A3,於返路方向(自右向左之方向)使用位址A4~A7。分別準備於去路方向使用之真值表資料、及於返路方向使用之真值表資料。
再者,於不進行反饋處理之情形時,真值表資料將記憶胞單元31A之D0~D3及記憶胞單元31B之D4~D7之資料設為「0」。又,相反地,於進行反饋處理之情形時,將記憶胞單元31A之D4~D7及記憶胞單元31B之D0~D3設為「0」。
對於自某一方向輸入之信號,可向輸入側反饋、或向輸出側輸出,但對於輸入方向互不相同之2個信號,無法進行邏輯運算。將該狀況示於圖13。
圖13係由本實施形態之MLUT實現之電路構成之一例。MLUT30A為包含1個記憶胞單元之MLUT,MLUT30B、30C為本實施形態之包含2個記憶胞單元之MLUT。MLUT30A利用AND電路對來自 左邊側之A位址信號與來自右邊側之B位址信號進行AND運算,而輸出C資料信號。另一方面,MLUT30A、30B因無法對於輸入方向互不相同之2個信號進行邏輯運算,故無法構成向信號輸入方向輸出信號之連接電路。藉此,本實施形態之MLUT產生較多地使用MLUT之構成,但由於在成為資料處理之C語言合成中不使用,故因無法對反饋信號進行邏輯運算所致之弊病較少。又,於必需之情形時可如圖中所示般構成主電路,故不會於電路上受到限制。
於圖9及圖10中表示了資料之折回處理。若進行基於複數個位元處理之位元分割,則被分割之位元之資料處理變長。因此,於欲進行所期望之運算之情形時,MRLD之橫向變長。因此,不僅折回作為右方向之資料流之去路,而且折回向作為右方向之資料流之去路之資料,從而實現返路上之處理,藉此可執行較長之資料處理。如上所述,MLUT30具有方向性,但記憶胞單元31A可成為反饋之連接電路。因此,藉由將末端配置之MLUT30用作反饋電路,可於去路方向上進行邏輯運算後,於末端部折回而於返路方向上進行邏輯運算。
圖14係表示本實施形態之MLUT之另一例之圖。圖14所示之記憶胞單元31A包含由自一邊之第1複數位址線特定且輸出至第1複數位址線之2倍數量之第1複數資料線的複數個記憶胞,記憶胞單元31B包含由自另一邊之第2複數位址線特定且輸出至第2複數位址線之相同數量之第3複數資料線的複數個記憶胞,MLUT30將第1複數資料線之一部分及第3複數資料線向一邊輸出,並且將第1複數資料線之另一部分向另一邊輸出。藉由限制任一記憶胞單元之反饋方向之輸出,可進一步減少所需之記憶胞之數量。如圖14所示,配置於右邊之記憶胞單元31B無反饋用之輸出D4~D7,而且亦不具有用於其之記憶胞。去路側係於記憶胞單元31A進行運算,於返路中,限制反饋動作,進行邏輯運算,藉此可進一步減小所需之記憶胞。
[4.2]每個記憶胞單元之位址解碼器
圖15A係表示本實施形態之MLUT之電路例之圖。圖15A所示之MLUT30包含記憶胞單元31A、31B、位址解碼器9A、9B、位址選擇器11A、11B、I/O(輸入輸出)緩衝器12A、12B、及資料選擇器13A、13B。MLUT30中,記憶胞單元31A、31B分別包含位址解碼器、位址選擇器、I/O緩衝器、及資料選擇器。
記憶胞單元31A、31B分別記憶用以向左方向及右方向(折回方向)連接之真值表資料。位址解碼器9A對自左側輸入之位址A0~A3進行解碼。位址解碼器9B對自右側輸入之位址A4~A7進行解碼。本MLUT中由於具有非同步/同步SRAM選擇電路,故於位址解碼器中伴隨ATD(Address Transition Detector,位址轉換檢測器)電路而生成內部時脈。
位址選擇器11A、11B選擇寫入用位址AD及邏輯位址A0~A3、A4~A7。該例中為僅進行寫入動作與邏輯動作中之任一者之單埠記憶胞(圖15B)。於使用雙埠記憶體之情形時,可同時進行向記憶胞之讀出及寫入,故無需位址選擇器11A、11B。
I/O緩衝器12A、12B藉由與外部時脈(OCrock)及內部時脈(ICrock)中之任一者同步地自記憶胞單元之資料線讀出資料,而提供FF之功能。再者,外部時脈(OCrock)與內部時脈(ICrock)例如藉由將內部時脈之週期設為短週期,而可獲得於內部時脈同步時加快動作等作用。外部時脈與內部時脈之切換係可於記憶胞單元中設置記憶時脈控制用之資料之1位元行,利用真值表資料自外部覆寫該位元行。再者,I/O緩衝器12A、12B包含將自記憶胞之位元線輸出之電壓放大之感測放大器。
資料選擇器13A、13B係切換邏輯動作時之輸出資料、或寫入資料WD之選擇電路。
再者,亦可利用同步SRAM/非同步SRAM重合電路實現該構造。藉此,可使用鑄造廠(foundry)所擁有之記憶體IP,故可大幅削減設計費。但是,於該情形時,變為2倍之記憶體容量。
如此,包含上述MLUT之MRLD對鄰接之MLUT進行複數個位元之資料處理,並且由複數個記憶胞單元構成邏輯部。由於記憶胞單元與位址線之平方成比例地增加,故即便資料線之數量相同,若減少各記憶胞單元之位址數,亦可減少總共所需之記憶胞之數量。
又,某一記憶胞單元與對於自第1方向之位址輸入向第1方向、或與第1方向相反之第2方向輸出資料之資料線連接,及另一記憶胞單元與對於自第2方向之位址輸入向第2方向或第1方向輸出資料之資料線連接,2個記憶胞單元按照真值表資料改變資料之輸出方向。如此,藉由限制資料輸出之方向,雖邏輯部之再構成性受到限制,但可減少所需之記憶胞之數量。
[4.3]記憶胞
圖15B係表示單埠之記憶胞之一例之圖。記憶胞(亦稱為「記憶元件」)係配置於作為解碼信號之信號線之字元線與位元線之交叉點。圖15B所示之記憶元件40中包括pMOS(Metal Oxide Semiconductor,金屬氧化物半導體)電晶體161、162及nMOS電晶體163、164、165、166。pMOS電晶體161之源極與pMOS電晶體162之源極連接於VDD(電源電壓端)。nMOS電晶體163之汲極與nMOS電晶體164之汲極連接於VSS(接地電壓端)。
nMOS電晶體165之汲極連接於位元線b。nMOS電晶體165之閘極連接於字元線WL。nMOS電晶體166之汲極連接於位元線/b。nMOS電晶體166之閘極連接於字元線WL。
藉由上述構成,於寫入動作中,記憶元件40根據字元線WL之信號位準「H(High)」將自位元線b及位元線/b傳輸之信號位準保持於 pMOS電晶體161、162、nMOS電晶體163、164。於讀出動作中,記憶元件40根據字元線WL之信號位準「H」將保持於pMOS電晶體161、162、nMOS電晶體163、164之信號位準傳輸至位元線b、及位元線/b。
[5]與FPGA之比較例
圖16係對FPGA之構成進行說明之圖。FPGA係具有邏輯LUT且利用配線及開關將其等連接而構成邏輯電路之器件。940為島式(island style)型FPGA。FPGA940包含邏輯胞(logic cell)、及包圍邏輯胞945之開關矩陣(SW)。960為邏輯胞945與開關矩陣之詳細情況,950為開關矩陣之詳細情況。邏輯胞945包含CLB(Configurable Logic Block,可配置邏輯區塊)。CLB通常為具有2段4輸入1輸出之LUT(可於最後一段使FF活化且亦可構成順序電路),且其包含2頁面之4LUT構造。成為將其等有效地連接於外部之CLB之構造。由於具有2段LUT,故輸入為8,為了將其等有效地連接而具有較多之開關。該開關包含6MOS之轉移閘極,其等之接通/斷開(ON/OFF)連接於SRAM記憶胞之記憶節點,且由SRAM資訊控制。
再者,CLB係具有2個4輸入1輸出LUT且將其設為2段、2片構造者。亦即,1CLB中之所需記憶體容量可藉由以下之式而獲得。
LUT:4位址(16bit)
8LUT×16bit=128bit
開關陣列MOS開關數
8×8×3區塊+8×2×1區塊=208個
每個開關之MOS開關數:6MOS開關
208個×6MOS開關=1,248bit
1CLB中之所需記憶體容量=1,376bit(1.4Kbit)
Vertex XC2V3000之所需記憶體容量:3,584CLB×1,376bit =4,931,584b(4.9Mb)
如上所述,包含1個記憶胞單元之MLUT由於具有8條位址且資料為8條,故必需2K位元之記憶胞。為了使該先前之MLUT與CLB相當,而必須連結10個,故必需20K位元之記憶體容量。
圖17係表示與CLB相當之MLUT區塊之構成例之圖。如上所述,CLB有8個輸入,且其等之配線為可再構成之構成,故MLUT區塊亦必需8個輸入。又,由於CLB於左右上下有8個輸入輸出,故如圖17所示,必需10個MLUT。圖17所示之MLUT區塊50係取出MLUT陣列60之一部分所得者。
如所圖示般,MLUT區塊50具有8輸入及8輸出。於使用10個MLUT之情形時,圖12所示之MLUT為256(16×8×2)位元,於圖14所示之MLUT之情形時,成為192(16×8+16×4)位元。由此,本實施形態之MLUT中,CLB相當必需2.5K(256×10)位元、或1.9K(192×10)位元,可構成相當接近於FPGA之CLB:1.4K位元者。該情況下,MRLD無需如FPGA之特殊電路,利用通用之記憶胞單元而實現可再構成之半導體裝置,並且具有與FPGA相同之邏輯合成效率,故可實現廉價之製造成本與較高之邏輯合成效率之兩者。
如上所述,本實施形態之MRLD可由接近於FPGA之CLB相當之記憶體容量構成,從而可提高與FPGA相比之邏輯構成效率。受到限制之返回至左邊之本邊之信號傳輸可藉由使用2個MLUT而實現,故不會成為較大之限制。本來,FPGA之CLB亦為4輸入1輸出之非對稱之構造,因此不會成為不及FPGA者。而且,MLUT係交替地連接,故下述C語言搭載性變得良好,可成為C語言直裁型之再構成器件。
作為MLUT之記憶胞單元而使用之SRAM係於SoC(System-on-a-chip,晶片上系統)中經常使用之器件。可使用該SRAM構成再構成器件之情況係可成為有效之搭載有SoC之再構成器件。而且,由於 SRAM包含多層之配線層,故可實現廉價之再構成器件。
[6]大容量記憶體之使用例
市售之記憶體器件隨著處理器之處理量之增加而大容量化,且單位記憶容量之成本降低。因此,將大容量之記憶體用作MLUT更可降低MRLD成本。
然而,市售之記憶體器件因位址條數與資料條數不同,故若構成MRLD之位址、資料,則通常位址會剩餘。進而,一般之記憶體根據系統之要求,資料大多為8條、16條,位址因表現系統之記憶體空間故為20條以上之位址。
又,藉由增加作為MLUT之輸入位址數之n值,亦可進行接近於C語言之位元長度之資料處理,且可作為使藉由CPU進行處理之資料處理高速處理之IP加以活用。以下,對使用大容量記憶體之情形時之MRLD之構成例進行說明。
圖18係概略性地表示橫向堆積包含2個記憶胞單元之MLUT而構成之MLUT之圖。圖18所示之MLUT30自左方向有位址A0L~A7L之輸入,自右方向有位址A0R~A7R之輸入,又,向左方向有資料D0L~D7L之輸入,向右方向有資料D0R~D7R之輸入。n值=8之MLUT於先前方式中成為1M位元,CLB相當成為4M位元而大規模化。相對於此,本案中包括8K(256字元×16位元×2個MLUT)位元。其CLB相當亦包括24K(8K×3)位元。
圖19係表示使用有大容量記憶體之MLUT之一例之圖。圖19所示之MLUT30包含記憶胞單元31A、31B,各記憶胞單元包含16條位址線、及16條資料線,故為64K×16位元之大容量記憶體。於記憶胞單元31A、31B之周邊有位址選擇器11A、11B、14A、14B及資料選擇器13A、13B。
本實施例實現利用市售之大容量記憶體之MLUT之有效利用。於 圖19及下述圖22中,記憶胞單元31A、31B分別包含位址A0L~A7L、A8~A15、及位址A0R~A7R、A8~A15之輸入。
再者,圖19及下述圖22為概略圖,未表示作為記憶胞單元之周邊電路之解碼器等,關於解碼器,針對各記憶胞單元之每一個準備圖15A中所說明之解碼器9A、9B,且配置於位址選擇器11A、11B與記憶胞單元31A、31B之間。由此,解碼器亦可對自位址選擇器11A、11B、14A、14B輸出之所有位址進行解碼。
列選擇器32A、32B係用以切換邏輯動作用之位址線、或寫入用之位址之選擇電路。於記憶胞為單埠之情形時,必需列選擇器。於將記憶胞設為多埠之情形時,無需列選擇器。
位址選擇器11A、11B、14A、14B係用以切換邏輯動作用之位址線、或寫入用之位址之選擇電路。於記憶胞為單埠之情形時,必需列選擇器。於將記憶胞設為雙埠之情形時,無需列選擇器。資料選擇器13A、13B係切換輸出資料、或寫入資料WD之選擇電路。
為了由大容量記憶體構成MLUT,而利用頁面切換。亦即,準備複數個真值表資料不同之頁面(記憶體區域),進行頁面切換,從而依序切換邏輯狀態。於圖19所示之例中,位址A0~A7構成1個頁面,位址A8~A15特定另一頁面。亦即,於由位址A8~A15特定之記憶胞中記憶與由位址A0~A7特定之記憶胞不同之真值表資料。
邏輯動作係於記憶體之讀出模式下進行,配置(configuration)係以寫入動作進行。因此,於位址及資料中使用選擇器切換寫入位址AD及寫入資料WD。藉由具有該機構,本器件亦可用作記憶體。又,藉由使用多埠記憶體,亦可省去該等選擇器。邏輯動作係於記憶體之讀出模式下進行,配置係以寫入動作進行。因此,於位址及資料中使用選擇器切換寫入位址及資料。藉由具有該機構,本器件亦可用作記憶體。又,藉由使用多埠記憶體,亦可省去該選擇器。
如此,藉由限制任一記憶胞單元之反饋方向之輸出,可進一步減少所需之記憶胞之數量。
圖20係表示圖19所示之MLUT之電路例之圖。圖20所示之MLUT30具有與圖15A所示之MLUT30相同之構成,但向記憶胞單元31A、31B之輸入位址分別成為位址A0L~A7L、A8~A15、及位址A0R~A7R、A8~A15。因此,記憶胞單元31A、31B成為2的16次方(65,536)字元×8位元之52K之大容量。
圖21係說明使用有圖19所示之MLUT之MRLD之圖。如圖21所示,可藉由來自外部系統之控制而對於某一MLUT30利用位址切換頁面(真值表資料)。
於先前之MRLD中,MRLD之狀態機必須由真值表資料定義。因此,必須按照已決定之條件設置由真值表資料定義預先所決定之複數個狀態之真值表資料。包含MLUT之狀態機(state machine)成為控制電路,必須甚至生成與資料路徑不同之邏輯電路而進行配置配線。
圖19所示之MLUT30由於具有頁面之切換控制功能,故無需由真值表定義狀態機。例如,for字符係於特定值達到某一條件之前,不將本頁面之位址輸出為資料並進行頁面切換,而以相同之頁面處理動作。若滿足某一條件(例如i=0),則此時將頁面切換之位址輸出至資料線。資料線由於作為位址線而輸入至另一記憶胞單元,故可進行該另一記憶胞單元之頁面切換。又,於case字符之情形時,可根據特定值之值將跳越位址(jump address)輸出為資料進行頁面切換而變更動作。先前之MRLD僅可構成邏輯電路,相對於此,藉由以上所述,亦可進行C語言之動作合成,可根據C語言生成MRLD之MLUT之真值表資料,從而可具有FPGA以上之功能。
圖22係表示於MLUT內部設置狀態機之例之圖。運算電路等資料路徑系統具有方向性,對折回方式進行說明(圖8~圖10)。於圖14 中,觀察其折回之狀況而對成為分割非對稱之MLUT進行了說明。圖14之MLUT係削減其中一個記憶胞單元之容量而削減了記憶體使用量,但於圖22中不削減而將其多餘之資料利用為切換信號。藉此,可具有由MLUT自身改變運算之控制功能。例如,圖14之記憶胞單元31B不包含將自右方向之輸入位址A4~A7作為資料D4~D7輸出之記憶胞。於圖22中,對自右方之輸入位址A0~A7進行頁面切換判斷之邏輯運算,而輸出資料D0~D7。資料D0~D7連接於位址A8~A15用之位址信號線,且用作對於另一MLUT之頁面切換信號。
圖23係說明使用有圖22所示之MLUT之MRLD之圖。於圖23中將左下方之區塊設為圖22之MLUT30B,除此以外由圖19之MLUT30構成。於圖22之MLUT中,當位址‧資料對中出現特定之值時,輸出特定之位址,對整體進行頁面控制而切換動作。藉此,可控制JUMP等。
MRLD即便不經過與專用之小型SRAM相關之半導體設計試作、製造,亦可利用先前之大容量之記憶體器件。於MRLD包括晶片時,使用記憶體IP(Intellectual Property),但於先前之MLUT所追求之微小記憶體容量中,位址解碼器或感測放大器之面積較大,記憶體自身之構成比率變為50%以下。此種情況亦成為MRLD之負擔(overhead),因而效率較差。若變為大容量記憶體,則於位址解碼器或感測放大器中比率下降,記憶體使用效率提高。因此,為大容量記憶體之本案於MRLD晶片之情形時較為有效。
[7]使用有可再構成之邏輯多工器之MLUT
圖24係說明2方向配置之MLUT陣列之一例之圖。圖24所示之箭頭為與鄰接之其他MLUT連接之資料輸入線、或資料輸出線。於圖24所示之MLUT陣列300中,MLUT30係以2條資料輸入線或資料輸出線與鄰接之其他MLUT30連接。亦即,構成為MLUT彼此之連接係以複數條資料輸入線或資料輸出線連接。又,鄰接之MLUT係為了提高可 構成性,而於輸入方向及輸出方向分別與2個MLUT連接。以下,將該配置稱為「交替配置」。
交替配置型MLUT藉由將資料線及位元線設為複數條,而可進行多位元之資料處理,進而,可限定輸入及輸出方向之資料流之方向,故邏輯庫之製成亦變得容易。
各MLUT30可執行多個不同之邏輯函數。MLUT30包含記憶胞單元40、及可再構成之邏輯多工器50。由MLUT30執行之邏輯函數係由儲存於記憶胞單元40內之構成資料決定。MLUT30包含構成資料用之輸入,且包含向可再構成之邏輯多工器50之構成資料用之輸出。構成資料係自MRLD20外側向記憶胞單元40內使用其位址線及資料線被載入。
可再構成之邏輯多工器50包含用以接收資料輸入、資料輸出、構成資料之配置輸入,且與其響應而控制資料輸入及輸出之結合狀態。可再構成之邏輯多工器50進而與構成資料響應而將關於資料輸入進行邏輯運算後之資料向資料輸出線進行資料輸出。
圖25係說明4方向配置之MLUT陣列之一例之圖。圖25所示之方向配置係與FPGA相同之配置。藉由以此方式,而取得與FPGA近似之構成,且容易使用由FPGA工具生成之經進行邏輯構成之狀態製成MRLD之構成資料。例如,將圖之左上及中上、左下設為開關區塊,將中下設為LUT區塊,可表現FPGA之CLB相當,從而可根據FPGA所構成之狀態生成真值資料。
圖26A係表示2方向配置之MLUT之信號線之配置例之圖。如圖26A所示,自左之資料輸入為InA0~InA3,向左之資料輸出為OutA0~OutA3。又,自右之資料輸入為InB0~InB3,向右之資料輸出為OutB0~OutB3。
圖26B係表示2方向配置之MLUT之一例之圖。圖26B所示之 MLUT之信號線與圖26A所示之MLUT之信號線相同。圖26B所示之MLUT30包含記憶胞單元40、可再構成之邏輯多工器50、及暫存器單元60。記憶胞單元40例如為SRAM。記憶胞單元40與用以特定儲存構成資料之記憶胞之複數條位址線A0~A8連接。於圖25所示之例中,於記憶胞單元中,藉由9個位址而有2的9次方即「512」條字元線,相對於此,有256條位元線(亦稱為「資料線」)。有4個輸入且其組合為16,故必需16個暫存器。又,以4位元必需16個,且必需自左向左、自左向右、自右向左、自右向右之資料,故以4位元×16×4而成為256條位元線。由此,於記憶胞單元中有2個9次方×256個記憶胞。再者,對A0附加正類型(positive type)之位址轉換檢測(ATD)電路而設為時脈輸入(利用圖28於下文進行敍述)。
[7.1]記憶胞單元
記憶胞單元40按照時脈A0,利用未圖示之感測放大器自利用位址而特定之記憶胞讀出資料,並將資料輸出至包含與目的地位元對應之數量之暫存器(於圖24之例中為256位元)的暫存器單元60。暫存器單元60包含於自記憶胞單元40輸出新的資料之前持續保持資料之複數個暫存器。
圖27係記憶胞單元之詳細情況。圖27所示之記憶胞單元40包含:記憶胞陣列110,其包含分別記憶資料之記憶胞;位址解碼器120;下述圖28A所示之位址轉換檢測部200;及資料輸入輸出部140,其進行向記憶胞陣列110之資料讀出或資料寫入。再者,於本實施例中,記憶胞單元40係與時脈同步地進行讀出或寫入動作之同步SRAM。由此,位址解碼器120及資料輸入輸出部140與時脈同步地進行動作。
記憶胞陣列110包含m×2n個記憶胞(伴隨其之記憶元件),m×2n個記憶胞係配置於2的m次方條字元線與n條位元線(亦稱為「資料線」, 以下相同)之連接部分。
位址解碼器120係若與由A0之位址轉換檢測部生成之時脈同步地接收自m條位址信號線接收之位址信號,則對其進行解碼,向2的m次方條字元線WL輸出作為解碼信號之字元線選擇信號及由資料輸入輸出部140選擇之資料線選擇信號,從而對於對應之記憶胞進行資料之讀出或寫入處理。
資料輸入輸出部140包含寫入放大器、及感測放大器。寫入放大器(Write Amplification)係例如若自外部接收寫入賦能(WE)之上升邊緣時序及寫入資料,則向m條資料線b、/b傳輸該寫入資料之信號位準,並將資料寫入至記憶胞。又,感測放大器係若自外部接收讀出賦能(RE)之上升邊緣時序,則藉由將m條資料線b、/b之信號位準輸出至外部,而輸出讀出資料。
再者,圖27所示之記憶胞單元亦可設置於配線之每一方向。例如,於圖24所示之2方向配置中,為2個記憶胞單元,於圖25所示之4方向配置中,為4個記憶胞單元。如此,藉由在每個方向設置記憶胞單元,而與包含單一之記憶體之情形相比,位址之數量減少(2的9次方×4少於2的36次方),故可降低記憶體之容量。
圖28A係本實施形態之位址轉換檢測部之電路圖。圖28A所示之位址轉換檢測部200包含否定邏輯和(NOR)電路210A、210B、邏輯積(AND)電路230、延遲電路240A~240C、正反器(FF)250、反相器260A、260B及D鎖存器270。
圖28B係圖28A所示之位址轉換檢測部之信號之時序圖。信號S1為向記憶胞單元之位址輸入信號。於本實施例中,為位址A0。信號S2為D鎖存器之輸出。D鎖存器270於信號S1有變化之情形時,以在一定期間內不產生變化之方式進行鎖存。其原因在於:因雜訊等而忽視後續之位址轉換。信號S3為自D鎖存器270輸出之延遲信號。如圖28B 所示,延遲信號利用上升及下降而製作時脈,為了生成信號S4之時脈寬度,而藉由延遲電路240B使其延遲。
作為時脈信號而生成之信號S4係自AND電路230輸出。於AND電路230中,由於輸入延遲電路240B之輸入及輸出,故若兩者之信號位準不同,則輸出信號位準「High」。藉此,可檢測出位址轉換。
信號S5係自延遲電路240C輸出之延遲信號,等待LAT270之賦能信號而進行時脈輸入。
信號S6為信號S5之信號延長,且為賦能信號之脈衝生成。NOR電路210A輸出作為信號S5與S6之NOR運算值之信號S7。而且,信號S7成為D鎖存器270之賦能信號。信號S8係利用反相器260A使信號S5反轉後之信號,且藉由FF250而作為位址信號之鎖存器之時脈使用。信號S9係用作記憶胞單元之賦能,信號S10係用作記憶胞單元之時脈(atd_clk),信號S11係用作記憶胞單元之位址。如此,藉由作為位址A0之信號S1而生成時脈信號S10,故可使用同步SRAM作為記憶胞單元。
圖28C係表示位址A0與所生成之時脈信號之關係之時序圖。於圖28C中,僅表示信號S1與S10。使用位址A0之自「Low」向「Hi」之上升時序,生成時脈,若利用位址A0之自「Hi」向「Low」之下降時序亦生成時脈,則於寫入資料時,即便藉由上升而寫入資料,於下降時亦會返回至最初之記憶體資料,而無法保持資料。作為該對策,MLUT20具有正類型之位址轉換檢測(ATD)部200。如此,正類型之ATD電路僅藉由A0之上升而生成CLK,故以Hi保持記憶體內部之位址。輸出以Hi保持之構成資料,A0變成Low,不生成CLK而將構成資料保持於暫存器單元60之暫存器。藉此,MLUT30不準備正反器電路等現實之電路便可構成順序電路。該CLK生成即便不藉由本ATF電路方式,亦可藉由F/F實現。
[7.2]可再構成之邏輯多工器
可再構成之邏輯多工器50僅有資料之配線路徑之數量。例如,有可再構成之邏輯多工器52A、52B、52C、及52D。
為按照保持於暫存器單元60之構成資料使資料輸入與資料輸出結合之多工器,其連接路徑可根據構成資料而再構成。作為動作,將保持於暫存器單元60之資料設為「輸入信號」,將資料輸入用作「選擇控制信號」,選擇並輸出「輸入信號」。
圖29A係表示4方向配置之MLUT之信號線之配置例的圖。如圖29A所示,自左右之資料輸入輸出係與2方向配置相同,但除此以外,有自上之資料輸入InC0~C3、向上之資料輸出OutC0~OutC3、及自下之資料輸入InD0~InD3、向下之資料輸出OutD0~OutD3。
圖29B係表示4方向配置之MLUT之一例之圖。再者,本例亦可適當改良。圖29B所示之MLUT之信號線與圖29A所示之MLUT之信號線相同。雖未表示記憶胞單元,但各構成要素之動作與2方向配置之MLUT相同。由於為4方向,故可再構成之邏輯多工器之數量與2方向配置之MLUT相比增加了4個(可再構成之邏輯多工器52E~H),暫存器單元62亦隨之增加。
2方向配置之多工器之輸出係進行向其他相同方向之輸出及邏輯和,但即便為4方向配置,原理亦相同。但是,由於方向成為4個,故成為4個邏輯和。例如,若以資料輸出OutC0~OutC3為例,則成為可再構成之邏輯多工器52C、52E、52G之輸出之邏輯和。藉由將可再構成之邏輯多工器52E、52G之資料設為「0」,而可將52E之輸出向上輸出。
[7.3]頁面控制
圖30係表示進行頁面控制之MLUT之一例之圖。進行頁面控制之MLUT係MLUT之一部分作為生成另一記憶胞單元之頁面控制信號之 電路進行動作,其資料輸出控制另一記憶胞單元之頁面。
圖30所示之MLUT30包含大容量之記憶胞單元40A、40B,各記憶胞單元包含9條位址線、及64條資料線,故成為2的9次方(512)字元×64位元之大容量。於本例中,A2~A8可利用頁面位址進行邏輯之多工化。於該情形時為128頁面之例。又,於本例中,為2方向配置之MLUT陣列。而且,記憶胞單元係以儲存各頁面之構成資料之方式構成,故記憶容量變大。因此,包括2個記憶體。藉由以此方式,可進行自左右之時脈控制。
再者,圖30係概略圖,未表示作為記憶胞單元之周邊電路之解碼器等,關於解碼器,針對各記憶胞單元之每一個準備圖5中所說明之解碼器120及資料輸入輸出部140。
圖31係表示外部系統與MRLD之連接一例之概念圖。外部系統120為資訊處理裝置、或由SoC實現之器件。外部系統120與圖19所示之MRLD20連接,接收來自MRLD20之資料輸出,並且進行頁面切換判斷之邏輯運算,經由該連接將頁面切換信號輸出至位址A8~A15。藉由外部系統搭載SoC,而可實現與MRLD20一併高功能化之器件。
[8]MRLD之邏輯或連接動作
MLUT係藉由將真值表資料作為程式執行,而實現邏輯要素及/或連接要素之功能。以下,說明MRLD中之邏輯或連接動作。再者,說明係以多方向MLUT之例進行。
A.邏輯要素
圖32係表示作為邏輯要素進行動作之MLUT之一例之圖。於圖32中,為了使說明簡單,而省略位址選擇器、資料選擇器、及輸入輸出緩衝器之記載。圖32所示之MLUT30A、30B分別包含4個邏輯用位址輸入LA線A0~A3、4個邏輯動作用資料線D0~D3、4×16=64個記憶元件40、及位址解碼器9。邏輯動作用資料線D0~D3分別串聯地連接 24個記憶元件40。位址解碼器9係以基於輸入至邏輯用位址輸入LA線A0~A3之信號而選擇連接於16條字元線中之任一者之4個記憶元件之方式構成。該4個記憶元件分別連接於邏輯動作用資料線D0~D3,將記憶於記憶元件之資料輸出至邏輯動作用資料線D0~D3。例如,於對邏輯用位址輸入LA線A0~A3輸入適當之信號之情形時,能以選擇4個記憶元件40A、40B、40C、及40D之方式構成。此處,記憶元件40A連接於邏輯動作用資料線D0,記憶元件40B連接於邏輯動作用資料線D1,記憶元件40D連接於邏輯動作用資料線D2,記憶元件40D連接於邏輯動作用資料線D3。而且,對邏輯動作用資料線D0~D3輸出記憶於記憶元件40A~40D之信號。如此,MLUT30A、30B自邏輯用位址輸入LA線A0~A3接收邏輯用位址輸入LA,藉由該邏輯用位址輸入LA而將記憶於位址解碼器9所選擇之4個記憶元件40之值分別作為邏輯動作用資料輸出至邏輯動作用資料線D0~D3。再者,MLUT30A之邏輯用位址輸入LA線A2與鄰接之MLUT30B之邏輯動作用資料線D0連接,MLUT30A接收自MLUT30B輸出之邏輯動作用資料作為邏輯用位址輸入LA。又,MLUT30A之邏輯動作用資料線D2與MLUT30B之邏輯用位址輸入LA線A0連接,MLUT30A所輸出之邏輯動作用資料係作為邏輯用位址輸入LA由MLUT30B接收。例如,MLUT30A之邏輯動作用資料線D2基於輸入至MLUT30A之邏輯用位址輸入LA線A0~A3之信號將記憶在連接於邏輯動作用資料線D2之16個記憶元件中之任一個之信號輸出至MLUT30B之邏輯用位址輸入LAA0。同樣地,MLUT30B之邏輯動作用資料線D0基於輸入至MLUT30B之邏輯用位址輸入LA線A0~A3之信號將記憶在連接於邏輯動作用資料線D0之16個記憶元件中之任一個之信號輸出至MLUT30A之邏輯用位址輸入LAA2。如此,MRLD彼此之連結係使用1對位址線及資料線。
再者,於圖32中,MLUT30A、30B所包含之AD對為4個,如下所 述,AD對之數量並不特別限定為4。
圖33係表示作為邏輯電路進行動作之MLUT之一例之圖。於本例中,將邏輯用位址輸入LA線A0及A1設為2輸入NOR電路701之輸入,將邏輯用位址輸入LA線A2及A3設為2輸入NAND電路702之輸入。而且,構成如下邏輯電路:將2輸入NOR電路之輸出與2輸入NAND電路702之輸出輸入至2輸入NAND電路703,將2輸入NAND電路703之輸出輸出至邏輯動作用資料線D0。
圖34係表示圖33所示之邏輯電路之真值表之圖。圖33之邏輯電路為4輸入,故將輸入A0~A3之所有輸入作為輸入而使用。另一方面,由於輸出僅有1個,故僅將輸出D0作為輸出而使用。於真值表之輸出D1~D3之欄中記載有「*」。此表示為「0」或「1」之任一者之值均可。然而,實際上,於為了再構成而將真值表資料寫入至MLUT時,必須於該等欄中寫入「0」或「1」之任一者之值。至少於圖12所示之記憶胞單元31A與記憶胞單元31B之關係中使不必要之資料為0資料。
B.連接要素
圖35係表示作為連接要素進行動作之MLUT之一例之圖。於圖35中,作為連接要素之MLUT係以如下方式進行動作:將邏輯用位址輸入LA線A0之信號輸出至邏輯動作用資料線D1,將邏輯用位址輸入LA線A1之信號輸出至邏輯動作用資料線D2,將邏輯用位址輸入LA線A2之信號輸出至邏輯動作用資料線D3。作為連接要素之MLUT進而以將邏輯用位址輸入LA線A3之信號輸出至邏輯動作用資料線D0之方式進行動作。
圖36係表示圖35所示之連接要素之真值表之圖。圖35所示之連接要素為4輸入4輸出。因此,使用輸入A0~A3之所有輸入、及輸出D0~D3之所有輸出。根據圖36所示之真值表,MLUT係作為如下連接 要素進行動作:將輸入A0之信號輸出至輸出D1,將輸入A1之信號輸出至輸出D2,將輸入A2之信號輸出至輸出D3,將輸入A3之信號輸出至輸出D0。
圖37係表示由包含AD0、AD1、AD2、及AD3之4個AD對之MLUT實現之連接要素之一例的圖。AD0包含邏輯用位址輸入LA線A0與邏輯動作用資料線D0。AD1包含邏輯用位址輸入LA線A1與邏輯動作用資料線D1。AD2包含邏輯用位址輸入LA線A2與邏輯動作用資料線D2。而且,AD3包含邏輯用位址輸入LA線A3與邏輯動作用資料線D3。於圖37中,單點鏈線表示將輸入至AD對0之邏輯用位址輸入LA線A0之信號輸出至AD對1之邏輯動作用資料線D1之信號之流動。兩點鏈線表示將輸入至第2AD對1之邏輯用位址輸入LA線A1之信號輸出至AD對2之邏輯動作用資料線D2之信號之流動。虛線表示將輸入至AD對2之邏輯用位址輸入LA線A2之信號輸出至AD對3之邏輯動作用資料線D3之信號之流動。實線表示將輸入至AD對3之邏輯用位址輸入LA線A3之信號輸出至AD對0之邏輯動作用資料線D0之信號之流動。
再者,於圖37中,MLUT30所包含之AD對為4個,但AD對之數量並不特別限定於4。
C.邏輯要素與連接要素之組合功能
圖38係表示1個MLUT作為邏輯要素及連接要素進行動作之一例之圖。於圖38所示之例中,構成如下邏輯電路:將邏輯用位址輸入LA線A0及A1設為2輸入NOR電路121之輸入,將2輸入NOR電路121之輸出、及邏輯用位址輸入LA線A2設為2輸入NAND電路122之輸入,將2輸入NAND電路122之輸出輸出至邏輯動作用資料線D0。又,同時,構成將邏輯用位址輸入LA線A3之信號輸出至邏輯動作用資料線D2之連接要素。
於圖39中表示圖38所示之邏輯要素及連接要素之真值表。圖38 之邏輯動作係使用輸入D0~D3之3個輸入,且使用1個輸出D0作為輸出。另一方面,圖39之連接要素構成將輸入A3之信號輸出至輸出D2之連接要素。
圖40係表示由包含AD0、AD1、AD2、及AD3之4個AD對之MLUT實現之邏輯動作及連接要素之一例的圖。與圖37所示之MLUT同樣地,AD0包含邏輯用位址輸入LA線A0與邏輯動作用資料線D0。AD1包含邏輯用位址輸入LA線A1與邏輯動作用資料線D1。AD2包含邏輯用位址輸入LA線A2與邏輯動作用資料線D2。而且,AD3包含邏輯用位址輸入LA線A3與邏輯動作用資料線D3。如上所述,MLUT30係利用1個MLUT30實現3輸入1輸出之邏輯動作與1輸入1輸出之連接要素之2個動作。具體而言,邏輯動作係使用AD對0之邏輯用位址輸入LA線A0、AD對1之邏輯用位址輸入LA線A1、及AD對2之邏輯用位址輸入LA線A2作為輸入。而且,將AD對0之邏輯動作用資料線D0之位址線用作輸出。又,連接要素係如以虛線表示般將輸入至AD對3之邏輯用位址輸入LA線A3之信號輸出至AD對2之邏輯動作用資料線D2。
D.使用有可再構成之邏輯多工器之MLUT之真值表資料
將圖41所示之例中之構成資料示於圖42A~圖42J。圖41係表示包含圖24中所說明之交替配置之MLUT之邏輯電路及配線的圖。圖41中所示之包含2個記憶胞單元(左側、右側)之邏輯電路及配線包括MLUT30A~30D。又,下述所示之圖42A~圖42J亦包含藉由頁面控制而選擇之真值表資料。
圖42A係表示儲存於MLUT30A之左側之記憶胞單元之構成資料之一例的圖。圖42B係表示儲存於MLUT30A之右側之記憶胞單元之構成資料之一例的圖。圖42C係表示儲存於MLUT30B之左側之記憶胞單元之構成資料之一例的圖。圖42D係表示儲存於MLUT30B之右側之記 憶胞單元之構成資料之一例的圖。圖42E係表示儲存於MLUT30C之左側之記憶胞單元之構成資料之一例的圖。圖42F係表示儲存於MLUT30C之右側之記憶胞單元之構成資料之一例的圖。
圖42G係表示儲存於MLUT30D之左側之記憶胞單元之構成資料之一例的圖。圖42H係表示儲存於MLUT30D之右側之記憶胞單元之構成資料之一例的圖。圖42I係表示儲存於MLUT30E之左側之記憶胞單元之構成資料之一例的圖。圖42J係表示儲存於MLUT30E之右側之記憶胞單元之構成資料之一例的圖。
如上所述,可再構成之邏輯多工器之輸出係進行邏輯和,故藉由將無信號輸出之路徑之構成資料設為「0」,而以輸出所期望之邏輯運算之結果之方式構成構成資料。
[9]真值表資料之生成方法
可再構成之半導體裝置之真值表資料係藉由執行邏輯構成用之軟體程式之資訊處理裝置而生成。
於圖43中表示資訊處理裝置之硬體構成之一例。資訊處理裝置210包含處理器211、輸入部212、輸出部213、記憶部214及驅動裝置215。處理器211將輸入至輸入部212之配置‧配線用之軟體、用以設計積體電路之C語言描述或硬體描述語言(HDL,Hardware Description Language)等電路描述語言、及藉由執行上述軟體而生成之真值表資料記憶於記憶部214。又,處理器211執行配置‧配線用之軟體,對記憶於記憶部214之電路描述進行以下所示之配置‧配線之處理,且向輸出部213輸出真值表資料。可於輸出部213連接可再構成之邏輯器件20(於圖34中未表示),處理器211執行邏輯構成處理,將所生成之真值表資料經由輸出部213而寫入至可再構成之邏輯器件20。輸出部213亦可與外部網路連接。於該情形時,邏輯構成用之軟體程式係經由網路而收發。驅動裝置215係例如讀寫DVD(Digital Versatile Disc,數位 多功能光碟)、快閃記憶體等記憶媒體217之裝置。驅動裝置215包含使記憶媒體217旋轉之馬達或於記憶媒體217上讀寫資料之頭等。再者,記憶媒體217可儲存邏輯構成用之程式、或真值表資料。驅動裝置215自所設置之記憶媒體217讀出程式。處理器211將由驅動裝置215讀出之程式或真值表資料儲存於記憶部214。
以上所說明之實施形態僅作為典型例而舉出,該各實施形態之構成要素之組合、變形及變化對業者而言較為明確,若為業者則可明確:可於不脫離本發明之原理及申請專利範圍所記載之發明之範圍之前提下進行上述實施形態之各種變形。尤其是於MRLD之邏輯或連接動作中將雙方向MLUT設為多方向MLUT之動作係可作為實施形態之變更而實現。
30‧‧‧MLUT
31A‧‧‧記憶胞單元
31B‧‧‧記憶胞單元
A0~A7‧‧‧位址信號
D0~D7‧‧‧輸出
D0~D7‧‧‧輸出資料

Claims (33)

  1. 一種可再構成之半導體裝置,其特徵在於:包括相互以位址線或資料線連接之複數個邏輯部;且上述各邏輯部包括:複數條位址線;複數條資料線;第1位址解碼器,其對自上述複數條位址線之一部分輸入之位址進行解碼;第2位址解碼器,其對自上述複數條位址線之另一部分輸入之位址進行解碼;第1記憶胞單元,其包含由上述第1位址解碼器之解碼線特定之複數個記憶胞;及第2記憶胞單元,其包含由上述第2位址解碼器之解碼線特定之複數個記憶胞。
  2. 如請求項1之半導體裝置,其中上述記憶胞單元為多查找表。
  3. 如請求項1或2之半導體裝置,其中上述邏輯部為矩形狀,自一邊以複數條位址線或複數條資料線與其他邏輯部連接,並且自與上述一邊為相反側之另一邊以複數條位址線或複數條資料線與其他邏輯部連接。
  4. 如請求項3之半導體裝置,其中上述第1記憶胞單元包含由自上述一邊之第1複數位址線特定且輸出至上述第1複數位址線之2倍數量之第1複數資料線的複數個記憶胞;上述第2記憶胞單元包含由自上述另一邊之第2複數位址線特定且輸出至上述第2複數位址線之2倍數量之第2複數資料線的複數個記憶胞; 上述邏輯部將第1複數資料線及第2複數資料線之一部分向上述一邊輸出,並且將上述第1複數資料線及第2複數資料線之另一部分向另一邊輸出。
  5. 如請求項4之半導體裝置,其中上述第1記憶胞單元記憶對於自上述一邊之位址輸入向上述一邊輸出資料之第1真值表資料、及向上述另一邊輸出資料之第2真值表資料;且上述第2記憶胞單元記憶對於自上述另一邊之位址輸入向上述一邊輸出資料之第3真值表資料、及向上述另一邊輸出資料之第4真值表資料;按照上述第1~第4真值表資料改變上述資料之輸出方向。
  6. 如請求項4之半導體裝置,其中上述第1記憶胞單元包含由自上述一邊之第1複數位址線特定且輸出至上述第1複數位址線之2倍數量之第1複數資料線的複數個記憶胞;上述第2記憶胞單元包含由自上述另一邊之第2複數位址線特定且輸出至上述第2複數位址線之相同數量之第3複數資料線的複數個記憶胞;上述邏輯部將第1複數資料線之一部分及第3複數資料線向上述一邊輸出,並且將上述第1複數資料線之另一部分向另一邊輸出。
  7. 如請求項1至6中任一項之半導體裝置,其中上述第1及/或第2記憶胞單元係以如下方式構成:記憶用以將記憶於由某一上述位址線特定之記憶胞之值之邏輯運算輸出至資料線的真值表資料,且作為邏輯電路進行動作;及/或記憶用以將記憶於由某一上述位址線特定之記憶胞之值輸出至連接於另一邏輯部之位址線之資料線的真值表資料,且作為 連接電路進行動作。
  8. 如請求項1至7中任一項之半導體裝置,其中上述第1記憶胞單元及第2記憶胞單元記憶複數個真值表資料,且連接於輸出特定上述複數個真值表資料中之任一個之資料的第2複數位址線。
  9. 如請求項1至8中任一項之半導體裝置,其中上述第1記憶胞單元及第2記憶胞單元中之任一者之資料線之一部分連接於上述第2複數位址線,並且上述第1記憶胞單元及第2記憶胞單元中之任一者記憶輸出至上述第2複數位址線且用以特定上述複數個真值表資料的真值表資料。
  10. 如請求項1至8中任一項之半導體裝置,其中上述第2複數條位址線與外部連接。
  11. 如請求項1至10中任一項之半導體裝置,其中上述邏輯部包括:資料輸入線;資料輸出線;以及可再構成之邏輯多工器,其響應上述真值表資料而選擇性地使來自上述資料輸入線之資料輸入與向上述資料輸出線之上述資料輸出結合,及/或響應上述真值表資料而將關於上述資料輸入進行邏輯運算後之資料向上述資料輸出線進行資料輸出;且藉由上述資料輸入線及上述資料輸出線而連接靠近之上述邏輯部。
  12. 如請求項10之半導體裝置,其更包括保持部,該保持部保持自上述記憶胞單元讀出之真值表資料,並且將上述所保持之真值表資料輸出至上述可再構成之邏輯多工器。
  13. 如請求項10或11之半導體裝置,其中上述可再構成之邏輯多工器藉由自上述資料輸入線之資料輸入,而選擇並輸出保持於上述保持部之真值表資料中之任一者。
  14. 一種控制方法,其特徵在於:其係可再構成之半導體裝置之控制方法;且上述半導體裝置係包括相互以位址線或資料線連接之複數個邏輯部;且上述各邏輯部包括:複數條位址線;複數條資料線;第1位址解碼器;第2位址解碼器;第1記憶胞單元,其包含複數個記憶胞;及第2記憶胞單元,其包含複數個記憶胞;上述第1位址解碼器對自上述複數條位址線之一部分輸入之位址進行解碼;上述第2位址解碼器對自上述複數條位址線之另一部分輸入之位址進行解碼;上述第1記憶胞單元之記憶胞係由上述第1位址解碼器之解碼線特定;上述第2記憶胞單元之記憶胞係由上述第2位址解碼器之解碼線特定。
  15. 如請求項14之半導體裝置,其中上述記憶胞單元為多查找表。
  16. 如請求項14或15之控制方法,其中上述邏輯部為矩形狀,自一邊以複數條位址線或複數條資料線與其他邏輯部連接,並且自與上述一邊為相反側之另一邊以複數條位址線或複數條資料線與其他邏輯部連接。
  17. 如請求項16之控制方法,其中上述第1記憶胞單元包含由自上述一邊之第1複數位址線特定且輸出至上述第1複數位址線之2倍數 量之第1複數資料線的複數個記憶胞;上述第2記憶胞單元包含由自上述另一邊之第2複數位址線特定且輸出至上述第2複數位址線之2倍數量之第2複數資料線的複數個記憶胞;上述邏輯部將第1複數資料線及第2複數資料線之一部分向上述一邊輸出,並且將上述第1複數資料線及第2複數資料線之另一部分向另一邊輸出。
  18. 如請求項17之控制方法,其中上述第1記憶胞單元記憶對於自上述一邊之位址輸入向上述一邊輸出資料之第1真值表資料、及向上述另一邊輸出資料之第2真值表資料;且上述第2記憶胞單元記憶對於來自上述另一邊之位址輸入向上述一邊輸出資料之第3真值表資料、及向上述另一邊輸出資料之第4真值表資料;按照上述第1~第4真值表資料改變上述資料之輸出方向。
  19. 如請求項17之控制方法,其中上述第1記憶胞單元包含由自上述一邊之第1複數位址線特定且輸出至上述第1複數位址線之2倍數量之第1複數資料線的複數個記憶胞;上述第2記憶胞單元包含由自上述另一邊之第2複數位址線特定且輸出至上述第2複數位址線之相同數量之第3複數資料線的複數個記憶胞;上述邏輯部將第1複數資料線之一部分及第3複數資料線向上述一邊輸出,並且將上述第1複數資料線之另一部分向另一邊輸出。
  20. 如請求項14至19中任一項之控制方法,其中上述第1及/或第2記憶胞單元係以如下方式構成:記憶用以將記憶於由某一上述位址線特定之記憶胞之值之邏 輯運算輸出至資料線的真值表資料,且作為邏輯電路進行動作;及/或記憶用以將記憶於由某一上述位址線特定之記憶胞之值輸出至連接於另一邏輯部之位址線之資料線的真值表資料,且作為連接電路進行動作。
  21. 如請求項14至20中任一項之控制方法,其中上述第1記憶胞單元及第2記憶胞單元記憶複數個真值表資料,且連接於輸出特定上述複數個真值表資料中之任一個之資料的第2複數位址線。
  22. 如請求項14至21中任一項之控制方法,其中上述第1記憶胞單元及第2記憶胞單元中之任一者之資料線之一部分連接於上述第2複數位址線,並且上述第1記憶胞單元及第2記憶胞單元中之任一者記憶輸出至上述第2複數位址線且用以特定上述複數個真值表資料的真值表資料。
  23. 如請求項14至22中任一項之控制方法,其中上述第2複數條位址線與外部連接。
  24. 如請求項14至23中任一項之控制方法,其中上述邏輯部包括:資料輸入線、資料輸出線、及可再構成之邏輯多工器,且藉由上述資料輸入線及上述資料輸出線而連接於靠近之上述邏輯部,上述可再構成之邏輯多工器響應上述真值表資料而選擇性地將來自上述資料輸入線之資料輸入、與向上述資料輸出線之上述資料輸出結合,且響應上述真值表資料而將關於上述資料輸入進行邏輯運算後之資料向上述資料輸出線進行資料輸出。
  25. 如請求項14至24中任一項之控制方法,其中更具備保持部,該保持部保持自上述記憶胞單元讀出之真值表資料,並且將上述所保持之真值表資料輸出至上述可再構成之邏輯多工器;上述可再構成之邏輯多工器藉由自上述資料輸入線之資料輸入,而選擇並輸出保持於上述保持部之真值表資料中之任一者。
  26. 一種程式,其係用以控制可再構成之半導體裝置者;其特徵在於:上述半導體裝置係包括相互以位址線或資料線連接之複數個邏輯部;且上述各邏輯部包括:複數條位址線;複數條資料線;第1位址解碼器;第2位址解碼器;第1記憶胞單元,其包含複數個記憶胞;及第2記憶胞單元,其包含複數個記憶胞;且上述第1位址解碼器對自上述複數條位址線之一部分輸入之位址進行解碼;上述第2位址解碼器對自上述複數條位址線之另一部分輸入之位址進行解碼;上述邏輯部為矩形狀,自一邊以複數條位址線或複數條資料線與其他邏輯部連接,並且自與上述一邊為相反側之另一邊以複數條位址線或複數條資料線與其他邏輯部連接;上述第1及第2記憶胞單元分別記憶包含真值表資料之程式,並作為邏輯要素及/或連接要素而構成;且 使上述第1或第2記憶胞單元執行如下處理:將記憶於由在一邊連接之上述位址線特定之記憶胞之值的邏輯運算輸出至在與上述一邊為相反側連接之資料線,且作為邏輯電路進行動作;及將記憶於由在一邊連接之某一上述位址線特定之記憶胞之值輸出至在與上述一邊為相反側連接之資料線,且作為連接電路進行動作。
  27. 如請求項26之程式,其中上述記憶胞單元為多查找表。
  28. 如請求項26或27之程式,其中包含輸出至第1複數位址線之2倍數量之第1複數資料線的複數個記憶胞;上述第2記憶胞單元包含由自上述另一邊之第2複數位址線特定且輸出至上述第2複數位址線之2倍數量之第2複數資料線的複數個記憶胞;且使上述第1或第2記憶胞單元執行如下處理:將第1複數資料線及第2複數資料線之一部分向上述一邊輸出;及將上述第1複數資料線及第2複數資料線之另一部分向另一邊輸出。
  29. 如請求項26之程式,其中上述第1記憶胞單元記憶對於自上述一邊之位址輸入向上述一邊輸出資料之第1真值表資料、及向上述另一邊輸出資料之第2真值表資料;且上述第2記憶胞單元記憶對於來自上述另一邊之位址輸入向上述一邊輸出資料之第3真值表資料、及向上述另一邊輸出資料之第4真值表資料;使上述第1或第2記憶胞單元執行如下處理:按照上述第1~第4真值表資料改變上述資料之輸出方向。
  30. 如請求項29之程式,其中上述第1記憶胞單元包含由自上述一邊之第1複數位址線特定且輸出至上述第1複數位址線之2倍數量之第1複數資料線的複數個記憶胞;上述第2記憶胞單元包含由自上述另一邊之第2複數位址線特定且輸出至上述第2複數位址線之相同數量之第3複數資料線的複數個記憶胞;且使上述第1或第2記憶胞單元執行如下處理:上述邏輯部將第1複數資料線之一部分及第3複數資料線向上述一邊輸出,並且將上述第1複數資料線之另一部分向另一邊輸出。
  31. 如請求項26至30中任一項之程式,其中上述第1記憶胞單元及第2記憶胞單元中之任一者之資料線之一部分連接於上述第2複數位址線;且使上述第1記憶胞單元及第2記憶胞單元中之任一者執行如下處理,即,輸出至上述第2複數位址線且特定上述複數個真值表資料。
  32. 如請求項26至31中任一項之程式,其中上述邏輯部包括:資料輸入線、資料輸出線、及可再構成之邏輯多工器;且上述記憶胞單元係藉由上述資料輸入線及上述資料輸出線而連接於靠近之上述邏輯部;使上述可再構成之邏輯多工器執行如下處理:響應上述真值表資料而選擇性地將自上述資料輸入線之資料輸入、與向上述資料輸出線之上述資料輸出結合,且 響應上述真值表資料而將關於上述資料輸入進行邏輯運算後之資料向上述資料輸出線進行資料輸出。
  33. 一種記憶媒體,其儲存如請求項26至32中任一項所示之程式。
TW102138944A 2012-10-28 2013-10-28 可再構成之半導體裝置、其控制方法、程式及記憶媒體 TWI659614B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2012-237353 2012-10-28
JP2012237353 2012-10-28

Publications (2)

Publication Number Publication Date
TW201417502A true TW201417502A (zh) 2014-05-01
TWI659614B TWI659614B (zh) 2019-05-11

Family

ID=50544794

Family Applications (1)

Application Number Title Priority Date Filing Date
TW102138944A TWI659614B (zh) 2012-10-28 2013-10-28 可再構成之半導體裝置、其控制方法、程式及記憶媒體

Country Status (5)

Country Link
US (1) US9350357B2 (zh)
JP (1) JP6564186B2 (zh)
CN (1) CN104737450B (zh)
TW (1) TWI659614B (zh)
WO (1) WO2014065424A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9972536B2 (en) 2014-10-08 2018-05-15 Taiyo Yuden Co., Ltd. Reconfigurable semiconductor device

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2014163099A1 (ja) * 2013-04-02 2017-02-16 太陽誘電株式会社 再構成可能な論理デバイス
JP6378775B2 (ja) * 2014-10-22 2018-08-22 太陽誘電株式会社 再構成可能デバイス
CN104571949B (zh) * 2014-12-22 2017-07-07 华中科技大学 基于忆阻器实现计算与存储融合的处理器及其操作方法
JP6405262B2 (ja) * 2015-02-18 2018-10-17 太陽誘電株式会社 再構成可能な論理デバイス
WO2018207800A1 (ja) * 2017-05-11 2018-11-15 太陽誘電株式会社 レゾルバ信号の演算処理装置
US11475951B2 (en) 2017-12-24 2022-10-18 Micron Technology, Inc. Material implication operations in memory
US10424376B2 (en) * 2017-12-24 2019-09-24 Micron Technology, Inc. Material implication operations in memory
TWI748877B (zh) * 2021-02-23 2021-12-01 台灣松下電器股份有限公司 洗衣機迴轉盤

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07154241A (ja) 1993-11-29 1995-06-16 Olympus Optical Co Ltd プログラマブル集積回路を用いた電子回路
US5868666A (en) 1993-11-26 1999-02-09 Olympus Optical Co., Ltd. Endoscope apparatus using programmable integrated circuit to constitute internal structure thereof
US5815726A (en) * 1994-11-04 1998-09-29 Altera Corporation Coarse-grained look-up table architecture
US5559450A (en) * 1995-07-27 1996-09-24 Lucent Technologies Inc. Field programmable gate array with multi-port RAM
JPH118547A (ja) 1997-06-17 1999-01-12 Fuji Xerox Co Ltd 再構成可能演算装置
US6417691B1 (en) 2000-08-29 2002-07-09 Motorola, Inc. Communication device with configurable module interface
JP2003149300A (ja) 2001-11-16 2003-05-21 Hitachi Ltd テスト方法および半導体装置
JP2003224468A (ja) 2002-01-31 2003-08-08 Hitachi Ltd 半導体集積回路および製造方法並びにテスト方法
US6943580B2 (en) * 2003-02-10 2005-09-13 Altera Corporation Fracturable lookup table and logic element
US7170315B2 (en) 2003-07-31 2007-01-30 Actel Corporation Programmable system on a chip
JP4104538B2 (ja) 2003-12-22 2008-06-18 三洋電機株式会社 リコンフィギュラブル回路、リコンフィギュラブル回路を備えた処理装置、リコンフィギュラブル回路における論理回路の機能決定方法、回路生成方法および回路
US6998872B1 (en) * 2004-06-02 2006-02-14 Xilinx, Inc. Lookup table circuit optionally configurable as two or more smaller lookup tables with independent inputs
JP3967737B2 (ja) 2004-07-20 2007-08-29 株式会社東芝 プログラマブル論理回路装置およびプログラマブル論理回路の再構築方法
CN101310442A (zh) 2005-11-28 2008-11-19 太阳诱电株式会社 半导体器件
JP5131188B2 (ja) 2006-04-05 2013-01-30 日本電気株式会社 データ処理装置
JP5081240B2 (ja) 2007-06-25 2012-11-28 太陽誘電株式会社 半導体装置
JP5260077B2 (ja) 2008-02-15 2013-08-14 太陽誘電株式会社 プログラマブル論理デバイスおよびその構築方法およびその使用方法
JP5140029B2 (ja) 2009-03-30 2013-02-06 太陽誘電株式会社 半導体装置
JP5431003B2 (ja) 2009-04-03 2014-03-05 スパンション エルエルシー リコンフィギュラブル回路及びリコンフィギュラブル回路システム
US8952721B2 (en) * 2010-06-24 2015-02-10 Taiyo Yuden Co., Ltd. Semiconductor device
JP5890733B2 (ja) * 2012-04-09 2016-03-22 太陽誘電株式会社 再構成可能な半導体装置の配置配線方法、そのプログラム、及び配置配線装置
JP5822772B2 (ja) * 2012-04-11 2015-11-24 太陽誘電株式会社 再構成可能な半導体装置
JP5927012B2 (ja) * 2012-04-11 2016-05-25 太陽誘電株式会社 再構成可能な半導体装置
US9514259B2 (en) * 2012-11-20 2016-12-06 Taiyo Yuden Co., Ltd. Logic configuration method for reconfigurable semiconductor device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9972536B2 (en) 2014-10-08 2018-05-15 Taiyo Yuden Co., Ltd. Reconfigurable semiconductor device
TWI647705B (zh) * 2014-10-08 2019-01-11 太陽誘電股份有限公司 可再構成之半導體裝置及其控制方法、用以控制可再構成之半導體裝置之程式、記憶媒體

Also Published As

Publication number Publication date
TWI659614B (zh) 2019-05-11
CN104737450A (zh) 2015-06-24
US9350357B2 (en) 2016-05-24
CN104737450B (zh) 2018-01-19
US20150280717A1 (en) 2015-10-01
JP6564186B2 (ja) 2019-08-21
JPWO2014065424A1 (ja) 2016-09-08
WO2014065424A1 (ja) 2014-05-01

Similar Documents

Publication Publication Date Title
TW201417502A (zh) 可再構成之半導體裝置
US6915323B1 (en) Macrocells supporting a carry cascade
TWI636667B (zh) 可再構成之邏輯元件
JP6250548B2 (ja) 再構成可能な半導体装置の論理構成方法
US9705505B2 (en) Reconfigurable semiconductor device
US20080074142A1 (en) Routing for Microprocessor Busses
JP5890733B2 (ja) 再構成可能な半導体装置の配置配線方法、そのプログラム、及び配置配線装置
Heile et al. Hybrid product term and LUT based architectures using embedded memory blocks
TWI618357B (zh) Reconfigurable component and semiconductor device
Latif et al. Optimal utilization of available reconfigurable hardware resources
US9628084B2 (en) Reconfigurable logic device
TWI625730B (zh) Reconfigurable logic element, control method of reconfigurable logic element, program product for controlling reconfigurable logic element, and computer readable recording medium
US11120874B2 (en) Electronic memory device and a method of manipulating the electronic memory device
Priadarshini et al. Low power reconfigurable FPGA based on SRAM
Jinjiang et al. An area-efficient design of reconfigurable S-box for parallel implementation of block ciphers
US9960772B2 (en) Semiconductor device including logical blocks, wiring groups, and switch circuits
JP2017169070A (ja) 半導体装置

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees