半导体装置的制作方法

文档序号:18301459发布日期:2019-07-31 10:11阅读:168来源:国知局
本案是分案申请。该分案的母案是申请日为2014年4月2日、申请号为201480017645.4、发明名称为“半导体装置”的发明专利申请案。本发明涉及一种半导体装置,特别是涉及一种构成为单独体的芯片的系统单芯片(systemonchip)器件或可重构半导体装置。
背景技术
::伴随lsi(largescaleintegration,大规模集成电路)的集成度提高,可实现构成为在硅上构成系统的芯片的微型计算机(microcomputer)即被称为soc(systemonchip,系统单芯片)的lsi。在soc中,多数情况下在芯片内部搭载存储器,所搭载的存储器的存储容量逐年增大。实现为soc且为了特定的用途而设计、制造的asic(applicationspecificintegratedcircuit,专用集成电路)存在为了减少耗电而进行被称为电压岛(voltageisland)的省电设计的情况。在电压岛中,可将asic内的电路分割成多个模块,控制电源栅极(powergate)电路,而针对所分割的各个模块独立地对电源进行接通/断开切换。而且,通过切断(断开)未使用的模块的电源,可消除该模块的泄漏电流(leakcurrent)。如果使用该技术,那么可将不需要的大部分电路的电源断开,因此可将asic的泄漏电流抑制为最小限度。
背景技术
:文献专利文献专利文献1:日本专利特开2006-172335号公报技术实现要素:[发明要解决的问题]如上所述,在soc内部,通过停止对未使用的模块供给电源而抑制电力消耗。但是,在sram(staticrandomaccessmemory,静态随机存取存储器)的情况下,如果将电源断开,那么所保持的数据会消失,因此当cpu(centralprocessingunit,中央处理器)进行存取时,使同步sram的电压上升而进行存取,当cpu未进行存取时,使同步sram的电压降低至可保持缓存(cache)内容的保留电平。为了抑制这种电力消耗,而导入电源栅极电路,在无存取的情况下,使电源断开以谋求省电化,但通常在有存取的情况下,电源保持接通的状态。总之,在
背景技术
:中,为了降低耗电,必须由cpu进行复杂的控制。而且,高速缓冲存储器中所使用的sram是使用同步sram。由于地址线或各种控制信号与时钟信号同步地动作,因此同步sram是根据时钟信号来选择字线(wordline)中的任一个。另一方面,与时钟信号非同步地动作的非同步sram即使在无时钟的情况下,字线仍有效,因此与同步sram相比,耗电较大。进而,如果对进行管线(pipeline)处理的cpu的高速缓冲存储器使用非同步sram,那么无法在特定的周期内进行数据读出,而发生管线暂停(pipelinestall),因此未采用非同步sram。为了解决所述问题,本发明的一实施方式的目的在于,利用与处理器所同步的时钟非同步地使字线有效的存储部,抑制系统单芯片器件的耗电。[解决问题的技术手段]解决所述问题的实施方式是作为如以下项目组所示的系统单芯片器件而实现。1.一种系统单芯片器件,其特征在于具备:处理器,与时钟同步地执行运算处理;存储部,与所述时钟非同步地动作;以及地址转换检测部,检测从所述处理器输出到所述存储部的地址的转换;且所述地址转换检测部当检测出所述地址的转换时,使所述非同步地动作的存储部的字线有效。2.根据项目1所述的系统单芯片器件,其中所述存储部当检测出所述地址的转换时,根据所述地址产生时钟,所述存储部是与所述产生的时钟同步地使所述字线有效。3.根据项目1或2所述的系统单芯片器件,其中所述存储部具有锁存部,所述地址转换检测部当未检测出所述地址的转换时,所述存储部将保持于所述锁存部的数据输出到所述处理器。4.根据项目1至3中任一项所述的系统单芯片器件,其具有多个所述存储部,且该存储部各自具备地址转换检测部。5.根据项目1至4中任一项所述的系统单芯片器件,其中所述存储部是根据构成数据而构成逻辑电路的可编程逻辑器件,且具有存储器用地址线及数据输出线。6.根据项目1至5中任一项所述的系统单芯片器件,其中所述存储部是构成为:存储用来将由多条地址线特定出的输入值的逻辑运算输出到数据线的真值表数据,且作为逻辑电路动作;及/或,存储用来将由某一条地址线特定出的输入值输出到连接于另一存储部的地址线的数据线的真值表数据,且作为连接电路动作;且所述存储部具有第一及第二存储元单元;所述第一存储元单元连接于向所述存储部输入的多条地址线的一部分;所述第二存储元单元连接于向所述存储部输入的多条地址线的另一部分。7.根据项目6所述的系统单芯片器件,其中所述第一及第二存储元单元是存储真值表数据,且作为连接电路动作,所述真值表数据是用来对从第一方向的地址输入向所述第一方向进行数据输出,或者对从与所述第一方向相反的第二方向的地址输入向所述第二方向进行数据输出。8.根据项目6所述的系统单芯片器件,其中所述第一及第二存储元单元是存储用来对从所述第一方向的地址输入向所述第二方向进行数据输出的真值表数据,且作为连接电路动作。9.根据项目6所述的系统单芯片器件,其中将从所述存储部输出的多条数据线分开输出到其他两个所述存储部。[发明的效果]本发明的一实施方式可利用与处理器同步地动作的时钟非同步的存储部来抑制系统单芯片器件的耗电。附图说明图1是表示第一实施方式的soc的构成例的图。图2是表示高速缓冲存储器的电路图。图3是本实施方式的地址转换检测部的电路图。图4是图3所示的地址转换检测的信号的时序图。图5是将mrld用作高速缓冲存储器的soc的一个示例。图6a是表示本实施方式的半导体装置的整体构成的第一例的图。图6b是表示mlut阵列的一个示例的图。图7是表示mlut的一个示例的图。图8是表示作为逻辑电路动作的mlut的一个示例的图。图9是表示图8所示的逻辑电路的真值表的图。图10是表示作为连接要素动作的mlut的一个示例的图。图11是表示图10所示的连接要素的真值表的图。图12是表示利用具有4个ad对的mlut来实现的连接要素的一个示例的图。图13是表示1个mlut作为逻辑要素及连接要素动作的一个示例的图。图14表示图14所示的逻辑要素及连接要素的真值表。图15是表示利用具有ad对的mlut来实现的逻辑动作及连接要素的一个示例的图。图16是概略性地表示横向堆积包含两个存储元单元的mlut而构成的mlut的图。图17是表示使用有大容量存储器的mlut的一个示例的图。图18是表示图17所示的mlut的电路例的图。图19是说明使用有图17所示的mlut的mrld的图。图20是表示外部系统与mrld的连接一例的概念图。图21是表示第二实施方式的可进行同步非同步切换的mlut的电路例的图。图22是表示信息处理装置的硬件构成的一个示例。具体实施方式以下,参照附图,作为半导体装置的第一实施方式,对系统单芯片器件进行说明,其次,作为半导体装置的第二实施方式,对可重构半导体装置进行说明。第一实施方式系统单芯片器件[1]soc图1是表示本实施方式的soc的构成例的图。作为图1所示的系统单芯片器件的soc10例如具备作为cpu的处理器200、sram300及地址转换检测部100。对处理器200及高速缓冲存储器300,从soc10整体的电源vdd直接供给电力。而且,对处理器200供给系统时钟,处理器200包含与时钟同步地对管线处理执行运算处理的至少一个处理器核心210及l1缓存220,且是针对每一处理器核心包含l1缓存220。l1缓存220是最接近相关的处理器核心而设置的相对较小的存储器缓存,且以将对命令及数据的高速存取赋予至相关的处理器核心210的方式构成。在管线方式中,处理器具有实现其功能的多条管线(命令控制管线、运算管线、分支控制管线等)。而且,各管线分别被分割为多个阶段(stage)。各阶段包含实现特定步骤的电路单元,且以在动作频率的倒数即被称为周期时间的期间内,使被分配至各阶段的特定步骤结束的方式动作。而且,先前步骤的阶段的输出信号例如被用作后续步骤的阶段的输入信号。处理器200也可以还包含至少一个l2缓存250。l2缓存250构成为,与l1缓存220相比相对较大,且与一个或多个l1缓存建立关联,对已建立关联的一个或多个l1缓存供给数据。例如,处理器核心210向l2缓存250请求未包含于该关联的l1缓存中的数据。因此,由处理器核心210请求的数据是从l2缓存250进行检索,并保存至与处理器核心210相关的l1缓存。在本发明的一实施例中,l1缓存210及l2缓存220也可以是以sram为基础的装置。在l2缓存250中发生缓存未命中的情况下,由处理器核心210请求的数据可从高速缓冲存储器300检索。在图1中,高速缓冲存储器300为l3缓存,但在无l2缓存250的处理器200中,高速缓冲存储器300相当于l2缓存。l3缓存300与l1缓存220及l2缓存250相比相对较大。图1中表示出单一的l3缓存300,但也可以安装多个l3缓存300。l1缓存210既可与多个l2缓存250建立关联,也可构成为与相关的l2缓存250交换数据。一个或多个高等级的缓存、例如l4缓存也可以包含在soc10中。也可以使各高等级的缓存与低一等级的一个或多个缓存建立关联。此外,图1中将l3缓存300的数量表示为一个,但也可以是多个。[2]高速缓冲存储器图2是表示高速缓冲存储器的电路图。高速缓冲存储器300是与时钟非同步地动作的存储器,例如为sram。高速缓冲存储器300具有地址转换检测部100、存储元302、传感放大器303、锁存部304、解码器305及比较电路306。高速缓冲存储器300是在解码器305的前段具有地址转换检测部100。地址转换检测部100一接收地址信号,便会产生时钟(atd_clk)。而且,构成为,当地址转换检测部100检测出地址转换时,解码器305与时钟同步地动作。当地址转换检测部100未检测出地址转换时,所要产生的时钟(atd_clk)并未产生,高速缓冲存储器300未动作,从而可削减电力。在此情况下,根据来自处理器200的时钟,将被保持于锁存部304的数据输出到处理器200。当地址转换检测部100检测地址转换时,地址转换检测部100输出芯片使能信号(atd_ce)的信号电平“low”,且输入时钟(atd_clk),字线仅在其hi的期间内有效,因此解码器305对地址(atd_ad)进行解码,将由该解码信号特定出的字线激活。连接于激活字线的存储元使未图示的列线(columnline)的电位变化。传感放大器303是通过检测使列线的电位变化放大的信号,而将比特保持于锁存部304。比较电路306是将从传感放大器303输出的标签与实体地址的标签进行比较。如果两个标签一致(以下称为“缓存命中”),那么根据与时钟(atd_clk)同步的解码器305的输出,锁存部305中所保持的数据被输出到处理器200。如果标签不一致(以下称为“缓存未命中”),那么将缓存未命中信号输出到处理器200。此外,以时钟的输入比解码器305的输出延迟的方式,将地址及时钟输出到高速缓冲存储器300。该时序是在下文用图4进行叙述。此外,图2表示出一个高速缓冲存储器300,但该高速缓冲存储器300也可以存在多个。当存在多个高速缓冲存储器300时,从处理器200供给的地址被供给至多个高速缓冲存储器300,且缓存命中的高速缓冲存储器300将利用地址特定出的数据输出到处理器200。[3]地址转换检测部图3是本实施方式的地址转换检测部的电路图。图2所示的地址转换检测部100具有否定逻辑和(nor)电路110a、110b、逻辑和(or)电路120、排他性逻辑和(eor)电路130、延迟电路140a~140c、触发器(ff)150、反相器160b及d锁存器170。图4是图3所示的地址转换检测的信号的时序图。以下,说明图3及图4,对地址转换检测的电路动作进行说明。信号s1是从处理器输出的地址输入信号。信号s2是d锁存器的输出。d锁存器170是当信号s1存在变化时以在固定期间内不发生变化的方式进行锁存。其原因在于,因噪声等而忽视后续的地址转换。信号s3是从d锁存器170输出的延迟信号。如图3所示,延迟信号是利用上升及下降而制作时钟,为了产生信号s4的时钟宽度,利用延迟电路140b使其延迟。作为时钟信号而产生的信号s4检测变化,并从eor130输出。eor130中,由于被输入延迟电路140b的输入及输出,因此当两者的信号电平不同时,输出信号电平“high”。由此,可检测出地址转换。图4所示的s4的时间t1表示从逻辑地址的变化检测至ff取入为止的时间,时间t2表示从逻辑地址变化检测至存储元单元读出为止的时间。or电路120中,与信号s4一并输入另一地址转换的信号,且输出or运算值。or电路120的输出是利用延迟电路140c而延迟,且输出信号s5。信号s5是从延迟电路140c输出的延迟信号,等待lat170的使能信号而输入时钟。信号s6为信号s5的信号延长,且为使能信号的脉冲产生。nor电路110a输出作为信号s5与s6的nor运算值的信号s7。而且,信号s7成为d锁存器170的使能信号。信号s8是利用反相器160a使信号s5反转所得的信号,利用ff150而用作地址信号的锁存器的时钟。信号s9被用作处于后段的存储部200的使能,信号s10被用作存储部200的时钟(atd_clk),信号s11被用作存储部200的地址。图4的信号s10表示从逻辑地址的变化检测至从存储器读出为止的时间。在如此进行处理器核心210的数据请求的情况下,具有该地址变化而产生时钟,从而驱动存储器,因此存储器在需要时动作,在不需要时不驱动存储器,而可自主地实现低耗电化。[4]可重构的逻辑器件的利用将所述高速缓冲存储器用作可重构的器件是有效地使用半导体资源的优选例。将可重构的逻辑器件称为mrld(memorybasedreconfigurablelogicdevice,基于存储器的可重构逻辑器件)(注册商标)。mrld是与本发明申请人所开发的利用存储元单元实现电路构成的“mpld(memory-basedprogrammablelogicdevice,基于存储器的可编程逻辑器件)”(注册商标)同样地,在各mlut(multilook-up-table,多查找表)间不介置配线要素而直接连接的方面共通,但在有效地活用作为存储器ip(internetprotocol,互联网协议)而供给的同步sram的功能的方面有区别。此外,虽然未图示,但在以下记载中的mlut中具备地址转换检测部,且即使为同步sram也非同步化。这与非同步化同时地,对于不构成逻辑的区块未输入输入信号,而未发生地址转换,从而可削减电力。构成逻辑的块由于被输入有输入信号,因此产生时钟,可输出特定的逻辑值。以下,按照4.1mrld的整体构成、4.2多向配置mlut、4.3mlut的逻辑动作、4.4双向配置mlut的顺序,对将mrld应用于高速缓冲存储器的示例进行说明。图5是将mrld用作高速缓冲存储器的soc的一个示例。图5中表示出一个mrld,但也可以像图2所说明那样存在多个。4.1mrld的整体构成图6a所示的20是mrld的一个示例。mrld20具有多个利用同步sram的mlut30、呈阵列状配置的mlut阵列60、特定出mlut30的存储器读出动作、写入动作的行解码器12及列解码器14。mlut30包括同步sram。在存储器的存储元件中分别存储被视作真值表的数据,由此,mlut30进行作为逻辑要素或连接要素、或者逻辑要素及连接要素动作的逻辑动作。在mrld20的逻辑动作中,使用以实线表示的逻辑用地址la、及逻辑用数据ld的信号。逻辑用地址la被用作逻辑电路的输入信号。而且,逻辑用数据ld被用作逻辑电路的输出信号。mlut30的逻辑用地址la与邻接的mlut的逻辑动作用数据ld的数据线连接。通过mrld20的逻辑动作来实现的逻辑是通过存储在mlut30的真值表数据来实现。若干个mlut30是以作为and(与)电路、加法器等的组合电路的逻辑要素的形式动作。其他mlut是作为将实现组合电路的mlut30间连接的连接要素动作。用来使mlut30实现逻辑要素、及连接要素的真值表数据的重写是通过对存储器进行写入动作而完成。mrld20的写入动作是通过写入用地址ad及写入用数据wd来进行,读出动作是通过写入用地址ad及读出用数据rd来进行。写入用地址ad是特定出mlut30内的存储元的地址。写入用地址ad是基于m条信号线特定出2的m次方的数n个存储元。行解码器12是经由m条信号线接收mlut地址,并且对mlut地址进行解码,选择并特定出成为存储器动作的对象的mlut30。存储器动作用地址是在存储器的读出动作、写入动作这两者的情况下使用,经由m条信号线由行解码器12、列解码器14进行解码,选择成为对象的存储元。此外,在本实施方式中,虽然在下文进行叙述,但逻辑用动作地址la的解码是利用mlut内的解码器来进行。行解码器12是根据读出使能(readenable)信号re、写入使能(writeenable)信号we等控制信号,对写入用地址ad的m比特中的x比特进行解码,且对mlut30输出解码地址n。解码地址n被用作特定出mlut30内的存储元的地址。列解码器14是对写入用地址ad的m比特中的y比特进行解码,且具有与行解码器12相同的功能,而对mlut30输出解码地址n,并且输入写入用数据wd的输出及读出用数据rd。此外,在mlut的阵列为s行t列的情况下,从mlut阵列60将n×t比特的数据输入到行解码器12。此处,为了选择各行的每一行mlut,行解码器输出o行的re、we。也就是说,o行相当于mlut的s行。此处,通过使o比特中的仅1比特作用,可选择特定的存储元的字线。而且,由于t个mlut输出n比特的数据,因此可从mlut阵列60选择n×t比特的数据,且为了选择其中的1列而使用列解码器14。4.2多向配置mlut图6b是表示mlut阵列的一个示例的图。如图所示,mlut阵列60是将mlut30呈阵列状配置而成。关于用作mlut30的存储器,地址线的宽度与数据线的宽度相等。如图6b的右上,使地址线与数据线的各1比特成对而定义虚拟的双向线。在mrld中将该虚拟的双向线称为“ad对”。通过使用地址线的宽度与数据线的宽度为n比特的存储器,可实现具有n条ad对的mlut。作为mrld的逻辑的动作是通过将写入构成mlut30的存储器的数据视作真值表来实现。4.3mlut的逻辑动作a.逻辑要素图7是表示mlut的一个示例的图。图7中,为了简化说明,而省略地址切换电路10a、及输出数据切换电路10b的记载。图7所示的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的逻辑用地址输入la线a0。同样地,mlut30b的逻辑动作用数据线d0是基于输入到mlut30b的逻辑用地址输入la线a0~a3的信号,而将连接于逻辑动作用数据线d0的16个存储元件中的任一个存储元件中所存储的信号输出到mlut30a的逻辑用地址输入la线a2。如此,mlut彼此的链接是使用一对地址线与数据线。以下,像mlut30a的逻辑用地址输入la线a2、及逻辑动作用数据线d2那样,将用于mlut的链接的地址线与数据线的对称为“ad对”。此外,图7中,mlut30a、30b所具有的ad对为4个,但ad对的数量并未如下所述特别限定为4。图8是表示作为逻辑电路动作的mlut的一个示例的图。本例中,将逻辑用地址输入la线a0及a1设为2输入nor电路701的输入,将逻辑用地址输入la线a2及a3设为2输入nand(与非)电路702的输入。而且,构成如下逻辑电路:将2输入nor电路701的输出与2输入nand电路702的输出向2输入nand电路703输入,将2输入nand电路703的输出向逻辑动作用数据线d0输出。图9是表示图8所示的逻辑电路的真值表的图。图8的逻辑电路为4输入,因此将输入a0~a3的所有输入用作输入。另一方面,输出仅为一个,因此仅将输出d0用作输出。在真值表的输出d1~d3的栏中记载有“﹡”。这表示可以是“0”或“1”中的任一值。然而,实际上,在为了重构而将真值表数据写入mlut时,必须在这些栏中写入“0”或“1”中的任一值。b.连接要素图10是表示作为连接要素动作的mlut的一个示例的图。图10中,作为连接要素的mlut是以如下方式动作:将逻辑用地址输入la线a0的信号输出到逻辑动作用数据线d1,将逻辑用地址输入la线a1的信号输出到逻辑动作用数据线d2,将逻辑用地址输入la线a2的信号输出到逻辑动作用数据线d3。作为连接要素的mlut进而以将逻辑用地址输入la线a3的信号输出到逻辑动作用数据线d0的方式动作。图11是表示图10所示的连接要素的真值表的图。图10所示的连接要素为4输入4输出。因此,使用输入a0~a3的所有输入、及输出d0~d3的所有输出。根据图11所示的真值表,mlut是作为如下连接要素动作:将输入a0的信号输出到输出d1,将输入a1的信号输出到输出d2,将输入a2的信号输出到输出d3,将输入a3的信号输出到输出d0。图12是表示通过具有ad对0、ad对1、ad对2及ad对3的4个ad对的mlut而实现的连接要素的一个示例的图。ad0具有逻辑用地址输入la线a0及逻辑动作用数据线d0。ad1具有逻辑用地址输入la线a1及逻辑动作用数据线d1。ad2具有逻辑用地址输入la线a2及逻辑动作用数据线d2。而且,ad3具有逻辑用地址输入la线a3及逻辑动作用数据线d3。在图12中,二点链线表示将输入到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的信号的流动。此外,图12中,mlut30所具有的ad对为4个,但ad对的数量并不特别限定于4。c.逻辑要素与连接要素的组合功能图13是表示一个mlut作为逻辑要素及连接要素动作的一个示例的图。图13的示例中,构成如下逻辑电路:将逻辑用地址输入la线a0及a1设为2输入nor电路121的输入,将2输入nor电路121的输出及逻辑用地址输入la线a2设为2输入nand电路122的输入,将2输入nand电路122的输出向逻辑动作用数据线d0输出。而且,同时,构成将逻辑用地址输入la线a3的信号输出到逻辑动作用数据线d2的连接要素。图14中,表示图13所示的逻辑要素及连接要素的真值表。图13的逻辑动作是使用输入d0~d3的3个输入,且使用一个输出d0作为输出。另一方面,图14的连接要素是构成将输入a3的信号输出到输出d2的连接要素。图15是表示通过具有ad0、ad1、ad2及ad3的4个ad对的mlut而实现的逻辑动作及连接要素的一个示例的图。与图12所示的mlut同样地,ad0具有逻辑用地址输入la线a0及逻辑动作用数据线d0。ad1具有逻辑用地址输入la线a1及逻辑动作用数据线d1。ad2具有逻辑用地址输入la线a2及逻辑动作用数据线d2。而且,ad3具有逻辑用地址输入la线a3及逻辑动作用数据线d3。如上所述,mlut30是利用一个mlut30实现3输入1输出的逻辑动作与1输入1输出的连接要素的两个动作。具体来说,逻辑动作是使用ad对0的逻辑用地址输入la线a0、ad对1的逻辑用地址输入la线a1及ad对2的逻辑用地址输入la线a2作为输入。而且,将ad对0的逻辑动作用数据线d0的地址线用作输出。而且,连接要素是如虚线所示将输入到ad对3的逻辑用地址输入la线a3的信号向ad对2的逻辑动作用数据线d2输出。4.4双向配置mlut图16是概略性地表示横向堆积包含两个存储元单元的mlut而构成的mlut的图。图16所示的mlut30是从左方向有图17所示的地址a0l~a7l的输入,以及从右方向有图17所示的地址a0r~a7r的输入,而且,向左方向有图17所示的数据d0l~d7l的输出,向右方向有图17所示的数据d0r~d7r的输出。n值=8的mlut在以往的方式中成为1m比特,且clb(configurablelogicblock,可配置逻辑块)相当是大规模化为4m比特。相对于此,本发明中,如下所述,包括8k(256字符×16比特×两个mlut)比特。图17是表示使用有大容量存储器的mlut的一个示例的图。图18是表示图17所示的mlut的电路例的图。图18所示的mlut30具有存储元单元31a、31b。存储元单元例如为sram。如图18所示,存储元单元31a具有由从一边的第一多条地址线特定出且输出到第一多条地址线的两倍数量的第一多条数据线的多个存储元,存储元单元31b具有由从另一边的第二多条地址线特定出且输出到第二多条地址线的两倍数量的第二多条数据线的多个存储元,mlut30将第一多条数据线及第二多条数据线的一部分向一边输出,并且将第一多条数据线及第二多条数据线的另一部分向另一边输出。各存储元单元是在每一方向将真值表数据存储在存储元。因此,在存储元单元31a及31b各自中存储从右向左方向用的真值表数据、及从左向右方向用的真值表数据。也就是说,mlut存储分别规定特定的数据输出方向的两个真值表数据。与地址数相比,更增加各存储元单元的数据数,并且使从各存储元单元输出数据的方向为双向,由此,可减少必要的存储元的数量,且可向双向输出数据。图19是表示比图18所示的mlut更详细的电路例。图19所示的mlut30具有存储元单元31a、31b、地址解码器9a、9b、地址选择器11a、11b、i/o(input/output,输入输出)缓冲器12a、12b、及数据选择器13a、13b。mlut30中,存储元单元31a、31b分别具有地址解码器、地址选择器、i/o缓冲器及数据选择器。向存储元单元31a、31b的输入地址分别成为地址a0l~a7l、a8~a15、及地址a0r~a7r、a8~a15。因此,存储元单元31a、31b成为2的16次方(65,536)字符×8比特的512k的大容量。图18中,存储元单元31a、31b分别具有地址a0l~a7l、a8~a15、及地址a0r~a7r、a8~a15的输入。此外,图18为概略图,未表示作为存储元单元的周边电路的解码器等,关于解码器,针对各存储元单元的每一个准备图19中所说明的解码器9a、9b,且配置在地址选择器11a、11b与存储元单元31a、31b之间。因此,解码器也可以对从地址选择器11a、11b、14a、14b输出的所有地址进行解码。地址选择器11a、11b、14a、14b是用来切换逻辑动作用的地址线或写入用的地址的选择电路。当存储元为单端口时,需要行选择器。当将存储元设为双端口时,无需行选择器。数据选择器13a、13b是切换输出数据或写入数据wd的选择电路。mrld即使不经过与专用的小型sram相关的半导体设计试制、制造,也可以利用以往的大容量的存储器器件。在利用芯片构成mrld时,使用存储器ip(intellectualproperty,知识产权),但在以往的mlut所追求的微小存储器容量中,地址解码器或传感放大器的面积大,存储器自身的构成比率变为50%以下。这种情况也成为mrld的负担,而导致效率差。如果成为大容量存储器,那么在地址解码器或传感放大器中比率降低,存储器使用效率提高。因此,适合大容量存储器的本发明在mrld芯片的情况下变得有效。图20是表示外部系统与mrld的连接一例的概念图。外部系统120是利用信息处理装置或soc而实现的器件。外部系统120是与图17所示的mrld20连接,接收从mrld20的数据输出,并且进行判断页面切换的逻辑运算,经由该连接,将页面切换信号输出到地址a8~a15。外部系统可通过搭载soc而实现与mrld20一并高功能化的器件。第二实施方式可重构半导体装置mpld具有与在每个存储元单元具有专用切换电路的fpga不同的存储元单元,进而,能以标准cmos(complementarymetaloxidesemiconductor,互补金属氧化物半导体)逻辑工艺制造,因此可实现低价格。但是,由于mpld并非同步型,因此在作为同步存储器使用的情况下,其性能不足。因此,申请人在日本专利特开2013-219699号公报中提出可在存储元单元的标准制造工艺中用作同步型存储器的mpld。所述公报中,使包含与时钟同步的同步型存储器、及与时钟非同步的非同步存储器的成对的存储器作为可进行同步非同步切换的mlut动作。然而,在标准工艺中,优选采用同步型存储器。解决所述问题的实施方式是如以下的项目组所示,使用同步sram来实现可进行同步非同步切换且可重构的半导体装置。1.一种可重构半导体装置,其特征在于:具备相互利用地址线或数据线连接的多个逻辑部;所述各逻辑部具备:多条地址线;多条数据线;时钟信号线,接收系统时钟信号;第一及第二存储元单元,与时钟信号同步地动作;第一地址解码器,对地址信号进行解码,并将解码信号输出到所述第一存储元单元;第二地址解码器,对地址信号进行解码,并将解码信号输出到所述第二存储元单元;以及地址转换检测部,当检测出从所述多条地址线输入的地址信号的转换时,产生内部时钟信号,并将所述内部时钟信号输出到所述第一存储元单元;且所述第一存储元单元是与所述内部时钟信号同步地动作,所述第二存储元单元是与所述系统时钟信号同步地动作。2.根据项目1所述的可重构半导体装置,其构成为,连接于所述第一存储元单元的数据线与连接于所述第二存储元单元的数据线相互连接,并输出逻辑和;以及在不使用任何一个存储元单元的情况下,对该未使用的存储元单元全部写入0。3.根据项目10或11所述的可重构半导体装置,其还具备:第三及第四存储元单元,与时钟信号同步地动作;第三地址解码器,将地址信号进行解码,并将解码信号输出到所述第三存储元单元;以及第四地址解码器,将地址信号进行解码,并将解码信号输出到所述第四存储元单元;且该可重构半导体装置构成为:所述第三存储元单元是与所述内部时钟信号同步地动作,所述第四存储元单元是与所述系统时钟信号同步地动作;且所述第一及第二地址解码器是将从所述多条地址线的一部分输入的地址进行解码;所述第三及第四地址解码器是将从所述多条地址线的另一部分输入的地址进行解码。4.根据项目1至3中任一项所述的可重构半导体装置,其中所述存储元单元是存储构成配线要素及/或逻辑要素的真值表数据,并作为多查找表动作。5.根据项目4所述的可重构半导体装置,其存储以不产生跨及所述第一及第三存储元单元的逻辑运算作为禁止逻辑的方式构成的真值表数据。6.一种可重构半导体装置的控制方法,其特征在于:所述半导体装置是具备相互以地址线或数据线连接的多个逻辑部;且所述各逻辑部具备:多条地址线;多条数据线;时钟信号线,接收系统时钟信号;第一地址解码器;第二地址解码器;第一存储元单元,具有多个存储元,且与时钟信号同步地动作;第二存储元单元,具有多个存储元,且与时钟信号同步地动作;以及地址转换检测部,当检测出从所述多条地址线输入的地址信号的转换时,产生内部时钟信号,并将所述内部时钟信号输出到所述第一存储元单元;且所述第一地址解码器是将所述地址信号进行解码,并将解码信号输出到所述第一存储元单元;所述第二地址解码器是将所述地址信号进行解码,并将解码信号输出到所述第二存储元单元;所述第一存储元单元是与所述内部时钟信号同步地动作;所述第二存储元单元是与所述系统时钟信号同步地动作。7.根据项目6所述的可重构半导体装置的控制方法,其构成为,连接于所述第一存储元单元的数据线与连接于所述第二存储元单元的数据线相互连接,并输出逻辑和;以及在不使用任何一个存储元单元的情况下,对该未使用的存储元单元全部写入0。8.根据项目6或7所述的可重构半导体装置的控制方法,其中该可重构半导体装置还具备:第三及第四存储元单元,与时钟信号同步地动作;第三地址解码器,将地址信号进行解码,并将解码信号输出到所述第三存储元单元;以及第四地址解码器,将地址信号进行解码,并将解码信号输出到所述第四存储元单元;且所述第三存储元单元是与所述内部时钟信号同步地动作,所述第四存储元单元是与所述系统时钟信号同步地动作;且所述第一及第二地址解码器是将从所述多条地址线的一部分输入的地址进行解码;所述第三及第四地址解码器是将从所述多条地址线的另一部分输入的地址进行解码。9.根据项目6至8中任一项所述的可重构半导体装置的控制方法,其中所述存储元单元存储构成配线要素及/或逻辑要素的真值表数据,并作为多查找表动作。10.一种程序,用来控制可重构半导体装置,其特征在于:所述半导体装置是具备相互以地址线或数据线连接的多个逻辑部;且所述各逻辑部具备:多条地址线;多条数据线;时钟信号线,接收系统时钟信号;第一地址解码器;第二地址解码器;第一存储元单元,具有多个存储元,且与时钟信号同步地动作;第二存储元单元,具有多个存储元,且与时钟信号同步地动作;以及地址转换检测部,当检测出从所述多条地址线输入的地址信号的转换时,产生内部时钟信号,并将所述内部时钟信号输出到所述第一存储元单元;且所述第一地址解码器是将所述地址信号进行解码,并将解码信号输出到所述第一存储元单元;所述第二地址解码器是将所述地址信号进行解码,并将解码信号输出到所述第二存储元单元;所述第一存储元单元是与所述内部时钟信号同步地动作,所述第二存储元单元是与所述系统时钟信号同步地动作;连接于所述第一存储元单元的数据线与连接于所述第二存储元单元的数据线相互连接,并输出逻辑和;所述第一及第二存储元单元分别存储由真值表数据构成的程序,并构成为逻辑要素及/或连接要素;且该程序使所述第一或第二存储元单元执行如下处理:将存储在由在一边连接的所述地址线特定出的存储元的值的逻辑运算输出到在与所述一边相反一侧连接的数据线,并作为逻辑电路动作;在不使用任何一个存储元单元的情况下,以对该未使用的存储元单元全部输出0的方式动作。11.一种存储媒体,存储根据项目10所述的程序。以下,使用附图,对可重构半导体装置进行说明。1.可重构半导体装置作为第二实施方式的可重构半导体装置包含mlut,但此处说明的mlut为双向配置mlut,具有与图16及图17中所说明的mlut相同的功能构成。但是,与所述双向配置mlut不同,具备同步动作用的存储元单元及非同步动作用的存储元单元。同步动作用的存储元单元或非同步动作用的存储元单元构成对,但作为逻辑要素及/或连接要素动作的存储元单元为任一个。利用线或(wiredor)连接或者or(或)电路将两者的数据输出连接,因此在不动作的存储元单元中,全部存储“0”的数据。图21是表示可进行同步非同步切换的mlut的电路例的图。图21所示的mlut30具有存储元单元31a~31d、地址解码器11a~11d、i/o(输入输出)缓冲器13a~13d、选择电路32a~32d、数据选择电路33、地址转换检测部35及选择电路36。地址转换检测部35包含atd(addresstransitiondetector,地址转换检测器)电路,将与时钟一并发送的逻辑地址与前一次发送的逻辑地址进行比较,以检测地址转换。地址转换检测部35与图3所示的地址转换检测部相同。1.1信号线在下述表1中说明图21所示的信号线。[表1]信号名比特长度io说明mad<5∶0>i存储器地址ladii逻辑地址clkii时钟ceiisram芯片使能weiisram写入使能i_data<7∶0>isram写入数据odata<7∶0>osram数据输出(×4)o_mdata<7∶0>osram数据输出o_ldata<7∶0>o逻辑数据输出atd_ck--atd产生时钟atd_ce--atd产生芯片选择atd_address--atdlad锁存地址sram_ck(sync)--实时sram时钟(同步)sram_ck(async)--实时sram时钟(非同步)sram_ce(sync)--sram芯片选择(同步)sram_ce(async)--sram芯片选择(非同步)sram_address(sync)<3∶0>-sram地址输入(同步)sram_address(async)<3∶0>-sram地址输入(非同步)select--选择信号1.2同步/非同步存储元单元存储元单元31a~31d为同步sram。存储元单元31a~31d分别存储用来向左方向及右方向连接的真值表数据。存储元单元31b及31d是与系统时钟同步地动作。另一方面,存储元单元31a及31c是与下述地址转换电路35所产生的atd产生时钟(也称为“内部时钟信号”)同步地动作,因此相对于时钟(系统时钟)非同步地动作。atd产生时钟与系统时钟信号相比以高频率动作,因此存储元单元31a、31c是从mlut30外部看似进行非同步动作,由此提供非同步的功能。除同步的功能要件以外,存储元单元31a及31c具有与图18及图19所示的存储元单元31a及31b相同的功能。存储元单元31b及31d也相同。地址解码器11a及11b均对从左侧输入的地址a0~a3进行解码,并将解码信号分别输出到存储元单元31a及31b,使存储元单元31a及31b的字线有效。地址解码器11c及11d是对从右侧输入的地址a4~a7进行解码,并将解码信号分别输出到存储元单元31c及31d,使存储元单元31c及31d的字线有效。而且,地址解码器11a及11c是对sram地址非同步信号(sram_address(async))进行解码,地址解码器11a及11c是对sram地址同步信号(sram_address(sync))进行解码,将由解码信号特定出的存储元单元的字线激活。图21所示的例中,各存储元单元为16word(字符)x8bit(比特)的存储器块。关于存储元单元31a及31b,16wordx8bitx2可以同步模式使用,16wordx8bitx2可以非同步模式使用。同步与非同步无法同时动作,例如在同步动作存储元单元写入逻辑数据的情况下,必须对非同步动作存储元单元全部写入“0”。此外,存储元单元的数据输出如图所示,可设为线or(或),也可设置or逻辑电路。1.3选择电路将选择电路的选择条件示于以下的表中。[表3]﹡mlctrl=0/.1:逻辑模式/config(配置)模式sram_cksram_ce﹡以reset(复位)=0读取所有sram的address(地址)=0,暂时确定输出。sram_address选择电路32a~32d是选择非同步动作用的存储元单元31a及31c、或同步动作用的存储元单元31b及31d的动作的电路。选择电路32a是当根据选择信号(select)选择非同步动作时,选择由地址转换电路35所产生的atdlad锁存器地址(图3所示的s11),并作为sram地址非同步信号(sram_address(async))输出。在未选择非同步动作的情况下,直接输出逻辑地址。选择电路32b是当根据选择信号(select)选择非同步动作时,选择并输出由地址转换电路35所产生的atd产生时钟。在未选择非同步动作的情况下,直接输出时钟。选择电路32c是当根据选择信号(select)选择非同步动作时,选择并输出由地址转换电路35所产生的atd产生芯片选择。在未选择非同步动作的情况下,直接输出sram芯片使能。选择电路32d是当根据选择信号(select)选择同步动作时,直接输出逻辑地址。1.4禁止逻辑而且,作为存储器分割的特性,有禁止逻辑构成。使用表2所示的两个真值表,说明禁止逻辑的必要性。[表2]真值表1中,表示使用a0、a1构成and电路且输出到d0的真值表。真值表2中,表示使用a0、a4构成and电路且输出到d0的真值表。真值表1时的逻辑可仅利用使用a3-a0的存储元单元31a进行逻辑运算,因此如果对另一存储元单元写入“0”,那么通过or运算,不会受到另一存储元单元的输出值的影响,因此不会产生禁止逻辑的问题。另一方面,在真值表2的逻辑的情况下,使用a3-a0的存储元单元无法进行c、d的识别。使用a7-a4的sram无法进行b、d的识别。如此,跨及两个存储元单元的逻辑运算在两个真值表中无法获得正确值,因此将跨及两个存储元单元的逻辑运算设为禁止逻辑。因此,在进行逻辑构成的情况下,必须在各存储元单元内部实现逻辑。因此,本实施方式的真值表数据中,以不产生所述禁止逻辑的方式产生。1.5i/o缓冲器i/o(输入输出)缓冲器13a~13d是通过与时钟及atd产生时钟中的任一个同步地从存储元单元的数据线读出数据,以此来提供ff的功能。此外,i/o(输入输出)缓冲器13a~13d包含将从存储元的位线输出的电压放大的传感放大器。选择电路33是根据选择信号而将sram数据输出(odata)设为sram数据输出及逻辑数据输出中的任一个。2.真值表数据的产生方法应用于使用第一及第二实施方式所说明的可重构半导体装置的真值表数据是通过执行逻辑构成用的软件程序的信息处理装置而产生。图22中,表示信息处理装置的硬件构成的一个示例。信息处理装置210具有处理器211、输入部212、输出部213、存储部214及驱动装置215。处理器211将输入到输入部212的配置及配线用的软件、用来设计集成电路的c语言描述或硬件描述语言(hdl)等电路描述语言、及通过执行所述软件而产生的真值表数据存储在存储部214。而且,处理器211执行配置及配线用的软件,对存储在存储部214的电路描述进行以下所示的配置及配线的处理,且对输出部213输出真值表数据。对于输出部213,可连接可重构半导体装置20(图22中未表示),处理器211执行逻辑构成处理,将所产生的真值表数据经由输出部213写入到可重构半导体装置20。输出部213也可以与外部网络连接。此时,逻辑构成用的软件程序是经由网络而收发。驱动装置215例如为读写dvd(digitalversatiledisc,数字多功能光盘)、闪存等存储媒体217的装置。驱动装置215包含使存储媒体217旋转的电动机或在存储媒体217上读写数据的头等。此外,存储媒体217可存储逻辑构成用的程序、或真值表数据。驱动装置215是从所设置的存储媒体217读出程序。处理器211是将由驱动装置215读出的程序或真值表数据存储在存储部214。利用通过真值表数据被半导体装置20读入而使真值表数据与硬件资源协同作用的具体的方法,而构筑作为逻辑要素及/或连接要素的功能。而且,真值表数据也可谓具有表示真值表的逻辑构造的构造的数据。以上所说明的实施方式仅作为典型例而举出,对业者来说明确该各实施方式的构成要素的组合、变化及变动,只要是业者便可明确:可不脱离本发明的原理及权利要求书所记载的发明的范围而进行所述实施方式的各种变化。特别是在mrld的逻辑或连接动作中将双向mlut设为多向mlut的动作可作为实施方式的变更而实现。[符号的说明]20mrld30mlut31存储元单元11地址解码器35、100地址转换检测部200处理器当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1