JP3654259B2 - 機能可変型セルと半導体集積回路とその設計システム - Google Patents

機能可変型セルと半導体集積回路とその設計システム Download PDF

Info

Publication number
JP3654259B2
JP3654259B2 JP2002111144A JP2002111144A JP3654259B2 JP 3654259 B2 JP3654259 B2 JP 3654259B2 JP 2002111144 A JP2002111144 A JP 2002111144A JP 2002111144 A JP2002111144 A JP 2002111144A JP 3654259 B2 JP3654259 B2 JP 3654259B2
Authority
JP
Japan
Prior art keywords
input
function
signal
circuit
variable
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
JP2002111144A
Other languages
English (en)
Other versions
JP2003309464A (ja
Inventor
正之 水野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2002111144A priority Critical patent/JP3654259B2/ja
Publication of JP2003309464A publication Critical patent/JP2003309464A/ja
Application granted granted Critical
Publication of JP3654259B2 publication Critical patent/JP3654259B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、半導体集積回路に関し、特に、製造後に論理の変更を可能とし、仕様の変更、バグの修正等に対応可能とした半導体集積回路に関する。
【0002】
【従来の技術】
セルライブラリに登録されているスタンダードセルを顧客の仕様に沿って配置、配線することで、仕様を満足しようとする半導体集積回路として、セルベースICがある。
【0003】
また、セルベースICで使用するスタンダードセルよりも少ないトランジスタ数で構成された標準セルをマトリックス状またはアレイ状に規則正しく配置し、それぞれの標準セルを上層の数枚の配線マスクによって顧客の仕様に沿って接続するゲートアレイがある。
【0004】
また、半導体集積回路の内部の制御信号、あるいは外部から与えられた制御信号で、その機能を変更したり、あるいはその機能を停止したり、あるいはその機能を活性化することができる機能可変セルやセレクタ回路を、マトリックス状またはアレイ状に規則正しく配置、配線し、半導体集積回路を製造した後に、半導体集積回路の仕様を変更をしたり、半導体集積回路で見つかったバグを修正することができるFPGA(フィールド・プログラマブル・ゲート・アレイ)がある。
【0005】
また、FPGAを、IPマクロとしてチップの1部に集積したFPGA混載セルベースICも知られている。
【0006】
[セルベースIC]
従来のセルベースICでは、半導体集積回路を製造した後で、半導体集積回路の仕様を変更をしたり、半導体集積回路で見つかったバグを修正することができない。このため、例えば1チップに1000万のオーダのトランジスタを集積するような半導体集積回路では、その機能が顧客の仕様を満足するかどうかを検証するのに、例えば半年から1年程度以上を要し、非常に長い時間・作業工数が必要とされている。また、このような長い時間をかけて検証しても、半導体集積回路を製造した後で修正することは避けられない場合があり、結局は、何度も半導体集積回路を製造しなおすことが必要となり、半導体集積回路のコスト増加を招いている。
【0007】
[ゲートアレイ]
ゲートアレイは、上層の数枚の配線マスクによって顧客の仕様に沿って標準セルを接続するため、半導体集積回路を製造しなおすことが必要となっても、マスク製造枚数が少なくなり、セルベースICで問題となった半導体集積回路のコスト増加を抑えることができる。
【0008】
しかし、標準セルが、セルベースICでのスタンダードセルに比べて単純な構造であること、及び、標準セルをあらかじめマトリックス状またはアレイ状に規則正しく並べた上で、必要な機能を、上層の配線の接続だけで実現すること、から、セル間の平均配線長が長くなり、配線領域を確保するために標準セルを無駄に消費し、セル使用率が低くなる、という問題点がある。そして、セル使用率が低くなると、ある機能を実現するときに必要な面積が大きくなる、という問題点がある。また、平均配線長が長くなると、半導体集積回路の消費電力が大きくなったり、動作速度が遅くなる、という問題点がある。また、同じ機能を実現するときに無駄なトランジスタを使ったり、必要なトランジスタの数が多くなるため、半導体集積回路の面積や消費電力が大きくなったり、動作速度が遅くなる、という問題点もある。
【0009】
[FPGA]
FPGAは、ゲートアレイのようにあらかじめ機能可変セルがマトリックス状またはアレイ状に規則正しく並べてあり、機能可変セルの機能と機能可変セル間の配線接続を半導体集積回路の製造後にプログラムすることができるため、半導体集積回路を製造した後で、半導体集積回路の仕様を変更をしたり、半導体集積回路で見つかったバグを修正することができる。
【0010】
しかし、FPGAで実現できる機能を増やすために、FPGAで用いられる機能可変セルは、あらかじめ十分な種類だけ、外部から機能を可変できる必要がある。この場合、個々の機能可変セルは、セルベースICでのスタンダードセルに比べて、複雑な構造となってしまう。つまり、ある機能を実現するときに必要な面積が大きくなる、という問題点がある。面積が大きくなると半導体集積回路の消費電力が大きくなったり、動作速度が遅くなる、という問題点がある。
【0011】
また、機能可変セルをあらかじめマトリックス状またはアレイ状に規則正しく並べた上で、必要な機能を、機能可変セルそれぞれの機能と機能可変セル間のデータの流れを制御することで実現していることから、機能可変セル間の平均配線長が長くなり、配線領域を確保するために機能可変セルを無駄に消費し、セル使用率が低くなる、という問題点がある。
【0012】
前述したように、セル使用率が低くなると、ある機能を実現するときに必要な面積が大きくなる、という問題点がある。また、平均配線長が長くなると、半導体集積回路の消費電力が大きくなったり、動作速度が遅くなる、という問題点がある。また、同じ機能を実現する際に、無駄なトランジスタを使ったり、必要なトランジスタの数が多くなるため、半導体集積回路の面積や消費電力が大きくなったり、動作速度が遅くなる、という問題点もある。
【0013】
[FPGA混載セルベースIC]
FPGAをIPマクロとしてチップの一部に集積したFPGA混載セルベースICでは、半導体集積回路の一部にIPマクロを配置し、そのIPマクロは、あらかじめ機能可変セルがマトリックス状またはアレイ状に規則正しく並べてあり、機能可変セルの機能と機能可変セル間の配線接続を、半導体集積回路の製造後にプログラムすることができるため、半導体集積回路を製造した後で、半導体集積回路の仕様を変更をしたり、半導体集積回路で見つかったバグを修正することができる。
【0014】
しかし、IPマクロで実現できる機能を増やすために、IPマクロで用いられる機能可変セルは、あらかじめ十分な種類だけ、外部から、機能を可変できる必要がある。この場合、個々の機能可変セルは、セルベースICでのスタンダードセルに比べて、複雑な構造となってしまう。つまり、ある機能を実現するときに必要な面積が大きくなる、という問題点がある。面積が大きくなると半導体集積回路の消費電力が大きくなったり、動作速度が遅くなるという問題点がある。
【0015】
また、FPGAをIPマクロとしてチップの一部に集積したFPGA混載セルベースICでは、機能可変セルを、あらかじめマトリックス状またはアレイ状に規則正しく配列した上で、必要な機能を、機能可変セルそれぞれの機能と機能可変セル間のデータの流れを制御することによって実現しているため、機能可変セル間の平均配線長が長くなり、配線領域を確保するために機能可変セルを無駄に消費し、セル使用率が低くなる、という問題点がある。前述したように、セル使用率が低くなると、ある機能を実現するときに必要な面積が大きくなる、という問題点がある。また、平均配線長が長くなると半導体集積回路の消費電力が大きくなったり、動作速度が遅くなる、という問題点がある。また、同じ機能を実現するときに無駄なトランジスタを使ったり、必要なトランジスタの数が多くなるため、半導体集積回路の面積や消費電力が大きくなったり、動作速度が遅くなる、という問題点もある。
【0016】
また、IPマクロとして、機能可変セルを、半導体集積回路に配置、配線すると、機能可変セルは、マトリックス状またはアレイ状に配置される。これらの機能可変セルは、ANDやNANDやORやNORやEXORやEXNORなどの論理演算回路、加算器や減算器や乗算器や除算器などの算術演算回路、フリップフロップやラッチなどのクロック同期回路、セレクタ回路、メモリ回路の中で2つ以上の機能のいずれかに機能を変えることができるようにする必要があるため、通常のセルベースICのスタンダードセルに比べてその面積が大きくなる。
【0017】
つまり、機能可変セルが、マトリックス状またはアレイ状に配列して構成したIPマクロを用いてある機能を実現しようとすると、本来は、機能可変セルで実現しなくても、スタンダードセルで実現できるような、単純であり、かつ半導体集積回路製造後の変更が必要のないような機能であっても、機能可変セルを用いて実現することで、その面積が大きくなったり、消費電力が大きくなったり、動作速度が遅くなる。
【0018】
なお、論理を変更する技術に関する刊行物として下記のものがある。
(a)製造後に論理構成を変更自在とした半導体集積回路として、例えば特開平10−242841号公報には、論理設計後、レイアウト設計後のシミュレーションやパッケージング後のテスタ評価で問題がなく実動作によるシステム評価で問題があることが発覚した場合であっても、論理設計をやりなおすことがなく、論理LSIを救済することができ、システム開発期間を短縮するための論理集積回路として、目的の論理を構成するフリップフロップに対して、救済データを記憶可能なラッチ回路と、システム動作クロック信号を遅延するインバータと、システム動作クロック信号とインバータによる反転出力とを被選択信号入力端子より入力し、ラッチ回路からの救済データ(救済データのデータチェーンとしても出力される)を選択制御信号として入力し、2つの被選択信号入力端子の1つを選択して、該フリップフロップのクロック入力端子に供給するセレクタと、を備えた救済機能付きフリップフロップ回路セルの構成が開示されている。この半導体集積回路では、フリップフロップ回路に供給されるクロック信号の信号種別をラッチ回路の情報に基づき、選択している。
(b)特開昭60−204118号公報には、記憶手段に記憶された情報に従い論理回路中の信号線を活性化、非活性化することにより、論理回路の論理機能を変更し、任意の論理関数を実現する方法と装置の構成が開示されている。
(c)特開平4−207814号公報には、複数のゲート回路の制御端子に与える制御信号に応じて複数の回路機能を選択できるようにした電子回路の構成が開示されている。
(d)特開平10−93421号公報には、回路の組上げ後に機能を変更することが容易であり、素子の無駄を減少させることができる二入力組合せ論理回路として信号値1または0をとり得る入力信号aと固定的に信号値1である信号1のうち1つの信号を選択する第1のスイッチと、信号値1または0をとり得る入力信号bと固定的に信号値0である信号0のうち1つの信号を選択する第2のスイッチと、入力信号aと信号1と固定的に信号値0である信号0のうち1つの信号を選択する第3のスイッチと、入力信号bと信号1と信号0のうち1つの信号を選択する第4のスイッチと、第1、第2のスイッチの信号が等しいとき第3のスイッチの信号を出力し、第1、第2のスイッチの信号が異なるとき第4のスイッチの信号を出力する構成の論理回路が提案されている。
【0019】
【発明が解決しようとする課題】
したがって、本発明が解決しようとする課題は、半導体集積回路を製造した後で、半導体集積回路の仕様を変更をしたり、半導体集積回路で見つかったバグを修正することができる半導体集積回路を提供することにある。
【0020】
また、本発明が解決しようとする他の課題は、半導体集積回路を製造した後で、半導体集積回路の仕様を変更をしたり、半導体集積回路で見つかったバグを修正することができる機能可変セルを実現しながら、チップ面積増加の割合を低く抑える半導体集積回路を提供することにある。
【0021】
また、本発明が解決しようとする他の課題は、半導体集積回路を製造した後で、半導体集積回路の仕様を変更をしたり、半導体集積回路で見つかったバグを修正することができる機能可変セルを実現しながら、消費電力の増加の割合を低く抑える半導体集積回路を提供することにある。
【0022】
また、本発明が解決しようとするさらに他の課題は、半導体集積回路を製造した後で、半導体集積回路の仕様を変更をしたり、半導体集積回路で見つかったバグを修正することができる機能可変セルを実現しながら、動作速度低下の割合を低く抑える半導体集積回路を提供することにある。
【0023】
また、本発明が解決しようとするさらに他の課題は、半導体集積回路に、半導体集積回路を製造した後で、半導体集積回路の仕様を変更をしたり、半導体集積回路で見つかったバグを修正することができる機能可変セルを実現しながら、機能可変セルのセル使用率を向上させる半導体集積回路を提供することにある。
【0024】
本発明が解決しようとする他の課題は、半導体集積回路を製造した後で、半導体集積回路の仕様を変更をしたり、半導体集積回路で見つかったバグを修正することができる半導体集積回路を自動設計するシステムを提供することにある。
【0025】
【課題を解決するための手段】
前記課題の少なくとも1つを解決する本発明の1つのアスペクトに係る回路は、標準セルと混在して配置及び配線が行われ、与えられた制御信号により論理機能が可変とされる機能可変型セルであって、1つ又は複数の入力信号を対応する入力端子より入力し、1つ又は複数の制御信号を対応する制御端子より入力し、前記1つの入力信号の値又は複数の入力信号の値の組合せに対応した出力信号を出力端子から出力し、前記制御信号の値にしたがって、前記1つの入力信号の値又は複数の入力信号の値の組合せと前記出力信号の値との論理の対応関係が可変される機能可変型の回路を備えている。本発明においては、上記機能可変型の回路と、前記1つ又は複数の入力信号のうちの少なくとも1つと、前記機能可変型の回路の出力信号とを、第1及び第2の入力端子よりそれぞれ入力し、選択制御用の制御信号を制御端子より入力し、前記選択制御用の制御信号の値に基づき、前記第1及び第2の入力端子より入力した信号のうちの一方を、出力端子より出力するセレクタ回路と、を備えた構成としてもよい。
【0026】
本発明に係る機能可変型セルは、1つ又は複数の入力信号を対応する入力端子より入力し、1つ又は複数の制御信号を対応する制御端子より入力し、前記1つの入力信号の値又は複数の入力信号の値の組合せに対応した出力信号を出力端子から出力し、前記制御信号の値にしたがって、前記1つの入力信号の値又は複数の入力信号の値の組合せと前記出力信号の値との論理の対応関係が可変される機能可変型の回路と、前記機能可変型の回路の出力信号を、データ入力端子より入力し、クロック入力端子に入力されるクロック信号により、前記データ入力端子に入力される信号をサンプルして出力端子から出力するフリップフロップと、前記機能可変型の回路の出力信号と、前記フリップフロップの出力信号とを、第1及び第2の入力端子よりそれぞれ入力し、選択制御用の制御信号を制御端子より入力し、前記選択制御用の制御信号の値に基づき、前記第1及び第2の入力端子より入力した信号のうちの一方を出力端子より出力するセレクタ回路と、を備えている。
【0027】
本発明に係る機能可変型セルは、1つ又は複数の入力信号を対応する入力端子より入力し、1つ又は複数の制御信号を対応する制御端子より入力し、前記1つの入力信号の値又は複数の入力信号の値の組合せに対応した出力信号を出力端子から出力し、前記制御信号の値にしたがって、前記1つの入力信号の値又は複数の入力信号の値の組合せと前記出力信号の値との論理の対応関係が可変される機能可変型の回路と、前記1つ又は複数の入力信号を対応する入力端子より入力し、前記1つ又は複数の入力信号に関して予め定められた所定の論理演算結果である出力信号を出力端子より出力する論理回路と、前記論理回路からの出力信号と、前記機能可変型の回路からの出力信号とを、第1及び第2の入力端子よりそれぞれ入力し、選択制御用の制御信号を制御端子より入力し、前記選択制御用の制御信号の値に基づき、前記第1及び第2の入力端子より入力した信号のうちの一方を出力端子より出力するセレクタ回路と、を備えている。
【0028】
本発明の他のアスペクトに係る半導体集積回路は、セルライブラリに登録されているスタンダードセルを顧客の仕様に沿って配置、配線することで仕様を満足しようとする半導体集積回路において、前記半導体集積回路を構成する一部のスタンダードセルが、半導体集積回路を製造した後に、半導体集積回路の仕様を変更したり、半導体集積回路で見つかったバグを修正するために、半導体集積回路の内部の制御信号、あるいは外部から与えられた制御信号で、その機能を変更したり、あるいはその機能を停止したり、あるいはその機能を活性化することができる機能可変セルで構成される。
【0029】
また、本発明に係る半導体集積回路は、半導体集積回路を製造した後に、半導体集積回路の仕様を変更をしたり、半導体集積回路で見つかったバグを修正するために、半導体集積回路の内部の制御信号、あるいは外部から与えられた制御信号で、その機能を変更したり、あるいはその機能を停止したり、あるいはその機能を活性化することができる機能可変セルを有する。
【0030】
本発明に係る半導体集積回路は、半導体集積回路の製造時点では、前記半導体集積回路の仕様には影響しない複数の機能可変セルを含み、その機能可変セルは、半導体集積回路を製造した後に、半導体集積回路の仕様を変更をしたり、半導体集積回路で見つかったバグを修正するために、半導体集積回路の内部の制御信号、あるいは外部から与えられた制御信号により、その機能を変更したり、あるいはその機能を活性化することができ、半導体集積回路の仕様を変更あるいは修正することができる。
【0031】
また本発明に係る半導体集積回路は、半導体集積回路の製造時点では、前記半導体集積回路の仕様には影響しない複数の機能可変セルと、半導体集積回路の製造時点では、前記半導体集積回路の仕様に影響を及ぼす複数の機能可変セルを有し、前記機能可変セルは、半導体集積回路を製造した後に、半導体集積回路の仕様を変更をしたり、半導体集積回路で見つかったバグを修正するために、半導体集積回路の内部の制御信号、あるいは外部から与えられた制御信号により、その機能を変更したり、あるいはその機能を停止したり、あるいはその機能を活性化することができる。
【0032】
本発明は、半導体集積回路の内部の制御信号、あるいは外部から与えられた制御信号で、その機能を変更できる複数の機能可変セルを有し、一部の前記機能可変セルの出力信号と一部の前記スタンダードセルの出力信号を切り替えることができるセレクタ回路を有し、半導体集積回路を製造した後に、半導体集積回路の仕様を変更をしたり、半導体集積回路で見つかったバグを修正するために、半導体集積回路の内部の制御信号、あるいは外部から与えられた制御信号で、前記セレクタ開rを制御し、かつ前記機能可変セルの機能を変更したり、あるいはその機能を停止したり、あるいはその機能を活性化することができる。
【0033】
本発明は、顧客の仕様を記述しているハードウェア記述のソースファイルの中において、半導体集積回路を製造した後に半導体集積回路の仕様を変更をしたり、半導体集積回路で見つかったバグを修正する部分を、半導体集積回路の内部の制御信号、あるいは外部から与えられた制御信号で、その機能を変更したり、あるいはその機能を停止したり、あるいはその機能を活性化することができる機能可変セルの使用を指定し、論理合成ツール等で論理合成する構成とされる。
【0034】
本発明は、顧客の仕様を記述しているハードウェア記述のソースファイルにおいて、半導体集積回路を製造した後に、半導体集積回路の仕様を変更をしたり、半導体集積回路で見つかったバグを修正する部分を、半導体集積回路の内部の制御信号、あるいは外部から与えられた制御信号で、その機能を変更したり、あるいはその機能を停止したり、あるいはその機能を活性化することができる機能可変セルを用いて論理合成することを指示しておき、半導体集積回路の製造時点では、前記半導体集積回路の仕様には、影響しない複数の前記機能可変セルを、予め集積する。
【0035】
本発明において、半導体集積回路を論理合成する際に、機能可変セルを用いて、半導体集積回路を製造した後に、半導体集積回路の仕様を変更をしたり、半導体集積回路で見つかったバグを修正する手法や手順またはそれを実現するツールが提供される。
【0036】
また、本発明は、セルべ−ス集積回路において、制御信号により機能が可変される回路とスタンダードセルによる回路の間の接続を変更するためのセレクタ回路を有する。
【0037】
本発明においては、複数の機能可変セルは、IPマクロとして、配置、及び配線されない。本発明において、複数の機能可変セルは、IPマクロとして分離して配置、接続されずに、スタンダードセルと同じ条件で配置、及び配線される。
【0038】
本発明において、半導体集積回路のスタンダードセルの配置・配線段階で、機能可変セルの入力信号線と出力信号線に伝搬する信号の遅延が顧客の仕様あるいは将来の仕様変更に沿うように、機能可変セルが、配置、及び配線される。また本発明において、半導体集積回路のスタンダードセルの配置・配線段階で、半導体集積回路の製造時点では、その仕様に影響を及ぼさない機能可変セルの入力信号線と出力信号線に伝搬する信号の遅延が、将来の仕様変更に沿うように、機能可変セルが、配置、及び配線される。
【0039】
本発明において、半導体集積回路に存在する複数の機能可変セルにおいて、その機能を変えたり、あるいはその機能を停止したり、あるいはその機能を活性化する制御信号を、1つ以上のグループに分割し、それぞれのグループ内にある複数の前記制御信号に与えるデータ値を、シリアル転送して与える。
【0040】
本発明において、機能可変セルが、ANDやNANDやORやNORやEXORやEXNORなどの論理演算回路、加算器や減算器や乗算器や除算器などの算術演算回路、フリップフロップやラッチなどのクロック同期回路、セレクタ回路、メモリ回路の中で2つ以上の機能のいずれかに、半導体集積回路の内部の制御信号、あるいは外部から与えられた制御信号により、選択自在とされる。
【0041】
本発明において、機能可変セルが、複数のスタンダードセルで構成される。本発明において、機能可変セルは、マトリックス状またはアレイ状に規則正しく並べずに、スタンダードセルと混在する形態で、スタンダードセルと同等に配置、配線される。
【0042】
本発明において、機能可変セルを、予め複数の種類ライブラリに用意しておき、機能可変セルが接続される回路に応じて適切な機能可変セルが選択される。
【0043】
【発明の実施の形態】
本発明の実施の形態について説明する。まず本発明の概要について説明し、続いて実施例について説明する。本発明は、半導体集積回路を構成する一部のスタンダードセルを、半導体集積回路を製造した後に、半導体集積回路の仕様を変更をしたり、半導体集積回路で見つかったバグを修正するために、半導体集積回路の内部の制御信号、あるいは外部から与えられた制御信号で、その機能を変更したり、あるいはその機能を停止したり、あるいはその機能を活性化することができる機能可変セルで構成する。
【0044】
かかる構成の本発明によれば、半導体集積回路を製造した後で、半導体集積回路の仕様を変更をしたり、半導体集積回路で見つかったバグを修正することができる。したがって、例えば1チップに1000万トランジスタを集積するような半導体集積回路であっても、その機能が顧客の仕様を満足するかどうかを検証する時間を短くすることができる。また、このように短い検証時間であっても、半導体集積回路を製造しなおす必要がないため、半導体集積回路のコストの増加を招くことはない。
【0045】
また、本発明においては、
・セルライブラリに登録されているスタンダードセルと機能可変セルを混在して配置、配線する、
・機能可変セルを予め複数種類用意し、適用する回路によって使い分ける、
・機能可変セルをあらかじめマトリックス状またはアレイ状に規則正しく並べておくことはしない、
・複数の機能可変セルをIPマクロとして分離して配置、接続せずに、スタンダードセルと機能可変セルとが、同じ条件で、配置、及び配線される、
という特徴により、セル間の平均配線長を短くすることができる。
【0046】
そして、配線領域を確保するために、機能可変セルを無駄に消費する、ということが回避され、セル使用率は低下しない。したがって、ある機能を実現するために必要とされる面積を縮減することができ、平均配線長が短くなる。このため、本発明によれば、半導体集積回路の消費電力の増大や動作速度の低下は回避される。
【0047】
また、本発明によれば、同じ機能を実現するときに無駄なトランジスタを使ったり、必要なトランジスタの数が多くならない。このため、本発明によれば、半導体集積回路の面積や消費電力が大きくなったり、動作速度が遅くなる、ということが回避される。
【0048】
また、本発明は、顧客の仕様を記述するハードウエア記述のソースファイルにおいて、半導体集積回路を製造した後に、半導体集積回路の仕様を変更したり、半導体集積回路で見つかったバグを修正する箇所を、半導体集積回路の内部の制御信号、あるいは外部から与えられた制御信号で、その機能を変更したり、あるいはその機能を停止したり、あるいはその機能を活性化することができる機能可変セルを用いて論理合成することを指示しておき、論理合成ツールは、ソースファイル中のこの指示に基づき、機能可変セルを用いて、論理合成を行う。
【0049】
本発明によれば、半導体集積回路で実現できる機能を増やす目的で、機能可変セルの機能変更できる種類の数を少なくすることができる。この場合、個々の機能可変セルは、セルベースICにおけるスタンダードセルに比べて、複雑な構造とはならず、ある機能を実現するときに必要な面積は大きくならない。また、本発明によれば、半導体集積回路の消費電力が大きくなったり、動作速度が遅くなる、という事態も、回避される。
【0050】
また、本発明は、半導体集積回路の製造時点では、前記半導体集積回路の仕様には影響しない形態で複数の機能可変セルを含む。これらの機能可変セルは、半導体集積回路を製造した後に、半導体集積回路の仕様を変更をしたり、半導体集積回路で見つかったバグを修正するために、半導体集積回路の内部の制御信号、あるいは外部から与えられた制御信号により、その機能を変更したり、あるいはその機能を活性化することができ、半導体集積回路の仕様を変更あるいは修正することができる。
【0051】
全ての機能可変セルが半導体集積回路の製造時点で使用されている場合と比べて、前述の半導体集積回路の製造時点で使用されていない機能可変セルを含む場合、半導体集積回路の仕様の変更は容易となり、半導体集積回路で見つかったバグの修正も容易となる。
【0052】
また、本発明においては、半導体集積回路のスタンダードセルの配置、配線段階で、機能可変セルの入力信号線と出力信号線に伝搬する信号の遅延を、顧客の仕様あるいは将来の仕様変更に沿うように、機能可変セルを配置、配線するようにしてもよい。また、本発明においては、スタンダードセルの配置、配線段階で、半導体集積回路の製造時点ではその仕様に影響を及ぼさない機能可変セルの入力信号線と出力信号線に伝搬する信号の遅延を、将来の仕様変更に沿うように前記機能可変セルを配置、配線するようにしてもよい。
【0053】
このように、本発明においては、信号の遅延を予め将来の仕様変更に沿うように配置、配線することで、半導体集積回路の仕様の変更を容易化し、半導体集積回路で見つかったバグの修正を容易化している。
【0054】
また、本発明は、半導体集積回路を論理合成する際に、機能可変セルを用いて、半導体集積回路を製造した後に、半導体集積回路の仕様を変更をしたり、半導体集積回路で見つかったバグを修正する手法や手順を提供し、さらに、この手法を実現するツールに適用することもできる。
【0055】
半導体集積回路の論理合成時に、半導体集積回路の仕様を変更をしたり、半導体集積回路で見つかったバグを修正する方法や手順またはそれを実現するツールを提供しており、半導体集積回路の仕様を変更しやすくしたり、半導体集積回路で見つかったバグを修正しやすくなる。
【0056】
また、本発明においては、半導体集積回路に存在する複数の機能可変セルにおいて、その機能を変えたり、あるいはその機能を停止したり、あるいはその機能を活性化する制御信号を、1つ以上のグループに分割し、それぞれのグループ内にある複数の前記制御信号に与えるデータ値を、シリアル転送して与えることもできる。
【0057】
本発明においては、半導体集積回路の仕様を変更しやすくしたり、半導体集積回路で見つかったバグを修正しやすくするために、半導体集積回路の面積を増加させたり、消費電力を増加させたり、外部入出力ピン数を増加させたりすることがない。
【0058】
また、本発明においては、機能可変セルを、複数のスタンダードセルで構成することもできる。セルライブラリに登録されているスタンダードセルを顧客の仕様に沿って配置、接続することで仕様を満足しようとする一般的なセルベースICのセルライブラリがあればよく、予め機能可変セルを作る必要がなくなる。勿論作製された機能可変セルを機能可変セルライブラリに登録しておき、機能可変セルの論理合成にあたり、機能可変セルライブラリのセルを選択する構成としてもよいことは勿論である。
【0059】
本発明においては、半導体集積回路の仕様を規定する、ハードウェア記述言語によるハードウェア記述に基づき、論理合成手段にて論理合成を行う、半導体集積回路の設計システムにおいて、標準セルライブラリと、機能可変セルを予め登録した機能可変セルライブラリと、を備え、論理合成ツールは、半導体集積回路のハードウェア記述を解析し、ハードウェア記述に機能可変セルが指定されている場合、機能可変セルライブラリから機能可変セルを選択して論理合成する。その際、論理合成ツールは、ハードウェア記述を解析し、前記ハードウェア記述に指定される機能可変度のレベル情報が0の場合、標準セルライブラリからセルを選択し、ハードウェア記述に機能可変度のレベル情報が指定されている場合には、指定された機能可変度のレベルに対応した機能可変セルを、前記機能可変セルライブラリから機能可変セルを選択する構成としてもよい。
【0060】
このように、本発明は、スタンダードセルと、機能可変セルが混在して配置・配線され、機能可変セルが、必要とされる機能可変度(機能可変度のレベルが大きくなるにしたがって面積、電力も増大する)にしたがって決定され、半導体集積回路の製造後に、機能可変セルの機能の変更、停止、活性化を制御できるようにしている。
【0061】
【実施例】
上記した実施の形態についてさらに詳細に説明すべく、本発明の実施例について図面を参照して説明する。図1は、本発明の実施の形態の構成(配置)を示す図である。半導体集積回路100の上に、セルベースICで用いられるスタンダードセル101と機能可変セル102とが混在して、配置、配線される。すなわち機能可変セル102だけでマトリックス状またはアレイ状に規則正しく配列されているのではなく、スタンダードセル101だけでマトリックス状またはアレイ状に規則正しく配列されているのでもなく、スタンダードセル101と機能可変セル102とが、互いに混在する形態で、同等に、配置、配線されている。なお、図1では、セル間の配線は、簡単のために、省略している。
【0062】
機能可変セル102は、半導体集積回路を製造した後に、半導体集積回路の仕様を変更したり、半導体集積回路で見つかったバグを修正する部分だけを、半導体集積回路の内部の制御信号、あるいは半導体集積回路外部から与えられた制御信号によって、その機能を変更したり、あるいはその機能を停止したり、あるいはその機能を活性化することができるような構成とされている。スタンダードセル101は、NAND回路やNOR回路など予め決められた単一の機能を果たすものである。
【0063】
半導体集積回路の自動設計を行うEDA(Electronic Design Automation)システムにて、半導体集積回路100を製造するにあたり、一般に、まず、顧客の仕様を記述しているソースファイルの情報を基にして、セルライブラリに登録されているスタンダードセルを複数個選び出し、スタンダードセルとスタンダードセル間の接続情報からなるネットリストを得る。このネットリストは、顧客の仕様を満足する機能を実現する。このときネットリストは、顧客の仕様を満足する機能を実現できればよいことから、一意には、決定できず、複数の組み合わせがあり得る。しかし、一般には、チップ面積の縮減、動作速度の高速化、低消費電力化を実現するように、決定される。この手続きを「論理合成」と呼ぶ。
【0064】
次に、ネットリストを基に、半導体集積回路100の上に、チップ面積の縮減、動作速度の高速化、低消費電力化を図るように、ネットリスト上のスタンダードセルを配置し、個々のスタンダードセル間をネットリストに従って配線する。この手続きを「配置・配線」と呼ぶ。
【0065】
本発明においては、論理合成の手続きにおいて、ネットリストに、スタンダードセル以外に機能可変セル102を含むことができる。
【0066】
また、配置・配線の手続き段階でも、ネットリスト内のスタンダードセルを、そのスタンダードセルと同等の機能となるように、制御信号で制御された機能可変セル102に置換することもできる。
【0067】
従来のスタンダードセルは、NAND回路やOR回路などその機能が一意に決まっている。
【0068】
本発明において、機能可変セル102は、
・AND、NAND、OR、NOR、EXOR、EXNOR等の論理演算回路、
・加算器、減算器、乗算器、除算器等の算術演算回路、
・フリップフロップやラッチ等のクロック同期回路、
・セレクタ回路、
・メモリ回路、
のうちの2つ以上の機能のいずれかに、半導体集積回路の内部の制御信号、あるいは半導体集積回路の外部から与えられた制御信号によって、選択可能とされる。
【0069】
また、半導体集積回路100に存在する複数の機能可変セル102は、その機能を変えたり、あるいはその機能を停止したり、あるいはその機能を活性化する制御信号を、1つ以上のグループに分割し、それぞれのグループ内にある複数の制御信号に与えるデータ値を、順次、シリアル転送して与えることも可能とされている。
【0070】
図16は、本発明の一実施例において、チップ内に機能可変セル102とスタンダードセル101とが混在して配置される構成において、セル間の配線の一例を模式的に示す図である。図16を参照すると、スタンダードセル101と機能可変セル102とは混載して互いに接続されている。大きな面積を占有する機能可変セル102を用いる必要がないところでは、小さな面積を占有するスタンダードセル101を用いている。また同じ機能可変セル102においても、機能可変の程度に応じて面積が異なっている。機能可変の程度が高い必要があるところには、比較的大きな面積を有する機能可変セル102を用い、機能可変の程度が少なくて済むところでは、比較的小さな面積を有する機能可変セル102が用いられる。
【0071】
図2は、本発明の一実施例の機能可変セル102を含む回路構成の一例を示す図である。図2には、複数の機能可変セル102を、2つのグループに分割した場合が示されている。すなわち、2つのグループは、2つのデータと2つのクロックの系統からなる。フリップフロップ回路104は、クロック信号の遷移エッジで、データ端子Dの信号をサンプルしデータ出力端子Qから出力するD型フリップフロップである。端子220から入力されたデータは、端子221から入力されたクロック信号に基づき、回路中の第1グループのフリップフロップ回路104によって、逐次、シリアルに転送され、フリップフロップ回路104のデータ出力端子Qに接続される機能可変セル102に制御信号として供給される。端子222から入力されたデータは、端子223から入力されたクロック信号に基づき、回路中の第2グループのフリップフロップ回路104によって逐次シリアル転送され、フリップフロップ回路104のデータ出力端子Qに接続される機能可変セル102に制御信号として入力される。
【0072】
また、半導体集積回路100は、製造時点では、半導体集積回路の機能には影響しない複数の機能可変セルを、論理合成あるいは配置配線の手続きの中で含ませることもできる。この機能可変セルは、半導体集積回路を製造した後に、半導体集積回路の仕様を変更をしたり、半導体集積回路で見つかったバグを修正するために、半導体集積回路の内部の制御信号、あるいは半導体集積回路の外部端子から与えられた制御信号によって、その機能を変更したり、あるいはその機能を活性化することができ、半導体集積回路の仕様を変更あるいは修正することができる。
【0073】
本発明と相違して、製造時点で半導体集積回路の機能には影響しない複数の機能可変セルを含まない場合、半導体集積回路の仕様を変更あるいは修正することができる範囲は限られる。
【0074】
また、1つの半導体集積回路100は、複数種類の機能可変セル102を有することができる。機能可変セル102を、セルライブリ等に予め複数の種類用意しておき、論理合成あるいは配置配線の手続きで、機能可変セルが使用される回路に応じて適切な機能可変セルを選択する。複数種類の機能可変セルを具備することで、面積の増大を抑えながら、半導体集積回路の仕様変更、修正が可能な範囲を増大させることができる。
【0075】
図3は、本発明の別の実施例の機能可変セルの構成を示す図である。図3を参照すると、この機能可変セルは、ルックアップテーブル103と、フリップフロップ104と、セレクタ回路105とを備えている。ルックアップテーブル103は、第1、第2の入力信号201、202を入力し、第1、第2の入力信号201、202が予め定めた状態にあるときに、出力信号203をhigh(ハイ)レベルとし、第1、第2の入力信号201、202がそれ以外の状態にあるときには、出力信号203をlow(ロー)レベルとする。ルックアップテーブル103において、その出力信号203をhighレベルとする第1と第2の入力信号201、202の組み合わせは、入力される制御信号209によって決定される。
【0076】
フリップフロップ104は、データ入力端子Dにルックアップテーブル103の出力信号203が接続され、クロック入力端子に入力されるクロック信号204の立ち上がり又は立ち下がりの遷移エッジで、データ入力端子Dに供給される信号203の電圧レベルをサンプルし、データ出力端子Qからサンプルしたデータを出力信号205として出力する。
【0077】
セレクタ回路105は、フリップフロップ104のデータ出力端子Qから出力される出力信号205と、ルックアップテーブル103から出力される出力信号203をそれぞれ第1、第2の入力端子より入力し、入力される選択制御信号208の電圧レベル(high/lowレベル)によって、信号205と信号203の電圧レベルの一方を選択して出力し、出力信号線207へ伝搬させる。
【0078】
図4は、本発明の別の実施例の機能可変セルの構成を示す図である。図4を参照すると、この機能可変セルは、ルックアップテーブル103と、セレクタ回路106とを備えている。ルックアップテーブル103は、第1、第2の入力信号201、202を入力し、第1、第2の入力信号201、202が予め定めた状態にあるときに、出力信号203をhigh(ハイ)レベルとし、第1、第2の入力信号201、202がそれ以外の状態にあるときには、出力信号203をlow(ロー)レベルとする。ルックアップテーブル103において、その出力信号203をhighレベルとする第1と第2の入力信号201、202の組み合わせは、入力される制御信号209によって決定される。
【0079】
セレクタ回路106は、第1の入力信号206と、ルックアップテーブル103から出力される出力信号203をそれぞれ第1、第2の入力端子より入力し、入力される選択制御信号208の電圧レベル(high/lowレベル)によって、信号201と信号203の電圧レベルの一方を選択して出力し、出力信号線207へ伝搬させる。
【0080】
この機能可変セルは、制御信号208、209により、その機能を変えることができる。
【0081】
機能可変セルは、図3、図4で示す構成に限定されるものでなく、多くの組み合わせが適用できる。AND、NAND、OR、NOR、EXOR、EXNORなどの論理演算回路や、加算器、減算器、乗算器、除算器などの算術演算回路、フリップフロップやラッチなどのクロック同期回路、セレクタ回路、メモリ回路の中で2つ以上の機能のいずれかに、半導体集積回路の内部の制御信号、あるいは外部から与えられた制御信号により、選択できるものであればよい。
【0082】
例えば、図4に示した機能可変セルにおいて、選択制御信号208の電圧レベルによって、セレクタ回路106へ入力される入力信号201と、セレクタ回路106からの出力信号207とが同電位となるように構成しておくことで、この機能可変セルは、第1の入力信号201から出力信号線207に、信号が単純に伝搬する配線として機能する。
【0083】
すなわち、図4に示した機能可変セルは、半導体集積回路100の製造時点で、半導体集積回路の機能には影響しない機能可変セルとして機能できる。
【0084】
この機能可変セルは、半導体集積回路を製造した後に、半導体集積回路の仕様を変更をしたり、半導体集積回路で見つかったバグを修正するために、制御信号208の電位レベルを変更することで、その機能を変更することができる。すなわち、製造後に、半導体集積回路100の仕様を、変更あるいは修正することができる。
【0085】
同様にして、図3に示す機能可変セルの例においても、制御信号209によりルックアップテーブル回路103を制御し、第1の入力信号201と出力信号203が常に同一電圧レベルとなるようにし、第1の制御信号208の電圧レベルによってセレクタ回路105の第2の入力信号203と第1の出力信号207とを同電位となるようにしておくことで、この機能可変セルは、第1の入力信号201から出力信号207に、信号が単純に伝搬する配線として機能する。このため、半導体集積回路100の製造時点で半導体集積回路の機能には影響しない機能可変セルとして機能できる。
【0086】
また、図3、図4に示す構成の機能可変セルにおいて、制御信号208と制御信号209の電位レベル(high/lowレベル)を変更することで、機能が変更可能とされる。例えばルックアップテーブル103に入力される制御信号209の値を変えることで、ルックアップテーブル103の機能が可変される。したがって、これらの機能可変セルは、半導体集積回路を製造した後に、半導体集積回路の仕様の変更したり、あるいは半導体集積回路で見つかったバグの修正を行うことができる。
【0087】
図3、図4に示した構成の機能可変セルでは、セレクタ回路105、109により、ルックアップテーブル103の出力信号と該出力信号をフリップフロップ104でサンプリングした信号の一方、ルックアップテーブル103の出力信号と入力信号201の一方を選択して出力する構成とされているが、機能可変セルを、制御信号で機能が可変されるルックアップテーブル103のみで構成してもよいことは勿論である。ルックアップテーブル103に入力する制御信号209の値を変えることで、ルックアップテーブル103に入力される入力信号と、該入力信号に対するルックアップテーブル103の出力信号の対応が可変させることができ、半導体集積回路の製造後の、半導体集積回路の仕様の変更、半導体集積回路で見つかったバグの修正に対応することができる。
【0088】
図5は、本発明の別の実施例の構成を示す図である。図5には、半導体集積回路を製造した後に、半導体集積回路の仕様を変更をしたり、半導体集積回路で見つかったバグを修正するための別の実施例として、機能可変セルとスタンダードセルとを接続した構成の一例が示されている。図5において、107はスタンダードセルよりなる回路網である。第1の入力信号線210と第1の出力信号線212に接続される。108は、前記実施例で説明した機能可変セルよりなる回路網であり、第1の入力信号線210と第2の入力信号線214と、第1の出力信号線213に接続される。2入力1出力のセレクタ回路109は、制御信号208により、信号線212と信号線213のいずれか一方を選択して、出力信号線211に伝搬する。
【0089】
制御信号208の電圧レベル(high/lowレベル)によってセレクタ回路109に入力される信号線212の電圧と出力信号線211の電圧とが同電位となるように設定しておくことで、スタンダードセルよりなる回路網107が機能し、機能可変セルよりなる回路網108は機能しない(機能は停止する)。
【0090】
そして、制御信号208の電位レベルを変更することで、機能可変セルよりなる回路網108が機能し(機能が活性化する)、スタンダードセルよりなる回路網107は機能しなくなる。すなわち、半導体集積回路の仕様を変更あるいは修正することができる。
【0091】
一般に、半導体集積回路を製造した後に、半導体集積回路の仕様を変更をしたり、半導体集積回路で見つかったバグを修正する必要となる回路は、半導体集積回路の中の全体の回路の中で、数%にも満たないことが知られている。このような場合、予め変更する可能性が低いところに、機能可変セルを割り当てると、消費電力の増大や、動作速度の低下を招く。
【0092】
しかしながら、図5に示した本実施例によれば、機能等を変更しない場合の消費電力の増大や動作速度の低下を防ぐことができる。
【0093】
本発明は、論理合成の手続きにおいて、配置配線の手続き後においても、機能可変セルの入力信号線と出力信号線に伝搬する信号の遅延が顧客の仕様あるいは将来の仕様変更に沿うように機能可変セルを配置、配線したり、半導体集積回路の製造時点ではその仕様に影響を及ぼさない機能可変セルの入力信号線と出力信号線に伝搬する信号の遅延が将来の仕様変更に沿うように、機能可変セルを配置、配線することで、半導体集積回路の仕様を変更しやすくしたり、半導体集積回路で見つかったバグを修正しやすくできる。
【0094】
また、本発明は、論理合成の手続きで、機能可変セルを用いて、半導体集積回路を製造した後に、半導体集積回路の仕様を変更をしたり、半導体集積回路で見つかったバグを修正する方法や手順またはそれを実現するツールを提供することもできる。
【0095】
論理合成の手続きで、半導体集積回路の仕様を変更をしたり、半導体集積回路で見つかったバグを修正する方法や手順またはそれを実現するツールを同時に作成することで、半導体集積回路の仕様を変更しやすくしたり、半導体集積回路で見つかったバグを修正しやすくなる。
【0096】
また、本発明においては、機能可変セルを、複数のスタンダードセルで構成するようにしてもよい。この場合、セルライブラリに登録されているスタンダードセルを、顧客の仕様に沿って配置、接続することで仕様を満足しようとする、一般的なセルベースICのセルライブラリがあればよく、予め機能可変セルを作る必要がなくなる。
【0097】
図6は、本発明の一実施例において論理合成に用いられるソースファイルの一例を示す図である。図6には、論理合成の手続きにおいて、顧客の仕様を記述しているソースファイルのどの部分を機能可変セルを用いて構成するかを指定するための例が示されている。
【0098】
スタンダードセルではなく、機能可変セルを用いて機能合成する箇所には、該当するソースファイル中の行に、明示的にコメント記号”//”に続いて、コメントの内容を予め定めたコード、図6に示す例では、”Special Line”が記述されている。
【0099】
図6に示す例では、a3=b1−c2の減算機能、b2=a2+a4の加算機能は、機能可変セルで合成される。後の説明で参照される図15を用いて説明すると、”Special Line”が記述されて行の機能の論理合成は、例えば、機能可変セルライブラリが参照され、選択された機能可変セルを用いて論理合成が行われる。
【0100】
機能可変セルを用いて機能合成する箇所が連続しており、長い場合には、別途予め定めたコードを用いて、その部分の始まりと終わりを指示するようにしてもよい。なお、ソースファイル中でどの部分を機能可変セルを用いて構成するかについて、明示的にソースファイルに記載することをせず、その代わりに、例えば、誤りや仕様変更が行われやすい箇所を予め定められた手順にしたがって自動で判断して、処理するようにしてもよい。
【0101】
次に、本発明のさらに別の実施例について説明する。図7は、本発明の別の実施例の機能可変セルの構成の一例を示す図である。図7を参照すると、この機能可変セルは、ルックアップテーブル103を備えている。図7において、201、202は入力信号線、207は出力信号線、208は、セレクタ回路105の選択を行うための選択制御信号線である。
【0102】
ルックアップテーブル103を構成するルックアップテーブル回路110は、入力ポートA0、A1と、ルックアップテーブル103に供給される制御信号(制御データ信号)を入力するデータ入力端子DSと、ルックアップテーブル103に供給される制御信号をなすクロック信号を入力するクロック入力端子DCと、出力ポートDOと、を有している。
【0103】
ルックアップテーブル回路110において、2つの入力信号線201、202の信号がそれぞれ入力ポートA0、A1(2ビットのアドレス信号として機能)に入力され、出力ポートDOから出力信号が出力される。ルックアップテーブル回路110は、端子DS、DCに入力される制御信号211、212により、その機能を変更する。
【0104】
2つの入力信号線201、202は、標準セルよりなる基本ゲートをなすNAND回路109に入力される。NAND回路109の出力信号と、ルックアップテーブル103の出力信号が2入力1出力のセレクタ回路105に入力され、セレクタ回路105は選択制御信号210により一方を選択して出力する。
【0105】
この機能可変セルは、NAND回路109の出力信号がセレクタ回路105で選択される場合、入力信号線201、202の論理値のNAND演算結果を出力信号線207から出力する。
【0106】
一方、セレクタ回路105で、ルックアップテーブル103の出力信号が選択されると、2つの入力信号線201、202の論理値の組合せで規定されるアドレスに保持される値が出力信号線207から出力される。
【0107】
さらに、ルックアップテーブル103の出力信号がセレクタ回路105で選択された場合において、制御信号211、212の論理値により、入力信号線201、202の論理値の組合せに対するルックアップテーブル103の出力信号の値を可変させる制御が行われる。例えば、2つの入力信号線201、202の論理値の同一の組合せに対して、制御信号211が論理0のとき(制御クロック信号212によってルックアップテーブル回路110に取り込まれているものとする)と、制御信号211が論理1のとき(制御クロック信号212によってルックアップテーブル回路110に取り込まれているものとする)では、ルックアップテーブル103の出力信号は異なる。
【0108】
図7に示す機能可変セルにおいて、制御信号211、212が機能変更を制御し、機能の停止、活性化は、制御信号210で行う。
【0109】
図8は、図7のルックアップテーブル103の構成の一例を示す図である。図8(A)を参照すると、このルックアップテーブルは、K個のルックアップテーブル回路111より構成されており、各ルックアップテーブル回路111は、m個の入力ポートA0〜m−1にアドレス信号A0〜Am−1を入力し、それぞれの出力ポートDから出力信号D0〜Dk−1を出力し、制御信号をなす制御データ信号DSをデータ入力端子DIから入力し、クロック信号DCをクロック入力端子CLKから入力する構成とされており、入力信号A0〜Am−1に対してk個の出力信号D0〜Dk−1を出力する。
【0110】
制御データ信号DSは、初段のルックアップテーブル回路111のデータ入力端子DIに入力され、初段のルックアップテーブル回路111のデータ出力端子DOから次段のルックアップテーブル回路111のデータ入力端子DIに順次入力されるという具合に、与えられたクロック信号DCにより駆動されて、複数段のルックアップテーブル回路111をシリアルに伝送される。
【0111】
複数段のルックアップテーブル回路111を伝送される制御データ信号DSを、論理1とするか論理0とすることで、ルックアップテーブルの機能(入力信号A0〜Am−1に対する出力信号D0〜Dk−1の対応)が可変される。すなわち、k本のデータ出力信号D0〜Dk−1の論理値の組合せは、クロック信号DCに基づき、シリアルに入力される制御データ信号DSのパタンによって任意に設定される。
【0112】
図8(B)は、図8(A)のルックアップテーブル回路111の回路構成を示す図である。図8(B)を参照すると、ルックアップテーブル回路111は、2m−1段縦続形態に接続され、シフトレジスタを構成するD型フリップフロップ112を備え、初段のD型フリップフロップ112のデータ入力端子Dは、ルックアップテーブル111のデータ入力端子DIに接続され、最後段のD型フリップフロップ112のデータ出力端子Qは、ルックアップテーブル111のデータ出力端子DOに接続されている。2m−1段のD型フリップフロップ112のクロック端子は、ルックアップテーブル111のクロック端子CLKに共通に接続されており、2m−1段のD型フリップフロップ112のデータ出力端子Qは、セレクタ回路114に入力されている。
【0113】
セレクタ回路114は、ルックアップテーブル111の入力ポートA0〜m−1に入力されるm本のアドレスA0〜Am−1を入力してデコードするデコーダ113の出力を選択制御信号として入力し、選択されたD型フリップフロップ112のデータ出力端子Qからの出力が、出力信号Dとして出力される。かかる構成のルックアップテーブルにおいて、2m−1段のD型フリップフロップ112にそれぞれ保持されるデータを変更することで、同一のアドレス入力に対する出力信号の値が可変させる。
【0114】
なお、図7のルックアップテーブル103は、図8(A)に示したルックアップテーブル回路111(ただし、入力ポートはA0、A1の2つ)を1つ備え、2ビットのアドレス入力、1ビット出力の構成としたものである。
【0115】
次に、本発明のさらに別の実施例について説明する。図9は、本発明の別の実施例の機能可変セルの構成の一例を示す図である。図9において、311、312は入力信号線であり、316は出力信号線である。入力信号線311、312は、2入力NAND回路302(標準セルよりなる論理回路)に入力されるとともに、機能可変型の回路ブロック301にも入力され、NAND回路302の出力信号と回路ブロック301の出力信号は2入力1出力のセレクタ回路303に入力され、セレクタ回路303で選択された信号が出力信号として出力信号線316に出力される。機能可変型の回路ブロック301は、入力信号線311、312をそれぞれ入力とする、2入力NAND回路304、2入力NOR回路305、2入力排他的否定論理和(EXNOR)回路306を備え、NAND回路304、NOR回路305、EXNOR回路306の出力は3入力1出力のセレクタ回路307に入力され、セレクタ回路307は、選択制御信号318に基づきいずれか1つを選択して出力する。
【0116】
セレクタ回路307の出力信号314と、出力信号314をインバータ308で反転した信号とが2入力1出力のセレクタ回路309に入力され、セレクタ回路309は、選択制御信号319に基づき、入力された2つの信号のいずれか一方を選択して出力する。
【0117】
選択制御信号317によってセレクタ回路303が、回路ブロック301の出力を選択し、回路ブロック301の出力信号線316に出力することで、機能可変型の回路ブロック301を活性化させる制御が行われる。さらに、制御信号318により、セレクタ回路307において、NAND、NOR、EXNORのいずれか一が選択され、制御信号319により、セレクタ回路309において、セレクタ回路307の出力又はその反転信号が選択され、NAND、NOR、EXNOR、又は、AND、OR、EXORのいずれか一が選択され、機能の変更が行われる。
【0118】
図9において、信号318、319が機能変更を制御し、機能の停止、活性化は、制御信号317で行う。
【0119】
図10は、本発明のさらに別の実施例の機能可変セルの構成を示す図である。図10において、411、412は第1組の入力信号線、413、414は第2組の入力信号線、415は、出力信号線である。4ビットの入力信号411、412を端子A、Bから入力して加算し出力端子Oから4ビットの信号を出力する加算器406(キャリー端子Cは論理0に固定)を備えている。機能可変型の回路ブロック401は、第1組の入力信号411と第2組の入力信号413とを入力するセレクタ回路402と、第1組の入力信号412と第2組の入力信号414とを入力するセレクタ回路403と、セレクタ回路403の出力(4ビット)と信号419の排他的論理和をとった結果の4ビットを出力するEXOR回路404と、セレクタ402の出力とEXOR回路404の出力を端子A、Bから入力して加算し出力端子Oから4ビットの信号を出力する加算器405を備えている。
【0120】
セレクタ回路402とセレクタ回路403は、それぞれ、選択制御信号417、418に基づき、2つの入力の一方を出力する。
【0121】
EXOR回路404は、制御信号419が、論理0のとき、セレクタ回路403の出力(4ビット)をそのまま加算器405のB端子に供給し、制御信号419が、論理1のとき、セレクタ回路403の出力の反転信号を加算器405のB端子に供給する。
【0122】
加算器406の出力と加算器404の出力はセレクタ回路407に入力され、セレクタ回路407は制御信号416の値に基づき一方を選択出力する。
【0123】
第1の入力信号の加算器(セレクタ回路407が加算器406の出力を選択時)のほか、回路ブロック401により、
・第1組の入力信号の減算器、
・第2組の入力信号の加算器、
・第2組の入力信号の減算器、
・第1、第2組の入力信号の加算器、
・第1、第2組の入力信号の減算器
に変更できる。
【0124】
すなわち、セレクタ回路407が機能可変回路ブロック401の出力信号を選択した状態で、回路ブロック401において、セレクタ回路402、403で、第1組の入力信号411、412を選択し、制御信号419を論理1とし、キャリ信号420を論理1とすることで、第1組の入力信号の減算器となる。
【0125】
回路ブロック401において、セレクタ回路402、403で、第2組の入力信号413、414を選択し、制御信号419を論理1とし、キャリ信号420を論理1とすることで、第2組の入力信号の減算器となり、制御信号419を論理0とし、キャリ信号420を論理0とすることで、第2組の入力信号の加算器となる。
【0126】
回路ブロック401において、セレクタ回路402、403で、入力信号411、414を選択するか、セレクタ回路402、403で、入力信号412、413を選択し、制御信号419を論理0とし、キャリ信号420を論理0とすることで、第1、第2組の2つの入力信号の加算器となり、制御信号419を論理1とし、キャリ信号420を論理1とすることで、第1、第2組の2つの入力信号の減算器となる。
【0127】
この実施例において、機能可変型の回路ブロック401は、例えばIPマクロを用いて構成されている。
【0128】
なお、図10において、制御信号417〜420は、機能可変型セルの機能の変更を制御し、機能可変型セルの機能の停止、活性化は、制御信号416で行う。制御信号416が、セレクタ回路407を制御して、加算器406を選択している場合、機能可変型の回路ブロック401は非活性化されている。
【0129】
図11は、本発明のさらに別の実施例の機能可変セルの構成を示す図である。図11を参照すると、この実施例の機能可変セルは、複数本の出力信号線を有している。511、512は入力信号線、515、516は出力信号線である。501は、図7の103と同様のルックアップテーブルであり、制御信号入力端子DSとクロック端子DCに入力される制御信号519、クロック信号520により、入力ポートA0、A1に入力される信号511、512に対する出力信号の値が可変とさせる。標準セルよりなる基本ゲートのNAND回路503の出力信号513と、ルックアップテーブル501の出力信号514とが、2つのセレクタ504とセレクタ505にそれぞれ入力され、セレクタ504、505の出力は出力信号線515、516に接続されている。
【0130】
かかる構成の本実施例の機能可変セルによれば、出力信号線515、516にそれぞれ接続される下流の回路(図示されない)のうち、ある回路は機能可変セルの出力を期待しており、別のある回路は、標準セルの出力(NAND回路503の出力信号513)を期待している場合に対応できる。一方、機能可変回路ブロックの出力信号を用いるか、標準セルの出力信号を用いるかが選択自在な構成とされていない場合には、出力信号線に接続する下流の回路は、標準セルから機能可変セルへの切替えが行われた場合、当該下流の回路側でも、機能変更に対応して、その機能・構成を変える必要が生じる場合がある。すなわち、例えば上流の機能可変セルの1箇所の機能変更の影響が、該変更箇所の下流に配置される回路に波及することになる。
【0131】
この実施例では、ルックアップテーブル501と標準セルからなる論理回路503の出力を選択するためのセレクタ回路を複数の出力信号線に対応して備え、複数の出力信号線にそれぞれ接続される各下流の回路では、その機能・構成を変えることなく、上流の機能可変セルの機能変更に対応できる。
【0132】
図11において、信号519〜520が機能変更を制御し、機能の停止、活性化は、制御信号517、518で行う。
【0133】
図12は、本発明のさらに別の実施例の機能可変セルの構成を示す図である。図12を参照すると、入力信号線611から並列に伝送される複数ビットの信号(nビット)を入力するロジック回路602(フリップフロップを含む)と、入力信号と出力信号との対応が可変させるルックアップテーブル601と、ロジック回路602の出力信号614(Kビット)とルックアップテーブル601の出力信号615(Kビット)とを入力し、l本の選択制御信号616のそれぞれ値に基づき、1方を選択して出力するセレクタ604を複数組(l組)備え、各セレクタ604からは、Kビットの出力信号が出力される。
【0134】
図12に示す構成では、各セレクタ604では、2入力の1方を対応する選択制御信号に基づき独立に選択することができる。
【0135】
ルックアップテーブル601を構成するデバイス602の入力ポートA0〜An−1には、nビットの入力信号611が入力され、mビットの入力信号613が入力ポートAnからAm+n−1に入力される。ルックアップテーブル601を構成するデバイス602は、図8(A)に示す構成において、各ルックアップテーブル111の入力ポートの数をm+nとして構成される。
【0136】
この実施例では、ルックアップテーブル601と標準セルからなる論理回路602の出力を選択するためのセレクタ回路604を複数の出力信号線に対応して備え、複数の出力信号線にそれぞれ接続される各下流の回路では、その機能・構成を変えることなく、上流の機能可変セルの機能変更に対応できる。
【0137】
図13は、本発明のさらに別の実施例を示す図である。図13において、701は機能可変の回路ブロックであり、図3に示した機能可変セルに対応している。すなわち、図13を参照すると、回路ブロック701は、ルックアップテーブル702(図3の103に対応)と、フリップフロップ703(図3の104に対応)と、セレクタ回路704(図3の105に対応)からなる。
【0138】
すなわち、この実施例においては、機能可変セル内において、入力信号を入力する端子と、セレクタ回路の入力端子との間に、標準セル705と並置される機能可変型の回路ブロック701が機能可変セルで構成されている。
【0139】
図13を参照すると、この実施例において、ルックアップテーブル回路702の入力ポートA0〜An−1には、nビットの入力信号711が入力され、mビットの入力信号713が入力ポートAnからAm+n−1に入力される。ルックアップテーブル回路702は、図8(A)に示す構成において、各ルックアップテーブル111の入力ポートの数をm+nとして構成される。
【0140】
ルックアップテーブル回路702のKビット出力は、K入力のレジスタ(クロック信号720を共通に入力するK個のD型フリップフロップよりなる)に入力され、ルックアップテーブル回路702の出力(Kビット)とレジスタ703の出力(Kビット)とがセレクタ回路704に入力される。
【0141】
セレクタ回路704では、入力される選択制御信号721に基づき、ルックアップテーブル回路702の出力(Kビット)とレジスタ703の出力(Kビット)の一方を選択して出力し、セレクタ回路704の出力715は、複数組(l組)のセレクタ回路706に供給される。この実施例では、ルックアップテーブル702と標準セルからなるロジック回路705(フリップフロップを含む)の出力を選択するためのセレクタ回路706を複数の出力信号線712に対応して備えている。
【0142】
この実施例においても、図12に示した実施例と同様、ロジック回路705の出力信号714と、機能可変セルから構成される回路ブロック701の出力信号715を入力し、選択制御信号717の値に基づき、入力した2系統の信号の1方を選択するセレクタ回路706を、複数備え、下流の回路に対して、対応するセレクタ回路706の出力がそれぞれ供給される。
【0143】
図13において、信号718、719、720、721が、機能可変セルの機能変更を制御し、機能可変セルの機能の停止、活性化は、制御信号717で行う。
【0144】
図14は、本発明のさらに別の実施例の構成を示す図である。図14を参照すると、機能可変セルを2段縦続形態に接続してなるものであり、機能可変セル801、801は、同一構成とされ、ともに、図13に示した回路ブロック701の機能可変セルよりなる。すなわち、機能可変セル801、801において、端子In、Imに入力される信号811、813(812、814)、端子Okから出力されるKビットの信号812(815)は、図7の入力信号711、713、812にそれぞれ対応し、DS、DC、CLK、SELは、図7のDS、DC、CLK、SELに対応している。
【0145】
機能可変セル801は、上流の機能可変セル801の1つのセレクタ回路706の出力信号線712(図13参照)を、入力信号端子Inより入力している。この場合、図13のルックアップテーブル回路702の入力ポートのA0〜Am+n−1における数nは、Kとなる。このように、機能可変セルを、複数段用いて論理回路を構成してもよい。
【0146】
上記した各実施例の機能可変セルにおいて、機能可変度の低い順から、図9、図7、図12、図13となる。機能可変度の最も低い回路は、機能可変セルを含まない通常の標準セルのみを含む回路で構成される。
【0147】
なお、図7、図9、図10に示した機能可変セルでは、機能可変型の回路の出力と、スタンダードセルからなる論理回路の出力をセレクタ回路で選択して出力する構成とされているが、上記実施例の変形として、機能可変セルを、制御信号で機能が可変される機能可変型の回路(図7の103、図9の301、図10の401)のみで構成してもよいことは勿論である。かかる構成において、機能可変型の回路(図7の103、図9の301、図10の401)に入力する制御信号の値を変えることで、機能可変型の回路における入力信号と出力信号の対応が可変させることができ、半導体集積回路の製造後の、半導体集積回路の仕様の変更、半導体集積回路で見つかったバグの修正に対応することができる。また、図11乃至図13に示した構成の機能可変セルにおいて、機能可変型の回路(図11の601、図12の701、図13の701)のみで構成し、機能可変型の回路の出力信号を複数(l個)の出力信号線のそれぞれに分配出力する構成としてもよい。さらに、図7、図9、図10〜図13に示した機能可変セルの変形の一例として、論理回路を機能可変型の回路で構成し、2つの並列配置された機能可変型の回路の出力をセレクタ回路で選択して出力する構成としてもよい。
【0148】
次に、本発明に係る機能可変セルを用いて作製されるLSIを設計するEDAシステムについて説明する。図15は、LSI設計システムの処理手順の一例を示す流れ図である。本発明に係る機能可変セルを用いて作製されるLSIを設計する場合、VHDL、Verilog等のハードウェア記述言語により規定される回路の記述(ハードウェア記述文)中に、明示的に、機能可変度を指定しておく。例えば、図6の"//Special Line"("//"はコメントを示す記号)のあとに、例えば、"Level=0"、"Level=1"等の指定が行われる。なお、そのシンタックスは、"//Special Line Level=1"等に限定されるものでなく、論理合成ツールに対する機能可変度の指示が行えるものでありさえすればよく、任意である。
【0149】
論理合成ツールが参照するセルライブラリとして、通常のスタンダードセルライブラリ11に加えて、本発明の機能可変セルを含む機能可変ライブラリ12を用意しておく。
【0150】
論理合成ツールでは、ハードウェア記述を解析し(ステップS11)、例えばコメント記号のあとに指定されている機能可変度が「0」の場合、スタンダードセルライブラリ11の中から該当セルを検索して論理合成し(ステップS12)、機能可変度が0でない場合、スタンダードセルライブラリ11からのセルに加えて、機能可変セルを格納した機能可変セルライブラリ12から、機能可変度のレベルに応じた機能可変セルを選択し、それぞれのセル間の接続を決定し(ステップS13)、その後、通常のセル配置、配線ツールを実行する(ステップS14)。かかる構成により、既存のハードウェア記述言語、論理合成ツール、自動レイアウトツールを用いて、機能可変セルを備えたLSIを設計することができる。自動レイアウトツールにおいて、機能可変セルは、スタンダードセルと同じ条件で配置及び配線が行われる。また、機能可変セルの入力信号線と出力信号線間信号の伝搬遅延時間が、半導体集積回路の製造後の機能の変更に適合するように、配置・配線が行われる。
【0151】
以上本発明を上記実施例に即して説明したが、本発明は、上記実施例にのみ限定されるものでなく、特許請求の範囲の各請求項の本発明の範囲内で、当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【0152】
【発明の効果】
以上説明したように、本発明によれば、下記記載の効果を奏する。
【0153】
本発明の第1の効果は、半導体集積回路を製造した後で、半導体集積回路の仕様を変更をしたり、半導体集積回路で見つかったバグを修正することができる半導体集積回路を提供することができる、ということである。
【0154】
本発明の第2の効果は、前記第1の効果を得るために、半導体集積回路を製造した後で、半導体集積回路の仕様を変更をしたり、半導体集積回路で見つかったバグを修正することができる機能可変セルを用いても、チップ面積増加の割合を抑えることができる、ということである。
【0155】
本発明の第3の効果は、前記第1の効果を得るために、半導体集積回路を製造した後で、半導体集積回路の仕様を変更をしたり、半導体集積回路で見つかったバグを修正することができる機能可変セルを用いても、消費電力増加の割合を低く抑えることができる、ということである。
【0156】
本発明の第4の効果は、前記第1の効果を得るために、半導体集積回路を製造した後で、半導体集積回路の仕様を変更をしたり、半導体集積回路で見つかったバグを修正することができる機能可変セルを用いても、動作速度低下の割合を低く抑えることができる、ということである。
【0157】
本発明の第5の効果は、前記第1の効果を得るために、半導体集積回路を製造した後で、半導体集積回路の仕様を変更をしたり、半導体集積回路で見つかったバグを修正することができる機能可変セルを用いても、機能可変セルのセル使用率を高くすることができる、ということである。
【0158】
上記効果が得られる理由の概要は以下の通りである。
【0159】
本発明においては、半導体集積回路上に、セルベースICで用いられるスタンダードセルと機能可変セルが同時に集積され、この機能可変セルは、半導体集積回路の内部の制御信号、あるいは外部から与えられた制御信号で、その機能を変更したり、あるいはその機能を停止したり、あるいはその機能を活性化することができる。このため、上記第1の効果が得られる。
【0160】
また、本発明においては、半導体集積回路上に、セルベースICで用いられるスタンダードセルと機能可変セルが混在して配置、配線される。このため従来の技術とは異なり、半導体集積回路の適材適所に機能可変セルを用いることができる。つまり、機能可変セルは、半導体集積回路を製造した後に、半導体集積回路の仕様を変更したり、半導体集積回路で見つかったバグを修正する部分(回路)だけ、必要最小限だけ使用できる。このため、上記第5の効果が得られる。
【0161】
また、機能可変セルは、スタンダードセルよりも面積は大きいが、本発明においては、機能可変セルがスタンダードセルと混在して配置、配線されることと、必要最小限だけ使用されることから、上記第2の効果が得られる。
【0162】
また、本発明においては、面積がスタンダードセルよりも大きい機能可変セルの使用数を減らすことができるため、セル間の平均配線長が小さくでき、上記第3の効果と第4の効果が得られる。
【0163】
さらに、本発明によれば、標準セルの出力と活性化した機能可変セルの出力を選択するセレクタを複数備え、機能可変セルの活性化に対して、機能可変セルの下流の回路を機能変更することなく対応可能としている。
【図面の簡単な説明】
【図1】本発明の実施例の構成を示す図である。
【図2】本発明の一実施例の半導体集積回路の構成を模式的に示す図である。
【図3】本発明の一実施例の機能可変セルの構成を示す図である。
【図4】本発明の他の実施例の機能可変セルの構成を示す図である。
【図5】本発明の他の実施例における機能可変セルとスタンダードセルの接続例を示す図である。
【図6】本発明の実施例におけるソースファイル中の機能可変セルの指定を示す図である。
【図7】本発明の実施例の機能可変セルの構成を示す図である。
【図8】本発明の他の実施例の機能可変セルの構成を示す図である。
【図9】本発明のさらに別の実施例の機能可変セルの構成を示す図である。
【図10】本発明のさらに別の実施例の機能可変セルの構成を示す図である。
【図11】本発明のさらに別の実施例の機能可変セルの構成を示す図である。
【図12】本発明のさらに別の実施例の機能可変セルの構成を示す図である。
【図13】本発明のさらに別の実施例の機能可変セルの構成を示す図である。
【図14】本発明のさらに別の実施例の機能可変セルの構成を示す図である。
【図15】本発明の機能可変セルを含むLSIを設計するEDAツールの処理を説明するための流れ図である。
【図16】本発明の一実施例において機能可変セルとスタンダードセルが混載して配線される様子を模式的に示す図である。
【符号の説明】
11 標準セルライブラリ
12 機能可変セルライブラリ
100 半導体集積回路
101 スタンダードセル
102 機能可変セル
103 ルックアップテーブル回路
104 フリップフロップ回路
105、106、109 セレクタ回路
107 スタンダードセルよりなる回路網
108 機能可変セルよりなる回路網
109 論理回路(標準セル)
110、111 ルックアップテーブル回路
112 フリップフロップ
113 デコーダ
114 セレクタ
201、202、203、204、205、207、208、209、210、211、212、213、214、220、221、222、223 信号線
301 機能可変の回路ブロック
302 論理回路
304 NAND
305 NOR
306 EXNOR
307 セレクタ回路
308 インバータ
309 セレクタ回路
311、312 入力信号線
313、314、315 信号線
316 出力信号線
317、318、319 選択制御信号
401 機能可変の回路ブロック
402 セレクタ
403 セレクタ
403 EXOR
405、406 加算器
407 セレクタ回路
411、412 入力信号線
415 出力信号線
416、417、418、419、420 制御信号
501 ルックアップテーブル
502 ルックアップテーブル回路
503 NAND
504、505 セレクタ回路
511、512 入力信号線
513、514 信号線
515、516 出力信号線
517、519、520 制御信号
601 ルックアップテーブル
602 ルックアップテーブル回路
603 ロジック回路
604 セレクタ回路
611、612 入力信号線
614、615 信号線
612 出力信号線
616、617、619 制御信号
701 機能可変の回路ブロック
702 ルックアップテーブル
703 フリップフロップ
705 ロジック回路
706 セレクタ回路
711、713 入力信号線
714、715 信号線
712 出力信号線
717、718、719、720、721 制御信号
801 機能可変セル
811、813、814 入力信号
812、815 出力信号
815〜822 制御信号

Claims (29)

  1. 標準セルと混在して配置及び配線が行われ、与えられた制御信号により論理機能が可変とされる機能可変型セルであって、
    1つ又は複数の入力信号を対応する入力端子より入力し、1つ又は複数の制御信号を対応する制御端子より入力し、前記1つの入力信号の値又は複数の入力信号の値の組合せに対応した出力信号を出力端子から出力し、前記制御信号の値にしたがって、前記1つの入力信号の値又は複数の入力信号の値の組合せと前記出力信号の値との論理の対応関係が可変される機能可変型の回路を備えている、ことを特徴とする機能可変型セル。
  2. 標準セルと混在して配置及び配線が行われ、与えられた制御信号により論理機能が可変とされる機能可変型セルであって、
    1つ又は複数の入力信号を対応する入力端子より入力し、1つ又は複数の制御信号を対応する制御端子より入力し、前記1つの入力信号の値又は複数の入力信号の値の組合せに対応した出力信号を出力端子から出力し、前記制御信号の値にしたがって、前記1つの入力信号の値又は複数の入力信号の値の組合せと前記出力信号の値との論理の対応関係が可変される機能可変型の回路と、
    前記1つ又は複数の入力信号のうちの少なくとも1つと、前記機能可変型の回路の出力信号とを、第1及び第2の入力端子よりそれぞれ入力し、選択制御用の制御信号を制御端子より入力し、前記選択制御用の制御信号の値に基づき、前記第1及び第2の入力端子より入力した信号のうちの一方を、出力端子より出力するセレクタ回路と、
    を備えている、ことを特徴とする機能可変型セル。
  3. 標準セルと混在して配置及び配線が行われ、与えられた制御信号により論理機能が可変とされる機能可変型セルであって、
    1つ又は複数の入力信号を対応する入力端子より入力し、1つ又は複数の制御信号を対応する制御端子より入力し、前記1つの入力信号の値又は複数の入力信号の値の組合せに対応した出力信号を出力端子から出力し、前記制御信号の値にしたがって、前記1つの入力信号の値又は複数の入力信号の値の組合せと前記出力信号の値との論理の対応関係が可変される機能可変型の回路と、
    前記機能可変型の回路の出力信号を、データ入力端子より入力し、クロック入力端子に入力されるクロック信号により、前記データ入力端子に入力される信号をサンプルして出力端子から出力するフリップフロップと、
    前記機能可変型の回路の出力信号と、前記フリップフロップの出力信号とを、第1及び第2の入力端子よりそれぞれ入力し、選択制御用の制御信号を制御端子より入力し、前記選択制御用の制御信号の値に基づき、前記第1及び第2の入力端子より入力した信号のうちの一方を出力端子より出力するセレクタ回路と、
    を備えている、ことを特徴とする機能可変型セル。
  4. 標準セルと混在して配置及び配線が行われ、与えられた制御信号により論理機能が可変とされる機能可変型セルであって、
    第1の入力信号を一の入力端子より入力し、標準セルより構成されている第1の回路網と、
    前記第1の入力信号を一の入力端子より入力し、第2の入力信号を他の入力端子より入力し、制御端子に入力される制御信号に基づき、機能が可変される機能可変セルを含んで構成されている第2の回路網と、
    前記第1の回路網と前記第2の回路網の出力信号とを第1及び第2の入力端子よりそれぞれ入力し、選択制御用の制御信号を制御端子より入力し、前記選択制御用の制御信号の値に基づき、前記第1及び第2の入力端子より入力した信号の一方を出力端子より出力するセレクタ回路と、
    を備えている、ことを特徴とする機能可変型セル。
  5. 標準セルと混在する形態にて配置及び配線が行われ、与えられた制御信号により論理機能が可変とされる機能可変型セルであって、
    1つ又は複数の入力信号を対応する入力端子より入力し、1つ又は複数の制御信号を対応する制御端子より入力し、前記1つの入力信号の値又は複数の入力信号の値の組合せに対応した出力信号を出力端子から出力し、前記制御信号の値にしたがって、前記1つの入力信号の値又は複数の入力信号の値の組合せと前記出力信号の値との論理の対応関係が可変される機能可変型の回路と、
    前記1つ又は複数の入力信号を対応する入力端子より入力し、前記1つ又は複数の入力信号に関して予め定められた所定の論理演算結果である出力信号を出力端子より出力する論理回路と、
    前記論理回路からの出力信号と、前記機能可変型の回路からの出力信号とを、第1及び第2の入力端子よりそれぞれ入力し、選択制御用の制御信号を制御端子より入力し、前記選択制御用の制御信号の値に基づき、前記第1及び第2の入力端子より入力した信号のうちの一方を出力端子より出力するセレクタ回路と、
    を備えている、ことを特徴とする機能可変型セル。
  6. 前記機能可変型の回路が、前記1つの入力信号の値又は複数の入力信号の値の組合せに対応したアドレスに記憶されている信号を取り出し出力信号として出力するルックアップテーブルよりなり、
    前記ルックアップテーブルは、前記制御信号の値にしたがって、前記入力信号と出力信号との論理の対応関係が可変に設定される、ことを特徴とする請求項1、2、4、5のいずれか一に記載の機能可変型セル。
  7. 前記セレクタ回路を複数備え、前記論理回路から出力される出力信号と前記機能可変型の回路から出力される出力信号とが、複数の前記セレクタ回路の第1、第2の入力端子にそれぞれ供給され、複数の前記セレクタ回路の出力端子にそれぞれ接続された複数の出力信号線を有し、複数の前記セレクタ回路で選択された信号が対応する前記出力信号線よりそれぞれ出力される、ことを特徴とする請求項2乃至5のいずれか一に記載の機能可変型セル。
  8. 前記機能可変型の回路が、複数段のフリップフロップを縦続接続してなるシフトレジスタを備え、
    前記シフトレジスタの初段の前記フリップフロップのデータ入力端子には、1つの前記制御信号をなす制御データ信号が入力され、複数段の前記フリップフロップは、他の前記制御信号をなす制御クロック信号によって駆動され、初段の前記フリップフロップに入力されたデータ信号が、後段の前記フリップフロップに伝搬させる構成とされており、
    前記シフトレジスタのそれぞれの前記フリップフロップの出力信号を入力し、入力される選択制御信号に基づき、1つの前記フリップフロップの出力信号を選択して出力するセレクタと、
    前記機能可変型の回路に入力される前記入力信号をアドレス信号として受け取り、前記アドレス信号をデコードして前記選択制御信号を生成し前記セレクタに出力するデコーダと、
    を備えたルックアップテーブル回路を少なくとも1つ備えている、ことを特徴とする請求項1乃至5のいずれか一記載の機能可変型セル。
  9. 縦続形態に接続された複数段の前記ルックアップテーブル回路を備え、
    相隣る2つの段の前記ルックアップテーブル回路について、前段の前記ルックアップテーブル回路の最終段のフリップフロップの出力信号が、後段の前記ルックアップテーブル回路の初段のフリップフロップのデータ入力端子に入力され、前記アドレス信号と前記制御クロック信号が、複数の前記ルックアップテーブル回路に、共通に入力される、ことを特徴とする請求項8記載の機能可変型セル。
  10. 請求項1乃至9のいずれか一に記載の機能可変型セルを備え、
    入力されるクロック信号により、入力信号をサンプリングするフリップフロップ回路を1つ又は複数段縦続形態に備えており、
    前記フリップフロップ回路の出力信号が対応する前記機能可変型セルへ制御信号として入力される構成とされている、半導体集積回路。
  11. セルライブラリに予め登録されているセルを予め定められた仕様に基づき配置及び配線して構成される半導体集積回路において、
    与えられた制御信号に基づき、機能の変更、機能の停止、及び、機能の活性化のうちの少なくとも1つを制御する手段を備えた機能可変型セルを有する、ことを特徴とする半導体集積回路。
  12. セルライブラリに予め登録されているセルを予め定められた仕様に基づき配置及び配線して構成される半導体集積回路において、
    前記半導体集積回路の製造時点では、前記仕様には影響を与えない機能に設定されている、1又は複数の機能可変型セルを含み、
    前記機能可変型セルは、与えられた制御信号に基づき、機能の変更、機能の停止、及び、機能の活性化のうちの少なくとも1つを制御する手段を備え、
    前記半導体集積回路の製造後の仕様の変更、及び/又は、バグの修正に対応可能とされてなる、ことを特徴とする半導体集積回路。
  13. 半導体集積回路の製造後における前記半導体集積回路の仕様変更、及び/又は、前記半導体集積回路におけるバグの修正に応じて、前記半導体集積回路内部で生成される制御信号、あるいは、前記半導体集積回路の外部から与えられる制御信号の値によって、機能の変更、機能の停止、及び、機能の活性化のうちの少なくとも1つを制御する手段を備えた機能可変型セルを有する、ことを特徴とする半導体集積回路。
  14. 前記機能可変型セルが、標準セルと混在して配置及び配線が行われ、与えられた制御信号により論理機能が可変とされ、1つ又は複数の入力信号を対応する入力端子より入力し、1つ又は複数の制御信号を対応する制御端子より入力し、前記1つの入力信号の値又は複数の入力信号の値の組合せに対応した出力信号を出力端子から出力し、前記制御信号の値にしたがって、前記1つの入力信号の値又は複数の入力信号の値の組合せと前記出力信号の値との論理の対応関係が可変される機能可変型の回路を備えている、ことを特徴とする請求項11乃至13のいずれか一に記載の半導体集積回路。
  15. 前記機能可変セルが、前記制御信号の値によって機能が可変とされる前記機能可変型の回路の出力信号と、標準セルからなる論理回路の出力信号とを入力し、一方を選択して出力するセレクタ回路を有し、前記セレクタ回路に与える選択制御信号によって、前記機能可変型セルの機能の停止、及び、機能の活性化が制御される、ことを特徴とする請求項14に記載の半導体集積回路。
  16. 前記機能可変型セルは、標準セルと同じ条件で、配置、及び配線されている、ことを特徴とする請求項11乃至15のいずれか一に記載の半導体集積回路。
  17. 前記機能可変型のセルの入力信号線と出力信号線に伝搬する信号の遅延時間が、製造後の仕様の変更に適合するように、あらかじめ、前記機能可変型セルが、配置、及び配線されている、ことを特徴とする請求項11乃至16のいずれか一に記載の半導体集積回路。
  18. 前記半導体集積回路に設けられる複数の機能可変型セルにおいて、機能の変更、機能の停止、及び、機能の活性化のうち少なくとも1つを制御する制御信号が、1又は複数のグループに分割されており、
    それぞれの前記グループ内にある複数の前記制御信号に与えるデータ値が、シリアルに転送される、ことを特徴とする請求項11乃至17のいずれか一に記載の半導体集積回路。
  19. 前記機能可変型セルが、基本ゲートよりなる、論理演算回路、算術演算回路、クロック同期回路、セレクタ回路、メモリ回路のうち、複数の機能のいずれかに、前記制御信号によって選択自在とされている、ことを特徴とする請求項11乃至18のいずれか一に記載の半導体集積回路。
  20. 前記機能可変セルが、複数の標準セルで構成されている、ことを特徴とする請求項11乃至19のいずれか一に記載の半導体集積回路。
  21. 前記機能可変セルが、マトリックス状またはアレイ状に規則正しく配列されることを要さずに、標準セルと混在する形態で、配置、及び配線されている、ことを特徴とする請求項11乃至20のいずれか一に記載の半導体集積回路。
  22. 半導体集積回路の仕様を規定する、ハードウェア記述言語によるハードウェア記述に基づき、論理合成手段にて論理合成を行う、半導体集積回路の設計システムにおいて、
    複数種の標準セルを標準セルライブラリとして記憶する記憶手段と、
    前記標準セルと混在する形態にて配置及び配線が行われ、与えられた制御信号により、論理機能が可変とされる複数種の機能可変型のセルを予め登録した機能可変セルライブラリを記憶する記憶手段と、
    を備え、
    前記論理合成手段は、半導体集積回路のハードウェア記述を入力して解析し、前記ハードウェア記述に機能可変型のセルが指定されている場合、前記機能可変セルライブラリを参照して該当する機能可変型のセルを選択し論理合成を行う、ことを特徴とする半導体集積回路の設計システム。
  23. 前記機能可変セルライブラリに登録されている前記機能可変型のセルが、
    1つ又は複数の入力信号を対応する入力端子より入力し、1つ又は複数の制御信号を対応する制御端子より入力し、前記1つの入力信号の値又は複数の入力信号の値の組合せに対応した出力信号を出力端子から出力し、前記制御信号の値にしたがって、前記1つの入力信号の値又は複数の入力信号の値の組合せと前記出力信号の値との論理の対応関係が可変される機能可変型の回路を有する、ことを特徴とする請求項22記載の半導体集積回路の設計システム。
  24. 前記機能可変型のセルが、前記1つ又は複数の入力信号を対応する入力端子より入力し、前記1つ又は複数の入力信号に関して予め定められた所定の論理演算結果である出力信号を出力端子より出力する標準セルよりなる論理回路と、
    前記論理回路からの出力信号と、前記機能可変型の回路からの出力信号とを、第1及び第2の入力端子よりそれぞれ入力し、選択制御用の制御信号を制御端子より入力し、前記選択制御用の制御信号の値に基づき、前記第1及び第2の入力端子より入力した信号のうちの一方を出力端子より出力するセレクタ回路と、
    を有する、ことを特徴とする請求項23記載の半導体集積回路の設計システム。
  25. 前記機能可変型のセルが、前記1つ又は複数の入力信号のうちの少なくとも1つと、前記機能可変型の回路の出力信号とを、第1及び第2の入力端子よりそれぞれ入力し、選択制御用の制御信号を制御端子より入力し、前記選択制御用の制御信号の値に基づき、前記第1及び第2の入力端子より入力した信号のうちの一方を、出力端子より出力するセレクタ回路を有する、ことを特徴とする請求項23記載の半導体集積回路の設計システム。
  26. 前記機能可変型のセルが、前記機能可変型の回路の出力信号を、データ入力端子より入力し、クロック入力端子に入力されるクロック信号により、前記データ入力端子に入力される信号をサンプルして出力端子から出力するフリップフロップと、
    前記機能可変型の回路の出力信号と、前記フリップフロップの出力信号とを、第1及び第2の入力端子よりそれぞれ入力し、選択制御用の制御信号を制御端子より入力し、前記選択制御用の制御信号の値に基づき、前記第1及び第2の入力端子より入力した信号のうちの一方を出力端子より出力するセレクタ回路と、
    を有する、ことを特徴とする請求項23記載の半導体集積回路の設計システム。
  27. 前記論理合成手段は、前記ハードウェア記述を解析し、前記ハードウェア記述に指定される機能可変度のレベル情報が0の場合には、前記標準セルライブラリから標準セルを選択し、前記ハードウェア記述に機能可変度のレベル情報が指定されている場合には、指定された機能可変度のレベルに対応した機能可変型セルを、前記機能可変セルライブラリから選択する手段を備えている、ことを特徴とする請求項22乃至26のいずれか一に記載の半導体集積回路の設計システム。
  28. 前記論理合成手段による論理合成結果に基づき、回路の配置及び配線を行う手段が、前記機能可変型セルを、標準セルと同じ条件で、配置、及び配線する、ことを特徴とする請求項22乃至26のいずれか一に記載の半導体集積回路の設計システム。
  29. 前記配置及び配線を行う手段は、前記機能可変型のセルの入力信号線と出力信号線に伝搬する信号の遅延時間が、製造後の仕様の変更に適合するように、前記機能可変型セルの配置、及び配線を行う、ことを特徴とする請求項28記載の半導体集積回路の設計システム。
JP2002111144A 2002-04-12 2002-04-12 機能可変型セルと半導体集積回路とその設計システム Expired - Fee Related JP3654259B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002111144A JP3654259B2 (ja) 2002-04-12 2002-04-12 機能可変型セルと半導体集積回路とその設計システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002111144A JP3654259B2 (ja) 2002-04-12 2002-04-12 機能可変型セルと半導体集積回路とその設計システム

Publications (2)

Publication Number Publication Date
JP2003309464A JP2003309464A (ja) 2003-10-31
JP3654259B2 true JP3654259B2 (ja) 2005-06-02

Family

ID=29394068

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002111144A Expired - Fee Related JP3654259B2 (ja) 2002-04-12 2002-04-12 機能可変型セルと半導体集積回路とその設計システム

Country Status (1)

Country Link
JP (1) JP3654259B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5856542B2 (ja) * 2012-06-11 2016-02-09 株式会社日立製作所 半導体集積回路装置

Also Published As

Publication number Publication date
JP2003309464A (ja) 2003-10-31

Similar Documents

Publication Publication Date Title
EP0701713B1 (en) Field programmable logic device with dynamic interconnections to a dynamic logic core
JPH1173302A (ja) グリッチ分析と低減に重点をおいたレジスタトランスファレベルの電力消費最適化回路、方法、及び記録媒体
JPH10327047A (ja) 半導体集積回路およびその設計方法
WO2014080872A2 (ja) 再構成可能な半導体装置の論理構成方法
CN213879787U (zh) 处理器和计算系统
US7065733B2 (en) Method for modifying the behavior of a state machine
JP2004078759A (ja) スキャン機能を有する集積回路の設計方法
US7827433B1 (en) Time-multiplexed routing for reducing pipelining registers
US10790829B2 (en) Logic circuits with simultaneous dual function capability
JP2013179598A (ja) 減少された挿入遅延を持つプログラマブル遅延回路
US6292926B1 (en) Functional module model, pipelined circuit synthesis and pipelined circuit device
JP4512934B2 (ja) 論理設計された集積回路に対するレイアウト設計及びタイミング調整の方法及び装置並びにこの方法を実行するためのプログラム及びこのプログラムが記録されたコンピュータ読み取り可能な記録媒体
US7634748B2 (en) Special engineering change order cells
US20240012613A1 (en) Look Ahead Normaliser
CN1734676A (zh) 带可编程部分的掩模可编程逻辑器件
US7725855B1 (en) Symmetry-based optimization for the physical synthesis of programmable logic devices
JP3654259B2 (ja) 機能可変型セルと半導体集積回路とその設計システム
US8595668B1 (en) Circuits and methods for efficient clock and data delay configuration for faster timing closure
US7696782B2 (en) Programmable core for implementing logic change
CN114765455A (zh) 处理器和计算系统
JP2008198003A (ja) アレイ型プロセッサ
JP3651659B2 (ja) イネーブル付きラッチ回路
US6650139B1 (en) Modular collection of spare gates for use in hierarchical integrated circuit design process
KR100418574B1 (ko) 로드가능 업/다운 카운터 회로
JP3084742B2 (ja) 半導体集積回路

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20041227

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: 20050208

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050221

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: 20080311

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090311

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090311

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100311

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100311

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110311

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110311

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120311

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120311

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130311

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130311

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140311

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees