JP5937550B2 - プログラマブル論理回路及びその構成方法 - Google Patents

プログラマブル論理回路及びその構成方法 Download PDF

Info

Publication number
JP5937550B2
JP5937550B2 JP2013183665A JP2013183665A JP5937550B2 JP 5937550 B2 JP5937550 B2 JP 5937550B2 JP 2013183665 A JP2013183665 A JP 2013183665A JP 2013183665 A JP2013183665 A JP 2013183665A JP 5937550 B2 JP5937550 B2 JP 5937550B2
Authority
JP
Japan
Prior art keywords
data
output
configuration
programmable
circuit
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.)
Expired - Fee Related
Application number
JP2013183665A
Other languages
English (en)
Other versions
JP2015053533A (ja
Inventor
敏則 末吉
敏則 末吉
全広 飯田
全広 飯田
守弘 久我
守弘 久我
太樹 尼崎
太樹 尼崎
恭成 柳田
恭成 柳田
Original Assignee
敏則 末吉
敏則 末吉
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 敏則 末吉, 敏則 末吉 filed Critical 敏則 末吉
Priority to JP2013183665A priority Critical patent/JP5937550B2/ja
Publication of JP2015053533A publication Critical patent/JP2015053533A/ja
Application granted granted Critical
Publication of JP5937550B2 publication Critical patent/JP5937550B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Logic Circuits (AREA)

Description

本発明は、構成データに基づいてプログラマブルに論理回路を構成することができるプログラマブル論理回路及びその構成方法に関する。
FPGA(Field Programmable Gate Array)は安価で低リスクという特徴から、大規模化、複雑化が進むシステムの実装デバイスとして注目を浴びている。一方でFPGAは専用回路に比べ面積、動作速度等の面で劣っているため、性能の改善が求められている。商用FPGAで用いられる基本論理セルの大半はルックアップテーブル(以下、LUTという。)である。
一般には、LUTの入力数を増やすに従い、FPGAの動作速度改善が期待できる。しかし、商用FPGAには4入力から6入力、又はそれらをベースとしたアダプティブLUTが用いられており、7入力以上のLUTは使われていない。これは、LUTの入力数nに対して回路リソースが2のオーダーで増加するためである。すなわち7入力以上のLUTは速度向上よりも面積増加のデメリットの方が大きい。
一方でLUTとは対照的に、頻出論理のサブセットから成る論理セルが存在する(例えば、非特許文献1参照)。これらは論理セルの論理表現能力を絞ることで、論理セル単位の小型化を図っている。非特許文献1では、AND−Inverterグラフの特徴を利用した小面積LUTが提案されている。
米国特許第4706216号明細書 米国特許第4870302号明細書 特表平10−507605号公報 特開2003−273727号公報 特開2007−166579号公報 特開2012−44618号公報 特開2012−142662号公報
Jason H. Anderson et al., "Area-Efficient FPGA Logic Elements: Architecture and Synthesis", Proceedings of the 16th Asia and South Pacific Design Automation Conference (ASP-DAC), pp.369-375, 2011. D. Chai et al., "`Building a Better Boolean Matcher and Symmetry Detector", Proceedings of DATE 2006, pp.1079-1084, 2006. K. McElvain, "IWLS'93 Benchmark Set: Version 4.0", Distributed as part of the MCNC International Workshop on Logic Synthesis '93 benchmark distribution, 1993. V. Bets, "175.vpr SPEC CPU2000 Benchmark Description File", [平成25年8月2日検索]、インターネット<URL: http://www.spec.org/osg/cpu2000/CINT2000/175.vpr/docs/175.vpr.html> A. Mishchenko et al., "Combinational and Sequential Mapping with Priority Cuts", Proceedings of ICCAD, pp.354-361, 2007. Berkeley Logic Synthesis and Verification Group, "ABC: A System for Sequential Synthesis and Verification", [平成25年8月2日検索]、インターネット<URL: http://www.eecs.berkeley.edu/~alanmi/abc/>
しかしながら、非特許文献1では評価の最終結果が示されておらず、その効果は十分に立証されていない。
特許文献1及び2において開示されたLUTは、構成メモリに論理回路の出力値を保持させ、それらをデコードすることで論理回路を実装している。しかし、任意の論理を実装可能であるという柔軟性を持っているが、表現に冗長性があり、回路リソース量(コンフィグレーションメモリ、構成トランジスタ数など)が多くなる傾向があるという問題点があった。
特許文献3において開示されたプログラマブル論理のモジュールでは、マルチプレクサベースの8入力論理セルであり、一部の組み合わせ論理を実現している。しかし、論理セル単体の面積はLUTよりも小さいが、配線リソースを多く必要とする傾向があるという問題点があった。
例えば特許文献6において、本発明者らは、コンパクトに構成された一般的な再構成可能な素子論理セル(COGRE(Compactly Organized Generic Reconfigurable Element)論理セル)を提案している。COGRE論理セルはNPN同値類(例えば、非特許文献6参照)を利用しており、MCNC(Microelectronics Center of north Carolina)ベンチマークセット(例えば、非特許文献2参照)の頻出論理を効率よくカバーする構成となっている。しかしながら、MCNC以外のベンチマーク回路の実装効率は悪く、論理セルとしての汎用性は高くない。また、7入力及び8入力のCOGRE論理セルは同入力数のLUTに比べて性能改善が得られていない。
本発明の目的は以上の問題点を解決し、従来技術に比較して、必要なメモリ数を大幅に削減でき、従来技術に係るLUTと同程度の機能を保持しつつ小さい面積で実現し、消費電力を小さくすることができるプログラマブル論理回路とその構成方法を提供することにある。
第1の発明に係るプログラマブル論理回路は、
第1〜第3の構成メモリを含む構成メモリ(10,M1,M2)に格納される複数の構成データに基づいて、プログラマブルに回路構成されたプログラマブル論理回路であり、第1の入力データ(In0)及び第2の入力データ(図1のIn1〜Inm;図6のIn1〜In4)を含む入力データに対して所定の論理演算を行うプログラマブル論理回路(図1,図6)であって、
複数の第1の構成データを格納する第1の構成メモリ(10)と、複数のマルチプレクサ(11)を備えて構成されかつ上記第2の入力データ(図1のIn1〜Inm;図6のIn1〜In4)に基づいて、上記複数の第1の構成データのうちの1つの出力データを選択して出力する第1のマルチプレクサ回路(15)とを備えたベース部(1)であって、上記第2の入力データを変数とする論理関数をシャノン展開により展開されて生成された2つの部分論理関数のうちの一方の部分論理関数を示す論理回路を構成するベース部(1)と、
上記展開されて生成された2つの部分論理関数のうちの他方の部分論理関数を示す論理回路を構成する付加ルックアップテーブル部(2)と、
上記第1の入力データ(In0)に基づいて、上記ベース部(1)からの出力データと、上記付加ルックアップテーブル部(2)からの出力データとのうちの1つの出力データを選択して出力する出力選択部(3)とを備え、
上記付加ルックアップテーブル部(2)は、
第2の構成メモリ(M1,M2)に格納された第2の構成データに基づいて、上記第2の入力データ(図1のIn1〜Inm;図6のIn1〜In4)に対して正転又は反転し、もしくは所定の定数を出力する複数の第1のプログラマブルナンドゲート回路(22)と、
複数のマルチプレクサ(21)を備えて構成され、上記複数の第1のプログラマブルナンドゲート回路(22)からの複数の出力データに基づいて、上記複数の第1の構成データのうちの1つの出力データを選択して出力する第2のマルチプレクサ回路(25)と、
第3の構成メモリ(M1,M2)に格納された第3の構成データに基づいて、上記第2のマルチプレクサ回路(25)からの出力データに対して正転又は反転し、もしくは所定の定数を出力する第2のプログラマブルナンドゲート回路(23)とを備えたことを特徴とする。
第2の発明に係るプログラマブル論理回路は、
第1〜第3の構成メモリ(10,M1,M2)に格納される複数の構成データに基づいて、プログラマブルに回路構成されたプログラマブル論理回路であり、第1の入力データ(In0)、第2の入力データ(図2のIn1〜In2;図4BのIn1)及び第3の入力データ(図2のIn3;図4BのIn2)を含む入力データに対して所定の論理演算を行うプログラマブル論理回路(図2,図4B)であって、
複数の第1の構成データを格納する第1の構成メモリ(10)と、複数のマルチプレクサ(11)を備えて構成されかつ上記第3の入力データ(図2のIn3;図4BのIn2)に基づいて上記複数の第1の構成データのうちの複数の出力データを選択して出力する第1のマルチプレクサ回路(15の最上段)と、複数のマルチプレクサ(11)を備えて構成されかつ上記第2の入力データ(図2のIn1〜In2;図4BのIn1)に基づいて上記第1のマルチプレクサ回路(15の最上段)から出力される複数のデータのうちの1つの出力データを選択して出力する第2のマルチプレクサ回路(15の2段目〜最下段)とを備えたベース部(1)であって、上記第2及び第3の入力データを変数とする論理関数をシャノン展開により展開されて生成された2つの部分論理関数のうちの一方の部分論理関数を示す論理回路を構成するベース部(1)と、
上記展開されて生成された2つの部分論理関数のうちの他方の部分論理関数を示す論理回路を構成する付加ルックアップテーブル部(2)と、
上記第1の入力データ(In0)に基づいて、上記ベース部(1)からの出力データと、上記付加ルックアップテーブル部(2)からの出力データとのうちの1つの出力データを選択して出力する第1の出力選択部(3)とを備え、
上記付加ルックアップテーブル部(2)は、
第2の構成メモリ(M1,M2)に格納された第2の構成データに基づいて、上記第2の入力データ(図2のIn1〜In2;図4BのIn1)に対して正転又は反転し、もしくは所定の定数を出力する少なくとも1つの第1のプログラマブルナンドゲート回路(22)と、
少なくとも1つのマルチプレクサ(21)を備えて構成され、上記各第1のプログラマブルナンドゲート回路(22)からの出力データに基づいて、上記第1のマルチプレクサ回路(15の最上段)から出力される複数の出力データのうちの1つの出力データを選択して出力する第3のマルチプレクサ回路(25)と、
第3の構成メモリ(M1,M2)に格納された第3の構成データに基づいて、上記各第3のマルチプレクサ回路(25)からの出力データに対して正転又は反転し、もしくは所定の定数を出力する第2のプログラマブルナンドゲート回路(23)とを備えたことを特徴とする。
第3の発明に係るプログラマブル論理回路は、
第1〜第2の構成メモリ(10,M1,M2)に格納される複数の構成データに基づいて、プログラマブルに回路構成されたプログラマブル論理回路であり、第1の入力データ(In0)及び第2の入力データ(In1〜In2)を含む入力データに対して所定の論理演算を行うプログラマブル論理回路(図4A)であって、
複数の第1の構成データを格納する第1の構成メモリ(10)と、複数のマルチプレクサ(11)を備えて構成されかつ上記第2の入力データ(In1〜In2)に基づいて、上記複数の第1の構成データのうちの1つの出力データを選択して出力するマルチプレクサ回路(15)とを備えたベース部(1)であって、上記第2の入力データを変数とする論理関数をシャノン展開により展開されて生成された2つの部分論理関数のうちの一方の部分論理関数を示す論理回路を構成するベース部(1)と、
上記展開されて生成された2つの部分論理関数のうちの他方の部分論理関数を示す論理回路を構成する付加ルックアップテーブル部(2)と、
上記第1の入力データ(In0)に基づいて、上記ベース部(1)からの出力データと、上記付加ルックアップテーブル部(2)からの出力データとのうちの1つの出力データを選択して出力する出力選択部(3)とを備え、
上記付加ルックアップテーブル部(2)は、
第2の構成メモリ(M1,M2)に格納された第2の構成データに基づいて、上記マルチプレクサ回路(15)からの出力データに対して正転又は反転し、もしくは所定の定数を出力するプログラマブルナンドゲート回路(23)を備えたことを特徴とする。
第4の発明に係るプログラマブル論理回路は、第2の発明に係るプログラマブル論理回路(図2,図4B)である拡張ベース部(5)と、
上記展開されて生成された2つの部分論理関数のうちの他方の部分論理関数の一部を示す論理回路を構成する拡張付加ルックアップテーブル部(4)と、
第4の入力データ(図5のIn0)に基づいて、上記拡張ベース部(5)からの出力データと、上記拡張付加ルックアップテーブル部(4)からの出力データとのうちの1つの出力データを選択して出力する第2の出力選択部(3)とを備えたプログラマブル論理回路(図5)であって、
上記拡張付加ルックアップテーブル部(4)は、
第4の構成メモリ(M1,M2)に格納された第4の構成データに基づいて、上記第の入力データ図5のIn1)に対して正転又は反転、もしくは所定の定数を出力する第3のプログラマブルナンドゲート回路(42)と、
マルチプレクサ(41)を備えて構成され、上記第3のプログラマブルナンドゲート回路(42)からの出力データに基づいて、上記ベース部(1)からの出力データと、上記付加ルックアップテーブル部(2)からの出力データとのうちの1つの出力データを選択して出力する第3のマルチプレクサ回路(45)と、
第5の構成メモリ(M1,M2)に格納された第5の構成データに基づいて、上記第3のマルチプレクサ回路(45)からの出力データに対して正転又は反転、もしくは所定の定数を出力する第4のプログラマブルナンドゲート回路(43)とを備えたことを特徴とする。
本発明に係るプログラマブル論理回路とその構成方法によれば、従来技術に比較して、必要なメモリ数を大幅に削減でき、従来技術に係るLUTと同程度の機能を保持しつつ小さい面積で実現し、消費電力を小さくすることができる。また、拡張付加LUT部を備えることにより、上記プログラマブル論理回路の入力数を拡張できる。
本発明の実施形態に係るプログラマブル論理回路の一般例K−SLM(m,n)を示すブロック図である。 本発明の実施形態に係るプログラマブル論理回路の構成例4−SLM(3,2)を示すブロック図である。 実施形態及び実施例に係るプログラマブル論理回路において用いるプログラマブルナンドゲート回路22,23,42,43の構成を示す回路図である。 図3Aのプログラマブルナンドゲート回路22,23,42,43の真理値表を示す図である。 図3Aのプログラマブルナンドゲート回路22,23,42,43のブロック図を示す図である。 実施形態に係るプログラマブル論理回路(3−SLM)において用いる0入力付加LUT部(0−LUT+PN)2の構成を示すブロック図である。 実施形態に係るプログラマブル論理回路(3−SLM)において用いる1入力付加LUT部(1−LUT+PN)2の構成を示すブロック図である。 本発明の変形例に係るプログラマブル論理回路(5−SLM(3,2,1))の構成を示すブロック図である。 本発明の実施例1に係るプログラマブル論理回路(5−SLM(4,4))の構成を示すブロック図である。 本発明の実施例2に係るプログラマブル論理回路(5−SLM(4,3))の構成を示すブロック図である。 本発明の実施例3に係るプログラマブル論理回路(5−SLM(4,2))の構成を示すブロック図である。 本発明の実施例4に係るプログラマブル論理回路(5−SLM(4,1))の構成を示すブロック図である。 本発明の実施例5に係るプログラマブル論理回路(5−SLM(4,0))の構成を示すブロック図である。 本発明の実施例6に係るプログラマブル論理回路(6−SLM(4,2,1))の構成を示すブロック図である。 本発明の実施例6に係るプログラマブル論理回路(6−SLM(4,2,0))の構成を示すブロック図である。 本発明に係る実施形態及び実施例に対する評価で使用するクラスタアーキテクチャの構成を示すブロック図である。 本発明に係る実施形態及び実施例に係る各プログラマブル論理回路に対する評価の手順を示すフローチャートである。 本発明に係る実施形態及び実施例に係る各プログラマブル論理回路に対する実装面積の評価結果を示すグラフである。 本発明に係る実施形態及び実施例に係る各プログラマブル論理回路に対するクリティカルパス遅延の評価結果を示すグラフである。 本発明に係る実施形態及び実施例に係る各プログラマブル論理回路に対する面積遅延積の評価結果を示すグラフである。 本発明に係る実施形態及び実施例に係る各プログラマブル論理回路に対する構成メモリ数の評価結果を示すグラフである。 本発明に係る実施例に係るプログラマブル論理回路(8−SLM)の各構成例に対する8入力論理カバー率の評価結果を示すグラフである。 本発明に係る実施例に係るプログラマブル論理回路(7−SLM)の各構成例に対する7入力論理カバー率の評価結果を示すグラフである。 本発明に係る実施例に係るプログラマブル論理回路(6−SLM)の各構成例に対する6入力論理カバー率の評価結果を示すグラフである。 本発明に係る実施例に係るプログラマブル論理回路(5−SLM)の各構成例に対する5入力論理カバー率の評価結果を示すグラフである。
以下、本発明に係る実施形態について図面を参照して説明する。なお、以下の各実施形態において、同様又は対応する構成要素については同一の符号を付している。
1.実施形態の特徴等
本実施形態では、2種類のベンチマークセットの頻出論理に対し、シャノン展開後の部分関数間に見られる共通の特徴を明らかにする。また、得られた特徴に基づいた論理セルアーキテクチャ−スケーラビリティ論理モジュール(SLM(Scalability Logic Module))にてなるプログラマブル論理回路を提案する。SLMはLUTをベース部とした構成をとっているが、同入力数のLUTよりも小面積、少構成メモリ数であるという特有の効果を有する。加えて、面積を大きく増やすことなく7入力、8入力、もしくはそれ以上の入力数へ拡張できるという特有の効果を有する。
本実施形態の面積削減手法は特許文献6と同じく、ベンチマークセットの頻出回路を利用するものである。ただし先行研究での結果を踏まえ、本実施形態では2種類のベンチマークセットを利用する。また、特許文献6が頻出論理の特徴に着目したのに対し、本実施形態では頻出論理のシャノン展開後の特徴に着目することを特徴としている。以下、本実施形態の詳細について説明する。
2.実装回路に出現する論理の特徴
以下では、2種類のベンチマークセットにおける頻出論理の調査を行う。続いて、それらの論理をシャノン展開して得られた部分関数間の特徴について述べる。
2−1.論理出現率の調査
ベンチマーク回路として20種のMCNCベンチマーク回路(例えば、非特許文献3参照)及び、13種のVPR(Versatile Place and Route)ベンチマーク回路(例えば、非特許文献4参照)を用いた調査を行った。MCNCベンチマークは、論理合成後のBlif形式で提供されている。一方、VPRベンチマークはHDL形式で提供されており、算術演算回路が多く含まれているのが特徴である。また、MCNCベンチマーク中の回路と比較して、VPRベンチマーク中の回路は大規模なものが多い。
これらのベンチマーク回路に対して5入力LUTを対象としてテクノロジマッピングを行い、得られた各LUTの論理を集計した。テクノロジマッピングにはUCB(University of California, Berkeley)で開発されたプライオリティカットベースのツール(例えば、非特許文献5参照)を用いた。このテクノロジマッピングツールは論理回路用の合成、検証プラットフォームであるABC(例えば、非特許文献6参照)上に実装されている。また、論理の集計方法に関しては(例えば、特許文献6参照)と同様にNPN同値類(例えば、非特許文献2参照)を用いた分類を行う。論理関数fのNPN同値類とは、論理関数fに入出力の反転、入力順番の入れ替えを施して得られる論理の集合である。
表1にそれぞれのベンチマークセットにて出現率の高い論理を示す。表1中のA、B、C、D及びEは5入力論理関数の入力を表している。また、表1で表記している論理はNPN同値類の1つである。
Figure 0005937550
表1を見ると、MCNCベンチマーク回路では単純なAND−OR演算が上位を占めている。それに対してVPRベンチマークでは、多数決回路やXOR演算といった論理が上位を占めている。このように両ベンチマーク回路の出現論理は傾向が大きく異なっていることが分かる。
2−2.頻出論理に共通する特徴
上述したように、両ベンチマーク間での頻出論理は一見すると傾向が大きく異なっている。そこで、得られた論理に対しシャノン展開を行うことで、ある共通の特徴が得られることに着目する。シャノン展開とは論理関数の分解や解析を行うための最も基本的な論理式変形法の一つである。以下にシャノン展開の定義を示す。
Figure 0005937550
シャノン展開後に生成された論理関数を元の論理関数に対する部分関数と呼ぶ。ここで、以下の特徴に注目する。ある論理関数fに対し任意の入力xでシャノン展開する。すると次式で表される。
Figure 0005937550
ここで、部分関数f(x=0)又はf(x=1)のいずれか片方にだけ以下の操作を加えることで、
(x=0)=f(x=1) (3)
が成立する入力変数xが存在するとき、部分関数fは入力xについて部分関数間の変換が可能である。
(A)任意の入力変数を正転し又は反転し、もしくは所定の定数を代入する操作。
(B)出力を正転し又は反転し、もしくは所定の定数を出力する操作。
例として、MCNCベンチマーク出現率が1位の論理のシャノン展開を以下に示す。
f=A・B・C・D・E (4)
Aについてシャノン展開を行い、得られた部分関数f(A=0),(A=1)はそれぞれ以下のようになる。
(A=0)=0 (5)
(A=1)=B・C・D・E (6)
ここでf(A=1)の出力を定数0とすると以下のようになる。
(A=1)=0=f(A=0) (7)
次に、VPRベンチマーク出現率1位の論理のシャノン展開を以下に示す。
g=A・(C・D+D・E+C・E)
+A・B+B・(C・D+D・E+C・E) (8)
Aについてシャノン展開を行い、得られた部分関数g(A=0),g(A=1)はそれぞれ以下のようになる。
g(A=0)=B・(C・D+D・E+C・E) (9)
g(A=1)=B+(C・D+D・E+C・E) (10)
ここで、g(A=0)の入力変数B、C、D、Eと出力を反転する。すると次式を得る。
Figure 0005937550
上述した例より、各論理とも部分関数間の変換が可能であることが分かる。
次いで、表2に、部分関数間の変換が可能な論理の割合を示す。
Figure 0005937550
この表2は2つのベンチマーク回路の出現論理のうち、部分関数間の変換が可能なものの割合を示している。ここでの出現論理とは、K入力LUTでテクノロジマッピングを行った際に出現するK入力論理のことである。表2を見ると明らかなように、両ベンチマークとも大多数の論理が、部分関数間の変換が可能である。
3.実施形態に係るプログラマブル論理回路のアーキテクチャ
以下では、部分関数間の特徴に基づいたアーキテクチャSLM(Scalability Logic Module)にてなるプログラマブル論理回路について述べる。
上記で得られた特徴より、片方の部分関数の入出力を反転することで、もう片方の部分関数が得られることがわかった。このことは、従来のLUTと比較して半分の構成メモリで表現できることを意味する。ここで提案するSLMは上記で得られた特徴を持つ論理を実装可能であり、かつLUTよりも小面積、少構成メモリ数である。表2に示したように、出現論理の多くは部分関数間の変換ができ、SLMで実装することが可能である。
図1は本発明の実施形態に係るプログラマブル論理回路の一般例K−SLM(m,n)を示すブロック図である。また、図2は本発明の実施形態に係るプログラマブル論理回路の構成例4−SLM(3,2)を示すブロック図である。
本実施形態に係るプログラマブル論理回路であるSLMは、図1に示すように主に、ベース部1と、LUTを改変した回路である付加LUT部2と、ベース部1と付加LUT部の出力を選択する出力選択部3とを備えて構成される。ここで、SLMは同じ入力数であっても、付加LUT部2の入力数によって複数の組み合わせが存在する。また、ベース部1の入力数がmのとき、付加LUT部2の入力数nの範囲は0≦n≦mである。このとき、「K入力SLM」を「K−SLM(m,n)」で表す。ここで、括弧内の最左要素がベース部1の入力数、続いて付加LUT部2の入力数を表す。図2はベース部1が3LUTであり、付加LUT部2の入力数が2である4−SLM(3,2)である。
図1及び図2において、ベース部1は変換元になる部分関数が実装される。ベース部1は、実際にはLUTもしくは少入力のSLMより構成され、機能を決めるための構成メモリ10を有する。
具体的には、図1のK−SLM(m,n)において、ベース部1は、
(1)2ビットの構成メモリ10と、
(2)構成メモリ10から出力される2ビットの構成データを、m個の入力データIn〜Inに基づいて1個の出力データを選択して出力する、2−1個のマルチプレクサ11からなるマルチプレクサ回路15とを備えて構成される。
また、図2の4−SLM(3,2)において、べース部1は、
(1)8(=2)ビット構成メモリ10と、
(2)構成メモリ10から出力される8ビットの構成データを、3個の入力データIn〜Inに基づいて1個の出力データを選択して出力する、7個のマルチプレクサ11からなるマルチプレクサ回路15とを備えて構成される。
なお、本実施形態において、構成メモリ10の各メモリに格納されるデータは2値データであって、各入力データ及び各出力データも2値データである。また、本実施形態に係るマルチプレクサ11,21,31,41,53は、切り換え信号である入力データに基づいて、入力データが0であれば、第1の入力端子(図面において「0」と図示)を選択して出力する一方、入力データが1であれば、第2の入力端子(図面において「1」と図示)を選択して出力する。
図1及び図2において、付加LUT部2は、ベース部1に実装された部分関数に対し、入出力操作を行うことでもう片方の部分関数への変換を行う回路であって、付加LUT部2は入力数に応じたLUT(ベース部1と共用する構成メモリ10と、複数個のマルチプレクサ21からなるマルチプレクサ回路25とからなる)と、入出力のプログラマブルナンドゲート回路22,23とを備えて構成される。
図3Aは実施形態及び実施例に係るプログラマブル論理回路において用いるプログラマブルナンドゲート回路22,23,42,43の構成を示す回路図である。また、図3Bは図3Aのプログラマブルナンドゲート回路22,23,42,43の真理値表を示す図である。さらに、図3Cは図3Aのプログラマブルナンドゲート回路22,23,42,43のブロック図を示す図である。当該プログラマブルナンドゲート回路22,23,42,43は、
(1)2ビットの構成メモリM1,M2と、
(2)入力データInと、構成メモリM1からの入力データと対してナンド演算を行って演算結果の出力データを出力するナンドゲート51と、
(3)ナンドゲート51からの出力データを反転して出力するインバータ52と、
(4)構成メモリM2からの出力データに基づいて、ナンドゲート51からの出力データと、インバータ52からの出力データとのうちの1つの出力データを選択して出力データOutとして出力するマルチプレクサ53とを備えて構成される。
当該プログラマブルナンドゲート回路22,23,42,43は、2ビットの構成メモリM1,M2を用いて入力データを正転し又は反転し、もしくは0又は1の定数として出力し(本実施形態において、以下、「プログラマブルナンド演算」という。)、これにより上述の部分関数間の変換を行う。
次いで、付加LUT部2の具体例を図1及び図2を参照して以下に説明する。
図1のK−SLM(m,n)において、付加LUT部2は、
(1)入力データIn〜Inに対して、それぞれプログラマブルナンド演算を行って演算結果の出力データをマルチプレクサ回路25内の各対応するマルチプレクサ21に出力する、n個の入力プログラマブルナンドゲート回路22と、
(2)構成メモリ10から出力される2ビットの構成データを、n個のプログラマブルナンドゲート回路22からのm個のデータに基づいて1個の出力データを選択して出力する、2−1個のマルチプレクサ21からなるマルチプレクサ回路25と、
(3)マルチプレクサ回路25から出力される出力データに対してプログラマブルナンド演算を行って、演算結果の出力データを出力する出力プログラマブルナンドゲート回路23とを備えて構成される。
また、図2の4−SLM(3,2)において、付加LUT部2は、
(1)入力データIn〜Inに対して、それぞれプログラマブルナンド演算を行って演算結果の出力データをマルチプレクサ回路25内の各対応するマルチプレクサ21に出力する、2個の入力プログラマブルナンドゲート回路22と、
(2)構成メモリ10から出力される8ビットの構成データを、2個のプログラマブルナンドゲート回路22からの2個のデータに基づいて1個の出力データを選択して出力する、3個のマルチプレクサ21からなるマルチプレクサ回路25と、
(3)マルチプレクサ回路25から出力される出力データに対してプログラマブルナンド演算を行って、演算結果の出力データを出力する出力プログラマブルナンドゲート回路23とを備えて構成される。
以上のように構成された付加LUT部2によれば、当該付加LUT部2の内部に設けられたLUTはベース部1内のLUTがもつ構成メモリ10を共有するため、SLM全体では構成メモリ数を半分にできる。付加LUT部2の入力数nは部分関数間の変換の際、操作可能な入力数を表す。このため、付加LUT部2の入力数が大きくなるに従ってSLMの論理表現能力は高くなるが、面積は増加する。また、付加LUT部2の入力が0の場合、ベース部1からの出力データの反転もしくは定数の代入のみを行う。
図4Aは実施形態に係るプログラマブル論理回路(3−SLM)において用いる0入力付加LUT部(0−LUT+PN)2の構成を示すブロック図である。また、図4Bは実施形態に係るプログラマブル論理回路(3−SLM)において用いる1入力付加LUT部(1−LUT+PN)2の構成を示すブロック図である。図4A及び図4Bでは、ベース部1を2−LUTとしている。図4Aにおいて、0入力の場合は、ベース部1からの出力データに対し、正転又は反転並びに定数代入を行う。図4Bにおいて、1入力の場合は、ベース部1からの出力データから1つ前の段の部分関数を共有し、変換を行う。
次いで、出力選択部3について以下に説明する。図1及び図2において、出力選択部3は、
(1)構成メモリ30と、
(2)入力データInを構成メモリ30からの構成データに基づいて正転し又は反転するプログラマブルインバータ32と、
(3)インバータ32からの切り換え信号であるデータに基づいて、ベース部1からの出力データと、付加LUT部2からの出力データとのうち1つの出力データを選択して出力データOutとして出力するマルチプレクサ31とを備えて構成される。
部分関数間で変換可能な論理の中には、部分関数f(x=0)を部分関数f(x=1)に変換可能なケースと、その逆のケースがある。出力選択部3のプログラマブルインバータ32はそれら2つのケースに対応するためのものである。
SLMをベース部1とするLUTは少入力であるほど小面積となる反面、論理の柔軟性は低くなる。K−SLM(m,n)に対し、m=K−1となる場合が最も大きな入力のLUTをベースとして使用することを意味する。一方、m<K−1の場合、付加LUT部2をK−m回追加する必要がある。ただし、この際、追加される付加LUT部2の入力は0入力もしくは1入力となる(図4A及び図4B参照)。
図5は本発明の変形例に係るプログラマブル論理回路(5−SLM(3,2,1))の構成を示すブロック図である。当該5−SLM(3,2,1)は、5入力のSLMに対し、3−LUTをベース部1に構成した例である。ここでは、3入力のベース部1と、2入力の付加LUT部2と、出力選択部3とを備えて構成された4−SLM(3,2)である拡張ベース部5に対し、部分論理関数の一部を表す1入力の拡張付加LUT部4を追加することで5入力のSLMを実現している。
ここで、拡張付加LUT部4は、1個のマルチプレクサ41からなるマルチプレクサ回路45と、入力プログラマブルナンドゲート回路42と、出力プログラマブルナンドゲート回路43とを備えて構成される。また、拡張付加LUT部4のマルチプレクサ41の各入力端子はそれぞれ、拡張ベース部5内のベース部1の最終3段目のマルチプレクサ11の出力端子、並びに付加LUT部2の出力プログラマブルナンドゲート回路23の出力端子に接続されている。当該5−SLM(3,2,1)の全体の出力選択部3は、拡張ベース部5からの出力データと、拡張付加LUT部4からの出力データとのうち1つの出力データを、入力データIn0に基づいて生成された切り換えデータに基づいて選択して出力する。追加した拡張付加LUT部4の入力数は、SLMの表記において、括弧内の最右要素に追加する。従って、この際のプログラマブル論理回路を5−SLM(3,2,1)で表す。
4.実施例に係る各種のプログラマブル論理回路(SLM)
次いで、本発明の各実施例に係るプログラマブル論理回路(SLM)について以下に説明する。
図6は本発明の実施例1に係るプログラマブル論理回路(5−SLM(4,4))の構成を示すブロック図である。図6において、5−SLM(4,4)は、4入力のベース部1と、4入力の付加LUT部2と、出力選択部3とを備えて構成される。ここで、付加LUT部2の初段目の8個のマルチプレクサ21の各入力端子はそれぞれ構成メモリ10の各出力端子に接続されている。
図7は本発明の実施例2に係るプログラマブル論理回路(5−SLM(4,3))の構成を示すブロック図である。図7において、5−SLM(4,3)は、4入力のベース部1と、3入力の付加LUT部2と、出力選択部3とを備えて構成される。ここで、付加LUT部2の初段目の4個のマルチプレクサ21の各入力端子はそれぞれベース部1の初段目の各マルチプレクサ11の各出力端子に接続されている。
図8は本発明の実施例3に係るプログラマブル論理回路(5−SLM(4,2))の構成を示すブロック図である。図8において、5−SLM(4,2)は、4入力のベース部1と、2入力の付加LUT部2と、出力選択部3とを備えて構成される。ここで、付加LUT部2の初段目の2個のマルチプレクサ21の各入力端子はそれぞれベース部1の2段目の各マルチプレクサ11の各出力端子に接続されている。
図9は本発明の実施例4に係るプログラマブル論理回路(5−SLM(4,1))の構成を示すブロック図である。図9において、5−SLM(4,1)は、4入力のベース部1と、1入力の付加LUT部2と、出力選択部3とを備えて構成される。ここで、付加LUT部2のマルチプレクサ21の各入力端子はそれぞれベース部1の3段目の各マルチプレクサ11の各出力端子に接続されている。
図10は本発明の実施例5に係るプログラマブル論理回路(5−SLM(4,0))の構成を示すブロック図である。図10において、5−SLM(4,0)は、4入力のベース部1と、プログラマブルナンドゲート回路23のみからなる0入力の付加LUT部2と、出力選択部3とを備えて構成される。ここで、付加LUT部2のプログラマブルナンドゲート回路23の入力端子はベース部1の最終4段目のマルチプレクサ11の各出力端子に接続されている。
図11は本発明の実施例6に係るプログラマブル論理回路(6−SLM(4,2,1))の構成を示すブロック図である。図11において、6−SLM(4,2,1)は、
(1)4入力のベース部1と、2入力の付加LUT部2と、出力選択部3とを備えた拡張ベース部5と、
(2)1入力の拡張付加LUT部4と、
(3)当該プログラマブル論理回路全体の出力選択部3とを備えて構成される。
ここで、拡張付加LUT部4のマルチプレクサ41の各入力端子はそれぞれベース部1の最終段目のマルチプレクサ11の出力端子、並びに、付加LUT部2の出力プログラマブルナンドゲート回路23の出力端子に接続されている。
図12は本発明の実施例6に係るプログラマブル論理回路(6−SLM(4,2,0))の構成を示すブロック図である。図12において、6−SLM(4,2,0)は、
(1)4入力のベース部1と、2入力の付加LUT部2と、出力選択部3とを備えた拡張ベース部5と、
(2)0入力の拡張付加LUT部4と、
(3)当該プログラマブル論理回路全体の出力選択部3とを備えて構成される。
ここで、拡張付加LUT部4のプログラマブルナンドゲート回路43の入力端子は拡張ベース部5の出力端子に接続されている。
5.SLM向け実装ツールの開発
回路実装を行うためのクラスタリング、配置、配線ツールについては既存のLUT向けのツールが使用可能である。しかしながら、SLMはLUTとは実装可能な論理が異なるため、LUT向けのマッピングツールをそのまま利用することはできない。そこで、本発明者らはSLM向けのマッピングツールを開発した。このマッピングツールはプライオリティカットベースのマッピングツール(例えば、非特許文献6参照)をベースとしており、SLMで実装可能な論理のみが生成されるように制約を加えてある。マッピング時に実装できない論理が出現した場合は通常のLUTと同様に入力数を分解することで実装を行う。その際、K−SLM(m,n)はm−LUTを有しているため、m入力以下の任意の論理を実装可能である。
6.評価
本評価では、実装面積、クリティカルパス遅延及び総使用構成メモリ数の観点から、SLMとLUTとの比較を行う。評価対象のSLMアーキテクチャの入力数Kの範囲は5≦K≦8である。また、ベース部1となるLUTの入力数mの範囲は4≦m≦7、付加LUT部2の入力数nの範囲は0≦n≦2とする。さらに、SLMが含む付加LUT部2の数は最大2つまでとする。また、本評価では多くのFPGAで採用されているクラスタサイズが4のアーキテクチャを想定する。
図13は本発明に係る実施形態及び実施例に対する評価で使用するクラスタアーキテクチャの構成を示すブロック図である。図13において、当該クラスタアーキテクチャは、入力データ、出力データ及び接地信号データのうちの1つを選択する4個の入力選択マルチプレクサ61と、各入力選択マルチプレクサ61にそれぞれ接続されたクラスタである基礎論理素子(以下、BLE(Basic Logic Element)という。)62とを備えて構成される。各BLE62は、K入力論理セルであるSLM71と、遅延型フリップフロップ72と、SLM71からの出力データと遅延型フリップフロップ72からの出力データとのうちの1つを選択する出力選択マルチプレクサ73とを備えて構成される。
また、クラスタ入力数Iは次式により決定される。
Figure 0005937550
ここで、Kは論理セルの入力数であり、Nはクラスタサイズである。また、SLMは論理実装に定数割り当てを必要とするため、入力選択マルチプレクサ61で接地信号も選択可能な構成を有する。
図14は本発明に係る実施形態及び実施例に係る各プログラマブル論理回路に対する評価の手順を示すフローチャートである。この評価フローではベンチマーク回路として上記と同じくMCNCとVPRベンチマークセットを使用する。図14において、ベンチマーク回路に対してテクノロジマッピング(S1)を行ってマッピング結果を得る。ここで、テクノロジマッピング(S1)ツールは上述したプライオリティカットベースのマッピングツールを用いる。さらに、マッピング結果に対してクラスタリング、配置、及び配線(S2)の処理を行ってチャネル幅、アレイサイズ及びクリティカルパス遅延を計算する。ここで、当該処理では、公知のVPR6.0を使用する。一方、本評価ではVPRに必要な物理パラメータを得るために、CMOS65nmライブラリを用いてシノプシス・デザイン・コンパイラー(Synopsys Design Compiler)Y-2006.06-SP6-2(S3)にてSLMとLUTの面積、遅延を算出した。
表3に、各SLMの論理合成により得られたBLE面積及び遅延と、必要な構成メモリ数を示す。
Figure 0005937550
また、本評価ではメモリ面積にはラッチを用いる。評価を行う実装面積は論理面積と配線面積を加算することで算出する。
論理面積はクラスタの面積とVPRより得られたアレイサイズとの積で算出し、配線面積はVPRより得られたアレイサイズとチャネル幅から算出する。ただし、全ての配線は単方向配線であり、長さ1のセグメントのみから構成される場合を想定する。
図15は本発明に係る実施形態及び実施例に係る各プログラマブル論理回路に対する実装面積の評価結果を示すグラフである。図15のグラフの結果は全てのベンチマーク回路の実装結果を4−LUTの結果で正規化し、それらを平均化したものである。図15から明らかなように、SLMは同じ入力数のLUTよりも少ない面積で回路を実装できている。LUTは入力数が多いものほど、実装面積も上がる傾向にある。一方、SLMは高い入力数においても、入力数の少ないLUTと同等の面積で回路実装が可能である。
6−LUTの実装面積は4−LUTの1.09倍であるのに対して、7−SLM(5,2,1)は4−LUTの1.06倍である。
図16は本発明に係る実施形態及び実施例に係る各プログラマブル論理回路に対するクリティカルパス遅延の評価結果を示すグラフである。図16から明らかなように、SLMのクリティカルパス遅延は同入力数のLUTより悪化する傾向にある。8−SLM(6,1,1)のクリティカルパス遅延は8−LUTと比較して、5%の遅延悪化が見られる。悪化の原因として、テクノロジマッピング時に実装できずに分解された論理がクリティカルパスの段数を増加させていることが考えられる。
図17は本発明に係る実施形態及び実施例に係る各プログラマブル論理回路に対する面積遅延積の評価結果を示すグラフである。図17から明らかなように、LUTの中で最も結果が良いのは6−LUTであり、その面積遅延積は4−LUTの0.88倍である。これに対してSLMの中で最も結果が良いのは、7−SLM(5,2,1)であり、その面積遅延積は4−LUTの0.81倍である。この結果から、SLMがLUTよりも高い性能を持つということが分かる。
図18は本発明に係る実施形態及び実施例に係る各プログラマブル論理回路に対する構成メモリ数の評価結果を示すグラフである。ここで、総使用構成メモリ数はアレイサイズと論理ブロックと配線領域の総使用構成メモリ数の積で表される。図18から明らかなように、SLMは全ての入力数において、同入力数のLUTより使用メモリ数が少ないことが分かる。7−SLM(5,1,1)の構成メモリ数は7−LUTと比較して31%、8−SLM(6,2,1)の構成メモリ数は8−LUTと比較して42%のメモリ数を削減した。
次いで、実装回路に出現する論理のうち論理セルが実装可能なものの割合である論理カバー率の評価について以下に説明する。
図19は本発明に係る実施例に係るプログラマブル論理回路(8−SLM)の各構成例に対する8入力論理カバー率の評価結果を示すグラフである。また、図20は本発明に係る実施例に係るプログラマブル論理回路(7−SLM)の各構成例に対する7入力論理カバー率の評価結果を示すグラフである。さらに、図21は本発明に係る実施例に係るプログラマブル論理回路(6−SLM)の各構成例に対する6入力論理カバー率の評価結果を示すグラフである。またさらに、図22は本発明に係る実施例に係るプログラマブル論理回路(5−SLM)の各構成例に対する5入力論理カバー率の評価結果を示すグラフである。
図19〜図22はMCNCベンチマーク回路20種、VPRベンチマーク回路13種をLUTでテクノロジマッピングした際に使用された論理関数のうち、本実施形態に係るプログラマブル論理回路で実装可能なものの割合を示している。例として、図19では8−LUTでテクノロジマッピングした際に使用された8入力論理のうち、本実施形態に係るプログラマブル論理回路で実装可能なものの割合を示している。それぞれの入力数に共通する特徴として、入力数1の付加LUT部2が含まれているプログラマブル論理回路ではカバー率が急激に下がっているが、それ以外では大きな差が見られない。従って、入力数0および1の付加LUT部2付近では小面積と高カバー率を両立しており、これらのプログラマブル論理回路は高い実装効率が期待できる。
以上説明したように、図15より、LUTは入力数を増やした際の配線面積の減少よりも、論理面積の増大の方がはるかに大きい。8−LUTは7−LUTよりも配線面積が11%減少しているが、論理面積は42%増加している。これに対し7−LUTと8−SLM(7,2)を比較した場合、配線面積の削減率は3%であるが、論理面積の増加を6%にまで抑えている。このことからSLMの持つ論理の表現能力は、面積削減に対して有効であることが分かる。さらに、SLM同士で比較すると、0入力の付加LUT部2を含むアーキテクチャは性能が低い。このことから、0入力の付加LUT部2は小面積ではあるが、性能が改善できるほどの論理表現能力を持っていないということが分かる。
以上説明したように、本実施形態では、FPGAの小面積化を目的として、シャノン展開された部分関数間の特徴を元にSLMアーキテクチャを提案した。SLMは同入力数のLUTと比較して半分以下の構成メモリ数で実装可能である。評価結果より、7−入力SLMにおいて、7−LUTと比較して平均で18%の実装面積削減を実現した。同様に、8−SLMは8−LUTと比較して28%の実装面積を削減することができた。また、面積遅延積においても、7−SLMは4入力から8入力までのLUTより良い結果となった。
従って、本発明の実施形態によれば、従来技術に比較して、必要なメモリ数を大幅に削減でき、従来技術に係るLUTと同程度の機能を保持しつつ小さい面積で実現し、消費電力を小さくすることができるプログラマブル論理回路とその構成方法を提供することができる。また、拡張付加LUT部4を備えることにより、上記プログラマブル論理回路の入力数を拡張できる。
7.関連する特許文献との相違点
7−1.特許文献6との相違点
特許文献6では、少数のナンドゲート及びプログラマブルインバータのみによる構造で論理セルの小面積化を実現しており、MCNCベンチマークにおいて出現率の高い論理を実装可能である。特許文献6では、ナンドゲートとプログラマブルインバータのみを利用して論理セルを構成している。一方、本発明に係る実施形態では、LUTベースで論理セルを構成している。
7−2.特許文献7との相違点
特許文献7では、一部の論理回路のみを実装可能な構造にすることで、少メモリ数、小面積な論理セルを実現しており、入力の入れ替えによって得られる回路を同一とみなし、LUTの論理表現における冗長性を削減している。
一方、本発明の実施形態では、シャノン展開、ナンドゲート、インバータを用いて部分論理関数の真理値表の変換を行なっており、少ない追加リソースによって論理セルの入力数を拡張可能である。
以上詳述したように、本発明によれば、従来技術に比較して、必要なメモリ数を大幅に削減でき、従来技術に係るLUTと同程度の機能を保持しつつ小さい面積で実現し、消費電力を小さくすることができるプログラマブル論理回路とその構成方法を提供することができる。
1…ベース部、
2…付加LUT部、
3…出力選択部、
4…拡張付加LUT部、
5…拡張ベース部、
10…構成メモリ、
11,21,31,41…マルチプレクサ、
15,25,45…マルチプレクサ回路、
22,23,42,43…プログラマブルナンドゲート回路、
30…メモリ、
32…プログラマブルインバータ、
51…ナンドゲート、
52…インバータ、
53…マルチプレクサ、
61…入力選択マルチプレクサ、
62…基礎論理素子(BSE)、
71…スケーラビリティ論理モジュール(SLM)、
72…遅延型フリップフロップ、
73…出力選択マルチプレクサ、
M1,M2…構成メモリ。

