(57)【要約】【課題】プログラマブル論理回路の回路規模の縮小化を図る。【解決手段】複数の積項線（１０２）と、上記積項線に交差するように形成された複数の条件入力信号線（１０１）と、上記積項線と上記条件入力信号線との交差箇所に設けられ、上記条件入力信号線の論理に基づいて上記積項線の論理を決定するためのスイッチ回路（１００）と、上記積項線に対応して配置され、情報を記憶可能な複数のメモリ（１３，１４）と、上記積項線の論理と上記メモリの出力信号との論理演算を行うことで、積項線に対応する複数出力を得るための出力論理（１０）とを設け、冗長な積項線を不要とすることで回路規模の縮小化を達成する。【選択図】        図１
2005006160.tif 000002
【特許請求の範囲】
【請求項１】
複数の積項線と、
上記積項線に交差するように形成された複数の条件入力信号線と、
上記積項線と上記条件入力信号線との交差箇所に設けられ、上記条件入力信号線の論理に基づいて上記積項線の論理を決定するためのスイッチ回路と、
上記積項線に対応して配置され、情報を記憶可能な複数のメモリと、
上記積項線の論理と上記メモリの出力信号との論理演算を行うことで、積項線に対応する複数出力を得るための出力論理と、を含んで成ることを特徴とするプログラマブル論理回路。
【請求項２】
上記積項線に交差するように形成された複数の状態入力信号線と、
上記積項線と上記状態入力信号線との交差箇所に設けられ、上記状態入力信号線の論理と、予め設定された論理とを比較してその比較結果によって上記積項線を駆動するための比較回路と、を含む請求項１記載のプログラマブル論理回路。
【請求項３】
上記積項線の優先順位に従って優先順位の低い積項線の状態を優先順位の高い積項線の状態で上書き可能な優先制御論理回路を含む請求項１又は２記載のプログラマブル論理回路。
【請求項４】
上記条件入力信号線を介して取り込まれた条件入力信号に対して一致する積項線があるか否かの判別信号を形成する論理回路を含む請求項１乃至３の何れか１項記載のプログラマブル論理回路。
【請求項５】
第１プログラマブル論理回路と、
上記第１プログラマブル論理回路の後段に配置され、上記判別信号に応じて動作制御される第１トライステートバッファと、
上記第１プログラマブル論理回路にカスケード接続された第２プログラマブル論理回路と、
上記第２プログラマブル論理回路の後段に配置され、上記判別信号に応じて動作制御される第２トライステートバッファと、
上記第１トライステートバッファと上記第２トライステートバッファとが共通接続されるラッチ回路と、を含み、上記第１，第２のプログラマブル論理回路は、請求項４記載のプログラマブル論理回路とされた半導体集積回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、プログラマブル論理回路における回路規模の縮小化を図るための技術に関し、例えばハードディスクコントローラＬＳＩにおけるシーケンサーに適用して有効な技術に関する。
【０００２】
【従来の技術】
結線情報や論理機能などの回路機能を定義する回路データをメモリセルなどに記憶させ、必要な回路機能をプログラミングできるようにした半導体集積回路が知られている。このような半導体集積回路はプログラマブル集積回路と称され、回路データを書き換えることにより回路機能の変更が可能とされる。
【０００３】
一般的なプログラマブル論理回路は積和型論理とされるが、このような回路において回路規模の増大を抑えるため、積論理演算回路を通して積項線の一部を条件入力側へ戻すフィードバック経路を設ける方式が提案されている（例えば特許文献１参照）。
【０００４】
また、少数の積項線を有するオア回路を複数個の組として、異なる入力本数を持つ後段のオア回路の入力とし、前段のオア回路又は後段のオア回路の出力をパストランジスタ回路によって選択的に出力端子へ出力する方式が提案されている（例えば特許文献２参照）。
【０００５】
【特許文献１】
特開平７−６６７１７号公報（図２）
【特許文献２】
特開平５−３００００５号公報（図３）
【０００６】
【発明が解決しようとする課題】
単純な積和論理型の場合、ゲート使用効率を上げることが困難であるため、積項線に余裕を持たせる必要があり、そうすると、入力の本数に比例してプログラマブル論理回路の規模が大きくなる。特に、シーケンサーに適用されるプログラマブル論理回路の場合、複数の出力を必要とし、それぞれの出力毎に積和論理回路が必要とされ、しかも、複数の積項線に対して同じビットパターンが入力されるため、効率が悪い。論理として積演算の和をとる場合以外は、出力信号を入力側にフィードバックするか、積項線の数を増やす必要があり、そうすると、冗長な積項線により、回路規模が大きくなる。
【０００７】
本発明の目的は、プログラマブル論理回路の回路規模の縮小化を図るための技術を提供することにある。
【０００８】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【０００９】
【課題を解決するための手段】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【００１０】
すなわち、複数の積項線と、上記積項線に交差するように形成された複数の条件入力信号線と、上記積項線と上記条件入力信号線との交差箇所に設けられ、上記条件入力信号線の論理に基づいて上記積項線の論理を決定するためのスイッチ回路と、上記積項線に対応して配置され、情報を記憶可能な複数のメモリと、上記積項線の論理と上記メモリの出力信号との論理演算を行うことで、積項線に対応する複数出力を得るための出力論理とを含んでプログラマブル論理回路を構成する。
【００１１】
単純な積和論理型のプログラマブル論理回路の場合、ゲート使用効率を上げることが困難であるため、積項線の数に予め余裕を持たせる必要があるのに対して、上記の手段によれば、積項線毎に複数の信号出力を行うことができ、冗長な積項線が不要とされる。このことが、回路規模の縮小によりプログラマブル論理回路のチップ占有面積の低減を達成する。
【００１２】
シーケンサーに適用する場合において、現在の状態を示すための状態入力信号の取り込みを可能とするには、上記積項線に交差するように形成された複数の状態入力信号線と、上記積項線と上記状態入力信号線との交差箇所に設けられ、上記状態入力信号線の論理と、予め設定された論理とを比較してその比較結果によって上記積項線を駆動するための比較回路とを設けると良い。
【００１３】
積項線の使用量の低減を図るには、上記積項線の優先順位に従って優先順位の低い積項線の状態を優先順位の高い積項線で上書き可能な優先制御論理回路を設けることができる。
【００１４】
また、上記条件入力信号線を介して取り込まれた条件入力信号に対して一致する積項線があるか否かの判別信号を形成する論理回路を設けることができる。
【００１５】
さらに、半導体集積回路において、上記複数のプログラマブル論理回路をカスケード接続することができる。
【００１６】
【発明の実施の形態】
図１には、本発明にかかる半導体集積回路に含まれるプログラマブル論理回路が示される。図１に示されるプログラマブル論理回路７０５は、特に制限されないが、公知の半導体集積回路製造技術により単結晶シリコン基板などの一つ半導体基板に形成される。
【００１７】
図１に示されるプログラマブル論理回路７０５は、特に制限されないが、ハードディスク装置のコントロールを可能とするハードディスクコントローラＬＳＩにおけるシーケンサーに適用される回路とされ、公知の半導体集積回路製造技術により、単結晶シリコン基板などの一つの半導体基板に形成される。
【００１８】
複数の積項線１０２と複数の条件入力信号線（Ｃ０〜Ｃｎ）１０１とが交差するように配置され、その交差箇所にスイッチ回路１００が形成される。この複数の積項線１０２毎に、それに対応して出力論理１０が配置される。
【００１９】
上記スイッチ回路１００は、特に制限されないが、論理プログラミングのためのメモリ１３，１４と、条件入力信号線１０１の論理に応じてメモリ１３，１４の出力信号を、対応する積項線１０２へ選択的に伝達可能なアンド回路１１，１２とを含んで成る。条件入力信号線１０１は、アンド回路１２に入力されるとともに、論理反転されてからアンド回路１１に入力される。これにより、メモリ１３，１４の記憶情報は、条件入力信号に応じて選択的に積項線１０２へ伝達される。つまり、上記メモリ１３，１４への情報プログラミングにより、条件入力信号線１０１の論理に対応するワイヤードアンド回路１０７の出力論理をプログラマブルに設定することができる。上記メモリ１３，１４は、特に制限されないが、スタティック型の１ビットの記憶容量を有する記憶素子とされる。
【００２０】
上記出力論理１０は、特に制限されないが、上記複数の積項線１０２のワイヤードアンド論理を得るためのワイヤードアンド回路１０７、１ビットの記憶容量を有する複数のメモリ１０５、上記ワイヤードアンド回路１０７の出力信号と上記複数のメモリ１０５の出力信号とのアンド論理を得るための複数のアンド回路１０３を含んで成る。上記メモリ１０５への情報プログラミングにより、対応するワイヤードアンド回路１０７の出力に対してメモリ１０５の出力に応じた複数の出力を得ることができる。つまり、積項線１０２が共通であるにもかかわらず、上記メモリ１０５への情報プログラムにより、複数のアンド回路１０３からの論理出力をプログラマブルに設定することができる。上記メモリ１０５は、特に制限されないが、１ビットの記憶容量を有するスタティック型の記憶素子とされる。
【００２１】
そして、上記構成の複数の出力論理１０からの出力信号は、複数のワイヤードアンド回路１０６を介することにより複数の出力（Ｙ０，Ｙ１，Ｙ２，…）１０４を得ることができる。この複数の出力（Ｙ０，Ｙ１，Ｙ２，…）１０４は、ハードディスク装置における各部の動作制御を可能とする制御回路５００に供給される。
【００２２】
尚、メモリ１３，１４，１５は、汎用メモリ等と同様に外部からアドレシングされて情報の書き込みが行われる。メモリ１３，１４，１５は、フラッシュメモリセル等の不揮発性記憶素子であっても良い。
【００２３】
ここで、上記プログラマブル論理回路７０５の比較対象とされる回路について、図１０〜図１２を参照しながら説明する。
【００２４】
図１０に示されるプログラマブル論理回路は、複数の積和論理回路３０６を含んで成る。一つの積和論理回路３０６は、複数の条件入力信号線３０１と、複数の積項線３０２との交差する箇所にスイッチ回路３００が配置され、このスイッチ回路３００の状態によってワイヤードアンド回路３０３の出力論理が決定される。複数のワイヤードアンド回路３０３の出力信号は後段のワイヤードオア回路３０４に伝達され、そこでオア論理がとられることで、出力信号（Ｙ０）３０５が得られる。
【００２５】
このような構成においては積項線３０２は固定的であり、ユーザの実現したい単位の単位の論理が単純な場合には積項線３０２が余剰となり回路の使用効率が低下される。また、複雑な論理を実現したい場合には積項線３０２を多く用意する必要があるため回路規模が大きくなる。
【００２６】
また、図１１に示される構成では、積論理演算回路を通して積項線の一部を、論理演算回路３４０を介して条件入力信号としてフィードバックするためのフィードバック経路３４１が設けられる。さらに、図１２に示される構成では、少数の積項線３０２を有するオア回路３０４を複数個の組として、異なる入力本数を持つ後段のオア回路３５０の入力とし、前段のオア回路３０４又は後段のオア回路３５０の出力がパストランジスタ回路３５１によって選択的に後段回路へ出力される。
【００２７】
図１０乃至図１２に示される回路構成では、複数の積項線に対して１本の出力信号を得ているのに対して、図１に示される構成では、一つのワイヤードアンド回路１０７に対応して複数のメモリ１０５が配置され、この複数のメモリ１０５の出力信号と上記ワイヤードアンド回路１０７の出力信号とのアンド論理がアンド回路１０３で求められ、このアンド回路１０３の出力信号がワイヤードアンド回路１０６を介して後段回路へ伝達されるようになっている。このため、一つのワイヤードアンド回路１０７あたり、複数の信号出力を行うことができる。つまり、単純な積和論理型の場合、ゲート使用効率を上げることが困難であるため、積項線の数に余裕を持たせる必要があるのに対して、図１に示される構成によれば、積項線１０２毎に複数のアンド回路１０３を設け、複数の出力（Ｙ０，Ｙ１，Ｙ２，…）１０４を同時に駆動することにより、冗長な積項線が不要とされるので、回路規模の縮小により、プログラマブル論理回路のチップ占有面積の低減を図ることができる。
【００２８】
図２には、上記プログラマブル論理回路の別の構成例が示される。
【００２９】
図２に示されるプログラマブル論理回路が図１に示されるのと相違するのは、複数の積項線１０２に交差するように複数の状態入力信号線（Ｓ０〜Ｓｎ）が設けられ、その交差箇所に比較回路１１０が形成される点である。これは、本回路がシーケンサーに適用された場合に、現在の状態を表すための状態入力信号が取り込まれることを考慮したものである。
【００３０】
上記比較回路１１０は、特に制限されないが、１ビットの記憶容量を有するメモリ１５と、このメモリ１５の出力信号と状態入力信号線１１１とのエクスクルージブオア論理を得るエクスクルージブオア回路１６とが結合されて成る。エクスクルージブオア回路１６の出力信号は、対応する積項線１０２へ伝達される。メモリ１５の出力信号と状態入力信号線１１１の信号論理とが一致した場合にのみ、エクスクルージブオア回路１６によって、対応する積項線がハイレベルに駆動される。
【００３１】
ここで、従来技術によれば、積項線１本あたり消費されるメモリビット数は状態入力信号線１１１の２倍とされる。これに対して図２に示される構成では、メモリ１５とエクスクルージブオア回路１６とで比較回路１１０が構成されていることから、順序回路を構成する場合の積項線１本あたりのメモリ数は状態入力信号線１１１の数と同数とされ、メモリ使用量の低減が図られる。
【００３２】
図３には、上記プログラマブル論理回路の別の構成例における主要部が示される。
【００３３】
図３に示される構成が、図１や図２に示される構成と大きく相違するのは、優先制御論理回路２０６と、優先無視指示メモリ２０７とが設けられることにより、積和論理における和の一部が差に置換えられた点である。上記優先制御論理回路２０６は、アンド回路２１，２２、及びオア回路２２を含む。ワイヤードアンド回路１０７の出力信号と優先制御信号２０８の論理反転信号とのアンド論理がアンド回路２１で得られ、その出力信号と優先制御信号２０８とのオア論理がオア回路２２で得られる。このオア回路２２の出力信号と、上記メモリ２０７の出力信号とのアンド論理がアンド回路２３で得られる。このアンド回路２３の出力信号は優先制御信号として隣接回路へ伝達される。
【００３４】
上記構成の動作を説明する。
【００３５】
図４には、順序回路における状態遷移の一例が示される。
【００３６】
状態Ｓ１０（４００）と状態Ｓ０１（４０１）を２ビットの状態変数で表し、２ビットの状態入力信号１１を取り込み、２ビットの条件入力信号１０１に従って遷移１（４０２）及び遷移２（４０２）を実現するための２ビットの出力信号（１０４）を有するユーザ論理とする。
【００３７】
ここで、単純な積和論理型のプログラマブル論理回路においては、少なくとも図５に示されるように、３本の積項線３０２及びメモリ付きのスイッチ回路３００内に２４ビットのメモリを必要とする。これは、状態Ｓ１０からＳ１０への遷移１（４０２）を表す積項線４１０が１本、状態Ｓ１０からＳ０１への遷移２（４０３）を表す積項線４１１、４１２が２本必要であることによる。これに対して、図３に示される構成を採用する場合には、図６に示されるように、２本の積項線１０２及び出力用のメモリ素子１０５の合計１８ビットのメモリで十分であり、メモリサイズで２５％の低減を実現する。
【００３８】
そして、状態Ｓ１０からＳ１０への遷移１（４０２）に相当する積項線４２０と、この条件が一致しない場合に、状態Ｓ１０からＳ０１への遷移２（４０３）を実行する積項線４２１と、優先無視指示メモリ２０７が設定される。このように積項線の優先順位をつけることによって優先順位の低い積項線の一致状態を優先順位の高い積項線で上書きすることが可能となり、積項線の使用量の低減を図ることができる。
【００３９】
そして上記の優先順位付けを行うと、優先制御論理回路２０６の遅延により、動作速度のオーバーヘッドが大きくなるが、図３や図６に示される構成例によれば、優先順位を無視するためのアンド回路２３を付加することで、同時に一致されることがない積項線間の優先順位を無視することで動作速度のオーバーヘッドを最小限にすることが可能とされる。つまり、アンド回路２３は、優先順位無視指示メモリ２０７の出力信号によって状態が制御され、必要に応じて上記優先順位が無視されるようになっている。具体的には、メモリ２０７の出力が論理値“１”の場合には優先順位制御は有効とされ、メモリ２０７の出力が論理値“０”の場合には優先順位は無視される。
【００４０】
図７には、上記プログラマブル論理回路７０５の別の構成例が示される。図７に示されるプログラマブル論理回路７０５が、図６に示されるのと大きく相違するのは、複数のアイヤードアンド回路１０７の出力信号のノア論理を得ることで、不一致信号ＮＨを形成するためのノア回路２２０が設けられている点である。プログラマブル論理回路７０５では、状態が遷移する条件が発生しない場合、換言すれば、状態入力信号線１１１の論理とメモリ１５の論理との比較が行われ、この比較において、全てのアイヤードアンド回路１０７の出力信号がローレベルにされた場合にのみ、不一致信号ＮＨがハイレベルにアサートされる。
【００４１】
図８には、上記構成のプログラマブル論理回路７０５をシーケンサーに適用した場合が示される。
【００４２】
プログラマブル論理回路７０５の出力信号は、後段に配置された状態保持ラッチ７０１にラッチされ、このラッチ回路７０１の出力信号が、状態入力信号として、プログラマブル論理回路７０５に伝達される。全ての積項線で一致が見られない場合、シーケンサーにおいては誤動作であると考えることができる。そこで、全ての積項線で一致が見られない場合、プログラマブル論理回路７０５では、不一致信号ＮＨがハイレベルにアサートされる。この不一致信号ＮＨのアサートにより、ラッチ回路７０１の保持状態がクリアされる。このように入力に対して、全ての積項線で一致が生じなかった場合の出力（ＮＨ）が得られ、それによってラッチ回路７０１の保持状態がクリアされることで、シーケンサー誤動作時の正常動作への復帰が容易とされる。
【００４３】
図９には、シーケンサーとして複数のプログラマブル論理回路７０５がカスケード接続される場合の構成例が示される。図９に示される構成例では、二つのプログラマブル論理回路７０５の後段にはトライステートバッファ７０２が設けられ、このトライステートバッファ７０２の後段にラッチ回路７０１が設けられる。上記トライステートバッファ７０２は、対応するプログラマブル論理回路７０５からの不一致信号ＮＨによって動作制御される。不一致信号ＮＨがアサートされた場合には、対応するトライステートバッファは高インピーダンス状態とされる。不一致信号ＮＨがネゲートされた期間においてトライステートバッファ７０２が導通され、対応するプログラマブル論理回路７０５の出力信号がラッチ回路７０１へ伝達される。
【００４４】
このように複数のプログラマブル論理回路７０５をカスケード接続して規模を大きくすることができる。
【００４５】
以上本発明者によってなされた発明を具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【００４６】
以上の説明では主として本発明者によってなされた発明をその背景となった利用分野であるハードディスクコントローラＬＳＩに適用した場合について説明したが、本発明はそれに限定されるものではなく、各種半導体集積回路に広く適用することができる。
【００４７】
本発明は、少なくとも複数の積項線を含むことを条件に適用することができる。
【００４８】
【発明の効果】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
【００４９】
すなわち、冗長な積項線が不要とされることにより、回路規模が縮小され、プログラマブル論理回路のチップ占有面積の低減を図ることができる。
【図面の簡単な説明】
【図１】本発明にかかる半導体集積回路に含まれるプログラマブル論理回路の構成例回路図である。
【図２】上記プログラマブル論理回路の別の構成例回路図である。
【図３】上記プログラマブル論理回路における主要部の別の構成例回路図である。
【図４】順序回路における状態遷移例の説明図である。
【図５】図４に示される状態遷移を単純な積和論理型のプログラマブル論理回路で実現する場合の構成例回路図である。
【図６】上記プログラマブル論理回路の別の構成例回路図である。
【図７】上記プログラマブル論理回路の別の構成例回路図である。
【図８】上記プログラマブル論理回路をシーケンサーに適用した場合の説明図である。
【図９】上記プログラマブル論理回路をシーケンサーに適用した場合の説明図である。
【図１０】本発明にかかる半導体集積回路に含まれるプログラマブル論理回路の比較対象とされる回路の構成例回路図である。
【図１１】本発明にかかる半導体集積回路に含まれるプログラマブル論理回路の比較対象とされる回路の構成例回路図である。
【図１２】本発明にかかる半導体集積回路に含まれるプログラマブル論理回路の比較対象とされる回路の構成例回路図である。
【符号の説明】
１０  出力論理
１００  スイッチ回路
１０１  条件入力信号線
１０２  積項線
１１１  状態入力信号線
２０６  優先制御論理回路
７０１  ラッチ回路
７０２  トライステートバッファ
７０５  プログロマブル論理回路
【図１】
2005006160.tif 000003
【図２】
2005006160.tif 000004
【図３】
2005006160.tif 000005
【図４】
2005006160.tif 000006
【図５】
2005006160.tif 000007
【図６】
2005006160.tif 000008
【図７】
2005006160.tif 000009
【図８】
2005006160.tif 000010
【図９】
2005006160.tif 000011
【図１０】
2005006160.tif 000012
【図１１】
2005006160.tif 000013
【図１２】
2005006160.tif 000014