CN104737450A - 可再构成的半导体装置 - Google Patents

可再构成的半导体装置 Download PDF

Info

Publication number
CN104737450A
CN104737450A CN201380053754.7A CN201380053754A CN104737450A CN 104737450 A CN104737450 A CN 104737450A CN 201380053754 A CN201380053754 A CN 201380053754A CN 104737450 A CN104737450 A CN 104737450A
Authority
CN
China
Prior art keywords
data
storage element
address
element unit
line
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
CN201380053754.7A
Other languages
English (en)
Other versions
CN104737450B (zh
Inventor
佐藤正幸
佐藤幸志
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Taiyo Yuden Co Ltd
Original Assignee
Taiyo Yuden Co Ltd
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 Co Ltd filed Critical Taiyo Yuden Co Ltd
Publication of CN104737450A publication Critical patent/CN104737450A/zh
Application granted granted Critical
Publication of CN104737450B publication Critical patent/CN104737450B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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

本发明提供一种可再构成的半导体装置,该可再构成的半导体装置包括相互以地址线或数据线连接的多个逻辑部,所述各逻辑部包括:多条地址线;多条数据线;第一地址解码器,对从所述多条地址线的一部分输入的地址进行解码;第二地址解码器,对从所述多条地址线的另一部分输入的地址进行解码;第一存储元单元,具有由所述第一地址解码器的解码线指定的多个存储元;及第二存储元单元,具有由所述第二地址解码器的解码线指定的多个存储元。

Description

可再构成的半导体装置
技术领域
本发明涉及一种可再构成的半导体装置。
背景技术
广泛使用着可切换FPGA(Field-Programmable Gate Array,现场可编程门阵列)等电路构成的PLD(Programmable Logic Device,可编程逻辑器件)(例如专利文献1)。申请人或发明者开发了利用存储元单元实现电路构成的“MPLD(Memory-based ProgrammableLogic 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.一种可再构成的半导体装置,其特征在于:
包括相互以地址线或数据线连接的多个逻辑部;且
所述各逻辑部包括:
多条地址线;
多条数据线;
第一地址解码器,对从所述多条地址线的一部分输入的地址进行解码;
第二地址解码器,对从所述多条地址线的另一部分输入的地址进行解码;
第一存储元单元,具有由所述第一地址解码器的解码线指定的多个存储元;及
第二存储元单元,具有由所述第二地址解码器的解码线指定的多个存储元。
根据所述半导体装置,因为存储元单元与地址线的平方成比例地增加,所以即便数据线的数量相同,只要减少各存储元单元的地址数,也能减少总共所需的存储元的数量。
2.根据项目1所述的半导体装置,其中所述存储元单元为多查找表。
本半导体装置是利用多查找表进行作为逻辑要素及/或连接要素的动作,所以与利用选择电路实现配线连接的FPGA明显不同。
3.根据项目1或2所述的半导体装置,其中所述逻辑部为矩形状,从一边以多条地址线或多条数据线与其他逻辑部连接,并且从与所述一边为相反侧的另一边以多条地址线或多条数据线与其他逻辑部连接。
因为能够对邻接的逻辑部进行多比特的数据处理,所以在包括进行多比特运算的程序的数据处理中,能够减少使用的逻辑部的数量。
4.根据项目3所述的半导体装置,其中所述第一存储元单元具有多个存储元,所述多个存储元由从所述一边的第一多地址线指定且输出到所述第一多地址线的两倍数量的第一多数据线,
所述第二存储元单元具有多个存储元,所述多个存储元由从所述另一边的第二多地址线指定且输出到所述第二多地址线的两倍数量的第二多数据线,
所述逻辑部将第一多数据线及第二多数据线的一部分向所述一边输出,并且将所述第一多数据线及第二多数据线的另一部分向另一边输出。
使各存储元单元的数据数根据地址数增加,并且使从各存储元单元数据输出的方向为双方向,由此可减少所需的存储元的数量,且可进行向双方向的数据输出。
5.根据项目4所述的半导体装置,其中所述第一存储元单元存储对于从所述一边的地址输入向所述一边输出数据的第一真值表数据、及向所述另一边输出数据的第二真值表数据,且
所述第二存储元单元存储对于从所述另一边的地址输入向所述一边输出数据的第三真值表数据、及向所述另一边输出数据的第四真值表数据,
按照所述第一~第四真值表数据改变所述数据的输出方向。
6.根据项目4所述的半导体装置,其中所述第一存储元单元具有多个存储元,所述多个存储元由从所述一边的第一多地址线指定且输出到所述第一多地址线的两倍数量的第一多数据线,
所述第二存储元单元具有多个存储元,所述多个存储元由从所述另一边的第二多地址线指定且输出到所述第二多地址线的相同数量的第三多数据线,且
所述逻辑部将第一多数据线的一部分及第三多数据线向所述一边输出,并且将所述第一多数据线的另一部分向另一边输出。
通过限制任一存储元单元的反馈方向的输出,可进一步减少所需的存储元的数量。
7.根据项目1至6中任一项所述的半导体装置,其中所述第一及/或第二存储元单元是以如下方式构成:
存储以下真值表数据,并作为逻辑电路进行动作,所述真值表数据用来将存储在由某一所述地址线指定的存储元的值的逻辑运算输出到数据线;及/或
存储以下真值表数据,且作为连接电路进行动作,所述真值表数据用来将存储在由某一所述地址线指定的存储元的值输出到连接在另一逻辑部的地址线的数据线。
8.根据项目1至7中任一项所述的半导体装置,其中所述第一存储元单元及第二存储元单元存储多个真值表数据,且连接在输出指定所述多个真值表数据中的任1个的数据的第二多地址线。
可提供一种能够活用大容量存储器而以页面切换控制的形式控制剩余地址的可再构成的半导体装置。
9.根据项目1至8中任一项所述的半导体装置,其中所述第一存储元单元及第二存储元单元中的任一存储元单元的数据线的一部分连接在所述第二多地址线,并且所述第一存储元单元及第二存储元单元中的任一存储元单元存储输出到所述第二多地址线且用来指定所述多个真值表数据的真值表数据。
也能够活用大容量存储器而进行页面切换控制。
10.根据项目1至8中任一项所述的半导体装置,其中所述第二多条地址线与外部连接。
11.根据项目1至10中任一项所述的半导体装置,其中所述逻辑部包括:
数据输入线;
数据输出线;及
可再构成的逻辑复用器,响应所述真值表数据而选择性地使从所述数据输入线的数据输入、与向所述数据输出线的所述数据输出结合,及/或响应所述真值表数据而将关于所述数据输入进行逻辑运算后的数据向所述数据输出线数据输出;且
通过所述数据输入线及所述数据输出线而连接靠近的所述逻辑部。
12.根据项目11所述的半导体装置,其还包括保持部,该保持部保持从所述存储元单元读出的真值表数据,并且将所述保持的真值表数据输出到所述可再构成的逻辑复用器。
13.根据项目11或12所述的半导体装置,其中所述可再构成的逻辑复用器通过从所述数据输入线的数据输入,而选择并输出保持在所述保持部的真值表数据中的任1个。
14.一种控制方法,其特征在于:是可再构成的半导体装置的控制方法;且
所述半导体装置是
包括相互以地址线或数据线连接的多个逻辑部;且
所述各逻辑部包括:
多条地址线;
多条数据线;
第一地址解码器;
第二地址解码器;
第一存储元单元,具有多个存储元;及
第二存储元单元,具有多个存储元;且
所述第一地址解码器对从所述多条地址线的一部分输入的地址进行解码;
所述第二地址解码器对从所述多条地址线的另一部分输入的地址进行解码;
所述第一存储元单元的存储元由所述第一地址解码器的解码线指定;
所述第二存储元单元的存储元由所述第二地址解码器的解码线指定。
15.根据项目14所述的半导体装置,其中所述存储元单元为多查找表。
16.根据项目14或15所述的控制方法,其中所述逻辑部为矩形状,从一边以多条地址线或多条数据线与其他逻辑部连接,并且从与所述一边为相反侧的另一边以多条地址线或多条数据线与其他逻辑部连接。
17.根据项目16所述的控制方法,其中所述第一存储元单元具有多个存储元,所述多个存储元由从所述一边的第一多地址线指定且输出到所述第一多地址线的两倍数量的第一多数据线,
所述第二存储元单元具有多个存储元,所述多个存储元由从所述另一边的第二多地址线指定且输出到所述第二多地址线的两倍数量的第二多数据线,
所述逻辑部将第一多数据线及第二多数据线的一部分向所述一边输出,并且将所述第一多数据线及第二多数据线的另一部分向另一边输出。
18.根据项目17所述的控制方法,其中所述第一存储元单元存储对于从所述一边的地址输入向所述一边输出数据的第一真值表数据、及向所述另一边输出数据的第二真值表数据,且
所述第二存储元单元存储对于从所述另一边的地址输入向所述一边输出数据的第三真值表数据、及向所述另一边输出数据的第四真值表数据,
按照所述第一~第四真值表数据改变所述数据的输出方向。
19.根据项目17所述的控制方法,其中所述第一存储元单元具有多个存储元,所述多个存储元由从所述一边的第一多地址线指定且输出到所述第一多地址线的两倍数量的第一多数据线,
所述第二存储元单元具有多个存储元,所述多个存储元由从所述另一边的第二多地址线指定且输出到所述第二多地址线的相同数量的第三多数据线,
所述逻辑部将第一多数据线的一部分及第三多数据线向所述一边输出,并且将所述第一多数据线的另一部分向另一边输出。
20.根据项目14至19中任一项所述的控制方法,其中所述第一及/或第二存储元单元是以如下方式构成:
存储以下真值表数据,并作为逻辑电路进行动作,所述真值表数据用来将存储在由某一所述地址线指定的存储元的值的逻辑运算输出到数据线;及/或
存储以下真值表数据,并作为连接电路进行动作,所述真值表数据用来将存储在由某一所述地址线指定的存储元的值输出到连接在另一逻辑部的地址线的数据线。
21.根据项目14至20中任一项所述的控制方法,其中所述第一存储元单元及第二存储元单元存储多个真值表数据,且连接在输出指定所述多个真值表数据中的任1个的数据的第二多地址线。
22.根据项目14至21中任一项所述的控制方法,其中所述第一存储元单元及第二存储元单元中的任一存储元单元的数据线的一部分连接在所述第二多地址线,并且所述第一存储元单元及第二存储元单元中的任一存储元单元存储输出到所述第二多地址线且用来指定所述多个真值表数据的真值表数据。
23.根据项目14至22中任一项所述的控制方法,其中所述第二多条地址线与外部连接。
24.根据项目14至23中任一项所述的控制方法,其中所述逻辑部包括:
数据输入线、
数据输出线、及
可再构成的逻辑复用器,且
通过所述数据输入线及所述数据输出线而连接在靠近的所述逻辑部,
所述可再构成的逻辑复用器响应所述真值表数据而选择性地使从所述数据输入线的数据输入、与向所述数据输出线的所述数据输出结合,且
响应所述真值表数据而将关于所述数据输入进行逻辑运算后的数据向所述数据输出线数据输出。
25.根据项目25所述的控制方法,其中还包括保持部,该保持部保持从所述存储元单元读出的真值表数据,并且将所述保持的真值表数据输出到所述可再构成的逻辑复用器;且
所述可再构成的逻辑复用器通过从所述数据输入线的数据输入,而选择并输出保持在所述保持部的真值表数据中的任1个。
26.一种程序,用来控制可再构成的半导体装置;其特征在于:
所述半导体装置是
包括相互以地址线或数据线连接的多个逻辑部;且
所述各逻辑部包括:
多条地址线;
多条数据线;
第一地址解码器;
第二地址解码器;
第一存储元单元,具有多个存储元;及
第二存储元单元,具有多个存储元;且
所述第一地址解码器对从所述多条地址线的一部分输入的地址进行解码;
所述第二地址解码器对从所述多条地址线的另一部分输入的地址进行解码;
所述逻辑部为矩形状,从一边以多条地址线或多条数据线与其他逻辑部连接,并且从与所述一边为相反侧的另一边以多条地址线或多条数据线与其他逻辑部连接;
所述第一及第二存储元单元分别存储包含真值表数据的程序,且作为逻辑要素及/或连接要素而构成;且
使所述第一或第二存储元单元执行如下处理:
将存储在由在一边连接的所述地址线指定的存储元的值的逻辑运算输出到在与所述一边为相反侧连接的数据线,且作为逻辑电路进行动作;及
将存储在由在一边连接的某一所述地址线指定的存储元的值输出到在与所述一边为相反侧连接的数据线,且作为连接电路进行动作。
27.根据项目26所述的程序,其中所述存储元单元为多查找表。
28.根据项目26或27所述的程序,其中具有输出到第一多地址线的两倍数量的第一多数据线的多个存储元;
所述第二存储元单元具有多个存储元,所述多个存储元由从所述另一边的第二多地址线指定且输出到所述第二多地址线的两倍数量的第二多数据线;且
使所述第一或第二存储元单元执行如下处理:
将第一多数据线及第二多数据线的一部分向所述一边输出;及
将所述第一多数据线及第二多数据线的另一部分向另一边输出。
29.根据项目26所述的程序,其中所述第一存储元单元存储对于从所述一边的地址输入向所述一边输出数据的第一真值表数据、及向所述另一边输出数据的第二真值表数据,且
所述第二存储元单元存储对于从所述另一边的地址输入向所述一边输出数据的第三真值表数据、及向所述另一边输出数据的第四真值表数据,且
使所述第一或第二存储元单元执行如下处理:
按照所述第一~第四真值表数据改变所述数据的输出方向。
30.根据项目29所述的程序,其中所述第一存储元单元具有多个存储元,所述多个存储元由从所述一边的第一多地址线指定且输出到所述第一多地址线的两倍数量的第一多数据线,
所述第二存储元单元具有多个存储元,所述多个存储元由从所述另一边的第二多地址线指定且输出到所述第二多地址线的相同数量的第三多数据线,且
使所述第一或第二存储元单元执行如下处理:
所述逻辑部将第一多数据线的一部分及第三多数据线向所述一边输出,并且将所述第一多数据线的另一部分向另一边输出。
31.根据项目26至30中任一项所述的程序,其中所述第一存储元单元及第二存储元单元中的任一存储元单元的数据线的一部分连接在所述第二多地址线,且
使所述第一存储元单元及第二存储元单元中的任一存储元单元执行如下处理,即,输出到所述第二多地址线且指定所述多个真值表数据。
32.根据项目26至31中任一项所述的程序,其中所述逻辑部包括:
数据输入线、
数据输出线、及
可再构成的逻辑复用器,且
所述存储元单元是
通过所述数据输入线及所述数据输出线而连接在靠近的所述逻辑部,
使所述可再构成的逻辑复用器执行如下处理:响应所述真值表数据而选择性地使从所述数据输入线的数据输入、与向所述数据输出线的所述数据输出结合,且
响应所述真值表数据而将关于所述数据输入进行逻辑运算后的数据向所述数据输出线数据输出。
33.一种存储介质,存储根据项目26至32中任一项所示的程序。
[发明的效果]
本实施方式的半导体装置可通过对邻接的逻辑部进行多比特的数据传送,并且减少向逻辑部中所包含的存储元单元的输入地址数,而减少所需的存储元。而且,可提供一种能够活用大容量存储器而以页面切换控制的形式控制剩余地址的可再构成的半导体装置。
附图说明
图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大致同等的功能的器件,但MRLD的构造不同。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的例子进行说明。所谓逻辑锥是指由对组合逻辑电路的1个输出造成影响的所有输入及逻辑电路元件定义的集合(电路群)。在图4所示的逻辑锥中,虽未图示,但存在以同一时钟移动的多个FF(flipflop,触发器),且由组合逻辑电路将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 SpecificIntegrated Circuit,专用集成电路)中的C语言高阶合成的例子。在C语言高阶合成920中,将C语言的变数作为寄存器,利用组合电路表达其间的运算而构筑功能。该例是安装在FPGA的例子,但与FPGA的逻辑表达一起分解逻辑而使其动作。在C语言高阶合成930中,为利用ASIC而非FPGA进行安装的例子,但ASIC中逻辑表达较为自由,所以总括地进行处理且利用寄存器处理变数数据。这样一来,C语言的处理通常是对数据列进行处理并存储在寄存器中而进行接下来的处理(数据路径处理)。
如图5所示,C语言描述数据流并对数据流进行控制而构筑动作,所以成为单方向的流动。而且,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个以上而提高可构成性,可于输入方向及输出方向分别与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,如20B所示,通过停止FF的使用,可使动作高速化。
[4]2存储元单元型MLUT
以下说明的MLUT包括:多条地址线;多条数据线;第一地址解码器,对从所述多条地址线的一部分输入的地址进行解码;第二地址解码器,对从所述多条地址线的另一部分输入的地址进行解码;第一存储元单元,在所述第一地址解码器的解码线与所述数据线交叉的位置具有存储元;及第二存储元单元,在所述第二地址解码器的解码线与所述数据线交叉的位置具有存储元。
MLUT是从由从地址线输入的地址指定的存储元输出数据,该数据为实现所期望的逻辑要素及/或连接要素的真值表数据。以下,对MLUT的构成、及存储在MLUT的真值表数据进行说明,基于真值表数据的逻辑要素及/或连接要素的“信息处理”是使用MLUT的硬件资源而实现,例如,通过利用地址解码器读出真值表数据而实现。而且,半导体装置的控制方法是通过地址解码器等构成MLUT的硬件、及真值表数据的读出而实现。
[4.1]2个存储元单元
图12是表示本实施方式的MLUT的一例的图。图12所示的MLUT30具有存储元单元31A、31B。存储元单元例如为SRAM(Static Random Access Memory,静态随机存取存储器)。如图12所示,存储元单元31A具有多个存储元,所述多个存储元由从一边的第一多地址线指定且输出到第一多地址线的两倍数量的第一多数据线,存储元单元31B具有多个存储元,所述多个存储元由从另一边的第二多地址线指定且输出到第二多地址线的两倍数量的第二多数据线,MLUT30将第一多数据线及第二多数据线的一部分向一边输出,并且将第一多数据线及第二多数据线的另一部分向另一边输出。
此外,如使用图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用存储元被限定于从右向左方向的真值表数据。存储元单元32B也同样地将输入的地址信号A4~A7的输出数据D0~D7传输到向输入地址侧的输出D4~D7、及向另一存储元单元侧的输出D0~D3。
两存储元单元的输出信号的连接部分构成线或(wired OR)、或以逻辑和(OR)电路连接,所以可传输指定的数据。
这样一来,本实施方式的MLUT在内部具有2个存储元单元,将对于MLUT的地址信号按照地址信号的输入方向输入到2个存储元单元的地址解码器(使用图15A在下文进行叙述)。例如,1个地址解码器对从多条地址线的一部分输入的地址进行解码,另一地址解码器对从多条地址线的另一部分输入的地址进行解码,解码信号指定与各地址解码器连接的存储元。
接着,对图12所示的MLUT的地址线与数据线的关系进行说明。MLUT30为双方向型MLUT,原则上在去路方向(从左向右的方向)使用地址A0~A3,在返路方向(从右向左的方向)使用地址A4~A7。分别准备在去路方向使用的真值表数据、及在返路方向使用的真值表数据。
此外,在不进行反馈处理的情况下,真值表数据将存储元单元31A的D0~D3及存储元单元31B的D4~D7的数据设为“0”。而且,相反地,在进行反馈处理的情况下,将存储元单元31A的D4~D7及存储元单元B31的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具有多个存储元,所述多个存储元由从一边的第一多地址线指定且输出到第一多地址线的两倍数量的第一多数据线,存储元单元31B具有多个存储元,所述多个存储元由从另一边的第二多地址线指定且输出到第二多地址线的相同数量的第三多数据线,MLUT30将第一多数据线的一部分及第三多数据线向一边输出,并且将第一多数据线的另一部分向另一边输出。通过限制任一存储元单元的反馈方向的输出,可进一步减少所需的存储元的数量。如图12所示,配置在右边的存储元单元31C无反馈用的输出D4~D7,而且也不具有用于反馈用输出D4~D7的存储元。去路侧是在存储元单元31A进行运算,在返路中,限制反馈动作,而进行逻辑运算,由此可进一步减小所需的存储元。
[4.2]每个存储元单元的地址解码器
图15A是表示本实施方式的MLUT的电路例的图。图15A所示的MLUT30包含存储元单元31、31B、地址解码器9A、9B、地址选择器11A、11B、I/O(输入输出)缓冲器12A、12B、及数据选择器13A、13B。MLUT30中,存储元单元31、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,所以可大幅削减设计费。但是,在该情况下,变为两倍的存储容量。
这样一来,包含所述MLUT的MRLD对邻接的MLUT进行多比特的数据处理,并且由多个存储元单元构成逻辑部。因为存储元单元与地址线的平方成比例地增加,所以即便数据线的数量相同,如果减少各存储元单元的地址数,也能减少总共所需的存储元的数量。
而且,某一存储元单元与对于从第一方向的地址输入向第一方向、或与第一方向相反的第二方向输出数据的数据线连接,及另一存储元单元与对于从第二方向的地址输入向第二方向或第一方向输出数据的数据线连接,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比特的MLUT。该情况下,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的存储元单元32B不包含将从右方向的输入地址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包含写入放大器、及读出放大器。写入放大器(WriteAmplification)例如当从外部接收写使能(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的信号输出到逻辑动作用数据线D1的方式进行动作。
图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的信号的流动。两点链线表示将输入到第二AD对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,HardwareDescription 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的动作这一情况可作为实施方式的变更而实现。
[符号的说明]
20 MRLD
30 MLUT
31 存储元单元
40 存储元件
60 MLUT阵列

Claims (33)

1.一种可再构成的半导体装置,其特征在于:
包括相互以地址线或数据线连接的多个逻辑部;且
所述各逻辑部包括:
多条地址线;
多条数据线;
第一地址解码器,对从所述多条地址线的一部分输入的地址进行解码;
第二地址解码器,对从所述多条地址线的另一部分输入的地址进行解码;
第一存储元单元,具有由所述第一地址解码器的解码线指定的多个存储元;及
第二存储元单元,具有由所述第二地址解码器的解码线指定的多个存储元。
2.根据权利要求1所述的半导体装置,其中所述存储元单元为多查找表。
3.根据权利要求1或2所述的半导体装置,其中所述逻辑部为矩形状,从一边以多条地址线或多条数据线与其他逻辑部连接,并且从与所述一边为相反侧的另一边以多条地址线或多条数据线与其他逻辑部连接。
4.根据权利要求3所述的半导体装置,其中所述第一存储元单元具有多个存储元,所述多个存储元由从所述一边的第一多地址线指定且输出到所述第一多地址线的两倍数量的第一多数据线;
所述第二存储元单元具有多个存储元,所述多个存储元由从所述另一边的第二多地址线指定且输出到所述第二多地址线的两倍数量的第二多数据线;
所述逻辑部将第一多数据线及第二多数据线的一部分向所述一边输出,并且将所述第一多数据线及第二多数据线的另一部分向另一边输出。
5.根据权利要求4所述的半导体装置,其中所述第一存储元单元存储对于从所述一边的地址输入向所述一边输出数据的第一真值表数据、及向所述另一边输出数据的第二真值表数据;且
所述第二存储元单元存储对于从所述另一边的地址输入向所述一边输出数据的第三真值表数据、及向所述另一边输出数据的第四真值表数据;
按照所述第一~第四真值表数据改变所述数据的输出方向。
6.根据权利要求4所述的半导体装置,其中所述第一存储元单元具有多个存储元,所述多个存储元由从所述一边的第一多地址线指定且输出到所述第一多地址线的两倍数量的第一多数据线;
所述第二存储元单元具有多个存储元,所述多个存储元由从所述另一边的第二多地址线指定且输出到所述第二多地址线的相同数量的第三多数据线;
所述逻辑部将第一多数据线的一部分及第三多数据线向所述一边输出,并且将所述第一多数据线的另一部分向另一边输出。
7.根据权利要求1至6中任一项所述的半导体装置,其中所述第一及/或第二存储元单元是以如下方式构成:
存储以下真值表数据,并作为逻辑电路进行动作,所述真值表数据用来将存储在由某一所述地址线指定的存储元的值的逻辑运算输出到数据线;及/或
存储以下真值表数据,并作为连接电路进行动作,所述真值表数据用来将存储在由某一所述地址线指定的存储元的值输出到连接在另一逻辑部的地址线的数据线。
8.根据权利要求1至7中任一项所述的半导体装置,其中所述第一存储元单元及第二存储元单元存储多个真值表数据,且连接在输出指定所述多个真值表数据中的任1个的数据的第二多地址线。
9.根据权利要求1至8中任一项所述的半导体装置,其中所述第一存储元单元及第二存储元单元中的任一存储元单元的数据线的一部分连接在所述第二多地址线,并且所述第一存储元单元及第二存储元单元中的任一存储元单元存储输出到所述第二多地址线且用来指定所述多个真值表数据的真值表数据。
10.根据权利要求1至8中任一项所述的半导体装置,其中所述第二多地址线与外部连接。
11.根据权利要求1至10中任一项所述的半导体装置,其中所述逻辑部包括:
数据输入线;
数据输出线;以及
可再构成的逻辑复用器,响应所述真值表数据而选择性地使来自所述数据输入线的数据输入与向所述数据输出线的所述数据输出结合,及/或响应所述真值表数据而将关于所述数据输入进行逻辑运算后的数据向所述数据输出线进行数据输出;且
通过所述数据输入线及所述数据输出线而连接靠近的所述逻辑部。
12.根据权利要求11所述的半导体装置,其还包括保持部,该保持部保持从所述存储元单元读出的真值表数据,并且将所述保持的真值表数据输出到所述可再构成的逻辑复用器。
13.根据权利要求11或12所述的半导体装置,其中所述可再构成的逻辑复用器通过从所述数据输入线的数据输入,而选择并输出保持在所述保持部的真值表数据中的任1个。
14.一种控制方法,其特征在于:是可再构成的半导体装置的控制方法;且
所述半导体装置是
包括相互以地址线或数据线连接的多个逻辑部;且
所述各逻辑部包括:
多条地址线;
多条数据线;
第一地址解码器;
第二地址解码器;
第一存储元单元,具有多个存储元;及
第二存储元单元,具有多个存储元;
所述第一地址解码器对从所述多条地址线的一部分输入的地址进行解码;
所述第二地址解码器对从所述多条地址线的另一部分输入的地址进行解码;
所述第一存储元单元的存储元由所述第一地址解码器的解码线指定;
所述第二存储元单元的存储元由所述第二地址解码器的解码线指定。
15.根据权利要求14所述的控制方法,其中所述存储元单元为多查找表。
16.根据权利要求14或15所述的控制方法,其中所述逻辑部为矩形状,从一边以多条地址线或多条数据线与其他逻辑部连接,并且从与所述一边为相反侧的另一边以多条地址线或多条数据线与其他逻辑部连接。
17.根据权利要求16所述的控制方法,其中所述第一存储元单元具有多个存储元,所述多个存储元由从所述一边的第一多地址线指定且输出到所述第一多地址线的两倍数量的第一多数据线;
所述第二存储元单元具有多个存储元,所述多个存储元由从所述另一边的第二多地址线指定且输出到所述第二多地址线的两倍数量的第二多数据线;
所述逻辑部将第一多数据线及第二多数据线的一部分向所述一边输出,并且将所述第一多数据线及第二多数据线的另一部分向另一边输出。
18.根据权利要求17所述的控制方法,其中所述第一存储元单元存储对于从所述一边的地址输入向所述一边输出数据的第一真值表数据、及向所述另一边输出数据的第二真值表数据;且
所述第二存储元单元存储对于来自所述另一边的地址输入向所述一边输出数据的第三真值表数据、及向所述另一边输出数据的第四真值表数据;
按照所述第一~第四真值表数据改变所述数据的输出方向。
19.根据权利要求17所述的控制方法,其中所述第一存储元单元具有多个存储元,所述多个存储元由从所述一边的第一多地址线指定且输出到所述第一多地址线的两倍数量的第一多数据线;
所述第二存储元单元具有多个存储元,所述多个存储元由从所述另一边的第二多地址线指定且输出到所述第二多地址线的相同数量的第三多数据线;
所述逻辑部将第一多数据线的一部分及第三多数据线向所述一边输出,并且将所述第一多数据线的另一部分向另一边输出。
20.根据权利要求14至19中任一项所述的控制方法,其中所述第一及/或第二存储元单元是以如下方式构成:
存储以下真值表数据,并作为逻辑电路进行动作,所述真值表数据用来将存储在由某一所述地址线指定的存储元的值的逻辑运算输出到数据线;及/或
存储以下真值表数据,并作为连接电路进行动作,所述真值表数据用来将存储在由某一所述地址线指定的存储元的值输出到连接在另一逻辑部的地址线的数据线。
21.根据权利要求14至20中任一项所述的控制方法,其中所述第一存储元单元及第二存储元单元存储多个真值表数据,且连接在输出指定所述多个真值表数据中的任1个的数据的第二多地址线。
22.根据权利要求14至21中任一项所述的控制方法,其中所述第一存储元单元及第二存储元单元中的任一存储元单元的数据线的一部分连接在所述第二多地址线,并且所述第一存储元单元及第二存储元单元中的任一存储元单元存储输出到所述第二多地址线且用来指定所述多个真值表数据的真值表数据。
23.根据权利要求14至22中任一项所述的控制方法,其中所述第二多地址线与外部连接。
24.根据权利要求14至23中任一项所述的控制方法,其中所述逻辑部包括:
数据输入线、
数据输出线、及
可再构成的逻辑复用器,且
通过所述数据输入线及所述数据输出线而连接在靠近的所述逻辑部,
所述可再构成的逻辑复用器响应所述真值表数据而选择性地将来自所述数据输入线的数据输入与向所述数据输出线的所述数据输出结合,且
响应所述真值表数据而将关于所述数据输入进行逻辑运算后的数据向所述数据输出线进行数据输出。
25.根据权利要求24所述的控制方法,其中还包括保持部,该保持部保持从所述存储元单元读出的真值表数据,并且将所述保持的真值表数据输出到所述可再构成的逻辑复用器;
所述可再构成的逻辑复用器通过从所述数据输入线的数据输入,而选择并输出保持在所述保持部的真值表数据中的任1个。
26.一种程序,用来控制可再构成的半导体装置;其特征在于:
所述半导体装置是
包括相互以地址线或数据线连接的多个逻辑部;且
所述各逻辑部包括:
多条地址线;
多条数据线;
第一地址解码器;
第二地址解码器;
第一存储元单元,具有多个存储元;及
第二存储元单元,具有多个存储元;且
所述第一地址解码器对从所述多条地址线的一部分输入的地址进行解码;
所述第二地址解码器对从所述多条地址线的另一部分输入的地址进行解码;
所述逻辑部为矩形状,从一边以多条地址线或多条数据线与其他逻辑部连接,并且从与所述一边为相反侧的另一边以多条地址线或多条数据线与其他逻辑部连接;
所述第一及第二存储元单元分别存储包含真值表数据的程序,并作为逻辑要素及/或连接要素而构成;且
使所述第一或第二存储元单元执行如下处理:
将存储在由在一边连接的所述地址线指定的存储元的值的逻辑运算输出到在与所述一边为相反侧连接的数据线,且作为逻辑电路进行动作;及
将存储在由在一边连接的某一所述地址线指定的存储元的值输出到在与所述一边为相反侧连接的数据线,且作为连接电路进行动作。
27.根据权利要求26所述的程序,其中所述存储元单元为多查找表。
28.根据权利要求26或27所述的程序,其中具有输出到第一多地址线的两倍数量的第一多数据线的多个存储元;
所述第二存储元单元具有多个存储元,所述多个存储元由从所述另一边的第二多地址线指定且输出到所述第二多地址线的两倍数量的第二多数据线;且
使所述第一或第二存储元单元执行如下处理:
将第一多数据线及第二多数据线的一部分向所述一边输出;及
将所述第一多数据线及第二多数据线的另一部分向另一边输出。
29.根据权利要求26所述的程序,其中所述第一存储元单元存储对于从所述一边的地址输入向所述一边输出数据的第一真值表数据、及向所述另一边输出数据的第二真值表数据;且
所述第二存储元单元存储对于来自所述另一边的地址输入向所述一边输出数据的第三真值表数据、及向所述另一边输出数据的第四真值表数据;
使所述第一或第二存储元单元执行如下处理:
按照所述第一~第四真值表数据改变所述数据的输出方向。
30.根据权利要求29所述的程序,其中所述第一存储元单元具有多个存储元,所述多个存储元由从所述一边的第一多地址线指定且输出到所述第一多地址线的两倍数量的第一多数据线;
所述第二存储元单元具有多个存储元,所述多个存储元由从所述另一边的第二多地址线指定且输出到所述第二多地址线的相同数量的第三多数据线;且
使所述第一或第二存储元单元执行如下处理:
所述逻辑部将第一多数据线的一部分及第三多数据线向所述一边输出,并且将所述第一多数据线的另一部分向另一边输出。
31.根据权利要求26至30中任一项所述的程序,其中所述第一存储元单元及第二存储元单元中的任一存储元单元的数据线的一部分连接在所述第二多地址线;且
使所述第一存储元单元及第二存储元单元中的任一存储元单元执行如下处理,即,输出到所述第二多地址线且指定所述多个真值表数据。
32.根据权利要求26至31中任一项所述的程序,其中所述逻辑部包括:
数据输入线、
数据输出线、及
可再构成的逻辑复用器;且
所述存储元单元是
通过所述数据输入线及所述数据输出线而连接在靠近的所述逻辑部;
使所述可再构成的逻辑复用器执行如下处理:响应所述真值表数据而选择性地将从所述数据输入线的数据输入与向所述数据输出线的所述数据输出结合,且
响应所述真值表数据而将关于所述数据输入进行逻辑运算后的数据向所述数据输出线进行数据输出。
33.一种存储介质,存储根据权利要求26至32中任一项所示的程序。
CN201380053754.7A 2012-10-28 2013-10-27 可再构成的半导体装置 Expired - Fee Related CN104737450B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2012-237353 2012-10-28
JP2012237353 2012-10-28
PCT/JP2013/079050 WO2014065424A1 (ja) 2012-10-28 2013-10-27 再構成可能な半導体装置

Publications (2)

Publication Number Publication Date
CN104737450A true CN104737450A (zh) 2015-06-24
CN104737450B CN104737450B (zh) 2018-01-19

Family

ID=50544794

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380053754.7A Expired - Fee Related CN104737450B (zh) 2012-10-28 2013-10-27 可再构成的半导体装置

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 (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
CN110612433A (zh) * 2017-05-11 2019-12-24 太阳诱电株式会社 旋转变压器信号的运算处理装置

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI636667B (zh) * 2013-04-02 2018-09-21 Taiyo Yuden Co., Ltd. 可再構成之邏輯元件
US9923561B2 (en) * 2014-10-22 2018-03-20 Taiyo Yuden Co., Ltd. Reconfigurable device
CN104571949B (zh) * 2014-12-22 2017-07-07 华中科技大学 基于忆阻器实现计算与存储融合的处理器及其操作方法
JP6405262B2 (ja) * 2015-02-18 2018-10-17 太陽誘電株式会社 再構成可能な論理デバイス
US10424376B2 (en) * 2017-12-24 2019-09-24 Micron Technology, Inc. Material implication operations in memory
US11475951B2 (en) 2017-12-24 2022-10-18 Micron Technology, Inc. Material implication operations in memory
TWI748877B (zh) * 2021-02-23 2021-12-01 台灣松下電器股份有限公司 洗衣機迴轉盤

Citations (4)

* 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 プログラマブル集積回路を用いた電子回路
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
CN101820278A (zh) * 2003-02-10 2010-09-01 阿尔特拉公司 可分裂的查找表及逻辑元件
WO2011162116A1 (ja) * 2010-06-24 2011-12-29 太陽誘電株式会社 半導体装置

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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 半導体集積回路および製造方法並びにテスト方法
US7170315B2 (en) 2003-07-31 2007-01-30 Actel Corporation Programmable system on a chip
JP4104538B2 (ja) 2003-12-22 2008-06-18 三洋電機株式会社 リコンフィギュラブル回路、リコンフィギュラブル回路を備えた処理装置、リコンフィギュラブル回路における論理回路の機能決定方法、回路生成方法および回路
JP3967737B2 (ja) 2004-07-20 2007-08-29 株式会社東芝 プログラマブル論理回路装置およびプログラマブル論理回路の再構築方法
CN101310442A (zh) 2005-11-28 2008-11-19 太阳诱电株式会社 半导体器件
WO2007114059A1 (ja) 2006-04-05 2007-10-11 Nec Corporation データ処理装置
WO2009001426A1 (ja) 2007-06-25 2008-12-31 Taiyo Yuden Co., Ltd. 半導体装置
JP5260077B2 (ja) 2008-02-15 2013-08-14 太陽誘電株式会社 プログラマブル論理デバイスおよびその構築方法およびその使用方法
JP5140029B2 (ja) 2009-03-30 2013-02-06 太陽誘電株式会社 半導体装置
JP5431003B2 (ja) 2009-04-03 2014-03-05 スパンション エルエルシー リコンフィギュラブル回路及びリコンフィギュラブル回路システム
JP5890733B2 (ja) * 2012-04-09 2016-03-22 太陽誘電株式会社 再構成可能な半導体装置の配置配線方法、そのプログラム、及び配置配線装置
JP5822772B2 (ja) * 2012-04-11 2015-11-24 太陽誘電株式会社 再構成可能な半導体装置
JP5927012B2 (ja) * 2012-04-11 2016-05-25 太陽誘電株式会社 再構成可能な半導体装置
WO2014080872A2 (ja) * 2012-11-20 2014-05-30 太陽誘電株式会社 再構成可能な半導体装置の論理構成方法

Patent Citations (4)

* 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 プログラマブル集積回路を用いた電子回路
CN101820278A (zh) * 2003-02-10 2010-09-01 阿尔特拉公司 可分裂的查找表及逻辑元件
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
WO2011162116A1 (ja) * 2010-06-24 2011-12-29 太陽誘電株式会社 半導体装置

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
CN110612433A (zh) * 2017-05-11 2019-12-24 太阳诱电株式会社 旋转变压器信号的运算处理装置

Also Published As

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

Similar Documents

Publication Publication Date Title
CN104737450A (zh) 可再构成的半导体装置
CN105191139B (zh) 可重构逻辑器件
US5802003A (en) System for implementing write, initialization, and reset in a memory array using a single cell write port
JP6250548B2 (ja) 再構成可能な半導体装置の論理構成方法
US20170047931A1 (en) Reconfigurable semiconductor device
US6243287B1 (en) Distributed decode system and method for improving static random access memory (SRAM) density
US8390319B2 (en) Programmable logic fabric
CN104205104B (zh) 可再构成的半导体装置的配置配线方法及配置配线装置
JPH065070A (ja) シリアルアクセスメモリ
JP3735822B2 (ja) 半導体メモリ装置のデコーディング回路及びデコーディング方法
CN105453436B (zh) 可重构逻辑器件
US9628084B2 (en) Reconfigurable logic device
US7586327B1 (en) Distributed memory circuitry on structured application-specific integrated circuit devices
JP2022533622A (ja) シフト可能メモリ、およびシフト可能メモリを動作させる方法
Priadarshini et al. Low power reconfigurable FPGA based on SRAM
CN103594110A (zh) 替代双端口静态存储器的存储器结构
WO2018207801A1 (ja) プログラム可能なデバイス、その論理構成方法、及びそのプログラム
JP6434368B2 (ja) 高速バスシステム
CN116484781A (zh) 一种fpga配置存储器的版图设计方法
JP2008257779A (ja) メモリマクロセルおよびそれを用いた半導体装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20180119

Termination date: 20211027

CF01 Termination of patent right due to non-payment of annual fee