Claims (4)

  1. 第1〜第3の構成メモリを含む構成メモリ(10,M1,M2)に格納される複数の構成データに基づいて、プログラマブルに回路構成されたプログラマブル論理回路であり、第1の入力データ(In0)及び第2の入力データ(図1のIn1〜Inm;図6のIn1〜In4)を含む入力データに対して所定の論理演算を行うプログラマブル論理回路(図1,図6)であって、
    複数の第1の構成データを格納する第1の構成メモリ(10)と、複数のマルチプレクサ(11)を備えて構成されかつ上記第2の入力データ(図1のIn1〜Inm;図6のIn1〜In4)に基づいて、上記複数の第1の構成データのうちの1つの出力データを選択して出力する第1のマルチプレクサ回路(15)とを備えたベース部(1)であって、上記第2の入力データを変数とする論理関数をシャノン展開により展開されて生成された2つの部分論理関数のうちの一方の部分論理関数を示す論理回路を構成するベース部(1)と、
    上記展開されて生成された2つの部分論理関数のうちの他方の部分論理関数を示す論理回路を構成する付加ルックアップテーブル部(2)と、
    上記第1の入力データ(In0)に基づいて、上記ベース部(1)からの出力データと、上記付加ルックアップテーブル部(2)からの出力データとのうちの1つの出力データを選択して出力する出力選択部(3)とを備え、
    上記付加ルックアップテーブル部(2)は、
    第2の構成メモリ(M1,M2)に格納された第2の構成データに基づいて、上記第2の入力データ(図1のIn1〜Inm;図6のIn1〜In4)に対して正転又は反転し、もしくは所定の定数を出力する複数の第1のプログラマブルナンドゲート回路(22)と、
    複数のマルチプレクサ(21)を備えて構成され、上記複数の第1のプログラマブルナンドゲート回路(22)からの複数の出力データに基づいて、上記複数の第1の構成データのうちの1つの出力データを選択して出力する第2のマルチプレクサ回路(25)と、
    第3の構成メモリ(M1,M2)に格納された第3の構成データに基づいて、上記第2のマルチプレクサ回路(25)からの出力データに対して正転又は反転し、もしくは所定の定数を出力する第2のプログラマブルナンドゲート回路(23)とを備えたことを特徴とするプログラマブル論理回路(図1,図6)。
  2. 第1〜第3の構成メモリ(10,M1,M2)に格納される複数の構成データに基づいて、プログラマブルに回路構成されたプログラマブル論理回路であり、第1の入力データ(In0)、第2の入力データ(図2のIn1〜In2;図4BのIn1)及び第3の入力データ(図2のIn3;図4BのIn2)を含む入力データに対して所定の論理演算を行うプログラマブル論理回路(図2,図4B)であって、
    複数の第1の構成データを格納する第1の構成メモリ(10)と、複数のマルチプレクサ(11)を備えて構成されかつ上記第3の入力データ(図2のIn3;図4BのIn2)に基づいて上記複数の第1の構成データのうちの複数の出力データを選択して出力する第1のマルチプレクサ回路(15の最上段)と、複数のマルチプレクサ(11)を備えて構成されかつ上記第2の入力データ(図2のIn1〜In2;図4BのIn1)に基づいて上記第1のマルチプレクサ回路(15の最上段)から出力される複数のデータのうちの1つの出力データを選択して出力する第2のマルチプレクサ回路(15の2段目〜最下段)とを備えたベース部(1)であって、上記第2及び第3の入力データを変数とする論理関数をシャノン展開により展開されて生成された2つの部分論理関数のうちの一方の部分論理関数を示す論理回路を構成するベース部(1)と、
    上記展開されて生成された2つの部分論理関数のうちの他方の部分論理関数を示す論理回路を構成する付加ルックアップテーブル部(2)と、
    上記第1の入力データ(In0)に基づいて、上記ベース部(1)からの出力データと、上記付加ルックアップテーブル部(2)からの出力データとのうちの1つの出力データを選択して出力する第1の出力選択部(3)とを備え、
    上記付加ルックアップテーブル部(2)は、
    第2の構成メモリ(M1,M2)に格納された第2の構成データに基づいて、上記第2の入力データ(図2のIn1〜In2;図4BのIn1)に対して正転又は反転し、もしくは所定の定数を出力する少なくとも1つの第1のプログラマブルナンドゲート回路(22)と、
    少なくとも1つのマルチプレクサ(21)を備えて構成され、上記各第1のプログラマブルナンドゲート回路(22)からの出力データに基づいて、上記第1のマルチプレクサ回路(15の最上段)から出力される複数の出力データのうちの1つの出力データを選択して出力する第3のマルチプレクサ回路(25)と、
    第3の構成メモリ(M1,M2)に格納された第3の構成データに基づいて、上記各第3のマルチプレクサ回路(25)からの出力データに対して正転又は反転し、もしくは所定の定数を出力する第2のプログラマブルナンドゲート回路(23)とを備えたことを特徴とするプログラマブル論理回路(図2,図4B)。
  3. 第1〜第2の構成メモリ(10,M1,M2)に格納される複数の構成データに基づいて、プログラマブルに回路構成されたプログラマブル論理回路であり、第1の入力データ(In0)及び第2の入力データ(In1〜In2)を含む入力データに対して所定の論理演算を行うプログラマブル論理回路(図4A)であって、
    複数の第1の構成データを格納する第1の構成メモリ(10)と、複数のマルチプレクサ(11)を備えて構成されかつ上記第2の入力データ(In1〜In2)に基づいて、上記複数の第1の構成データのうちの1つの出力データを選択して出力するマルチプレクサ回路(15)とを備えたベース部(1)であって、上記第2の入力データを変数とする論理関数をシャノン展開により展開されて生成された2つの部分論理関数のうちの一方の部分論理関数を示す論理回路を構成するベース部(1)と、
    上記展開されて生成された2つの部分論理関数のうちの他方の部分論理関数を示す論理回路を構成する付加ルックアップテーブル部(2)と、
    上記第1の入力データ(In0)に基づいて、上記ベース部(1)からの出力データと、上記付加ルックアップテーブル部(2)からの出力データとのうちの1つの出力データを選択して出力する出力選択部(3)とを備え、
    上記付加ルックアップテーブル部(2)は、
    第2の構成メモリ(M1,M2)に格納された第2の構成データに基づいて、上記マルチプレクサ回路(15)からの出力データに対して正転又は反転し、もしくは所定の定数を出力するプログラマブルナンドゲート回路(23)を備えたことを特徴とするプログラマブル論理回路(図4A)。
  4. 請求項2記載のプログラマブル論理回路(図2,図4B)である拡張ベース部(5)と、
    上記展開されて生成された2つの部分論理関数のうちの他方の部分論理関数の一部を示す論理回路を構成する拡張付加ルックアップテーブル部(4)と、
    第4の入力データ(図5のIn0)に基づいて、上記拡張ベース部(5)からの出力データと、上記拡張付加ルックアップテーブル部(4)からの出力データとのうちの1つの出力データを選択して出力する第2の出力選択部(3)とを備えたプログラマブル論理回路(図5)であって、
    上記拡張付加ルックアップテーブル部(4)は、
    第4の構成メモリ(M1,M2)に格納された第4の構成データに基づいて、上記第の入力データ図5のIn1)に対して正転又は反転、もしくは所定の定数を出力する第3のプログラマブルナンドゲート回路(42)と、
    マルチプレクサ(41)を備えて構成され、上記第3のプログラマブルナンドゲート回路(42)からの出力データに基づいて、上記ベース部(1)からの出力データと、上記付加ルックアップテーブル部(2)からの出力データとのうちの1つの出力データを選択して出力する第3のマルチプレクサ回路(45)と、
    第5の構成メモリ(M1,M2)に格納された第5の構成データに基づいて、上記第3のマルチプレクサ回路(45)からの出力データに対して正転又は反転、もしくは所定の定数を出力する第4のプログラマブルナンドゲート回路(43)とを備えたことを特徴とするプログラマブル論理回路(図5)。
