JPH04278720A - プログラマブルロジックデバイス - Google Patents
プログラマブルロジックデバイスInfo
- Publication number
- JPH04278720A JPH04278720A JP3040380A JP4038091A JPH04278720A JP H04278720 A JPH04278720 A JP H04278720A JP 3040380 A JP3040380 A JP 3040380A JP 4038091 A JP4038091 A JP 4038091A JP H04278720 A JPH04278720 A JP H04278720A
- Authority
- JP
- Japan
- Prior art keywords
- bit
- bits
- switches
- wiring
- configuration
- 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.)
- Pending
Links
- 230000015654 memory Effects 0.000 abstract description 10
- 230000000873 masking effect Effects 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 8
- 238000007792 addition Methods 0.000 description 5
- 230000008054 signal transmission Effects 0.000 description 4
- 239000004065 semiconductor Substances 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
Landscapes
- Logic Circuits (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【0001】
【産業上の利用分野】本発明は、論理演算動作がプログ
ラム可能であるプログラマブルロジックデバイス、特に
効率的な演算を行えるものに関する。
ラム可能であるプログラマブルロジックデバイス、特に
効率的な演算を行えるものに関する。
【0002】
【従来の技術】近年のデジタル処理技術、半導体技術の
飛躍的な進歩により、各種処理にデジタル処理が採用さ
れ、その論理回路が半導体デバイスによって構成される
ようになってきている。しかし、半導体デバイスを利用
する場合には、その生産効率を考慮すると、大量に生産
する必要があり、1つのデバイスを汎用性を高くするこ
とが重要となる。このため、ユーザの要求に合わせて、
その動作を設定できるプログラマブルロジックデバイス
(PLD)が提案され、広く普及されるようになってき
ている。
飛躍的な進歩により、各種処理にデジタル処理が採用さ
れ、その論理回路が半導体デバイスによって構成される
ようになってきている。しかし、半導体デバイスを利用
する場合には、その生産効率を考慮すると、大量に生産
する必要があり、1つのデバイスを汎用性を高くするこ
とが重要となる。このため、ユーザの要求に合わせて、
その動作を設定できるプログラマブルロジックデバイス
(PLD)が提案され、広く普及されるようになってき
ている。
【0003】このPLDにおいては、同一構造のマクロ
セルを多数設け、このマクロセル内の論理を設定すると
共に、各マクロセルへの信号の入出力経路を所定のもの
に設定し、これによって所望の信号処理を行っている。 そして、通常の場合、複数のマクロセル群と信号伝達の
ための配線部とを分化し、配線部の信号線とマクロセル
との信号線の交点に複数のスイッチを設け、このスイッ
チのオンオフの設定によって、マクロセルと接続する信
号線の設定を行っている。
セルを多数設け、このマクロセル内の論理を設定すると
共に、各マクロセルへの信号の入出力経路を所定のもの
に設定し、これによって所望の信号処理を行っている。 そして、通常の場合、複数のマクロセル群と信号伝達の
ための配線部とを分化し、配線部の信号線とマクロセル
との信号線の交点に複数のスイッチを設け、このスイッ
チのオンオフの設定によって、マクロセルと接続する信
号線の設定を行っている。
【0004】すなわち、図4に示すように、マクロセル
への信号線と、配線部の信号線との交点にパストランジ
スタ100を設け、このオンオフによって両者の接続を
制御している。
への信号線と、配線部の信号線との交点にパストランジ
スタ100を設け、このオンオフによって両者の接続を
制御している。
【0005】ここで、信号線は、通常マクロセルによっ
て処理されるべきデータを伝送するものであり、複数ビ
ットのデータを乗せるため、ある程度(例えば8ビット
)のビット幅を有している。そこで、図4においては、
1つのパストランジスタ100によって、信号線の接続
を表したが、実際にはこのパストランジスタ100を8
個設け、これらパストランジスタ100を全てオンとす
ることによって、信号線の接続を行っている。
て処理されるべきデータを伝送するものであり、複数ビ
ットのデータを乗せるため、ある程度(例えば8ビット
)のビット幅を有している。そこで、図4においては、
1つのパストランジスタ100によって、信号線の接続
を表したが、実際にはこのパストランジスタ100を8
個設け、これらパストランジスタ100を全てオンとす
ることによって、信号線の接続を行っている。
【0006】また、このパストランジスタ100のオン
オフの設定のためには例えばSRAMが利用され、この
SRAMの1または0の状態によってパストランジスタ
100のオンまたはオフが設定される。
オフの設定のためには例えばSRAMが利用され、この
SRAMの1または0の状態によってパストランジスタ
100のオンまたはオフが設定される。
【0007】すなわち、図5に示すように、複数のトラ
ンジスタ100(例えば8個)のゲートには、SRAM
110が接続されており、このSRAMの出力線の状態
によって、パストランジスタ100のオンオフが設定さ
れる。そして、このSRAMの状態を設定するために、
相補的な信号(1及び0)がSRAM110書込み制御
用トランジスタ120を介し供給されている。そこで、
書込み制御トランジスタ120のゲートに対する信号を
1とした場合に、信号線の状態に応じたデータがSRA
M110に書き込まれる。この例においては、信号線D
が0であった場合に、パストランジスタ100はオフ、
1であった場合にパストランジスタ100がオンとなる
。
ンジスタ100(例えば8個)のゲートには、SRAM
110が接続されており、このSRAMの出力線の状態
によって、パストランジスタ100のオンオフが設定さ
れる。そして、このSRAMの状態を設定するために、
相補的な信号(1及び0)がSRAM110書込み制御
用トランジスタ120を介し供給されている。そこで、
書込み制御トランジスタ120のゲートに対する信号を
1とした場合に、信号線の状態に応じたデータがSRA
M110に書き込まれる。この例においては、信号線D
が0であった場合に、パストランジスタ100はオフ、
1であった場合にパストランジスタ100がオンとなる
。
【0008】ここで、このようなパストランジスタ10
0の状態を設定するSRAM110を通常コンフィグレ
ーションメモリと呼び、このコンフィグレーションメモ
リにデータを設定する動作をコンフィグレーションと呼
ぶ。そして、このコンフィグレーションによって、所定
の信号線とマクロセルの接続を行い、PLD動作を所望
のものに設定することができる。
0の状態を設定するSRAM110を通常コンフィグレ
ーションメモリと呼び、このコンフィグレーションメモ
リにデータを設定する動作をコンフィグレーションと呼
ぶ。そして、このコンフィグレーションによって、所定
の信号線とマクロセルの接続を行い、PLD動作を所望
のものに設定することができる。
【0009】
【発明が解決しようとする課題】このように、従来のP
LDにおいては、信号線が8ビットであれば、その8ビ
ットの信号線の接続については1つのコンフィグレーシ
ョンメモリで行い、8ビットの信号をそのままマクロセ
ルに伝達していた。しかしながら、このような信号伝達
経路のビット幅が画一的である場合には、倍精度(例え
ば16ビット)の信号を利用したりする場合に、その構
成が複雑となってしまうという問題点があった。
LDにおいては、信号線が8ビットであれば、その8ビ
ットの信号線の接続については1つのコンフィグレーシ
ョンメモリで行い、8ビットの信号をそのままマクロセ
ルに伝達していた。しかしながら、このような信号伝達
経路のビット幅が画一的である場合には、倍精度(例え
ば16ビット)の信号を利用したりする場合に、その構
成が複雑となってしまうという問題点があった。
【0010】すなわち、8ビットのデータ同士の乗算を
行い、16ビットの信号を得る場合には、a・b=(a
1 w+a0 )(b1 w+b0)ここで、a1 は
aの上位4ビット、a0 はaの下位4ビット、b1
はbの上位4ビット、b0 はbの下位4ビット、wは
4ビットシフトのためのウェイト(16)である。
行い、16ビットの信号を得る場合には、a・b=(a
1 w+a0 )(b1 w+b0)ここで、a1 は
aの上位4ビット、a0 はaの下位4ビット、b1
はbの上位4ビット、b0 はbの下位4ビット、wは
4ビットシフトのためのウェイト(16)である。
【0011】そして、このような演算を4ビットの乗算
器で8ビットの乗算を行う場合には、図6に示すような
構成となる。
器で8ビットの乗算を行う場合には、図6に示すような
構成となる。
【0012】すなわち、乗算器130においてa1 b
1 w2 の演算を行い、乗算器132においてa1
b0 wの演算を行い、乗算器134においてa0 b
0 wの演算を行い、乗算器136においてa0 b0
の演算を行う。そして、乗算器130から出力される
8ビットのデータは、w2 で除算した値であり、乗算
器132、134から出力される値は、それぞれwで除
算した値である。このため、乗算器140、142にお
いて、このwについての桁合せを行い、全ての値をwで
割った値として加算器144、146にて加算し中間8
ビットのデータとして出力する。一方、乗算器130か
らの出力においては、上位4ビットのデータのみが必要
なため、マスク150において下位4ビットを0におき
かえて出力する。 一方、乗算器136からの出力は、下位4ビットのみが
必要なため、マスク152によって上位4ビットを0に
おきかえて出力する。これによって16ビットのデータ
が得られる。この8ビットのデータ同士を4ビットの乗
算器を用い乗算し、16ビットのデータを得ることがで
きる。しかしながら、この構成においては、乗算器14
0、142のための演算や、マスク150、152など
が必要となり、回路全体が複雑となってしまう。
1 w2 の演算を行い、乗算器132においてa1
b0 wの演算を行い、乗算器134においてa0 b
0 wの演算を行い、乗算器136においてa0 b0
の演算を行う。そして、乗算器130から出力される
8ビットのデータは、w2 で除算した値であり、乗算
器132、134から出力される値は、それぞれwで除
算した値である。このため、乗算器140、142にお
いて、このwについての桁合せを行い、全ての値をwで
割った値として加算器144、146にて加算し中間8
ビットのデータとして出力する。一方、乗算器130か
らの出力においては、上位4ビットのデータのみが必要
なため、マスク150において下位4ビットを0におき
かえて出力する。 一方、乗算器136からの出力は、下位4ビットのみが
必要なため、マスク152によって上位4ビットを0に
おきかえて出力する。これによって16ビットのデータ
が得られる。この8ビットのデータ同士を4ビットの乗
算器を用い乗算し、16ビットのデータを得ることがで
きる。しかしながら、この構成においては、乗算器14
0、142のための演算や、マスク150、152など
が必要となり、回路全体が複雑となってしまう。
【0013】また、伝送されてくる数字a、bなどは全
て8ビットの数字であるため、4ビット乗算器130〜
136に入力する4ビットの数a1 (b1 )、a0
(b0 )を得るために、図7に示すように、8ビッ
トの信号を4ビットの信号に分割するための手段も必要
となる。
て8ビットの数字であるため、4ビット乗算器130〜
136に入力する4ビットの数a1 (b1 )、a0
(b0 )を得るために、図7に示すように、8ビッ
トの信号を4ビットの信号に分割するための手段も必要
となる。
【0014】本発明は、上記問題点を解決することを課
題としてなされたものであり、倍精度の演算を行う場合
にもビットシフトやマスクが不要であるプログラマブル
ロジックデバイスを提供することを目的とする。
題としてなされたものであり、倍精度の演算を行う場合
にもビットシフトやマスクが不要であるプログラマブル
ロジックデバイスを提供することを目的とする。
【0015】
【作用】このように、信号の伝達を制御するスイッチを
複数ビットの信号線に対し複数設けている。従って8ビ
ットの信号線を4ビットずつに分けて基本セルに供給す
ることができ、演算の自由度が広がり、倍精度演算を行
う際にはビットやマスクを省略することができる。
複数ビットの信号線に対し複数設けている。従って8ビ
ットの信号線を4ビットずつに分けて基本セルに供給す
ることができ、演算の自由度が広がり、倍精度演算を行
う際にはビットやマスクを省略することができる。
【0016】
【実施例】以下、本発明に係るプログラマブルロジック
デバイスについて、図面に基づいて説明する。
デバイスについて、図面に基づいて説明する。
【0017】図1は、実施例の全体構成を示すブロック
図であり、各種の論理演算を行うメガセル10が複数設
けられており、これが配線ブロック12に接続されてい
る。また、この配線ブロック12はI/Oセル14に接
続されており外部のデータとのやりとりを行う。そして
、この配線ブロック内には、マクロセル10と配線ブロ
ック内の配線との交点にそれぞれパストランジスタ10
0などによるスイッチが設けられている。そして、この
パストランジスタ100がSRAM110、すなわちコ
ンフィグレーションメモリによって制御される。すなわ
ち、図2に示すように、8ビットの信号線の交点に8つ
のスイッチを設け、このスイッチのオンオフをコンフィ
グレーションメモリによって設定することにより信号線
の接続、非接続を決定する。
図であり、各種の論理演算を行うメガセル10が複数設
けられており、これが配線ブロック12に接続されてい
る。また、この配線ブロック12はI/Oセル14に接
続されており外部のデータとのやりとりを行う。そして
、この配線ブロック内には、マクロセル10と配線ブロ
ック内の配線との交点にそれぞれパストランジスタ10
0などによるスイッチが設けられている。そして、この
パストランジスタ100がSRAM110、すなわちコ
ンフィグレーションメモリによって制御される。すなわ
ち、図2に示すように、8ビットの信号線の交点に8つ
のスイッチを設け、このスイッチのオンオフをコンフィ
グレーションメモリによって設定することにより信号線
の接続、非接続を決定する。
【0018】ここで、本実施例においては、この8つの
スイッチを上位4ビット、下位4ビットの2つのブロッ
クに分け、2つのコンフィグレーションメモリによって
それぞれのオンオフを決定する。従って、コンフィグレ
ーションメモリの設定によって、4ビットの信号を取り
出しこれをマクロセルに供給できることとなる。なお、
この構成は、図5においてパストランジスタ100が4
個で構成されていることに対応する。
スイッチを上位4ビット、下位4ビットの2つのブロッ
クに分け、2つのコンフィグレーションメモリによって
それぞれのオンオフを決定する。従って、コンフィグレ
ーションメモリの設定によって、4ビットの信号を取り
出しこれをマクロセルに供給できることとなる。なお、
この構成は、図5においてパストランジスタ100が4
個で構成されていることに対応する。
【0019】このように信号の伝達を常に4ビットずつ
行えるようにすると、上述のa×bの演算のための回路
を図3のように構成することができる。
行えるようにすると、上述のa×bの演算のための回路
を図3のように構成することができる。
【0020】4ビットの信号h、a0 、b1 、b0
を4つの乗算器30、32、34、36に入力し、a
1 b1 、a1 b0 、a0 b0 、a0 b1
の乗算をそれぞれ行う。そして、この乗算器30、3
2、34、36は、乗算結果である8ビットの信号を上
位4ビット、下位4ビットに分けてそれぞれ出力する。 そして、乗算器30の上位4ビットはそのまま出力され
、下位4ビットは加算器40に入力される。そして、こ
の加算器40には加算器42を介し、乗算器32からの
出力の上位4ビット及び乗算器34の出力の上位4ビッ
トの加算結果が入力されている。従って、これらの加算
結果が4ビットの信号として加算器42から出力される
。一方、乗算器32の下位4ビットは加算器44に入力
されこの加算器44には、乗算器34の下位4ビット及
び乗算器36の上位4ビットの加算結果が加算器46を
介し入力されている。従って、加算器44はこれらの加
算結果を4ビットの信号として出力する。さらに、乗算
器36の下位4ビットは従って、上位4ビットから最下
位4ビットまでには、a1 b1 w3 、(a1 b
1 +a1 b0 +a0 b1 )w2 、(a1
b0 +a0 b1 +a0 b0 )w、a0 b0
の信号が出力されることとなり16ビットの加算乗算
結果についての信号が4ビットずつの信号として得られ
ることとなる。
を4つの乗算器30、32、34、36に入力し、a
1 b1 、a1 b0 、a0 b0 、a0 b1
の乗算をそれぞれ行う。そして、この乗算器30、3
2、34、36は、乗算結果である8ビットの信号を上
位4ビット、下位4ビットに分けてそれぞれ出力する。 そして、乗算器30の上位4ビットはそのまま出力され
、下位4ビットは加算器40に入力される。そして、こ
の加算器40には加算器42を介し、乗算器32からの
出力の上位4ビット及び乗算器34の出力の上位4ビッ
トの加算結果が入力されている。従って、これらの加算
結果が4ビットの信号として加算器42から出力される
。一方、乗算器32の下位4ビットは加算器44に入力
されこの加算器44には、乗算器34の下位4ビット及
び乗算器36の上位4ビットの加算結果が加算器46を
介し入力されている。従って、加算器44はこれらの加
算結果を4ビットの信号として出力する。さらに、乗算
器36の下位4ビットは従って、上位4ビットから最下
位4ビットまでには、a1 b1 w3 、(a1 b
1 +a1 b0 +a0 b1 )w2 、(a1
b0 +a0 b1 +a0 b0 )w、a0 b0
の信号が出力されることとなり16ビットの加算乗算
結果についての信号が4ビットずつの信号として得られ
ることとなる。
【0021】このように、4ビットずつの信号として別
々に出力することにより、上述の図12のようなビット
シフタやマスクが不要となり全体構成が簡略化される。 従って配線が全体として簡略化され、高速動作が可能と
なる。
々に出力することにより、上述の図12のようなビット
シフタやマスクが不要となり全体構成が簡略化される。 従って配線が全体として簡略化され、高速動作が可能と
なる。
【0022】
【発明の効果】以上説明したように、本発明に係るプロ
グラマブルロジックデバイスによれば、倍精度乗算など
を行う場合においてビットシフトやマスクが不要となり
構成の簡略化が図れると共に処理の高速化を図ることが
できる。
グラマブルロジックデバイスによれば、倍精度乗算など
を行う場合においてビットシフトやマスクが不要となり
構成の簡略化が図れると共に処理の高速化を図ることが
できる。
【図1】プログラマブルロジックデバイスの実施例に係
る全体構成図である。
る全体構成図である。
【図2】同実施例のスイッチ部分の概略構成図である。
【図3】同実施例が利用される演算の概略構成を示す説
明図である。
明図である。
【図4】信号線のスイッチの構成を示す構成図である。
【図5】コンフィグレーションメモリの構成を示す回路
図である。
図である。
【図6】従来の演算処理における回路構成を示す説明図
である。
である。
【図7】8ビット信号を4ビット信号に分割するための
構成を示す図である。
構成を示す図である。
10 マクロセル
12 配線ブロック
14 I/Oセル
100 パストランジスタ
Claims (1)
- 【請求項1】所定の論理演算動作を行う複数の基本ブロ
ックと、これらの基本ブロックへ複数ビットの信号を伝
達する複数ビット幅の配線と、この配線と基本ブロック
の接続を制御するスイッチと、を含み、このスイッチを
1つの信号線について複数個設け、上記信号を複数の信
号に分割して伝達可能としたことを特徴とするプログラ
マブルロジックデバイス。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3040380A JPH04278720A (ja) | 1991-03-07 | 1991-03-07 | プログラマブルロジックデバイス |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3040380A JPH04278720A (ja) | 1991-03-07 | 1991-03-07 | プログラマブルロジックデバイス |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH04278720A true JPH04278720A (ja) | 1992-10-05 |
Family
ID=12579052
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3040380A Pending JPH04278720A (ja) | 1991-03-07 | 1991-03-07 | プログラマブルロジックデバイス |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH04278720A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015092687A (ja) * | 2010-01-20 | 2015-05-14 | 株式会社半導体エネルギー研究所 | 半導体装置 |
-
1991
- 1991-03-07 JP JP3040380A patent/JPH04278720A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015092687A (ja) * | 2010-01-20 | 2015-05-14 | 株式会社半導体エネルギー研究所 | 半導体装置 |
US9614097B2 (en) | 2010-01-20 | 2017-04-04 | Semiconductor Energy Laboratory Co., Ltd. | Semiconductor device |
US10454475B2 (en) | 2010-01-20 | 2019-10-22 | Semiconductor Energy Laboratory Co., Ltd. | Semiconductor device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6188240B1 (en) | Programmable function block | |
US4653019A (en) | High speed barrel shifter | |
US5872716A (en) | Semiconductor integrated logic circuit device using a pass transistor | |
US20010049816A1 (en) | Multi-scale programmable array | |
US5821774A (en) | Structure and method for arithmetic function implementation in an EPLD having high speed product term allocation structure | |
EP2202885B1 (en) | Function block | |
DE69432416D1 (de) | Architektur-und beschaltungsschema für programmierbare logische schaltungen | |
JPH06266750A (ja) | ロジックシステム | |
JP3616518B2 (ja) | プログラマブルデバイス | |
US5394030A (en) | Programmable logic device | |
US4441158A (en) | Arithmetic operation circuit | |
JPH0191525A (ja) | プログラマブル論理素子 | |
JPH04278720A (ja) | プログラマブルロジックデバイス | |
JPS58142629A (ja) | 対角型マトリクス回路網 | |
US4704701A (en) | Conditional carry adder for a multibit digital computer | |
US5596766A (en) | Configurable logic networks | |
US6675182B1 (en) | Method and apparatus for performing rotate operations using cascaded multiplexers | |
CN111752529B (zh) | 支持高效乘累加运算的可编程逻辑单元结构 | |
US6104207A (en) | Programmable logic device | |
JPH0222409B2 (ja) | ||
US5359212A (en) | Integrated circuit with layout effective for high-speed processing | |
KR100287538B1 (ko) | 프로그램가능로직디바이스및구성가능로직네트워크 | |
JP3214086B2 (ja) | 桁上げ先見回路 | |
JPH025126A (ja) | トランジスタマトリクスシフタ | |
JPH08234961A (ja) | シフタの使用方法、データシフトシステム、およびシフタ |