JP4011015B2 - Lut符号化方法及びlut符号化装置並びにlutカスケード論理回路 - Google Patents
Lut符号化方法及びlut符号化装置並びにlutカスケード論理回路 Download PDFInfo
- Publication number
- JP4011015B2 JP4011015B2 JP2003401213A JP2003401213A JP4011015B2 JP 4011015 B2 JP4011015 B2 JP 4011015B2 JP 2003401213 A JP2003401213 A JP 2003401213A JP 2003401213 A JP2003401213 A JP 2003401213A JP 4011015 B2 JP4011015 B2 JP 4011015B2
- Authority
- JP
- Japan
- Prior art keywords
- lut
- output
- value
- input
- 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
Links
- 238000000034 method Methods 0.000 title claims description 36
- 230000006870 function Effects 0.000 claims description 81
- 238000003860 storage Methods 0.000 claims description 36
- 230000008569 process Effects 0.000 claims description 6
- 238000005520 cutting process Methods 0.000 claims description 3
- 201000003231 brachydactyly type D Diseases 0.000 claims 7
- 238000004364 calculation method Methods 0.000 description 27
- 238000010586 diagram Methods 0.000 description 17
- 230000000630 rising effect Effects 0.000 description 9
- 230000008859 change Effects 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Description
笹尾勤,松浦宗寛,井口幸洋,"多出力関数のカスケード実現と再構成可能ハードウェアによる実現",電子情報通信学会FTS研究会, FTS2001-8, pp. 57-64, 三重大学(2001-04). T. Sasao, M. Matsuura, and Y. Iguchi, "A cascade realization of multiple-output function for reconfigurable hardware," International Workshop on Logic and Synthesis (IWLS01), Lake Tahoe, CA, June 12-15, 2001. pp.225-230.
例えば、目的論理関数fが(数2)のような関数であったとする。
(例終わり)
図5(a)のようなROBDDを持つ論理関数を考える。LUTを格納するメモリのアドレスの入力数が3であるとした場合、BDD分割手段4は、図5(b)の一点鎖線で示した位置でROBDDを分割する。これにより、図5(a)のROBDDを4個の3入力LUTにより実現することができる。図5(b)において「○」が非終端節点を表し、「□」が終端節点を表す。また、各非終端節点を始節点とする有向枝のうち、実線で表されたものは非終端節点における入力が「1」に対応する有向枝、点線で表されたものは非終端節点における入力が「0」に対応する有向枝を表している。
(例終わり)
図5(b)に示したようなROBDDの部分グラフを符号化手段5により符号化することによって、図6に示したようなLUTカスケードが生成され、LUT記憶手段6に格納される。図6において、各LUTの出力値(y2i+1,y2i)には、値が0の終端節点に対して「00」又は「0」が、値が1の終端節点に対して「11」又は「1」が割り当てられる。図5(b)のROBDDから符号化により作成されたLUTの例を(表2)に示す。尚、(表2)において、「x」はドント・ケアを表す。
(例終わり)
例えば、目的論理関数が、入力変数A=(a3 a2 a1 a0),B=(b3 b2 b1 b0)の大小を比較する4ビット比較器であるとする。4ビット比較器は、例えば、(数3)により表される。
(例終わり)
図9に示したようなMTBDDの部分グラフを符号化手段12により符号化することによって、図10(a)に示したようなLUTカスケードが生成され、LUT記憶手段6に格納される。図10(a)において、LUT0,LUT1の出力値には、A>Bの終端節点に対して符号「00」が、A<Bの終端節点に対して符号「01」が割り当てられる。終端節点以外の節点に対しては、符号「11」又は符号「10」の何れかを割り当てることができる。また、最終段のLUT2の出力値には、A>Bの終端節点に対して符号「00」が、A<Bの終端節点に対して符号「01」が、A=Bの終端節点に対して符号「11」又は符号「10」が割り当てられる。
(例終わり)
例えば、目的論理関数が、図10(a)に示したような3つのLUT(LUT0,LUT1,LUT2)からなるLUTカスケードにより表される場合、図10(b)に示したように、LUT0は論理関数メモリ21の0ページ目に、LUT1は論理関数メモリ21の1ページ目に、LUT2は論理関数メモリ21の2ページ目に、それぞれ格納される。これにより、例えば、LUT1を読み出す場合には、論理関数メモリ21の1ページにアクセスすればよいことになる。
(例終わり)
(1)時刻t0
まず、時刻t0においてリセット信号(RST)nが0(有効)とされる。リセット信号(RST)nが0となると、出力レジスタ29がリセットされ、出力レジスタ29のnビットの出力値(Data OUT)はすべて0となる。また、演算制御部30のAND回路38には、リセット信号(RST)n、アウトプット・イネーブル信号(OE)n、及びDフリップ・フロップ42の出力Qが入力されている。従って、リセット信号(RST)nが0となると、AND回路38は0を出力する。これにより、ページ・カウンタ35が出力するページ・カウント信号CNTの値が0クリアされる。そして、入力選択メモリ24、接続メモリ26、出力デコーダ27、及び終端判定値メモリ36の出力ページ数が0ページに設定される。
時刻t1において、リセット信号(RST)nは1(無効)となる。このとき、終端節点判定器37のTフリップ・フロップ41の出力(Q)nは0に、Dフリップ・フロップ42の出力(Q)nは1に、ビジー生成回路39のDフリップ・フロップ45の出力Qは0に、それぞれラッチされた状態で保持される。従って、アウトプット・イネーブル信号(OE)nは1(無効)に、ビジー信号BUSYは1に保持される。
時刻t2において、データ・ストローブ信号(DS)nが0となる。このデータ・ストローブ信号(DS)nは、ビジー生成回路29内の入力回路44に入力されている。入力回路44は、データ・ストローブ信号(DS)nの反転論理と、AND回路46の出力値とのOR論理を出力する。従って、入力回路44は、Dフリップ・フロップ45の入力端子Dに対して1を出力する。
時刻t3において、クロックCLKが0から1に変化する。この立ち上がりにおいて、ビジー生成回路39内のDフリップ・フロップ45は、入力端子Dから入力されている論理値1をラッチして、出力端子Qに出力する。このDフリップ・フロップ45の出力は、OR回路47に入力される。OR回路47のもう一方の入力には、その前から、Dフリップ・フロップ42の反転出力(Q)nとして論理値1が入力されているので、ここではOR回路47の出力は1に保持されたままで変化はしない。従って、ビジー信号BUSYは1に保持される。
時刻t4において、データ・ストローブ信号(DS)nが0から1に変化する。終端節点判定器37内のTフリップ・フロップ41のトリガ入力端子Tには、データ・ストローブ信号(DS)nが入力されている。従って、データ・ストローブ信号(DS)nの立ち上がりにおいて、Tフリップ・フロップ41の出力(Q)nは0から1に反転する。
時刻t5において、クロックCLKが1から0に変化する。このとき、論理関数メモリ21は、この立ち下がりにおいて、アドレス端子A0〜Au+m-1より入力されているLUT変数値a0〜au-1及びページ・カウント信号CNTの値(0)を、内部のアドレス・レジスタにラッチする。これに伴って、論理関数メモリ21は、0ページに格納された1段目のLUTを使用して、LUT変数値a0〜au-1を入力とする選択演算を行い、その結果を出力端子D0〜Du-1からLUT出力値d0〜du-1として出力する。この時点で、LUT出力値d0〜du-1の値が確定する。
時刻t6において、クロックCLKは0から1に変化する。このクロックCLKの立ち上がりにおいて、ページ・カウンタ35は、ページ・カウント信号CNTの値を1だけ増加させる。ページ・カウント信号CNTが1となると、入力選択メモリ24、接続メモリ26、出力デコーダ27、及び終端判定値メモリ36の出力ページ数が1ページに設定される。
時刻t7において、クロックCLKは1から0に変化する。このクロックCLKの立ち下がりにおいて、論理関数メモリ21は、アドレス端子A0〜Au+m-1より入力されているLUT変数値a0〜au-1及びページ・カウント信号CNTの値(1)を、内部のアドレス・レジスタにラッチする。これに伴って、論理関数メモリ21は、1ページに格納された2段目のLUTを使用して、LUT変数値a0〜au-1を入力とする選択演算を行い、その結果を出力端子D0〜Du-1からLUT出力値d0〜du-1として出力する。
時刻8において、クロックCLKは0から1に変化する。このクロックCLKの立ち上がりにおいて、出力レジスタ29は、出力変数f0〜fn-1をラッチする。これにより、出力レジスタ29の出力端子Do0〜Don-1から、出力値(Data OUT)として出力変数f0〜fn-1が出力され、演算が終了する。
次に、リセット直後以外の演算処理動作について説明する。この場合、終端節点判定器37のTフリップ・フロップ41の出力(Q)nは1にラッチされたまま変化せず、Dフリップ・フロップ42の出力Q,(Q)nは、それぞれ、1,0にラッチされたまま変化しない。従って、動作は単純となる。
まず、時刻t9において、外部データ入力信号(Data input)が切り換わり、演算に使用する入力変数が設定される。そして、時刻t10において、データ・ストローブ信号DSが0(有効)とされる。
時刻t11において、クロックCLKは0から1に変化する。このクロックCLKの立ち上がりにおいて、ビジー生成回路39のDフリップ・フロップ45は、入力端子Dの入力値1をラッチして、出力端子Qから出力する。このDフリップ・フロップ45の出力は、OR回路47に入力される。そして、OR回路47の出力であるビジー信号BUSYは1に反転する。
時刻t12において、クロックCLKは1から0に変化する。このクロックCLKの立ち下がりにおいて、論理関数メモリ21は、アドレス端子A0〜Au+m-1より入力されているLUT変数値a0〜au-1及びページ・カウント信号CNTの値(1)を、内部のアドレス・レジスタにラッチする。これに伴って、論理関数メモリ21は、1ページに格納された1段目のLUTを使用して、LUT変数値a0〜au-1を入力とする選択演算を行い、その結果を出力端子D0〜Du-1からLUT出力値d0〜du-1として出力する。
2 ROBDD生成手段
3 ROBDD記憶手段
4,11 BDD分割手段
5,12 符号化手段
6 LUT記憶手段
9 MTBDD生成手段
10 MTBDD記憶手段
21 論理関数メモリ
22 入力変数レジスタ
23 入力変数選択回路
23−0〜23−3 バレルシフタ
24 入力選択メモリ
25 接続回路
25a 切換回路
26 接続メモリ
27 出力デコーダ
29 出力レジスタ
30 演算制御部
35 ページ・カウンタ
36 終端判定値メモリ
37 終端節点判定器
38 AND回路
39 ビジー生成回路
40 デジタル・コンパレータ
41 Tフリップ・フロップ
42 Dフリップ・フロップ
43 OR回路
44 入力回路
45 Dフリップ・フロップ
46 AND回路
47 OR回路
Claims (6)
- 演算を行う対象となる目的論理関数を表す二分決定グラフを、適所に設定される切断線で分割し、その分割で得られる各部分グラフを真理値表で表したものであるLUTが、直列に順序づけて接続されており、最前段のLUT以外のLUTの入力の一部又は全部は、当該LUTの前段のLUTの出力が入力される構成からなるLUTカスケードにおいて、コンピュータにより前記各LUTの出力値に符号の割り当てを行うLUT符号化方法であって、
前記目的論理関数の論理仕様が記憶された論理仕様記憶手段から、論理仕様を読み出し、該論理仕様に基づいて二分決定グラフ(以下「BDD」という。)を生成し、該BDDをBDD記憶手段に格納する第1ステップと、
前記BDD記憶手段に記憶された前記BDDを分割する切断線をs−1本(s≧2)設定し、該BDDをs個の部分グラフに分割する第2ステップと、
s個の前記各部分グラフのそれぞれについて、該部分グラフの各入力値に対する出力に符号を割り当てることで各入力値とそれに対する出力値の関係を定めてLUTを生成し、該LUTをLUT記憶手段に格納する第3ステップと、
を備え、
前記第3ステップにおいては、0番目からs−1番目の前記各部分グラフについて、
a.i番目(i=0,…,s−1)の前記部分グラフの出力のうち、終端節点に向かう枝に対応する出力に対しては、その終端節点の値に対応して決められた特定の符号をi番目の前記LUTの出力値として割り当て、
b.非終端節点に向かう枝に対応する出力に対しては、前記特定の符号以外の符号をi番目の前記LUTの出力値として割り当てる
という処理を順次実行することで、該部分グラフの各入力値に対する出力に符号の割り当てを行うことを特徴とするLUT符号化方法。 - 前記LUTカスケードは、最終段のLUTが1ビットの出力変数を出力するLUTカスケードであって、
前記第3ステップにおいては、0番目からs−1番目の前記各部分グラフについて、
a’.i番目(i=0,…,s−2)の前記部分グラフの出力のうち、終端節点に向かう枝に対応する出力に対しては、
その終端節点の値が0の場合には前記LUTの出力値として全ビットが0又は全ビットが1の符号を前記LUTの出力値として割り当て、
その終端節点の値が1の場合には前記LUTの出力値として全ビットが1又は全ビットが0の符号をi番目の前記LUTの出力値として割り当て、
b’.非終端節点に向かう枝に対応する出力に対しては、前記全ビットが0及び全ビットが1以外の符号をi番目の前記LUTの出力値として割り当てる
という処理を順次実行することで、該部分グラフの各入力値に対する出力に符号の割り当てを行うこと
を特徴とする請求項1記載のLUT符号化方法。 - 前記LUTカスケードは、最終段のLUTが2ビット以上の出力変数を出力するLUTカスケードであって、
前記第3ステップにおいては、0番目からs−1番目の前記各部分グラフについて、
a”.i番目(i=0,…,s−2)の前記部分グラフの出力のうち、終端節点に向かう枝に対応する出力に対しては、i番目のLUTに対して決められている所定の閾値以下となるような前記特定の符号を、該i番目のLUTの出力値として割り当て、
b”.非終端節点に向かう枝に対応する出力に対しては、前記所定の閾値より大きい符号をi番目の前記LUTの出力値として割り当てる
という処理、または、
a”.i番目(i=0,…,s−2)の前記部分グラフの出力のうち、終端節点に向かう枝に対応する出力に対しては、i番目のLUTに対して決められている所定の閾値以上となるような前記特定の符号を、該i番目のLUTの出力値として割り当て、
b”.非終端節点に向かう枝に対応する出力に対しては、前記所定の閾値より小さい符号をi番目の前記LUTの出力値として割り当てる
という処理の何れか一方を順次実行することで、該部分グラフの各入力値に対する出力に符号の割り当てを行うことを特徴とする請求項1記載のLUT符号化方法。 - 演算を行う対象となる目的論理関数を表す二分決定グラフを、適所に設定されるs−1本(s≧2)の切断線で分割し、その分割で得られるs個の各部分グラフを真理値表により表したものであるs個のLUTが格納された論理関数メモリと、
最前段のLUT以外のLUTの入力の一部又は全部を、当該LUTの前段のLUTの出力に接続する接続回路と、
を備えたLUTカスケード論理回路であって、
前記論理関数メモリに格納されたs個の前記LUTのうち、最終段以外の少なくとも一つの前記LUTは、前記二分決定グラフの終端節点に対応する出力値を有しており、かつ終端節点に対応する前記LUTの出力値には、その終端節点の値に対応して決められた特定の符号が割り当てられており、
最終段以外の前記LUTの出力値が前記特定の符号であった場合、当該特定の符号に対応する節点値を出力する演算制御手段を備えていることを特徴とするLUTカスケード論理回路。 - 前記論理関数メモリに格納された最終段のLUTは、1ビットの出力変数を出力するLUTであって、
前記演算制御手段は、
前記LUTの出力値の全ビットが0であることを検出する終端判定器と、
前記終端判定器が、最終段以外の前記LUTの出力値において、全ビットが0であることを検出したときに、その出力値に応じて節点値を出力する出力回路と、を備え、
又は、
前記LUTの出力値の全ビットが1であることを検出する終端判定器と、
前記終端判定器が、最終段以外の前記LUTの出力値において、全ビットが1であることを検出したときに、その出力値に応じて節点値を出力する出力回路と、
を備えていることを特徴とする請求項4記載のLUTカスケード論理回路。 - 前記論理関数メモリに格納された最終段のLUTは、2ビット以上の出力変数を出力するLUTであって、
前記演算制御手段は、
最終段以外の各段の前記LUTに対する終端判定値が格納された終端判定値メモリと、
最終段以外の各段の前記LUTの出力値が、その段に対する前記終端判定値以下又は以上であることを検出する終端判定器と、
前記終端判定器が、最終段以外の前記LUTの出力値が、その段に対する前記終端判定値以下であることを検出したときに、その出力値は前記特定の符号であると判定し、その出力値に応じて節点値を出力する、
又は、前記終端判定器が、最終段以外の前記LUTの出力値が、その段に対する前記終端判定値以上であることを検出したときに、その出力値は前記特定の符号であると判定し、その出力値に応じて節点値を出力する
出力回路と、
を備えていることを特徴とする請求項4記載のLUTカスケード論理回路。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2003401213A JP4011015B2 (ja) | 2003-12-01 | 2003-12-01 | Lut符号化方法及びlut符号化装置並びにlutカスケード論理回路 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2003401213A JP4011015B2 (ja) | 2003-12-01 | 2003-12-01 | Lut符号化方法及びlut符号化装置並びにlutカスケード論理回路 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2005165502A JP2005165502A (ja) | 2005-06-23 |
| JP4011015B2 true JP4011015B2 (ja) | 2007-11-21 |
Family
ID=34725215
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2003401213A Expired - Fee Related JP4011015B2 (ja) | 2003-12-01 | 2003-12-01 | Lut符号化方法及びlut符号化装置並びにlutカスケード論理回路 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP4011015B2 (ja) |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR101445663B1 (ko) | 2007-11-16 | 2014-09-30 | 삼성전자주식회사 | 룩-업 테이블 값들을 압축 및 복원하는 방법 |
| JP5382503B2 (ja) * | 2009-03-03 | 2014-01-08 | 国立大学法人九州工業大学 | ブランチング・プログラム・マシン及び並列プロセッサ |
| JP6250548B2 (ja) * | 2012-11-20 | 2017-12-20 | 太陽誘電株式会社 | 再構成可能な半導体装置の論理構成方法 |
| EP4235400B1 (en) * | 2020-01-28 | 2024-07-24 | Quside Technologies S.L. | Computer-implemented method for deciding whether a random number is larger or smaller than a given threshold |
-
2003
- 2003-12-01 JP JP2003401213A patent/JP4011015B2/ja not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2005165502A (ja) | 2005-06-23 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3524057B2 (ja) | ナンバの集合内で最小/最大値を探索するための方法及び回路 | |
| US9111615B1 (en) | RAM-based ternary content addressable memory | |
| US9240237B2 (en) | Semiconductor device and method of writing/reading entry address into/from semiconductor device | |
| JP2018142188A (ja) | 解析プログラム、解析方法および解析装置 | |
| US5299145A (en) | Adder for reducing carry processing | |
| US7185041B1 (en) | Circuit and method for high-speed execution of modulo division | |
| JP4011015B2 (ja) | Lut符号化方法及びlut符号化装置並びにlutカスケード論理回路 | |
| WO2022247193A1 (zh) | 用于数据处理的装置、方法、芯片、计算机设备及介质 | |
| JP3275224B2 (ja) | ディジタル信号処理システム | |
| JP2022510442A (ja) | ソート方法、装置、電子デバイス及びコンピュータプログラム | |
| US20210082082A1 (en) | Data processing method and processing circuit | |
| JPH0666050B2 (ja) | ソート処理方法 | |
| JPH1055352A (ja) | 浮動小数点数累積加算装置 | |
| US5945657A (en) | Constant divider | |
| WO2024066561A1 (zh) | 查找空闲存储的装置、方法及芯片 | |
| WO2015011907A1 (ja) | k近傍法連想メモリ | |
| CN105432018A (zh) | 逻辑运算装置 | |
| JPH07111459A (ja) | データ圧縮方法 | |
| US11700004B2 (en) | Direct bi-directional gray code counter | |
| JP5072558B2 (ja) | データ処理装置 | |
| JP3346204B2 (ja) | 可変長符号復号装置 | |
| KR100846485B1 (ko) | 하다마드 트랜스폼 방법 및 장치 | |
| JP6687837B2 (ja) | データ記録装置及びデータ記録方法 | |
| CN117713800A (zh) | 多位宽二进制多路选择器及降低其扇出的方法和系统 | |
| JP2002236609A (ja) | アドレス生成回路 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060904 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061003 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070608 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070806 |
|
| 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: 20070830 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070904 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100914 Year of fee payment: 3 |
|
| S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110914 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120914 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130914 Year of fee payment: 6 |
|
| LAPS | Cancellation because of no payment of annual fees |