JP2013183665A 2013-09-05 2013-09-05 プログラマブル論理回路及びその構成方法 Expired - Fee Related JP5937550B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013183665A JP5937550B2 (ja) 2013-09-05 2013-09-05 プログラマブル論理回路及びその構成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013183665A JP5937550B2 (ja) 2013-09-05 2013-09-05 プログラマブル論理回路及びその構成方法

Publications (2)

Publication Number Publication Date
JP2015053533A JP2015053533A (ja) 2015-03-19
JP5937550B2 true JP5937550B2 (ja) 2016-06-22

Family

ID=52702270

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013183665A Expired - Fee Related JP5937550B2 (ja) 2013-09-05 2013-09-05 プログラマブル論理回路及びその構成方法

Country Status (1)

Country Link
JP (1) JP5937550B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018167962A1 (en) 2017-03-17 2018-09-20 Nec Corporation Reconfigurable circuit using nonvolatile resistive switches

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6633181B1 (en) * 1999-12-30 2003-10-14 Stretch, Inc. Multi-scale programmable array
JP2003273727A (ja) * 2002-03-14 2003-09-26 Shinji Kimura 半導体集積回路装置
EP1929631A1 (en) * 2005-09-05 2008-06-11 Nxp B.V. Logic modules for semiconductor integrated circuits
JP5523988B2 (ja) * 2010-08-23 2014-06-18 敏則 末吉 プログラマブル論理回路装置およびその回路決定方法
JP5701054B2 (ja) * 2010-12-28 2015-04-15 国立大学法人 熊本大学 リコンフィギュラブルロジックブロック、並びに、これを用いたプログラマブル論理回路装置、及び、テクノロジマッピング方法

