IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ナノブリッジ・セミコンダクター株式会社の特許一覧

特許7324520論理集積回路、構成情報設定方法、および記録媒体
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-08-02
(45)【発行日】2023-08-10
(54)【発明の名称】論理集積回路、構成情報設定方法、および記録媒体
(51)【国際特許分類】
   H03K 19/003 20060101AFI20230803BHJP
   H01L 21/822 20060101ALI20230803BHJP
   H01L 27/04 20060101ALI20230803BHJP
   H03K 19/17764 20200101ALN20230803BHJP
【FI】
H03K19/003 130
H01L27/04 F
H01L27/04 H
H03K19/17764
【請求項の数】 16
(21)【出願番号】P 2020556050
(86)(22)【出願日】2019-11-01
(86)【国際出願番号】 JP2019043139
(87)【国際公開番号】W WO2020095854
(87)【国際公開日】2020-05-14
【審査請求日】2022-05-18
(31)【優先権主張番号】P 2018210701
(32)【優先日】2018-11-08
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】520041932
【氏名又は名称】ナノブリッジ・セミコンダクター株式会社
(74)【代理人】
【識別番号】110001519
【氏名又は名称】弁理士法人太陽国際特許事務所
(72)【発明者】
【氏名】宮村 信
(72)【発明者】
【氏名】根橋 竜介
(72)【発明者】
【氏名】多田 あゆ香
(72)【発明者】
【氏名】白 旭
【審査官】及川 尚人
(56)【参考文献】
【文献】米国特許出願公開第2009/0189634(US,A1)
【文献】米国特許出願公開第2002/0157071(US,A1)
【文献】国際公開第2018/047124(WO,A1)
【文献】特開2015-082671(JP,A)
【文献】米国特許第6768338(US,B1)
【文献】国際公開第2017/126451(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H03K 19/003-19/007
H01L 21/822
H03K 19/098-19/23
(57)【特許請求の範囲】
【請求項1】
論理信号群のうち冗長化されていない第1信号群が入力され、前記第1信号群を構成する信号の組合せに基づいて、データ信号群から少なくとも二つのデータ信号を選択する第1論理選択回路と、
前記第1論理選択回路によって選択された前記少なくとも二つのデータ信号が入力され、前記少なくとも二つのデータ信号に含まれるグリッチを除去するフィルタ回路と、
前記論理信号群のうち冗長化された第2信号群と、前記フィルタ回路の出力データ信号群とが入力され、前記第2信号群を構成する信号の組合せに基づいて、前記出力データ信号群のうち少なくとも一つを選択する第2論理選択回路とを備える論理集積回路。
【請求項2】
前記第2信号群が伝播される第2信号線群には、前記論理信号群のうち遅延が最大となる信号が割り当てられる請求項1に記載の論理集積回路。
【請求項3】
前記第1論理選択回路は、
前記第1信号群を構成する信号の組合せに基づいて、前記データ信号群のうち二つの前記データ信号を選択し、
前記フィルタ回路は、
前記第1論理選択回路によって選択された二つの前記データ信号のそれぞれに含まれる前記グリッチを除去する請求項1または2に記載の論理集積回路。
【請求項4】
前記第1論理選択回路は、
前記第1信号群が伝播される第1信号線群に接続され、前記第1信号線群から入力される前記第1信号群を構成する信号の組合せに基づいて二つの前記データ信号を選択し、
前記フィルタ回路は、
前記第1論理選択回路によって選択された二つの前記データ信号のそれぞれに含まれるグリッチを除去し、
前記第2論理選択回路は、
二重冗長化された前記第2信号群が伝播される第2信号線群に接続され、前記第2信号線群から入力される前記第2信号群を構成する信号の組合せに基づいて、前記フィルタ回路からの前記出力データ信号群のうち一つを選択する請求項1または2に記載の論理集積回路。
【請求項5】
前記第2論理選択回路は、
第1選択トランジスタ、第2選択トランジスタ、第1論理否定回路、および第2論理否定回路を二つずつ有し、
前記第1選択トランジスタは、
二つの前記第2選択トランジスタのうちいずれか一方と対をなし、前記フィルタ回路から出力された二つの出力データ信号のうち一方が伝播される信号線に拡散層の一端が接続され、対をなす前記第2選択トランジスタの拡散層の一端に拡散層の他端が接続され、
前記第2選択トランジスタは、
対をなす前記第1選択トランジスタの拡散層の他端に拡散層の一端が接続され、もう一方の前記第2選択トランジスタの拡散層の他端に拡散層の他端が接続され、拡散層の他端がもう一方の前記第2選択トランジスタと共通の出力端を形成し、
前記第1論理否定回路は、
二つの前記第2論理否定回路のうちいずれか一方と対をなし、二重冗長化された前記第2信号群が伝播される信号線のうちいずれか一方に入力が接続されるとともに、二つの前記第1選択トランジスタのうちいずれか一方のゲートと、対をなす前記第2論理否定回路の入力とに出力が接続され、
前記第2論理否定回路は、
対をなす前記第1論理否定回路の出力に入力が接続され、対をなす前記第1論理否定回路の出力が接続された前記第1選択トランジスタとは異なる前記第1選択トランジスタのゲートに出力が接続される請求項4に記載の論理集積回路。
【請求項6】
前記第1論理選択回路から出力される第1データ信号が伝播される信号線と、前記フィルタ回路を通過した前記第1データ信号が伝播される信号線とに入力が接続され、二つの前記第1選択トランジスタのうち一方に出力が接続される第1マルチプレクサと、
前記第1論理選択回路から出力される第2データ信号が伝播される信号線と、前記フィルタ回路を通過した前記第2データ信号が伝播される信号線とに入力が接続され、二つの前記第1選択トランジスタのうち他方に出力が接続される第2マルチプレクサとを備える請求項5に記載の論理集積回路。
【請求項7】
前記第2論理選択回路によって選択された前記出力データ信号をクロックに同期して読み込むフリップフロップと、
前記第2論理選択回路から出力される信号が伝播される信号線と、前記フリップフロップから出力される信号が伝播される信号線とに入力が接続され、入力された信号のうちいずれかを選択する第3マルチプレクサとを備える請求項6に記載の論理集積回路。
【請求項8】
前記第2信号群が伝播される第2信号線群に接続され、前記第2信号線群から入力される前記第2信号群を構成する信号のうち値が多数の信号を選択し、選択した信号を前記第2論理選択回路に出力する多数決回路を有し、
前記第1論理選択回路は、
前記第1信号群が伝播される第1信号線群に接続され、前記第1信号線群から入力される前記第1信号群を構成する信号の組合せに基づいて、前記データ信号群に含まれる二つの前記データ信号を選択し、
前記フィルタ回路は、
前記第1論理選択回路によって選択された二つの前記データ信号のそれぞれに含まれる前記グリッチを除去し、
前記第2論理選択回路は、
前記多数決回路によって選択された信号に基づいて、前記フィルタ回路から入力される二つの出力データ信号のうち一つを選択する請求項1または2に記載の論理集積回路。
【請求項9】
前記第2論理選択回路は、
第1選択トランジスタ、第2選択トランジスタ、第1論理否定回路、および第2論理否定回路を有し、
前記第1選択トランジスタは、
前記フィルタ回路から出力される二つの前記出力データ信号のうち一方が伝播される信号線に拡散層の一端が接続され、前記第2選択トランジスタの拡散層の一端に拡散層の他端が接続され、拡散層の他端が前記第2選択トランジスタと共通の出力端を形成し、
前記第2選択トランジスタは、
前記フィルタ回路から出力される二つの前記出力データ信号のうち他方が伝播される信号線に拡散層の一端が接続され、前記第1選択トランジスタの拡散層の一端に拡散層の他端が接続され、拡散層の他端が前記第1選択トランジスタと共通の前記出力端を形成し、
前記第1論理否定回路は、
入力が前記多数決回路の出力に接続されるとともに、出力が前記第1選択トランジスタのゲートと前記第2論理否定回路の入力とに接続され、
前記第2論理否定回路は、
入力が前記第1論理否定回路の出力に接続され、出力が前記第2選択トランジスタのゲートに接続される請求項8に記載の論理集積回路。
【請求項10】
多重化された前記第2論理選択回路に接続され、多重化された前記第2論理選択回路によって選択された出力データ信号のうち値が多数の信号を出力する多数決回路を有し、
前記第1論理選択回路は、
前記第1信号群が伝播される第1信号線群に接続され、前記第1信号線群から入力される前記第1信号群を構成する信号の組合せに基づいて二つの前記データ信号を選択し、
前記フィルタ回路は、
前記第1論理選択回路から出力される二つの前記データ信号のそれぞれに含まれる前記グリッチを除去し、
多重化された前記第2論理選択回路のそれぞれは、
前記第2信号群が伝播される第2信号線群を構成する信号線のうちいずれかに接続され、接続された信号線からの信号に基づいて、前記フィルタ回路から入力される二つの前記出力データ信号のうち一つを選択して前記多数決回路に出力する請求項1または2に記載の論理集積回路。
【請求項11】
多重化された前記第2論理選択回路のそれぞれは、
第1選択トランジスタ、第2選択トランジスタ、第1論理否定回路、および第2論理否定回路を有し、
前記第1選択トランジスタは、
拡散層の一端が前記フィルタ回路から出力される二つの前記出力データ信号のうち一方が伝播される信号線に接続され、拡散層の他端が前記第2選択トランジスタの拡散層の一端に接続され、拡散層の他端が前記第2選択トランジスタと共通の出力端を形成し、
前記第2選択トランジスタは、
拡散層の一端が前記フィルタ回路から出力される二つの前記出力データ信号のうち他方が伝播される信号線に接続され、拡散層の他端が前記第1選択トランジスタの拡散層の一端に接続され、拡散層の他端が前記第1選択トランジスタと共通の前記出力端を形成し、
前記第1論理否定回路は、
入力が前記第2信号群の伝播するいずれかの信号線に接続されるとともに、出力が前記第1選択トランジスタのゲートと前記第2論理否定回路の入力とに接続され、
前記第2論理否定回路は、
入力が前記第1論理否定回路の出力に接続され、出力が前記第2選択トランジスタのゲートに接続され、
前記出力端は、
前記多数決回路の入力に接続される請求項10に記載の論理集積回路。
【請求項12】
前記論理集積回路は、さらに、
前記第1信号群が伝播される前記第1論理選択回路と、前記第2信号群が伝播される前記第2論理選択回路とのいずれかに、前記論理信号群に含まれる信号をルーティングするクロスバ回路と、
前記第2論理選択回路によって選択された出力データ信号をクロックに同期して読み込むフリップフロップとを備える請求項1乃至11のいずれか一項に記載の論理集積回路。
【請求項13】
前記クロスバ回路は、
第1方向に延伸する複数の第1配線と、
前記第1方向と交差する第2方向に延伸する複数の第2配線と、
前記第1配線と前記第2配線との交差する位置に配置される複数のスイッチセルとを備え、
複数の前記第2配線のそれぞれは、
前記第1論理選択回路および前記第2論理選択回路のいずれかに接続され、
前記スイッチセルは、
抵抗変化スイッチを含む請求項12に記載の論理集積回路。
【請求項14】
前記抵抗変化スイッチは、
銅を主成分とする活性電極と、銅と比べて活性の低い金属を主成分とする不活性電極と、前記活性電極と前記不活性電極との間に配置される抵抗変化素子とを有する請求項13に記載の論理集積回路。
【請求項15】
論理信号群のうち冗長化されていない第1信号群が入力され、前記第1信号群を構成する信号の組合せに基づいて、データ信号群から少なくとも二つのデータ信号を選択する第1論理選択回路と、前記第1論理選択回路によって選択された少なくとも二つのデータ信号が入力され、前記少なくとも二つのデータ信号に含まれるグリッチを除去するフィルタ回路と、前記論理信号群のうち冗長化された第2信号群と前記フィルタ回路の出力データ信号群が入力され、前記第2信号群を構成する信号の組合せに基づいて、前記出力データ信号群のうち少なくとも一つを選択する第2論理選択回路と、を備える論理集積回路に構成情報を設定する構成情報設定方法であって、
少なくとも遅延コストを含む評価関数を最小化する配線を探索し、
前記遅延コストが最大になる信号経路を、前記第2信号群が伝播される第2信号線群に割り当てる構成情報を生成し、
生成された前記構成情報に基づいた回路構成を前記論理集積回路に設定する構成情報設定方法。
【請求項16】
論理信号群のうち冗長化されていない第1信号群が入力され、前記第1信号群を構成する信号の組合せに基づいて、データ信号群から少なくとも二つのデータ信号を選択する第1論理選択回路と、前記第1論理選択回路によって選択された少なくとも二つのデータ信号が入力され、前記少なくとも二つのデータ信号に含まれるグリッチを除去するフィルタ回路と、前記論理信号群のうち冗長化された第2信号群と前記フィルタ回路の出力データ信号群が入力され、前記第2信号群を構成する信号の組合せに基づいて、前記出力データ信号群のうち少なくとも一つを選択する第2論理選択回路と、を備える論理集積回路に構成情報を設定するプログラムであって、
少なくとも遅延コストを含む評価関数を最小化する配線を探索する処理と、
前記遅延コストが最大になる信号経路を、前記第2信号群が伝播される第2信号線群に割り当てる構成情報を生成する処理と、
生成された前記構成情報に基づいた回路構成を前記論理集積回路に設定する処理とをコンピュータに実行させるプログラムを記憶させた非一過性の記録媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、回路構成を再構成可能な論理集積回路、その論理集積回路に回路を設定する構成情報設定方法、およびプログラムに関する。
【背景技術】
【0002】
FPGA(Field Programmable Gate Array)等のプログラマブル論理集積回路(以下、論理集積回路とも呼ぶ)は、論理演算回路の動作や接続をメモリ素子に記憶することによって、論理動作や配線の接続を変更できる集積回路である。一般的な論理集積回路は、外部との入出力を行う入出力部、複数の論理セル、入出力部や論理セルを接続するための内部配線などを含む。論理集積回路の内部配線には、複数の配線の交点にスイッチが配置されたクロスバや、CMOS(Complementary Metal Oxide Semiconductor)で構成したマルチプレクサなどがある。例えば、特許文献1および特許文献2には、印加電圧に応じて抵抗状態が変化する二つの抵抗変化素子を組み合わせたユニット素子を交点に配置したクロスバについて開示されている。
【0003】
論理集積回路を構成する論理素子に放射線が入射すると、放射線の影響で生成する電荷によって論理素子の出力電圧が過渡的に変動するシングルイベントトランジエント(以下、SET:Single Event Transient)という現象が発生しうる。論理集積回路のクロスバに含まれるトランジスタにSETが発生すると、電位が規定レベルから擾乱を受け、デジタルのパルスが論理回路中を伝播する可能性がある。SETの持続時間は、典型的には1ナノ秒以下と短期間であるため、これまでは大きな問題につながる可能性は低かった。しかしながら、クロックスピードの上昇に伴って、SETに起因する信号が論理回路中を伝播してDフリップフロップの入力端子に到達し、Dフリップフロップの出力として誤った論理が保持される可能性が高くなった。SETに起因する信号が入力端子に到達するのと同時にクロックがトリガされた場合、その信号がDフリップフロップにラッチされてソフトエラーを引き起こす可能性がある。
【0004】
SETに起因する信号を除去するフィルタを信号経路中に挿入することによって、その信号が論理回路中に伝播することを防ぐことができる。特許文献3には、放射線事象に起因するシングルイベント効果によって状態が変化した入力信号イベントの伝播を防ぐグリッチフィルタを備える装置について開示されている。図26は、論理集積回路を構成するルックアップテーブル(以下、LUT511:Look Up Table)とDフリップフロップ(以下、DFF512:D Flip Flop)との間にSETフィルタ513を挿入する例である。また、論理回路を冗長化すれば、SETフィルタを用いなくても、SETに起因する信号が後続に影響を与えることを回避できる。図27は、LUT群521を三重冗長系とし、LUT群521とDFF522との間に多数決回路525を挿入する例である。
【先行技術文献】
【特許文献】
【0005】
【文献】国際公開第2012/043502号
【文献】国際公開第2013/190741号
【文献】特表2008-543179号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
図26の構成にすれば、SETに起因する信号は、LUT511を通過してもSETフィルタ513によって除去されるため、DFF512にSETの影響が伝播することを防止できる。しかしながら、図26の構成では、SETフィルタ513のフィルタ時定数分(1ナノ秒程度)の遅延が発生するため、LUT511とSETフィルタ513との組み合わせが重なった場合に遅延が累積されてしまう。そのため、LUT511とDFF512との間にSETフィルタ513を挿入するだけの構成では、期待される速度性能を満たすことが難しくなるという問題点があった。
【0007】
また、図27の構成にすれば、SETに起因する信号がLUT群521のいずれかのLUTを通過しても、SETの影響を受けていない信号が多数決回路525から出力される。そのため、図27の構成にすれば、信号を遅延させずに、SETの影響が後続に及ぶことを防ぐことができる。しかしながら、図27のように論理回路を三重冗長系にすると、回路規模が3倍となってしまう。そのため、論理回路を冗長系にするだけの構成では、面積オーバーヘッドが増大するという問題点があった。
【0008】
本発明の目的は、上述した課題を解決するために、回路規模と速度性能の要件を両立しながら、シングルイベントトランジエントの影響を低減できる論理集積回路を提供することにある。
【課題を解決するための手段】
【0009】
本発明の一態様の論理集積回路は、論理信号群のうち冗長化されていない第1信号群が入力され、第1信号群を構成する信号の組合せに基づいて、データ信号群から少なくとも二つのデータ信号を選択する第1論理選択回路と、第1論理選択回路によって選択された少なくとも二つのデータ信号が入力され、少なくとも二つのデータ信号に含まれるグリッチを除去するフィルタ回路と、論理信号群のうち冗長化された第2信号群と、フィルタ回路の出力データ信号群とが入力され、第2信号群を構成する信号の組合せに基づいて、出力データ信号群のうち少なくとも一つを選択する第2論理選択回路とを備える。
【0010】
本発明の一態様の構成情報設定方法は、論理信号群のうち冗長化されていない第1信号群が入力され、第1信号群を構成する信号の組合せに基づいて、データ信号群から少なくとも二つのデータ信号を選択する第1論理選択回路と、第1論理選択回路によって選択された少なくとも二つのデータ信号が入力され、少なくとも二つのデータ信号に含まれるグリッチを除去するフィルタ回路と、論理信号群のうち冗長化された第2信号群とフィルタ回路の出力データ信号群が入力され、第2信号群を構成する信号の組合せに基づいて、出力データ信号群のうち少なくとも一つを選択する第2論理選択回路と、を備える論理集積回路に構成情報を設定する構成情報設定方法であって、少なくとも遅延コストを含む評価関数を最小化する配線を探索し、遅延コストが最大になる信号経路を、第2信号群が伝播される第2信号線群に割り当てる構成情報を生成し、生成された構成情報に基づいた回路構成を論理集積回路に設定する。
【0011】
本発明のプログラムは、論理信号群のうち冗長化されていない第1信号群が入力され、第1信号群を構成する信号の組合せに基づいて、データ信号群から少なくとも二つのデータ信号を選択する第1論理選択回路と、第1論理選択回路によって選択された少なくとも二つのデータ信号が入力され、少なくとも二つのデータ信号に含まれるグリッチを除去するフィルタ回路と、論理信号群のうち冗長化された第2信号群とフィルタ回路の出力データ信号群が入力され、第2信号群を構成する信号の組合せに基づいて、出力データ信号群のうち少なくとも一つを選択する第2論理選択回路と、を備える論理集積回路に構成情報を設定するプログラムであって、少なくとも遅延コストを含む評価関数を最小化する配線を探索する処理と、遅延コストが最大になる信号経路を、第2信号群が伝播される第2信号線群に割り当てる構成情報を生成する処理と、生成された構成情報に基づいた回路構成を論理集積回路に設定する処理とをコンピュータに実行させる。
【発明の効果】
【0012】
本発明によれば、回路規模と速度性能の要件を両立しながら、シングルイベントトランジエントの影響を低減できる論理集積回路を提供することが可能になる。
【図面の簡単な説明】
【0013】
図1】本発明の第1の実施形態に係る論理集積回路の構成の一例を示すブロック図である。
図2】本発明の第1の実施形態に係る論理集積回路が備えるクロスバ回路の構成の一例を示すブロック図である。
図3】本発明の第1の実施形態に係る論理集積回路が備えるクロスバ回路のスイッチセルに含まれる抵抗変化素子の抵抗状態について説明するための概念図である。
図4】本発明の第1の実施形態に係る論理集積回路が備えるクロスバ回路のスイッチセルに含まれる抵抗変化素子の別の抵抗状態について説明するための概念図である。
図5】本発明の第1の実施形態に係る論理集積回路が備えるLUTの構成の一例を示すブロック図である。
図6】本発明の第1の実施形態に係る論理集積回路が備えるLUTに含まれる第1論理選択回路の構成の一例を示すブロック図である。
図7】本発明の第1の実施形態に係る論理集積回路が備えるLUTに含まれるフィルタ回路の構成の一例を示すブロック図である。
図8】本発明の第1の実施形態に係る論理集積回路が備えるLUTに含まれるフィルタ回路を実現する回路構成の一例を示すブロック図である。
図9】本発明の第1の実施形態に係る論理集積回路が備えるLUTに含まれる第2論理選択回路の構成の一例を示すブロック図である。
図10】本発明の第1の実施形態に係る論理集積回路が備えるLUTを実現する回路構成の一例を示すブロック図である。
図11】本発明の第1の実施形態に係る論理集積回路が備えるLUTを実現する回路構成の別の一例を示すブロック図である。
図12】本発明の第2の実施形態に係る論理集積回路の構成の一例を示すブロック図である。
図13】本発明の第2の実施形態に係る論理集積回路が備えるLUTの構成の一例を示すブロック図である。
図14】本発明の第2の実施形態に係る論理集積回路が備えるLUTに含まれる多数決回路を実現する回路構成の一例を示すブロック図である。
図15】本発明の第2の実施形態に係る論理集積回路が備えるLUTに含まれる第2論理選択回路の構成の一例を示すブロック図である。
図16】本発明の第2の実施形態に係る論理集積回路が備えるLUTを実現する回路構成の一例を示すブロック図である。
図17】本発明の第3の実施形態に係る論理集積回路の構成の一例を示すブロック図である。
図18】本発明の第3の実施形態に係る論理集積回路が備えるLUTの構成の一例を示すブロック図である。
図19】本発明の第3の実施形態に係る論理集積回路が備えるLUTに含まれる第2論理選択回路の構成の一例を示すブロック図である。
図20】本発明の第3の実施形態に係る論理集積回路が備えるLUTを実現する回路構成の別の一例を示すブロック図である。
図21】本発明の第4の実施形態に係る設計支援システムの構成の一例を示すブロック図である。
図22】本発明の第4の実施形態に係る設計支援システムが用いる設計支援ツール群の一例を示すブロック図である。
図23】本発明の第4の実施形態に係る設計支援システムの動作の一例を示すフローチャートである。
図24】本発明の第4の実施形態に係る設計支援システムの配置配線ツールによる配置配線処理の一例を示すフローチャートである。
図25】本発明の第4の実施形態に係る設計支援システムを実現するハードウェア構成の一例を示すブロック図である。
図26】SET対策が施された論理集積回路の構成の一例を示すブロック図である。
図27】SET対策が施された論理集積回路の構成の別の一例を示すブロック図である。
【発明を実施するための形態】
【0014】
以下に、本発明を実施するための実施形態について図面を用いて説明する。ただし、以下に述べる実施形態には、本発明を実施するために技術的に好ましい限定がされているが、発明の範囲を以下に限定するものではない。なお、以下の実施形態の説明に用いる全図においては、特に理由がない限り、同様箇所には同一符号を付す。また、以下の実施形態において、同様の構成・動作に関しては繰り返しの説明を省略する場合がある。また、図面中の矢印の向きは、一例を示すものであり、ブロック間の信号の向きなどを限定するものではない。
【0015】
(第1の実施形態)
まず、本発明の第1の実施形態に係る論理集積回路について図面を参照しながら説明する。本実施形態の論理集積回路は、論理演算回路の動作や接続をメモリ素子に記憶することによって、論理動作や配線の接続を変更できるプログラマブル論理集積回路である。本実施形態においては、クロスバの出力がLUT(Look Up Table)を介して記憶装置であるDFF(D-type Flip Flop)に接続される例について説明する。実際には、複数のクロスバ、LUT、およびDFFを組み合わせてより大規模な論理集積回路が構成される。なお、クロスバの替わりにマルチプレクサを用いた構成としてもよい。また、複数のクロスバを多段に接続した構成としてもよい。
【0016】
図1は、本実施形態の論理集積回路1の構成の概要について説明するための概念図である。図1のように、論理集積回路1は、クロスバ回路11、LUT12、DFF13を備える。クロスバ回路11は、冗長化されてない信号群(以下、第1信号群とも呼ぶ)を伝播させる第1信号線群101と、冗長化された信号群(以下、第2信号群とも呼ぶ)を伝播させる第2信号線群102とを介してLUT12に接続される。第1信号群は、冗長化されてない信号S1~S3によって構成される。第2信号群は、冗長化された信号S4~S5によって構成される。
【0017】
LUT12とDFF13とは論理ブロック100を構成する。図1には、論理ブロック100が一組のLUT12とDFF13とによって構成される例を図示しているが、論理ブロック100は複数組のLUT12とDFF13とによって構成されてもよい。また、図1には、論理集積回路1が一組のクロスバ回路11、LUT12、およびDFF13によって構成される例を図示しているが、複数の論理ブロック100をクロスバ回路11で接続させて論理集積回路1を構成させてもよい。
【0018】
クロスバ回路11は、第1方向に延伸する複数の第1配線と、第1方向と交わる第2方向に延伸する複数の第2配線とが交差する位置にスイッチセルが配置された構成を有する。スイッチセルとは、第1配線と第2配線との接続を切り替えるための回路である。例えば、スイッチセルは、SRAM(Static Random Access Memory)セルと、スイッチ機能を有する1個のトランジスタとによって実現される。また、スイッチセルは、抵抗状態によってオンとオフとを切り替えることができる抵抗変化素子を含む構成によって実現されてもよい。クロスバ回路11は、隣接し合う論理ブロック同士を接続する。
【0019】
クロスバ回路11には、前段の論理ブロックからの論理信号群を伝播させる配線群(図示しない)が接続される。また、クロスバ回路11の後段にはLUT12が接続される。クロスバ回路11は、冗長化されてない第1信号群(信号S1~S3)を伝播させる第1信号線群101と、冗長化された第2信号群(信号S4~S5)を伝播させる第2信号線群102とを介してLUT12に接続される。第1信号線群101および第2信号線群102を構成するそれぞれの配線は、複数の第2配線のいずれかを延伸させたものである。
【0020】
LUT12は、入力側が第1信号線群101と第2信号線群102とを介してクロスバ回路11に接続され、出力側がDFF13に接続される。LUT12には、第1信号線群101および第2信号線群102を介して、クロスバ回路11からの信号群(信号S1~S5)が入力される。LUT12は、アドレスをデコードする入力回路(図示しない)に入力された複数の信号の組合せに応じて、内部の記憶素子(図示しない)に記憶されたデータ群(データ信号群とも呼ぶ)のうち少なくとも一つの信号を選択してDFF13に出力する。例えば、LUT12は、4入力1出力や6入力1出力など、複数の信号を入力とし、一つの信号を出力する。LUT12の内部構成については後述する。
【0021】
DFF13は、LUT12の出力に接続される。DFF13には、LUT12から出力されたデータが記憶される。DFF13に記憶されるデータは、後続の論理ブロックに出力される。
【0022】
以上が、論理集積回路1の構成の概要についての説明である。続いて、論理集積回路1を構成する個々の要素について図面を参照しながら説明する。
【0023】
〔クロスバ回路〕
図2は、クロスバ回路11の構成の一例を示す回路図である。図2のように、クロスバ回路11は、第1方向に延伸される複数の第1配線111と、第2方向に延伸される複数の第2配線112とが交叉する位置にスイッチセル113を配置した構成を有する。図2においては、オン状態のスイッチセル113を黒く塗りつぶし、オフ状態のスイッチセル113を白抜きで示す。なお、図2に示すスイッチセル113のオン状態・オフ状態は一例であって、複数のスイッチセル113の状態は任意に設定できる。また、図2においては、クロスバ回路11を構成するプログラミングドライバや制御線等の構成を省略する。
【0024】
第1配線111の入力は、前段の論理ブロック100-1の出力に接続される。第1配線111は、スイッチセル113を介して第2配線112に接続される。第1配線111には、前段の論理ブロック100-1から出力された論理信号群が入力される。第1配線111に入力された信号は、オン状態のスイッチセル113を介して第2配線112に転送される。
【0025】
第2配線112は、スイッチセル113を介して第1配線111に接続される。第2配線112の出力は、冗長化されていない第1信号群(信号S1~S3)が伝播する第1信号線群101と、冗長化された第2信号群(信号S4~S5)が伝播する第2信号線群102とを介してLUT12の入力に接続される。第2配線112は、オン状態のスイッチセル113を介して第1配線111から入力された信号を、第1信号線群101または第2信号線群102を介してLUT12に出力する。なお、図2においては、第2信号線群102に伝播させる第2信号群をクロスバ回路11で冗長化するように構成しているが、前段の論理ブロック100-1で冗長化するように構成してもよい。
【0026】
スイッチセル113は、第1配線111と第2配線112とが交差する位置に配置される。スイッチセル113は、外部からの制御に応じて、オン状態またはオフ状態に設定される。スイッチセル113がオン状態の場合、そのスイッチセル113に接続される第1配線111と第2配線112とは接続状態になる。それに対し、スイッチセル113がオフ状態の場合、そのスイッチセル113に接続される第1配線111と第2配線112とは非接続状態になる。
【0027】
例えば、スイッチセル113は、抵抗変化素子を含む抵抗変化スイッチを含む構成によって実現される。抵抗変化素子を含む抵抗変化スイッチは、特許文献1(国際公開第2012/043502号)や特許文献2(国際公開第2013/190741号)などに開示されている。なお、スイッチセル113は、抵抗変化素子ではなく、例えば、nMOSFET(n metal-oxide-semiconductor field-effect transistor)を含むパストランジスタでもよい。また、図2においては、クロスバ回路11の全ての交点にスイッチセル113を配置する構成を図示しているが、いくつかの交点にスイッチセル113を配置せずに間引いた構成としてもよい。
【0028】
以上が、クロスバ回路11の構成の一例についての説明である。なお、図2のクロスバ回路11の構成は一例であって、本実施形態のクロスバ回路11の構成をそのままの形態に限定するものではない。
【0029】
〔抵抗変化素子〕
ここで、第1配線111と第2配線112とが交差する位置に配置されるスイッチセル113の構成例について図面を参照しながら説明する。図3および図4は、スイッチセル113に含まれる抵抗変化スイッチ110の一例を示す概念図である。なお、図3および図4においては、セルトランジスタなどの構成は省略する。
【0030】
図3のように、抵抗変化スイッチ110は、二つの抵抗変化素子130を直列に接続した構成を有する。抵抗変化素子130は、活性電極131、不活性電極132、および抵抗変化層133を有する。二つの抵抗変化素子130の不活性電極132は、互いに接続されて共通ノードNDを形成する。例えば、活性電極131は、銅を含む金属材料で構成する。なお、抵抗変化素子130は、活性電極131同士を接続するように構成してもよい。
【0031】
抵抗変化素子130は、高抵抗状態(図3)と低抵抗状態(図4)の二つの抵抗状態を取り得る。本実施形態では、高抵抗状態をオフ状態(図3)、低抵抗状態をオン状態(図4)と定義する。抵抗変化素子130がオン状態(図4)の場合、電圧レベルで与えられる信号は抵抗変化素子130を通過する。一方、抵抗変化素子130がオフ状態(図3)の場合、電圧レベルで与えられる信号は抵抗変化素子130によって遮断される。また、抵抗変化素子130の抵抗状態は、構成情報の1(データ1)と0(データ0)に対応付けられる。本実施形態では、低抵抗状態(オン状態)をデータ1、高抵抗状態(オフ状態)をデータ0と定義する。
【0032】
ここで、スイッチセル113に含まれる抵抗変化素子130の導通状態を切り替える方法について説明する。
【0033】
まず、抵抗変化素子130を高抵抗状態(オフ状態)から低抵抗状態(オン状態)へと遷移させる方法について説明する。
【0034】
図3のような高抵抗状態(オフ状態)の抵抗変化素子130において、活性電極131に正電圧を印加し、不活性電極132を接地すると、活性電極131に含まれる銅などの金属がイオン化されて金属イオンとして抵抗変化層133の内部に溶解する。その結果、図4のように、抵抗変化層133に溶解した金属イオンは還元されて金属として析出し、析出した金属によって活性電極131と不活性電極132とを電気的に接続する金属架橋135が形成される。金属架橋135によって活性電極131と不活性電極132とが電気的に接続されると、抵抗変化素子130は高抵抗状態(オフ状態)から低抵抗状態(オン状態)へと遷移する。
【0035】
次に、抵抗変化素子130を低抵抗状態(オン状態)から高抵抗状態(オフ状態)へと遷移させる方法について説明する。
【0036】
図4のような低抵抗状態(オン状態)の抵抗変化素子130において、活性電極131を接地して、不活性電極132に正電圧を印加すると、金属架橋135が金属イオンとして抵抗変化層133の内部に溶解し、金属架橋135の一部が切れる。その結果、金属架橋135の一部が切れ、活性電極131と不活性電極132との間の電気的な接続が解消され、抵抗変化素子130は高抵抗状態(オフ状態)へと遷移する。活性電極131と不活性電極132との間では、電気的な接続が完全に切れる前の段階から電気抵抗が大きくなったり、電極間の容量が変化したりして電気的な特性が変化し、最終的に電気的な接続が切れる。抵抗変化素子130を高抵抗状態(オフ状態)から低抵抗状態(オン状態)にするためには、不活性電極132に再び負電圧を印加すればよい。
【0037】
以上のように、抵抗変化素子130の低抵抗状態と高抵抗状態とを制御することによって、スイッチセル113を構成する抵抗変化スイッチ110の導通状態を切り替えることができる。
【0038】
以上が、クロスバ回路11の構成の一例についての説明である。なお、図2図4に示すクロスバ回路11の構成は一例であって、本実施形態のクロスバ回路11の構成をそのままの形態で限定するものではない。なお、例えば、PRAM(Phase change Random Access Memory)やReRAM(Resistive Random Access Memory)に用いられる抵抗変化型不揮発性メモリ素子を抵抗変化素子として用いてもよい。
【0039】
〔LUT〕
図5は、LUT12の構成の一例を示すブロック図である。図5のように、LUT12は、第1論理選択回路121、フィルタ回路122、第2論理選択回路123を有する。
【0040】
図5のように、第1論理選択回路121は、第1信号線群101を介してクロスバ回路11の出力に接続されるとともに、フィルタ回路122に接続される。また、第1論理選択回路121は、アドレスが設定された複数の記憶素子を含む。複数の記憶素子のそれぞれにはデータが記憶される。
【0041】
第1論理選択回路121には、第1信号線群101を介して、冗長化されていない第1信号群が入力される。第1論理選択回路121は、入力された第1信号群を構成する選択信号の組合せに応じて、指定されたアドレスの記憶素子からデータを選択して読み出す。第1論理選択回路121は、選択したデータに基づいた少なくとも二つのデータ信号をフィルタ回路122に出力する。
【0042】
図6は、第1論理選択回路121の構成の一例を示すブロック図である。図6のように、第1論理選択回路121は、第1入力回路151、第1選択回路152を含む。また、第1論理選択回路121は、複数の記憶素子M1~Mnを含む(nは自然数)。複数の記憶素子M1~Mnのそれぞれにはアドレスが設定され、1ビットのデータが記憶される。複数の記憶素子M1~Mnの出力はデータ信号群を形成する。例えば、記憶素子Mは、SRAM(Static Random Access Memory)で構成される。また、複数の記憶素子M1~Mnはクロスバとして構成してもよい。
【0043】
第1入力回路151は、第1信号線群101を介してクロスバ回路11に接続されるとともに、第1選択回路152に接続される。第1入力回路151には、読み出し対象のデータが記憶された記憶素子Mを選択するための信号が入力される。第1入力回路151は、クロスバ回路11からの信号の組合せに対応するアドレスの記憶素子Mに記憶されたデータを読み出すための信号を第1選択回路152に出力する。
【0044】
例えば、第1入力回路151は、第1信号線群101を構成する信号線ごとに、それらの信号線からの入力信号を反転させた信号(以下、反転信号と呼ぶ)を生成する第1否定回路と、その反転信号をさらに反転させた信号を生成する第2否定回路とを含む。例えば、第1入力回路151は、反転信号が出力される信号線と、その反転信号をさらに反転した信号が出力される信号線とを介して第1選択回路152に接続される。
【0045】
第1選択回路152は、複数の記憶素子Mと、第1入力回路151と、フィルタ回路122とに接続される。第1選択回路152には、第1入力回路151から選択信号が入力される。第1選択回路152は、第1入力回路151から入力される選択信号に応じて、指定されたアドレスの記憶素子Mからデータを読み出す。第1選択回路152は、読み出したデータに基づいた少なくとも二つのデータ信号をフィルタ回路122に出力する。図6は、複数の記憶素子M1~Mnの出力であるデータ信号群から二つのデータ信号を選択し、選択したデータに基づいたデータ信号をフィルタ回路122に出力する例を示す。
【0046】
図5のように、フィルタ回路122は、入力が第1論理選択回路121に接続され、出力が第2論理選択回路123に接続される。フィルタ回路122は、放射線の影響で生成される電荷によって論理素子の出力電圧が過渡的に変動するSET(Single Effect Transient)が発生した際に発生するノイズ(以下、グリッチとも呼ぶ)を除去するフィルタである。フィルタ回路122には、第1選択回路152によって選択されたデータ信号が第1選択回路152から入力される。フィルタ回路122は、入力されたデータ信号にグリッチが含まれる場合、そのグリッチが除去された出力データ信号群を第2論理選択回路123に出力する。
【0047】
図7は、フィルタ回路122の構成の一例を示すブロック図である。図7のように、フィルタ回路122は、第1フィルタ素子161と第2フィルタ素子162とを含む。第1フィルタ素子161および第2フィルタ素子162のそれぞれには、第1論理選択回路121によって選択されたデータ信号が入力される。第1フィルタ素子161および第2フィルタ素子162のそれぞれは、第1論理選択回路121からのデータ信号からグリッチを除去し、その出力信号(出力データ信号とも呼ぶ)を第2論理選択回路123に出力する。例えば、第1フィルタ素子161および第2フィルタ素子162は、アナログ式やデジタル式のローパスフィルタによって実現される。
【0048】
図8は、第1フィルタ素子161および第2フィルタ素子162を実現するデジタル式のフィルタ素子160(SETフィルタとも呼ぶ)の構成の一例である。図8のように、フィルタ素子160は、遅延回路163、ガードゲート164を含む。フィルタ素子160に入力される信号Sは、遅延回路163とガードゲート164とに入力される。遅延回路163は、信号Sを所定時定数分遅延させた信号S’をガードゲート164に出力する。ガードゲート164は、信号S、信号S’、自身から出力された信号Dを用いて、信号Sからグリッチを除去する。フィルタ素子160は、ガードゲート164によって生成される信号を出力する。例えば、フィルタ素子160に含まれる遅延回路163の時定数を調整できるように構成してもよい。
【0049】
図8の構成のフィルタ素子160は、信号S’を用いて、SETによって発生したグリッチを除去する。そのため、第1フィルタ素子161および第2フィルタ素子162として図8のフィルタ素子160を用いると、そのフィルタ素子160の時定数分の遅延が発生する。複数の論理ブロックを連結させる大規模な論理集積回路を構成する場合、複数のフィルタ回路122が直列で接続される構成では信号の遅延が累積されていく。そのため、本実施形態では、伝播遅延に関する要件が厳しい信号経路は冗長化することによってSET対策を施し、その信号経路上にはフィルタ回路122を配置しない。すなわち、本実施形態においては、冗長化しない第1信号群を第1論理選択回路121に入力させ、冗長化させた第2信号群を第2論理選択回路123に入力させる。
【0050】
図5のように、第2論理選択回路123の入力は、第2信号線群102を介してクロスバ回路11の出力に接続されるとともに、フィルタ回路122の出力に接続される。よって、第2論理選択回路123には、前段の論理ブロック100-1から出力された論理信号群のうち冗長化された第2信号群(信号S4~S5)と、フィルタ回路122の出力データ信号とが入力される(図2参照)。また、第2論理選択回路123の出力は、DFF13の入力に接続される。第2論理選択回路123は、第2信号線群102から入力される第2信号群を構成する選択信号の組合せに応じて、フィルタ回路122からの少なくとも二つの出力データ信号のうち一つを選択してDFF13に出力する。
【0051】
図9は、第2論理選択回路123の構成の一例を示す概念図である。図9のように、第2論理選択回路123は、第2入力回路171および第2選択回路172を含む。
【0052】
第2入力回路171は、入力が第2信号線群102を介してクロスバ回路11に接続され、出力が第2選択回路172に接続される。第2入力回路171には、フィルタ回路122から出力された少なくとも二つの出力データ信号のうちいずれか一つを選択するための信号が入力される。第2入力回路171は、入力された信号に対応する出力データ信号を選択するための選択信号を第2選択回路172に出力する。
【0053】
例えば、第2入力回路171は、第2信号線群102を構成する複数の信号線ごとに、それらの信号線からの入力信号を反転させた信号(以下、反転信号と呼ぶ)を生成する第1否定回路と、その反転信号をさらに反転させた信号を生成する第2否定回路とを含む。例えば、第2入力回路171は、反転信号が出力される信号線と、その反転信号をさらに反転した信号が出力される信号線とを介して第2選択回路172に接続される。
【0054】
第2選択回路172は、第2入力回路171と、フィルタ回路122と、DFF13とに接続される。第2選択回路172には、第2入力回路171から選択信号が入力される。第2選択回路172は、第2入力回路171から入力される選択信号に応じて、フィルタ回路122から入力される二つの出力データ信号のうち一つを選択する。第2選択回路172は、選択した出力データ信号をDFF13に出力する。
【0055】
以上が、LUT12の構成の一例についての説明である。なお、図5図9に示すLUT12の構成は一例であって、本実施形態のLUT12の構成をそのままの形態で限定するものではない。
【0056】
〔回路構成〕
次に、本実施形態の論理集積回路1のLUT12を実現する回路構成の一例について図面を参照しながら説明する。
【0057】
図10は、LUT12の回路構成の一例(LUT12-1)を示す概念図である。図10のように、LUT12-1は、第1論理選択回路121、フィルタ回路122、第2論理選択回路123を有する。なお、対応関係を分かりやすくするために図10の符号を図5図9の符号と同じにしたが、図5図9の回路構成を図10の回路構成に限定するわけではない。
【0058】
第1論理選択回路121は、複数の記憶素子M1~M16、第1入力回路151、および第1選択回路152を含む。第1入力回路151は、複数のNOT回路N11~N12(論理否定回路とも呼ぶ)を含む。第1選択回路152は、複数の選択トランジスタT11~T13を含む。なお、図10においては、一部の選択トランジスタT11~T13のみに符号を付し、大部分の選択トランジスタT11~T13の符号は省略している。
【0059】
フィルタ回路122は、第1フィルタ素子161と第2フィルタ素子162とを含む。第1フィルタ素子161および第2フィルタ素子162は、第1論理選択回路121の二つの出力のうちいずれか一方と、第2論理選択回路123の入力のうちいずれか一方との間に挿入される。
【0060】
第2論理選択回路123は、第2入力回路171および第2選択回路172を含む。第2入力回路171は、二つのNOT回路N21、二つのNOT回路N22を含む。第2選択回路172は、二つの選択トランジスタT21、二つの選択トランジスタT22を含む。
【0061】
以上が、LUT12-1の概略的な回路構成についての説明である。続いて、LUT12-1に含まれる構成について詳細に説明する。
【0062】
複数のNOT回路N11のそれぞれの入力には、第1信号線群101を構成するいずれかの信号線が接続される。複数のNOT回路N11には、第1信号線群101から冗長化されていない信号が入力される。複数のNOT回路N11のそれぞれの出力は、第1選択回路152に含まれる複数の選択トランジスタT11~T13のうちいずれかのゲートと、複数のNOT回路N12のうちいずれかの入力とに接続される。複数のNOT回路N12のそれぞれの入力には、複数のNOT回路N11のうちいずれかの出力が接続される。複数のNOT回路N12のそれぞれの出力は、第1選択回路152に含まれる複数の選択トランジスタT11~T13のうちいずれかのゲートに接続される。NOT回路N11およびNOT回路N12は、入力された信号の値を反転させて出力する。
【0063】
複数の選択トランジスタT11のそれぞれの拡散層(ソースまたはドレイン)の一端は、いずれかの記憶素子M1~M16に接続される。複数の選択トランジスタT11のそれぞれの拡散層の他端は、隣接し合ういずれかの選択トランジスタT11の拡散層の他端とともに、後続する選択トランジスタT12の拡散層の一端に接続される。より詳しくは、複数の選択トランジスタT11のそれぞれの拡散層の他端は、反転された入力信号をゲートに接続されて対をなす選択トランジスタT11の他端とともに、後続する選択トランジスタT12の拡散層の一端に接続される。
【0064】
複数の選択トランジスタT12のそれぞれの拡散層の一端は、前段の二つの選択トランジスタT11の拡散層の他端と接続される。複数の選択トランジスタT12のそれぞれの拡散層の他端は、隣接し合ういずれかの選択トランジスタT12の拡散層の他端とともに、後続する選択トランジスタT13の拡散層の一端に接続される。
【0065】
複数の選択トランジスタT13のそれぞれの拡散層の一端は、前段の二つの選択トランジスタT12の拡散層の他端と接続される。複数の選択トランジスタT13のそれぞれの拡散層の他端は、隣接し合ういずれかの選択トランジスタT13の拡散層の他端とともに、フィルタ回路122に接続される。
【0066】
LUT12-1の第1論理選択回路121は、8個の選択トランジスタT11、4個の選択トランジスタT12、2個の選択トランジスタT13を含む選択トランジスタ群を2組有する。第1論理選択回路121に含まれる二つの選択トランジスタ群のそれぞれの出力は、フィルタ回路122に含まれる第1フィルタ素子161および第2フィルタ素子162のうちいずれか一方に接続される。第1論理選択回路121によって選択される二つのデータ信号のそれぞれは、後続するフィルタ回路122に含まれる第1フィルタ素子161および第2フィルタ素子162のうちいずれか一方に出力される。
【0067】
二つのNOT回路N21(第1論理否定回路とも呼ぶ)のそれぞれの入力には、第2信号線群102を構成する二つの信号線のうちいずれか一方が接続される。NOT回路N21には、第2信号線群102を構成するいずれかの信号線から、冗長化された信号が入力される。二つのNOT回路N21のうち一方の出力は、第2選択回路172に含まれる二つの選択トランジスタT21のうち一方のゲートと、二つのNOT回路N22のうち一方の入力とに接続される。二つのNOT回路N21のうち他方の出力は、第2選択回路172に含まれる二つの選択トランジスタT22のうち他方のゲートと、二つのNOT回路N22のうち他方の入力とに接続される。NOT回路N21は、入力された信号の値を反転させて出力する。
【0068】
言い換えると、第2信号線群102を構成する二つの信号線のうち一方は、選択トランジスタT21のゲートに接続されるNOT回路N21の入力に接続される。また、第2信号線群102を構成する二つの信号線のうち他方は、選択トランジスタT22のゲートに接続されるNOT回路N21の入力に接続される。
【0069】
二つのNOT回路N22(第2論理否定回路とも呼ぶ)のそれぞれの入力には、複数のNOT回路N21のうちいずれか一方の出力が接続される。二つのNOT回路N22のうち一方の出力は、第2選択回路172に含まれる二つの選択トランジスタT21のうち他方のゲートに接続される。二つのNOT回路N22のうち他方の出力は、第2選択回路172に含まれる二つの選択トランジスタT22のうち他方のゲートに接続される。NOT回路N22は、入力された信号の値を反転させる。
【0070】
二つの選択トランジスタT21(第1選択トランジスタとも呼ぶ)のうち一方の拡散層の一端は、フィルタ回路122に含まれる第1フィルタ素子161に接続される。二つの選択トランジスタT21のうち一方の拡散層の他端は、対をなす選択トランジスタT22の拡散層の一端に接続される。二つの選択トランジスタT21のうち他方の拡散層の一端は、フィルタ回路122に含まれる第2フィルタ素子162に接続される。二つの選択トランジスタT21のうち他方の拡散層の他端は、対をなす選択トランジスタT22の拡散層の一端に接続される。
【0071】
二つの選択トランジスタT22(第2選択トランジスタとも呼ぶ)のうち一方の拡散層の一端は、対をなす選択トランジスタT21の拡散層の他端と接続される。二つの選択トランジスタT22のうち他方の拡散層の一端は、対をなす選択トランジスタT21の拡散層の他端と接続される。二つの選択トランジスタT22の拡散層の他端は、DFF13の入力D端子に接続される。
【0072】
第1フィルタ素子161は、第1論理選択回路121からの二つの出力のうち一方と、第2論理選択回路123に含まれる二つの選択トランジスタT21のうち一方の拡散層の一端とに接続される。第2フィルタ素子162は、第1論理選択回路121からの二つの出力のうち他方と、第2論理選択回路123に含まれる二つの選択トランジスタT21のうち他方の拡散層の一端とに接続される。第1フィルタ素子161および第2フィルタ素子162は、入力された信号からグリッチを除去し、第2論理選択回路123に含まれる二つの選択トランジスタT21のうちいずれか一方に出力データ信号を出力する。例えば、第1フィルタ素子161および第2フィルタ素子162は、SETに起因して発生したグリッチを除去するSETフィルタによって実現される。
【0073】
図10のLUT12-1には、第1信号線群101から冗長化されていない信号が入力され、第2信号線群102から二重冗長化された信号が入力される。そして、図10のLUT12-1は、それらの信号の組合せに応じて一つの信号を選択し、選択した信号を出力する。すなわち、図10のLUT12-1は、実効的には4入力1出力である。なお、LUT12-1は、さらに大規模な回路構成としてもよい。
【0074】
図10の構成では、第1信号線群101から入力される信号に含まれるグリッチは、フィルタ回路122に含まれる第1フィルタ素子161および第2フィルタ素子162によって除去される。第2信号線群102のいずれか一つの信号が、SETの発生によって一時的に不正な値をとっても、第2選択回路172の出力が一時的にハイインピーダンス状態となるため、出力容量によりSETが発生する前の電圧レベルが保持される。そのため、図10の構成によれば、SETの影響がDFF13に及ぶことを防止できる。
【0075】
図10には、LUT12-1に含まれる選択トランジスタT11~T13をnFET(n Field effect transistor)で構成する例を示したが、LUT12-1に含まれる選択トランジスタはpFETで構成してもよい。また、LUT12-1には、nFETまたはpFETによって構成される選択トランジスタの替わりに、nFETとpFETとを組み合わせたトランスミッションゲートを構成してもよい。また、DFF13の前段に、論理振幅を回復させるためのプルアップ回路を挿入してもよい。
【0076】
次に、図10のLUT12-1とは異なる回路構成について説明する。図11は、図10のLUT12-1とは異なる回路構成の一例(LUT12-2)を示す概念図である。なお、図11においては、図10と同様の構成については同じ符号を付し、詳細な説明は省略する。図11のLUT12-2は、図10のLUT12-1にマルチプレクサ181~182を追加した回路構成を有する。LUT12-2の出力は、DFF13とマルチプレクサ183の入力に接続される。なお、図10においては、マルチプレクサ181~183に選択制御信号を入力するための選択制御線は省略する。また、LUT12-2の構成にマルチプレクサ183を含めてもよい。
【0077】
マルチプレクサ181(第1マルチプレクサとも呼ぶ)は、第1論理選択回路121からの二つの出力のうち一方と、第1フィルタ素子161の出力とに接続される。マルチプレクサ182(第2マルチプレクサとも呼ぶ)は、第1論理選択回路121からの二つの出力のうち他方と、第2フィルタ素子162の出力とが接続される。マルチプレクサ181およびマルチプレクサ182は、入力された二つの信号のうちいずれか一方を選択して出力する。マルチプレクサ181およびマルチプレクサ182に接続される第1論理選択回路121からの二つの信号経路は、第1フィルタ素子161および第2フィルタ素子162を使用しない場合の迂回経路である。例えば、DFF13を使用しない回路を構成する場合などには迂回経路が選択される。
【0078】
マルチプレクサ183(第3マルチプレクサとも呼ぶ)は、第2論理選択回路123からの出力と、DFF13の出力Qとに接続される。マルチプレクサ183は、入力された二つの信号のうちいずれか一方を選択して出力する。マルチプレクサ183に接続される第2論理選択回路123からの信号経路は、DFF13を使用しない場合の迂回経路である。例えば、DFF13を使用せずに、第1論理選択回路121および第2論理選択回路123のみを使用する回路を構成する場合などには迂回経路が選択される。
【0079】
図11のLUT12-2を用いれば、DFF13やフィルタ回路122を迂回する回路を構成できる。
【0080】
以上が、論理集積回路1のLUT12を実現する回路構成の一例についての説明である。なお、図10および図11の回路構成は一例であって、LUT12の回路構成をそのままの形態に限定するものではない。
【0081】
以上のように、本実施形態の論理集積回路は、LUT、クロスバ回路、およびフリップフロップを備える。LUTは、第1論理選択回路、フィルタ回路、および第2論理選択回路を備える。
【0082】
第1論理選択回路は、前段の論理ブロックからの論理信号群のうち冗長化されていない第1信号群が伝播される第1信号線群に接続される。第1論理選択回路は、第1信号線群から入力される第1信号群を構成する信号の組合せに基づいて少なくとも一つのデータ信号を選択して出力する。言い換えると、第1論理選択回路は、論理信号群のうち冗長化されていない第1信号群が入力され、第1信号群を構成する信号の組合せに基づいて、データ信号群から少なくとも二つのデータ信号を選択する。
【0083】
フィルタ回路は、第1論理選択回路によって選択された少なくとも二つのデータ信号が入力され、少なくとも二つのデータ信号に含まれるグリッチを除去する。
【0084】
第2論理選択回路は、前段の論理ブロックからの論理信号群のうち冗長化された第2信号群が伝播される第2信号線群とフィルタ回路とに接続される。第2論理選択回路は、第2信号線群から入力される第2信号群を構成する信号の組合せに基づいて、フィルタ回路から入力されるデータ信号のうち少なくとも一つを選択して出力する。言い換えると、第2論理選択回路は、論理信号群のうち冗長化された第2信号群と、フィルタ回路の出力データ信号群とが入力され、第2信号群を構成する信号の組合せに基づいて、出力データ信号群のうち少なくとも一つを選択する。例えば、第2信号群が伝播される第2信号線群には、論理信号群のうち遅延が最大となる信号が割り当てられる。
【0085】
クロスバ回路は、第1信号群が伝播される第1論理選択回路と、第2信号群が伝播される第2論理選択回路とのいずれかに、論理信号群に含まれる信号をルーティングする。
【0086】
フリップフロップは、第2論理選択回路によって選択された出力データ信号をクロックに同期して読み込む。
【0087】
本実施形態において、第1論理選択回路は、第1信号群が伝播される第1信号線群に接続され、第1信号線群から入力される第1信号群を構成する信号の組合せに基づいて二つのデータ信号を選択する。フィルタ回路は、第1論理選択回路によって選択された二つのデータ信号のそれぞれに含まれるグリッチを除去する。第2論理選択回路は、二重冗長化された第2信号群が伝播される第2信号線群に接続され、第2信号線群から入力される第2信号群を構成する信号の組合せに基づいて、フィルタ回路からの出力データ信号群のうち一つを選択する。
【0088】
例えば、第2論理選択回路は、第1選択トランジスタ、第2選択トランジスタ、第1論理否定回路、および第2論理否定回路を二つずつ有する。第1選択トランジスタは、二つの第2選択トランジスタのうちいずれか一方と対をなす。第1選択トランジスタは、フィルタ回路から出力された二つの出力データ信号のうち一方が伝播される信号線に拡散層の一端が接続され、対をなす第2選択トランジスタの拡散層の一端に拡散層の他端が接続される。第2選択トランジスタは、対をなす第1選択トランジスタの拡散層の他端に拡散層の一端が接続される。第2選択トランジスタは、もう一方の第2選択トランジスタの拡散層の他端に拡散層の他端が接続され、その拡散層の他端がもう一方の第2選択トランジスタと共通の出力端を形成する。第1論理否定回路は、二つの第2論理否定回路のうちいずれか一方と対をなす。第1論理否定回路は、二重冗長化された第2信号群が伝播される信号線のうちいずれか一方に入力が接続されるとともに、二つの第1選択トランジスタのうちいずれか一方のゲートと、対をなす第2論理否定回路の入力とに出力が接続される。第2論理否定回路は、対をなす第1論理否定回路の出力に入力が接続される。第2論理否定回路は、対をなす第1論理否定回路の出力が接続された第1選択トランジスタとは異なる第1選択トランジスタのゲートに出力が接続される。
【0089】
例えば、第2論理選択回路は、第1マルチプレクサと第2マルチプレクサとを備える。第1マルチプレクサは、第1論理選択回路から出力される第1データ信号が伝播される信号線と、フィルタ回路を通過した第1データ信号が伝播される信号線とに入力が接続され、二つの第1選択トランジスタのうち一方に出力が接続される。第2マルチプレクサは、第1論理選択回路から出力される第2データ信号が伝播される信号線と、フィルタ回路を通過した第2データ信号が伝播される信号線とに入力が接続され、二つの第1選択トランジスタのうち他方に出力が接続される。
【0090】
例えば、第2論理選択回路は、フリップフロップと、第3マルチプレクサとを備える。フリップフロップは、第2論理選択回路によって選択された出力データ信号をクロックに同期して読み込む。第3マルチプレクサは、第2論理選択回路から出力される信号が伝播される信号線と、フリップフロップから出力される信号が伝播される信号線とに入力が接続され、入力された信号のうちいずれかを選択する。
【0091】
例えば、クロスバ回路は、第1方向に延伸する複数の第1配線と、第1方向と交差する第2方向に延伸する複数の第2配線と、第1配線と第2配線との交差する位置に配置される複数のスイッチセルとを備える。複数の前記第2配線のそれぞれは、第1論理選択回路および第2論理選択回路のいずれかに接続される。スイッチセルは、抵抗変化スイッチを含む。例えば、抵抗変化スイッチは、銅を主成分とする活性電極と、銅と比べて活性の低い金属を主成分とする不活性電極と、活性電極と不活性電極との間に配置される抵抗変化素子とを有する。
【0092】
本実施形態においては、LUTの信号入力のうち、第1信号線群には冗長化しない信号を入力し、第2信号線群には冗長化させた同じ信号を入力する。冗長化しない経路にはフィルタを配してグリッチを防止する。一方、冗長化する経路には、フィルタを配置しない構成とする。本実施形態においては、伝播遅延が最も厳しい信号経路を第2信号線群に割り当てて伝播遅延の増加なしにSET対策をするとともに、他の信号経路にはフィルタを配置することによって冗長構成とせずにSET対策をする。その結果、本実施形態によれば、回路規模や速度性能の要件を満たしながら、シングルイベントトランジエントの影響を低減できる。
【0093】
(第2の実施形態)
次に、本発明の第2の実施形態に係る論理集積回路について図面を参照しながら説明する。本実施形態の論理集積回路は、三重冗長化された第2信号群のうち値が多数の信号を選択する多数決回路を有する点で第1の実施形態とは異なる。
【0094】
図12は、本実施形態の論理集積回路2の構成の概要について説明するための概念図である。図12のように、論理集積回路2は、クロスバ回路21、LUT22、DFF23を備える。クロスバ回路21は、冗長化されてない第1信号群を伝播させる第1信号線群201と、冗長化された第2信号群を伝播させる第2信号線群202とを介してLUT22に接続される。第1信号群は、冗長化されてない信号S1~S3によって構成される。第2信号群は、冗長化された信号S4~S6によって構成される。
【0095】
LUT22とDFF23とは論理ブロック200を構成する。図12には、論理ブロック200が一組のLUT22とDFF23とによって構成される例を図示しているが、論理ブロック200は複数組のLUT22とDFF23とによって構成されてもよい。また、図12には、論理集積回路2が一組のクロスバ回路21、LUT22、およびDFF23によって構成される例を図示しているが、複数の論理ブロック200をクロスバ回路21で接続させて論理集積回路2を構成してもよい。なお、クロスバ回路21およびDFF23のそれぞれは、第1の実施形態のクロスバ回路11およびDFF13と同様の構成であるため、詳細な説明を省略する。
【0096】
図13は、LUT22の構成の一例を示すブロック図である。図13のように、LUT22は、第1論理選択回路221、フィルタ回路222、第2論理選択回路223、多数決回路225を有する。なお、第1論理選択回路221およびフィルタ回路222の構成は第1の実施形態と同様であるため、詳細な説明は省略する。以下においては、第1の実施形態と相違する第2論理選択回路223および多数決回路225について説明する。
【0097】
第2論理選択回路223の入力は、多数決回路225の出力に接続されるとともに、フィルタ回路222の出力に接続される。また、第2論理選択回路223の出力は、DFF23の入力に接続される。第2論理選択回路223は、多数決回路225から入力される選択信号に応じて、フィルタ回路222からの少なくともニつのデータ信号のうち一つを選択してDFF23に出力する。
【0098】
多数決回路225は、入力が第2信号線群202を介してクロスバ回路21に接続され、出力が第2論理選択回路223に接続される。多数決回路225は、第2信号線群202を介して入力される第2信号群を構成する信号のうち、多数の値を選択して出力する。図13の例では、多数決回路225は、第2信号線群202からの三つの入力のうち、二つ以上が「1」であれば「1」を出力し、二つ以上が「0」であれば「0」を出力する。
【0099】
図14は、多数決回路225を実現する回路の構成例(多数決回路280)である。多数決回路280は、三つのAND回路281~283と、一つのOR回路284とを含む。なお、図14の例では、第2信号線群202が三つの第2信号線202-1~3で構成されるものとする。AND回路281の入力には、第2信号線202-1と第2信号線202-2とが接続される。AND回路282の入力には、第2信号線202-2と第2信号線202-3とが接続される。AND回路283の入力には、第2信号線202-1と第2信号線202-3とが接続される。AND回路281~283の出力は、OR回路284の入力に接続される。OR回路284は、AND回路281~283の入力のうち多数の値を一つ選択して第2入力回路271に出力する。
【0100】
図15は、第2論理選択回路223の構成の一例を示す概念図である。図15のように、第2論理選択回路223は、第2入力回路271、第2選択回路272を含む。
【0101】
図15のように、第2入力回路271は、入力が多数決回路225の出力に接続され、出力が第2選択回路272に接続される。第2入力回路271には、フィルタ回路222から出力された少なくとも二つのデータ信号のうちいずれか一つを選択するための選択信号が入力される。第2入力回路271は、入力された信号に対応するデータ信号を読み出すための選択信号を第2選択回路272に出力する。
【0102】
例えば、第2入力回路271は、多数決回路225からの入力信号を反転させた信号(以下、反転信号と呼ぶ)を生成する第1否定回路と、その反転信号をさらに反転させた信号を生成する第2否定回路とを含む。例えば、第2入力回路271は、反転信号が出力される信号線と、その反転信号をさらに反転した信号が出力される信号線とを介して第2選択回路272に接続される。
【0103】
第2選択回路272は、第2入力回路271と、フィルタ回路222と、DFF23とに接続される。第2選択回路272には、第2入力回路271から選択信号が入力される。第2選択回路272は、第2入力回路271から入力される選択信号に応じて、フィルタ回路222から入力されるデータ信号をうち一つを選択する。第2選択回路272は、選択したデータ信号をDFF23に出力する。
【0104】
以上が、LUT22の構成の一例についての説明である。なお、図13図15に示すLUT22の構成は一例であって、本実施形態のLUT22の構成をそのままの形態で限定するものではない。
【0105】
〔回路構成〕
次に、本実施形態の論理集積回路2のLUT22を実現する回路構成の一例について図面を参照しながら説明する。
【0106】
図16は、LUT22の回路構成の一例(LUT22-1)を示す概念図である。図16のように、LUT22-1は、第1論理選択回路221、フィルタ回路222、第2論理選択回路223、多数決回路225を有する。なお、対応関係を分かりやすくするために図16の符号を図12図15の符号と同じにしたが、図12図15の回路構成を図16の回路構成に限定するわけではない。
【0107】
第1論理選択回路221は、複数の記憶素子M1~M16、第1入力回路251、および第1選択回路252を含む。第1入力回路251は、複数のNOT回路N11~N12(論理否定回路とも呼ぶ)を含む。第1選択回路252は、複数の選択トランジスタT11~T13を含む。なお、図16においては、一部の選択トランジスタT11~T13のみに符号を付し、大部分の選択トランジスタT11~T13の符号は省略している。また、第1論理選択回路221の構成は、図10に示す第1論理選択回路121の構成と同様であるため、詳細な説明は省略する。
【0108】
フィルタ回路222は、第1フィルタ素子261と第2フィルタ素子262とを含む。第1フィルタ素子261および第2フィルタ素子262は、第1論理選択回路221の二つの出力のうちいずれか一方と、第2論理選択回路223の入力のうちいずれか一方との間に挿入される。フィルタ回路222の構成は、図10に示すフィルタ回路122の構成と同様であるため、詳細な説明は省略する。
【0109】
第2論理選択回路223は、第2入力回路271および第2選択回路272を含む。第2入力回路271は、NOT回路N21およびNOT回路N22を含む。第2選択回路272は、選択トランジスタT21および選択トランジスタT22を含む。
【0110】
多数決回路225の入力には、第2信号線群202を構成する三つの信号線が接続される。また、多数決回路225の出力には、第2入力回路271のNOT回路N21が接続される。多数決回路225は、三つの信号線から入力される三つの信号の中で値が多数の信号(選択信号とも呼ぶ)を選択して第2入力回路271に出力する。
【0111】
以上が、LUT22-1の概略的な回路構成についての説明である。続いて、LUT22-1に含まれる構成について詳細に説明する。以下においては、図10のLUT12-1と同様の構成については説明を省略し、主に第2論理選択回路223の構成について説明する。
【0112】
NOT回路N21(第1否定論理回路とも呼ぶ)の入力には、多数決回路225の出力が接続される。NOT回路N21の出力は、第2選択回路272に含まれる選択トランジスタT21のゲートと、NOT回路N22の入力とに接続される。NOT回路N21には、多数決回路225から出力される選択信号が入力される。NOT回路N21は、入力された選択信号の値を反転した信号を、選択トランジスタT21のゲートおよびNOT回路N22の入力に出力する。
【0113】
NOT回路N22(第2否定論理回路とも呼ぶ)の入力には、NOT回路N21の出力が接続される。NOT回路N22の出力は、第2選択回路272に含まれる選択トランジスタT22のゲートに接続される。NOT回路N22は、入力された信号の値を反転させた信号を選択トランジスタT22のゲートに出力する。
【0114】
選択トランジスタT21(第1選択トランジスタとも呼ぶ)の拡散層の一端は、フィルタ回路222に含まれる第1フィルタ素子261に接続される。選択トランジスタT21の拡散層の他端は、選択トランジスタT22の拡散層の他端とともにDFF23の入力に接続される。
【0115】
選択トランジスタT22(第2選択トランジスタとも呼ぶ)の拡散層の一端は、フィルタ回路222に含まれる第2フィルタ素子262に接続される。選択トランジスタT22の拡散層の他端は、選択トランジスタT21の拡散層の他端とともにDFF23の入力に接続される。
【0116】
図16のLUT22-1には、第1信号線群201から冗長化されていない信号が入力され、第2信号線群202から三重冗長化された信号が入力される。そして、図16のLUT22-1は、選択信号の組合せに応じて一つのデータ信号を選択して出力する。図16のLUT22-1は、実効的には4入力1出力である。なお、LUT22-1は、さらに大規模な回路構成としてもよい。
【0117】
図16の構成では、第1信号線群201から入力される信号に含まれるグリッチは、フィルタ回路222に含まれる第1フィルタ素子261および第2フィルタ素子262によって除去される。一方、第2信号線群202から入力される信号は、SETが発生した際に一時的に不正な値をとっても、多数決回路225によって、SETが発生する前の電圧レベルが保持される。そのため、図16の構成によれば、SETの影響がDFF13に及ぶことを防止できる。
【0118】
以上のように、本実施形態の論理集積回路は、第2信号群が伝播される第2信号線群に接続され、第2信号線群から入力される第2信号群を構成する信号のうち値が多数の信号を選択し、選択した信号を第2論理選択回路に出力する多数決回路を有する。
【0119】
第1論理選択回路は、第1信号群が伝播される第1信号線群に接続され、第1信号線群から入力される第1信号群を構成する信号の組合せに基づいて、データ信号群に含まれる二つのデータ信号を選択する。フィルタ回路は、第1論理選択回路によって選択された二つのデータ信号のそれぞれに含まれるグリッチを除去する。第2論理選択回路は、多数決回路によって選択された信号に基づいて、フィルタ回路から入力される二つの出力データ信号のうち一つを選択する。
【0120】
例えば、第2論理選択回路は、第1論理否定回路、第2論理否定回路、第1選択トランジスタ、および第2選択トランジスタを有する。第1選択トランジスタの拡散層の一端は、フィルタ回路から出力される二つのデータ信号のうち一方が伝播される信号線に接続される。第1選択トランジスタの拡散層の他端は、第2選択トランジスタの拡散層の一端に接続され、第2選択トランジスタと共通の出力端を形成する。第2選択トランジスタの拡散層の一端は、フィルタ回路から出力される二つのデータ信号のうち他方が伝播される信号線に接続される。第2選択トランジスタの拡散層の他端は、第1選択トランジスタの拡散層の一端に接続され、第1選択トランジスタと共通の出力端を形成する。第1論理否定回路は、入力が多数決回路の出力に接続されるとともに、出力が第1選択トランジスタのゲートと第2論理否定回路の入力とに接続される。第2論理否定回路は、入力が第1論理否定回路の出力に接続され、出力が第2選択トランジスタのゲートに接続される。
【0121】
本実施形態においては、第1の実施形態と同様に、伝播遅延が最も厳しい信号経路を第2信号線群に割り当てて伝播遅延の増加なしにSET対策をするとともに、他の信号経路にはフィルタを配置することによって冗長構成とせずにSET対策をする。その結果、本実施形態によれば、回路規模や速度性能の要件を満たしながら、シングルイベントトランジエントの影響を低減できる。また、本実施形態によれば、多数決回路を挿入することにより、第1の実施形態と比べて第2論理選択回路を簡略化できる。
【0122】
(第3の実施形態)
次に、本発明の第3の実施形態に係る論理集積回路について図面を参照しながら説明する。本実施形態の論理集積回路は、三重冗長化された第2論理選択回路から出力されるデータ信号のうち値が多数の信号を選択する多数決回路を有する点で第1~第2の実施形態とは異なる。
【0123】
図17は、本実施形態の論理集積回路3の構成の概要について説明するための概念図である。図17のように、論理集積回路3は、クロスバ回路31、LUT32、DFF33を備える。クロスバ回路31は、冗長化されてない第1信号群を伝播させる第1信号線群301と、冗長化された第2信号群を伝播させる第2信号線群302とを介してLUT32に接続される。第1信号群は、冗長化されてない信号S1~S3によって構成される。第2信号群は、冗長化された信号S4~S6によって構成される。
【0124】
LUT32とDFF33とは論理ブロック300を構成する。図17には、論理ブロック300が一組のLUT32とDFF33とによって構成される例を図示しているが、論理ブロック300は複数組のLUT32とDFF33とによって構成されてもよい。また、図17には、論理集積回路3が一組のクロスバ回路31、LUT32、およびDFF33によって構成される例を図示しているが、複数の論理ブロック300をクロスバ回路31で接続させて論理集積回路3を構成してもよい。なお、クロスバ回路31およびDFF33のそれぞれは、第1の実施形態のクロスバ回路11およびDFF13と同様の構成であるため、詳細な説明を省略する。
【0125】
図18は、LUT32の構成の一例を示すブロック図である。図18のように、LUT32は、第1論理選択回路321、フィルタ回路322、第2論理選択回路323、多数決回路325を有する。なお、第1論理選択回路321およびフィルタ回路322の構成は第1の実施形態と同様であるため、詳細な説明は省略する。以下においては、第1の実施形態と相違する第2論理選択回路323および多数決回路325について説明する。
【0126】
図18において、第2論理選択回路323は、三重に冗長化されている。三重冗長化された第2論理選択回路323のそれぞれの入力は、第2信号線群302を構成する信号線のいずれかを介してクロスバ回路31に接続されるとともに、フィルタ回路322の出力に接続される。また、三重冗長化された第2論理選択回路323の出力は、多数決回路325の入力に接続される。三重冗長化された第2論理選択回路323のそれぞれは、第2信号線群302から入力される信号に応じて、フィルタ回路322からの少なくとも三つのデータ信号のうち一つを選択して多数決回路325に出力する。なお、第2論理選択回路323は、三重以外の多重度で冗長化されてもよい。
【0127】
図18においては、全ての第2論理選択回路323がフィルタ回路322に接続するように図示しているが、一つの第2論理選択回路323がフィルタ回路322に接続するように構成してもよい。また、少なくとも一つの第2論理選択回路323がフィルタ回路322に接続するように構成してもよい。
【0128】
多数決回路325は、三重冗長化された第2論理選択回路323のそれぞれの出力に入力が接続され、DFF33に出力が接続される。多数決回路325は、第2論理選択回路323から入力されるデータ信号のうち、多数の値の信号を選択して出力する。例えば、多数決回路325は、三重冗長化された第2論理選択回路323からの三つの入力のうち、二つ以上が「1」であれば「1」を出力し、二つ以上が「0」であれば「0」を出力する。例えば、多数決回路325は、図14の多数決回路280によって実現される。
【0129】
図19は、第2論理選択回路323の構成の一例を示す概念図である。図19のように、第2論理選択回路323は、第2入力回路371、第2選択回路372を含む。
【0130】
図19のように、第2入力回路371は、第2信号線群302を構成する信号線のいずれかに入力が接続され、多数決回路325の入力に出力が接続される。第2入力回路371には、フィルタ回路322から出力された少なくとも一つのデータ信号のうちいずれか一つを選択するための選択信号が入力される。第2入力回路371は、入力された信号に対応するデータ信号を読み出すための選択信号を第2選択回路372に出力する。
【0131】
例えば、第2入力回路371は、第2信号線群302を構成するいずれかの信号線からの入力信号を反転させた信号(以下、反転信号と呼ぶ)を生成する第1論理否定回路と、その反転信号をさらに反転させた信号を生成する第2論理否定回路とを含む。例えば、第2入力回路371は、反転信号が出力される信号線と、その反転信号をさらに反転した信号が出力される信号線とを介して第2選択回路372に接続される。
【0132】
第2選択回路372は、第2入力回路371と、フィルタ回路322と、多数決回路325とに接続される。第2選択回路372には、第2入力回路371から選択信号が入力される。第2選択回路372は、第2入力回路371から入力される選択信号に応じて、フィルタ回路322から入力されるデータ信号のうち一つを選択する。第2選択回路372は、選択したデータ信号を多数決回路325に出力する。
【0133】
以上が、LUT32の構成の一例についての説明である。なお、図17図19に示すLUT32の構成は一例であって、本実施形態のLUT32の構成をそのままの形態で限定するものではない。
【0134】
〔回路構成〕
次に、本実施形態の論理集積回路3のLUT32を実現する回路構成の一例について図面を参照しながら説明する。
【0135】
図20は、LUT32の回路構成の一例(LUT32-1)を示す概念図である。なお、図20においては、図16と同様の構成については同じ符号を付し、詳細な説明は省略する。図20のLUT32-1は、第2論理選択回路323を三重冗長化し、三重冗長化した第2論理選択回路323の後段に多数決回路325を配置した回路構成を有する。なお、図20のLUT32-1の説明においては、図16のLUT22-1と同様の箇所については詳細な説明を省略する。
【0136】
第1論理選択回路321は、複数の記憶素子M1~M16、第1入力回路351、および第1選択回路352を含む。第1入力回路351は、複数のNOT回路N11~N12(論理否定回路とも呼ぶ)を含む。第1選択回路352は、複数の選択トランジスタT11~T13を含む。なお、図20においては、一部の選択トランジスタT11~T13のみに符号を付し、大部分の選択トランジスタT11~T13の符号は省略している。また、第1論理選択回路321の構成は、図10に示す第1論理選択回路121の構成と同様であるため、詳細な説明は省略する。
【0137】
フィルタ回路322は、第1フィルタ素子361と第2フィルタ素子362とを含む。第1フィルタ素子361および第2フィルタ素子362は、第1論理選択回路321の二つの出力のうちいずれか一方と、第2論理選択回路323の入力のうちいずれか一方との間に挿入される。フィルタ回路322の構成は、図10に示すフィルタ回路122の構成と同様であるため、詳細な説明は省略する。
【0138】
第2論理選択回路323は、三重冗長化される。三重冗長化された第2論理選択回路323のそれぞれに含まれるNOT回路N21の入力には、三重冗長化された第2信号線群302を構成する信号線のうちいずれかが接続される。また、三重冗長化された第2論理選択回路323のそれぞれに含まれる選択トランジスタT21の拡散層の一端には、第1フィルタ素子361の出力が接続される。三重冗長化された第2論理選択回路323のそれぞれに含まれる選択トランジスタT22の拡散層の一端には、第2フィルタ素子362の出力が接続される。第2論理選択回路323は、第1論理選択回路321から出力される二つのデータ信号のうちいずれか一方を、第2信号線群302からの信号に基づいて選択し、選択した信号を多数決回路325に出力する。なお、三重冗長化された第2論理選択回路323のうち少なくとも一つをフィルタ回路322に接続し、その他の第2論理選択回路323はフィルタ回路322に接続させないように構成してもよい。
【0139】
多数決回路325の入力には、三重冗長化された第2論理選択回路323のそれぞれの出力が接続される。多数決回路325の出力には、DFF33の入力D端子が接続される。多数決回路325は、三つの第2論理選択回路323から出力される三つの信号中、二つ以上が「1」であれば、「1」をDFF33に出力し、2つ以上が「0」であれば「0」をDFF33に出力する。
【0140】
図20のように、第2論理選択回路323を冗長化し、冗長化された第2論理選択回路323の後段に多数決回路325を配置する構成としても、図16のLUT22-1と同様の機能を実現できる。
【0141】
以上のように、本実施形態の論理集積回路は、多重化された第2論理選択回路に接続され、多重化された第2論理選択回路によって選択された出力データ信号のうち値が多数の信号を出力する多数決回路を有する。第1論理選択回路は、第1信号群が伝播される第1信号線群に接続され、第1信号線群から入力される第1信号群を構成する信号の組合せに基づいて二つのデータ信号を選択する。フィルタ回路は、第1論理選択回路から出力される二つのデータ信号のそれぞれに含まれるグリッチを除去する。それぞれの第2論理選択回路は、第2信号群が伝播される第2信号線群を構成する信号線のうちいずれかに接続され、接続された信号線からの信号に基づいて、フィルタ回路から入力される二つの出力データ信号のうち一つを選択して多数決回路に出力する。
【0142】
例えば、多重化された第2論理選択回路のそれぞれは、第1選択トランジスタ、第2選択トランジスタ、第1論理否定回路、および第2論理否定回路を有する。第1選択トランジスタの拡散層の一端は、フィルタ回路から出力される二つの出力データ信号のうち一方が伝播される信号線に接続され。第1選択トランジスタの拡散層の他端は、第2選択トランジスタの拡散層の一端に拡散層の他端が接続され、第2選択トランジスタと共通の出力端を形成する。第2選択トランジスタの拡散層の一端は、フィルタ回路から出力される二つの出力データ信号のうち他方が伝播される信号線に接続される。第2選択トランジスタの拡散層の他端は、拡散層の他端が第1選択トランジスタの拡散層の一端に接続され、第1選択トランジスタと共通の出力端を形成する。第1論理否定回路は、入力が第2信号群の伝播するいずれかの信号線に接続されるとともに、出力が第1選択トランジスタのゲートと第2論理否定回路の入力とに接続される。第2論理否定回路は、入力が第1論理否定回路の出力に接続され、出力が第2選択トランジスタのゲートに接続される。出力端は、多数決回路の入力に接続される。
【0143】
本実施形態においては、第1の実施形態と同様に、伝播遅延が最も厳しい信号経路を第2信号線群に割り当てて伝播遅延の増加なしにSET対策をするとともに、他の信号経路にはフィルタを配置することによって冗長構成とせずにSET対策をする。その結果、本実施形態によれば、回路規模や速度性能の要件を満たしながら、シングルイベントトランジエントの影響を低減できる。また、本実施形態によれば、第2論理選択回路の後段に多数決回路を挿入することにより、第2の実施形態と比べて、シングルイベントトランジエントの影響が後段に及ぶことをより低減できる。
【0144】
(第4の実施形態)
次に、本発明の第4の実施形態に係る設計支援システム、当該設計支援システムが実行する構成情報設定方法、当該設計支援システムを構成するコンピュータに実行させるプログラムについて図面を参照しながら説明する。本実施形態に係る設計支援システムは、遅延が最大となる信号経路を算出し、その信号経路を第2信号線群に割り当てる構成情報を生成し、かかる構成情報を前述した論理集積回路に転送する。
【0145】
(構成)
図21は、本実施形態の設計支援システム40の構成の一例を示す概念図である。図22は、設計支援システム40が有する設計支援ツール群400の構成の一例を示す概念図である。
【0146】
図21のように、設計支援システム40は、構成情報生成装置41および構成情報転送装置42を備える。設計支援システム40は、少なくとも論理集積回路4に論理回路を設定する際には、その論理集積回路4に接続される。論理集積回路4は、第1~第3の実施形態の論理集積回路1~3のいずれかである。
【0147】
図21のように、構成情報生成装置41は、構成情報転送装置42に接続される。また、構成情報生成装置41は、構成情報転送装置42を介して論理集積回路4に接続される。構成情報生成装置41と構成情報転送装置42との接続、構成情報転送装置42と論理集積回路4との接続は、有線および無線のいずれを用いてもよく、それらの接続における信号の通信方式は特に限定しない。
【0148】
図21のように、構成情報生成装置41は、演算部411、記憶部412、表示部413、および入出力部414を備える。演算部411、記憶部412、表示部413、および入出力部414は、バス415を介して互いに接続される。構成情報生成装置41は、例えば、コンピュータシステムによって実現される。
【0149】
演算部411は、記憶部412にあらかじめ格納されたプログラムに従って処理を実行することによって、構成情報生成装置41の全体の動作を制御する。また、演算部411は、記憶部412にあらかじめ格納されているプログラムに従った処理を実行することによって、設計支援ツール群400の機能を実現する。
【0150】
記憶部412は、設計情報やプログラムを格納するメモリ等の記憶媒体である。設計情報は、設計者が作成する回路の動作記述情報や、制約条件情報などの論理集積回路4に実装される情報を含む。例えば、設計情報には、演算部411の処理結果であるネットリスト情報や、配置配線情報、論理集積回路4のリソース情報や構成情報、書き換え履歴情報等の情報が含まれる。
【0151】
表示部413は、SETフィルタの挿入位置やクリティカルパス遅延を持つノードなどを表示できる。また、表示部413は、設計支援ツール群400の命令入力画面や処理結果を表示してもよい。例えば、表示部413は、スイッチセルの書き換え回数(変更回数とも呼ぶ)に関する情報を表示してもよい。例えば、表示部413は、統計処理後のデータのグラフ表示や、フロアプランナー上でのカラー表示などの表示情報を表示してもよい。例えば、ユーザは、表示部413の表示情報を確認することによって、所望のフロアプランを作成できる。
【0152】
入出力部414は、キーボードや、マウス、タッチパネル等の入力装置や、構成情報転送装置42、図示しない印刷装置等の出力装置との間で信号やデータを送受信し合うためのインターフェースである。入出力部414は、冗長化された信号が伝播される第2信号群に最大遅延信号が割り当てられるための設定をユーザに提供する。ユーザは、入出力部414によって提供される機能を利用することによって、最大遅延信号が第2信号群に割り当てられた配置配線を論理集積回路4に実装できる。
【0153】
構成情報転送装置42は、構成情報生成装置41と論理集積回路4とに接続される。構成情報転送装置42は、構成情報生成装置41と論理集積回路4との間における構成情報などのデータ伝送を制御する。例えば、構成情報転送装置42は、構成情報生成装置41から送信された構成情報等のデータを受信し、論理集積回路4のデータ入出力仕様の送信データに変換して転送する。また、例えば、構成情報転送装置42は、論理集積回路4から出力された構成情報等のデータを受信し、構成情報生成装置41のデータ入出力仕様の送信データに変換して転送する。なお、構成情報転送装置42によるデータ変換方式については、特に限定を加えない。
【0154】
図22の設計支援ツール群400は、図21の記憶部412にあらかじめ格納される。図22の設計支援ツール群400は、演算部411が記憶部412から読み出して実行するツールである。図22に示すように、設計支援ツール群400は、論理合成ツール401、配置配線ツール402、および構成情報生成ツール403を含む。
【0155】
論理合成ツール401(論理合成手段とも呼ぶ)は、論理集積回路4の設計者が入出力部414を用いて入力した動作記述情報や遅延・電力などの制約条件情報を含む動作記述ファイルを入力とする。論理合成ツール401は、入力した動作記述ファイルの論理合成を行う。論理合成ツール401は、論理集積回路4が備える論理要素を用いてネットリストを作成する。ネットリストは、論理要素および論理要素間の接続情報である。
【0156】
配置配線ツール402(配置配線手段とも呼ぶ)は、論理集積回路4の論理要素や配線リソース等のリソース情報を生成する。配置配線ツール402は、論理集積回路4のリソース情報に基づいて、冗長化された信号が伝播される第2信号線群に最大遅延経路が割り当てられるように、ネットリストに含まれる論理要素を仮想的に配置・配線する。言い換えると、配置配線ツール402は、生成したリソース情報に基づいてネットリストに含まれる論理要素を配置し、配置した論理要素間を配線して少なくとも一つの信号経路を仮想的に生成する。
【0157】
構成情報生成ツール403(構成情報生成手段とも呼ぶ)は、回路の構成情報を生成する。構成情報生成ツール403は、冗長化された信号が伝播される第2信号線群に最大遅延経路が割り当てられるように、配置配線ツール402によって配線された信号経路に配線リソースおよびスイッチリソースの割り当てを行う。構成情報生成ツール403は、生成した論理集積回路4の構成情報を出力する。例えば、構成情報生成ツール403は、表示部413に構成情報を表示させたり、入出力部414から構成情報転送装置42に構成情報を出力したりする。
【0158】
以上が、構成情報生成装置41の構成に関する説明である。続いて、構成情報生成装置41の動作について図面を参照しながら説明する。
【0159】
(動作)
図23は、本実施形態の構成情報生成装置41による設計支援方法について説明するためのフローチャートである。図23のフローチャートに沿った以下の説明においては、構成情報生成装置41を動作の主体として説明する。
【0160】
図23において、まず、構成情報生成装置41は、回路の動作記述ファイルを入力とする(ステップS41)。動作記述ファイルは、入出力部414によって入力される。
【0161】
例えば、動作記述ファイルは、ハードウェア記述言語を用いて作成される。ハードウェア記述言語の一例としては、Verilog-HDL(Hardware Description Language)が挙げられる。また、ハードウェア記述言語の一例として、VHDL(Very high-speed integrated circuit Hardware Description Language)が挙げられる。
【0162】
次に、構成情報生成装置41は、入力された動作記述ファイルを論理合成する(ステップS42)。動作記述ファイルの論理合成は、論理合成ツール401によって実行される。
【0163】
次に、構成情報生成装置41は、ネットリストを生成する(ステップS43)。ネットリストは、論理合成ツール401によって生成される。論理合成ツール401は、論理集積回路4に含まれる論理要素を用いてネットリストを生成する。論理合成ツール401は、設計者があらかじめ設定したタイミング制約情報を論理集積回路が満たすように、回路を最適化する。
【0164】
次に、構成情報生成装置41は、論理集積回路4に実装する回路の配置配線処理を実行する(ステップS44)。構成情報生成装置41は、冗長化された信号が伝播される第2信号線群に遅延コストが最大となる信号経路を割り当てられる。回路の配置配線処理は、配置配線ツール402によって実行される。
【0165】
次に、構成情報生成装置41は、配置配線結果に基づいて回路の構成情報を生成する(ステップS45)。構成情報生成装置41は、冗長化された信号が伝播される第2信号線群に最大遅延経路を割り当てる。構成情報の生成は、構成情報生成ツール403によって実行される。
【0166】
回路の構成情報が決定すると、ユーザによって入出力部414に行われた操作に基づいて、構成情報生成装置41と論理集積回路4とが構成情報転送装置42を介して接続される。その結果、構成情報生成装置41と論理集積回路4との通信経路が確立される。構成情報生成装置41は、構成情報転送装置42を介して論理集積回路4に構成情報を送信する。論理集積回路4は、構成情報転送装置42から構成情報を受信すると、コンフィグレーション動作を開始する。全ての構成情報のコンフィグレーション動作が完了すると、論理集積回路4に回路が実装された状態となる。
【0167】
以上が、構成情報生成装置41の動作についての説明である。なお、図22のフローチャートに沿った処理は構成情報生成装置41の動作の一例であって、本実施形態の構成情報生成装置41の動作をそのままの手法に限定するわけではない。
【0168】
〔配置配線処理〕
続いて、構成情報生成装置41の配置配線処理について図面を参照しながら説明する。図24は、構成情報生成装置41の配置配線ツール402によって実行される配置配線処理(ステップS44)の詳細について説明するためのフローチャートである。図24のフローチャートに沿った以下の説明においては、配置配線ツール402を動作の主体として説明する。
【0169】
図24において、まず、配置配線ツール402は、論理要素やルーティングリソース等のリソース情報を生成する(ステップS441)。
【0170】
論理要素の構成情報の保存には、スイッチセルによって構成されるメモリリソースを用いてもよい。ルーティングリソースは、配線リソースやスイッチリソースによって構成される。スイッチリソースは、スイッチセルによって構成されてもよい。リソース情報は、ある論理要素の識別番号と、その論理要素の構成情報を保存するスイッチリソース内のスイッチセルの識別番号とを一組とした情報を含んでいてもよい。また、リソース情報は、ある配線リソースの識別番号と、その配線リソースに接続されるスイッチリソースの内部のスイッチセルの識別番号とがリンクした情報として、配線リソースの有向グラフや無向グラフを含んでいてもよい。
【0171】
次に、配置配線ツール402は、ネットリストに含まれる各論理要素を論理集積回路4の配置スロットに割り当てる(ステップS442)。
【0172】
スロットとは、論理要素を配置する場所である。例えば、配置配線ツール402は、ネットの仮想配線長の総和を評価値(評価関数とも呼ぶ)とし、その評価関数を最小化する配置を探索する。例えば、ネットの仮想配線長は、そのネットに含まれる全ての論理要素のスロット位置を囲う矩形のx軸方向の長さと、y軸方向の長さとの和である。なお、配置配線ツール402が用いる評価関数はここで挙げた限りではない。
【0173】
次に、配置配線ツール402は、ネットリストに含まれる各論理要素がいずれの配線リソースとスイッチリソースとを利用して接続するのかを決定する(ステップS443)。
【0174】
例えば、配置配線ツール402は、遅延時間を最小化することや、配線経路が見つからないことを避けることを実現するために、少なくとも遅延コストを含む評価関数を最小化する配線を探索する。遅延コストとは、配線経路の遅延時間に基づいて算出されるコストである。配置配線ツール402は、冗長化された信号が伝播される第2信号線群に遅延コストが最大となる信号経路が割り当てられるように配線を実行する。
【0175】
また、例えば、配置配線ツール402は、遅延コストに加えて、混雑コストを含む評価関数を最小化する配線を探索する。混雑コストとは、あるルーティングリソースに対して、競合しているネットの数に基づいて算出されるコストである。配置配線ツール402は、混雑コストを徐々に上げながら繰り返し配線を行うことによって、競合を解消していく。配置配線ツール402は、競合を解消できない場合、論理複製などの他の手順を用いて配線を実行してもよい。
【0176】
以上が、配置配線ツール402による配置配線処理についての説明である。なお、図24のフローチャートに沿った処理は一例であって、本実施形態の配置配線ツール402による配置配線処理をそのままの手法に限定するわけではない。
【0177】
以上のように、本実施形態の設計支援システムは、第1~第3の実施形態の論理集積回路に関して、少なくとも遅延コストを含む評価関数を最小化する配線を探索する。そして、本実施形態の設計支援システムは、遅延コストが最大になる信号経路を、第2信号群が伝播される第2信号線群に割り当てる構成情報を生成し、生成された構成情報に基づいた回路構成を論理集積回路に設定する。その結果、本実施形態によれば、論理信号群のうち遅延が最大となる信号経路が第2信号線群に割り当てられる。
【0178】
(ハードウェア)
ここで、本発明の第4の実施形態に係る設計支援システムの処理を実行するハードウェア構成について、図25の情報処理装置90を一例として挙げて説明する。なお、図25の情報処理装置90は、第4の実施形態の設計支援システムの処理を実行するための構成例であって、本発明の範囲を限定するものではない。
【0179】
図25のように、情報処理装置90は、プロセッサ91、主記憶装置92、補助記憶装置93、入出力インターフェース95および通信インターフェース96を備える。図25においては、インターフェースをI/F(Interface)と略して表記する。プロセッサ91、主記憶装置92、補助記憶装置93、入出力インターフェース95および通信インターフェース96は、バス99を介して互いにデータ通信可能に接続される。また、プロセッサ91、主記憶装置92、補助記憶装置93および入出力インターフェース95は、通信インターフェース96を介して、インターネットやイントラネットなどのネットワークに接続される。
【0180】
プロセッサ91は、補助記憶装置93等に格納されたプログラムを主記憶装置92に展開し、展開されたプログラムを実行する。本実施形態においては、情報処理装置90にインストールされたソフトウェアプログラムを用いる構成とすればよい。プロセッサ91は、本実施形態に係る設計支援システムによる処理を実行する。
【0181】
主記憶装置92は、プログラムが展開される領域を有する。主記憶装置92は、例えばDRAM(Dynamic Random Access Memory)などの揮発性メモリとすればよい。また、MRAM(Magnetoresistive Random Access Memory)などの不揮発性メモリを主記憶装置92として構成・追加してもよい。
【0182】
補助記憶装置93は、種々のデータを記憶する。補助記憶装置93は、ハードディスクやフラッシュメモリなどのローカルディスクによって構成される。なお、種々のデータを主記憶装置92に記憶させる構成とし、補助記憶装置93を省略することも可能である。
【0183】
入出力インターフェース95は、情報処理装置90と周辺機器とを接続するためのインターフェースである。通信インターフェース96は、規格や仕様に基づいて、インターネットやイントラネットなどのネットワークを通じて、外部のシステムや装置に接続するためのインターフェースである。入出力インターフェース95および通信インターフェース96は、外部機器と接続するインターフェースとして共通化してもよい。
【0184】
情報処理装置90には、必要に応じて、キーボードやマウス、タッチパネルなどの入力機器を接続するように構成してもよい。それらの入力機器は、情報や設定の入力に使用される。なお、タッチパネルを入力機器として用いる場合は、表示機器の表示画面が入力機器のインターフェースを兼ねる構成とすればよい。プロセッサ91と入力機器との間のデータ通信は、入出力インターフェース95に仲介させればよい。
【0185】
また、情報処理装置90には、情報を表示するための表示機器を備え付けてもよい。表示機器を備え付ける場合、情報処理装置90には、表示機器の表示を制御するための表示制御装置(図示しない)が備えられていることが好ましい。表示機器は、入出力インターフェース95を介して情報処理装置90に接続すればよい。
【0186】
また、情報処理装置90には、必要に応じて、ディスクドライブを備え付けてもよい。ディスクドライブは、バス99に接続される。ディスクドライブは、プロセッサ91と図示しない記録媒体(プログラム記録媒体)との間で、記録媒体からのデータ・プログラムの読み出し、情報処理装置90の処理結果の記録媒体への書き込みなどを仲介する。記録媒体は、例えば、CD(Compact Disc)やDVD(Digital Versatile Disc)などの光学記録媒体で実現できる。また、記録媒体は、USB(Universal Serial Bus)メモリやSD(Secure Digital)カードなどの半導体記録媒体や、フレキシブルディスクなどの磁気記録媒体、その他の記録媒体によって実現してもよい。
【0187】
以上が、第4の実施形態に係る設計支援システムを可能とするためのハードウェア構成の一例である。なお、図25のハードウェア構成は、第4の実施形態に係る設計支援システムの演算処理を実行するためのハードウェア構成の一例であって、本発明の範囲を限定するものではない。また、第4の実施形態に係る設計支援システムに関する処理をコンピュータに実行させるプログラムも本発明の範囲に含まれる。さらに、第4の実施形態に係るプログラムを記録したプログラム記録媒体も本発明の範囲に含まれる。
【0188】
第4の実施形態の設計支援システムの構成要素は、任意に組み合わせることができる。また、第4の実施形態の設計支援システムの構成要素は、ソフトウェアによって実現してもよいし、回路によって実現してもよい。
【0189】
以上、実施形態を参照して本発明を説明してきたが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【0190】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
論理信号群のうち冗長化されていない第1信号群が入力され、前記第1信号群を構成する信号の組合せに基づいて、データ信号群から少なくとも二つのデータ信号を選択する第1論理選択回路と、
前記第1論理選択回路によって選択された前記少なくとも二つのデータ信号が入力され、前記少なくとも二つのデータ信号に含まれるグリッチを除去するフィルタ回路と、
前記論理信号群のうち冗長化された第2信号群と、前記フィルタ回路の出力データ信号群とが入力され、前記第2信号群を構成する信号の組合せに基づいて、前記出力データ信号群のうち少なくとも一つを選択する第2論理選択回路とを備える論理集積回路。
(付記2)
前記第2信号群が伝播される第2信号線群には、前記論理信号群のうち遅延が最大となる信号が割り当てられる付記1に記載の論理集積回路。
(付記3)
前記第1論理選択回路は、
前記第1信号群を構成する信号の組合せに基づいて、前記データ信号群のうち二つの前記データ信号を選択し、
前記フィルタ回路は、
前記第1論理選択回路によって選択された二つの前記データ信号のそれぞれに含まれる前記グリッチを除去する付記1または2に記載の論理集積回路。
(付記4)
前記第1論理選択回路は、
前記第1信号群が伝播される第1信号線群に接続され、前記第1信号線群から入力される前記第1信号群を構成する信号の組合せに基づいて二つの前記データ信号を選択し、
前記フィルタ回路は、
前記第1論理選択回路によって選択された二つの前記データ信号のそれぞれに含まれるグリッチを除去し、
前記第2論理選択回路は、
二重冗長化された前記第2信号群が伝播される第2信号線群に接続され、前記第2信号線群から入力される前記第2信号群を構成する信号の組合せに基づいて、前記フィルタ回路からの前記出力データ信号群のうち一つを選択する付記1または2に記載の論理集積回路。
(付記5)
前記第2論理選択回路は、
第1選択トランジスタ、第2選択トランジスタ、第1論理否定回路、および第2論理否定回路を二つずつ有し、
前記第1選択トランジスタは、
二つの前記第2選択トランジスタのうちいずれか一方と対をなし、前記フィルタ回路から出力された二つの出力データ信号のうち一方が伝播される信号線に拡散層の一端が接続され、対をなす前記第2選択トランジスタの拡散層の一端に拡散層の他端が接続され、
前記第2選択トランジスタは、
対をなす前記第1選択トランジスタの拡散層の他端に拡散層の一端が接続され、もう一方の前記第2選択トランジスタの拡散層の他端に拡散層の他端が接続され、拡散層の他端がもう一方の前記第2選択トランジスタと共通の出力端を形成し、
前記第1論理否定回路は、
二つの前記第2論理否定回路のうちいずれか一方と対をなし、二重冗長化された前記第2信号群が伝播される信号線のうちいずれか一方に入力が接続されるとともに、二つの前記第1選択トランジスタのうちいずれか一方のゲートと、対をなす前記第2論理否定回路の入力とに出力が接続され、
前記第2論理否定回路は、
対をなす前記第1論理否定回路の出力に入力が接続され、対をなす前記第1論理否定回路の出力が接続された前記第1選択トランジスタとは異なる前記第1選択トランジスタのゲートに出力が接続される付記4に記載の論理集積回路。
(付記6)
前記第1論理選択回路から出力される第1データ信号が伝播される信号線と、前記フィルタ回路を通過した前記第1データ信号が伝播される信号線とに入力が接続され、二つの前記第1選択トランジスタのうち一方に出力が接続される第1マルチプレクサと、
前記第1論理選択回路から出力される第2データ信号が伝播される信号線と、前記フィルタ回路を通過した前記第2データ信号が伝播される信号線とに入力が接続され、二つの前記第1選択トランジスタのうち他方に出力が接続される第2マルチプレクサとを備える付記5に記載の論理集積回路。
(付記7)
前記第2論理選択回路によって選択された前記出力データ信号をクロックに同期して読み込むフリップフロップと、
前記第2論理選択回路から出力される信号が伝播される信号線と、前記フリップフロップから出力される信号が伝播される信号線とに入力が接続され、入力された信号のうちいずれかを選択する第3マルチプレクサとを備える付記6に記載の論理集積回路。
(付記8)
前記第2信号群が伝播される第2信号線群に接続され、前記第2信号線群から入力される前記第2信号群を構成する信号のうち値が多数の信号を選択し、選択した信号を前記第2論理選択回路に出力する多数決回路を有し、
前記第1論理選択回路は、
前記第1信号群が伝播される第1信号線群に接続され、前記第1信号線群から入力される前記第1信号群を構成する信号の組合せに基づいて、前記データ信号群に含まれる二つの前記データ信号を選択し、
前記フィルタ回路は、
前記第1論理選択回路によって選択された二つの前記データ信号のそれぞれに含まれる前記グリッチを除去し、
前記第2論理選択回路は、
前記多数決回路によって選択された信号に基づいて、前記フィルタ回路から入力される二つの出力データ信号のうち一つを選択する付記1または2に記載の論理集積回路。
(付記9)
前記第2論理選択回路は、
第1選択トランジスタ、第2選択トランジスタ、第1論理否定回路、および第2論理否定回路を有し、
前記第1選択トランジスタは、
前記フィルタ回路から出力される二つの前記出力データ信号のうち一方が伝播される信号線に拡散層の一端が接続され、前記第2選択トランジスタの拡散層の一端に拡散層の他端が接続され、拡散層の他端が前記第2選択トランジスタと共通の出力端を形成し、
前記第2選択トランジスタは、
前記フィルタ回路から出力される二つの前記出力データ信号のうち他方が伝播される信号線に拡散層の一端が接続され、前記第1選択トランジスタの拡散層の一端に拡散層の他端が接続され、拡散層の他端が前記第1選択トランジスタと共通の前記出力端を形成し、
前記第1論理否定回路は、
入力が前記多数決回路の出力に接続されるとともに、出力が前記第1選択トランジスタのゲートと前記第2論理否定回路の入力とに接続され、
前記第2論理否定回路は、
入力が前記第1論理否定回路の出力に接続され、出力が前記第2選択トランジスタのゲートに接続される付記8に記載の論理集積回路。
(付記10)
多重化された前記第2論理選択回路に接続され、多重化された前記第2論理選択回路によって選択された出力データ信号のうち値が多数の信号を出力する多数決回路を有し、
前記第1論理選択回路は、
前記第1信号群が伝播される第1信号線群に接続され、前記第1信号線群から入力される前記第1信号群を構成する信号の組合せに基づいて二つの前記データ信号を選択し、
前記フィルタ回路は、
前記第1論理選択回路から出力される二つの前記データ信号のそれぞれに含まれる前記グリッチを除去し、
多重化された前記第2論理選択回路のそれぞれは、
前記第2信号群が伝播される第2信号線群を構成する信号線のうちいずれかに接続され、接続された信号線からの信号に基づいて、前記フィルタ回路から入力される二つの前記出力データ信号のうち一つを選択して前記多数決回路に出力する付記1または2に記載の論理集積回路。
(付記11)
多重化された前記第2論理選択回路のそれぞれは、
第1選択トランジスタ、第2選択トランジスタ、第1論理否定回路、および第2論理否定回路を有し、
前記第1選択トランジスタは、
拡散層の一端が前記フィルタ回路から出力される二つの前記出力データ信号のうち一方が伝播される信号線に接続され、拡散層の他端が前記第2選択トランジスタの拡散層の一端に接続され、拡散層の他端が前記第2選択トランジスタと共通の出力端を形成し、
前記第2選択トランジスタは、
拡散層の一端が前記フィルタ回路から出力される二つの前記出力データ信号のうち他方が伝播される信号線に接続され、拡散層の他端が前記第1選択トランジスタの拡散層の一端に接続され、拡散層の他端が前記第1選択トランジスタと共通の前記出力端を形成し、
前記第1論理否定回路は、
入力が前記第2信号群の伝播するいずれかの信号線に接続されるとともに、出力が前記第1選択トランジスタのゲートと前記第2論理否定回路の入力とに接続され、
前記第2論理否定回路は、
入力が前記第1論理否定回路の出力に接続され、出力が前記第2選択トランジスタのゲートに接続され、
前記出力端は、
前記多数決回路の入力に接続される付記10に記載の論理集積回路。
(付記12)
前記論理集積回路は、さらに、
前記第1信号群が伝播される前記第1論理選択回路と、前記第2信号群が伝播される前記第2論理選択回路とのいずれかに、前記論理信号群に含まれる信号をルーティングするクロスバ回路と、
前記第2論理選択回路によって選択された出力データ信号をクロックに同期して読み込むフリップフロップとを備える付記1乃至11のいずれか一項に記載の論理集積回路。
(付記13)
前記クロスバ回路は、
第1方向に延伸する複数の第1配線と、
前記第1方向と交差する第2方向に延伸する複数の第2配線と、
前記第1配線と前記第2配線との交差する位置に配置される複数のスイッチセルとを備え、
複数の前記第2配線のそれぞれは、
前記第1論理選択回路および前記第2論理選択回路のいずれかに接続され、
前記スイッチセルは、
抵抗変化スイッチを含む付記12に記載の論理集積回路。
(付記14)
前記抵抗変化スイッチは、
銅を主成分とする活性電極と、銅と比べて活性の低い金属を主成分とする不活性電極と、前記活性電極と前記不活性電極との間に配置される抵抗変化素子とを有する付記13に記載の論理集積回路。
(付記15)
論理信号群のうち冗長化されていない第1信号群が入力され、前記第1信号群を構成する信号の組合せに基づいて、データ信号群から少なくとも二つのデータ信号を選択する第1論理選択回路と、前記第1論理選択回路によって選択された少なくとも二つのデータ信号が入力され、前記少なくとも二つのデータ信号に含まれるグリッチを除去するフィルタ回路と、前記論理信号群のうち冗長化された第2信号群と前記フィルタ回路の出力データ信号群が入力され、前記第2信号群を構成する信号の組合せに基づいて、前記出力データ信号群のうち少なくとも一つを選択する第2論理選択回路と、を備える論理集積回路に構成情報を設定する構成情報設定方法であって、
少なくとも遅延コストを含む評価関数を最小化する配線を探索し、
前記遅延コストが最大になる信号経路を、前記第2信号群が伝播される第2信号線群に割り当てる構成情報を生成し、
生成された前記構成情報に基づいた回路構成を前記論理集積回路に設定する構成情報設定方法。
(付記16)
論理信号群のうち冗長化されていない第1信号群が入力され、前記第1信号群を構成する信号の組合せに基づいて、データ信号群から少なくとも二つのデータ信号を選択する第1論理選択回路と、前記第1論理選択回路によって選択された少なくとも二つのデータ信号が入力され、前記少なくとも二つのデータ信号に含まれるグリッチを除去するフィルタ回路と、前記論理信号群のうち冗長化された第2信号群と前記フィルタ回路の出力データ信号群が入力され、前記第2信号群を構成する信号の組合せに基づいて、前記出力データ信号群のうち少なくとも一つを選択する第2論理選択回路と、を備える論理集積回路に構成情報を設定するプログラムであって、
少なくとも遅延コストを含む評価関数を最小化する配線を探索する処理と、
前記遅延コストが最大になる信号経路を、前記第2信号群が伝播される第2信号線群に割り当てる構成情報を生成する処理と、
生成された前記構成情報に基づいた回路構成を前記論理集積回路に設定する処理とをコンピュータに実行させるプログラム。
【0191】
この出願は、2018年11月8日に出願された日本出願特願2018-210701を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【0192】
1、2、3 論理集積回路
11、21、31 クロスバ回路
12、22、32 LUT
13、23、33 DFF
40 設計支援システム
41 構成情報生成装置
42 構成情報転送装置
100、200、300 論理ブロック
101、201、301 第1信号線群
102、202、302 第2信号線群
111 第1配線
112 第2配線
113 スイッチセル
121、221、321 第1論理選択回路
122、222、322 フィルタ回路
123、223、323 第2論理選択回路
130 抵抗変化素子
131 活性電極
132 不活性電極
133 抵抗変化層
151、251、351 第1入力回路
152、252、352 第1選択回路
160 フィルタ素子
161、261、361 第1フィルタ素子
162、262、362 第2フィルタ素子
171、271、371 第2入力回路
172、272、372 第2選択回路
225、280、325 多数決回路
281、282、283 AND回路
284 OR回路
400 設計支援ツール群
401 論理合成ツール
402 配置配線ツール
403 構成情報生成ツール
411 演算部
412 記憶部
413 表示部
414 入出力部
415 バス
511 LUT
512、522 DFF
513 SETフィルタ
521 LUT群
525 多数決回路
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24
図25
図26
図27