Also Published As

Publication number Publication date
JP2015053533A (ja) 2015-03-19

Similar Documents

Publication Publication Date Title
EP2001133B1 (en) A programmable logic device having complex logic blocks with improved logic cell functionality
EP1489745B1 (en) FPGA lookup table with high speed read decoder
US20150286762A1 (en) Logic configuration method for reconfigurable semiconductor device
US20150280717A1 (en) Reconfigurable semiconductor device
US9705504B1 (en) Power gated lookup table circuitry
US8836368B2 (en) Non-LUT field-programmable gate arrays
Yazdanshenas et al. Automatic circuit design and modelling for heterogeneous FPGAs
US10630269B2 (en) Multiple mode device implementation for programmable logic devices
JP5523988B2 (ja) プログラマブル論理回路装置およびその回路決定方法
US9231594B2 (en) Non-LUT field-programmable gate arrays
JP5937550B2 (ja) プログラマブル論理回路及びその構成方法
Amagasaki et al. SLM: A scalable logic module architecture with less configuration memory
US7725867B2 (en) Gate-array or field programmable gate array
WO2017038095A1 (ja) プログラマブル論理集積回路と半導体装置およびキャラクタライズ方法
Purnaprajna et al. A case for heterogeneous technology-mapping: Soft versus hard multiplexers
da Silva et al. CMOS voltage-mode quaternary look-up tables for multi-valued FPGAs
Gaur et al. Performance comparison of adder architectures on 28nm FPGA
Gamal et al. Design guidelines for soft implementations to embedded NoCs of fPGAs
Iqbal et al. Reconfigurable computing technology used for modern scientific applications
US20120280710A1 (en) Reuse of constants between arithmetic logic units and look-up-tables
Dahiya Area and delay trade offs in fracturable LUT-based FPGA architectures
Rawski Modified Distributed Arithmetic Concept for Implementations Targeted at Heterogeneous FPGAs
Firdous et al. Comparative analysis of LUT design In FPGA
JP2017169070A (ja) 半導体装置
Sacristán et al. Comparison of addition structures synthesis over commercial FPGAs

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150727

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150901

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151026

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160329

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160418

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160510

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160512

R150 Certificate of patent or registration of utility model

Ref document number: 5937550

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees