JPH076183A - 二相式データパス設計の構造化方法 - Google Patents
二相式データパス設計の構造化方法Info
- Publication number
- JPH076183A JPH076183A JP6000043A JP4394A JPH076183A JP H076183 A JPH076183 A JP H076183A JP 6000043 A JP6000043 A JP 6000043A JP 4394 A JP4394 A JP 4394A JP H076183 A JPH076183 A JP H076183A
- Authority
- JP
- Japan
- Prior art keywords
- datapath
- data path
- bus
- layout
- graphic
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
(57)【要約】
【目的】 効率の良い装置レイアウトを生成する、規格
化されたコンピュータ援用型の構造化データパス設計方
法を提供すること 【構成】 事前充電バス及び二相概念を組み込んだ高レ
ベルのグラフィック要素をライブラリの使用を可能にす
るデータパス設計方法である。そのグラフィック要素を
組み合わせて実質的にあらゆる所望の論理機能を形成す
ることができる。その機能要素の組み合わせは、設計の
強健性を確実化する構成規則の制約内で達成される。
化されたコンピュータ援用型の構造化データパス設計方
法を提供すること 【構成】 事前充電バス及び二相概念を組み込んだ高レ
ベルのグラフィック要素をライブラリの使用を可能にす
るデータパス設計方法である。そのグラフィック要素を
組み合わせて実質的にあらゆる所望の論理機能を形成す
ることができる。その機能要素の組み合わせは、設計の
強健性を確実化する構成規則の制約内で達成される。
Description
【0001】
【産業上の利用分野】本発明は一般に、集積回路の設計
に関し、特に、高レベルのグラフィック機能要素とその
機能要素の相互接続可能性を支配する1組の規則とを用
いた二相式データパスの設計用の構造化方法に関する。
に関し、特に、高レベルのグラフィック機能要素とその
機能要素の相互接続可能性を支配する1組の規則とを用
いた二相式データパスの設計用の構造化方法に関する。
【0002】
【従来の技術】まず、以下の説明で使用する用語を簡単
に定義する。
に定義する。
【0003】「データパス」とは、データの格納、転
送、又は論理的操作を行う1組の物理要素をいう。その
データは、例えば1,2,8,16ビット等の任意の幅を有する
ものとすることができる。
送、又は論理的操作を行う1組の物理要素をいう。その
データは、例えば1,2,8,16ビット等の任意の幅を有する
ものとすることができる。
【0004】「二相」とは、或るクロック信号の高位相
及び低位相の双方での格納要素及び機能要素間のデータ
転送をいう。
及び低位相の双方での格納要素及び機能要素間のデータ
転送をいう。
【0005】データパスは、ディジタル論理回路の構造
的要素である。データパスは、論理的及び物理的リンク
(例えば、バス)の物理的及び一般的なデータ処理要素
(例えば、レジスタ、加算器、カウンタ、シフタ、比較
器)からなる。
的要素である。データパスは、論理的及び物理的リンク
(例えば、バス)の物理的及び一般的なデータ処理要素
(例えば、レジスタ、加算器、カウンタ、シフタ、比較
器)からなる。
【0006】現在のところ、データパス回路の設計は、
個々のマニュアル設計方法に従った個別の回路設計者に
よる専用手順となる。
個々のマニュアル設計方法に従った個別の回路設計者に
よる専用手順となる。
【0007】データパス設計は、設計すべき機能の概念
化で始まる。次いで一般には、そのデータパスの基礎的
な中心部としてバスが規定される。次いで所望の機能を
提供すべく前記バスにレジスタ及び機能ユニットを「オ
ン・ザ・フライ」で接続する。単一のバスは、データパ
ス要素間の1対1転送に設計を拘束するので、機能ユニ
ットの複製及びその設計への特殊な接続を組み込む必要
が生じる場合が多い。その結果として、データパス装置
用の物理レイアウトが、規格化できず、非効率的なもの
となることが多い。
化で始まる。次いで一般には、そのデータパスの基礎的
な中心部としてバスが規定される。次いで所望の機能を
提供すべく前記バスにレジスタ及び機能ユニットを「オ
ン・ザ・フライ」で接続する。単一のバスは、データパ
ス要素間の1対1転送に設計を拘束するので、機能ユニ
ットの複製及びその設計への特殊な接続を組み込む必要
が生じる場合が多い。その結果として、データパス装置
用の物理レイアウトが、規格化できず、非効率的なもの
となることが多い。
【0008】
【発明が解決しようとする課題】従って、効率の良い装
置レイアウトを生成する規格化されたコンピュータ援用
型の構造化データパス設計方法を利用可能とすることが
極めて望ましい。
置レイアウトを生成する規格化されたコンピュータ援用
型の構造化データパス設計方法を利用可能とすることが
極めて望ましい。
【0009】
【課題を解決するための手段】本発明は、2つの事前充
電されたバス(以下、事前充電バスと称す)及び二相概
念を包含する高レベルグラフィック要素のライブラリを
用いたデータパス設計方法を提供するものである。前記
グラフィック要素は、実質的にあらゆる所望の論理機能
を形成するよう組み合わせ可能なものである。グラフィ
ック要素の組み合わせは、設計の強健性を確実にする1
組の構成規則の制約内で達成される。
電されたバス(以下、事前充電バスと称す)及び二相概
念を包含する高レベルグラフィック要素のライブラリを
用いたデータパス設計方法を提供するものである。前記
グラフィック要素は、実質的にあらゆる所望の論理機能
を形成するよう組み合わせ可能なものである。グラフィ
ック要素の組み合わせは、設計の強健性を確実にする1
組の構成規則の制約内で達成される。
【0010】本発明の方法の重要な特徴は、グラフィッ
ク要素内の物理メモリ及び機能要素に対する強固に構造
化された事前充電バスの関係である。各グラフィック要
素は、2つの事前充電バスを備えている。それらのバス
は、逆信号位相形式のものであり、セグメント化された
ものとすることができる。各グラフィック要素の構造
は、双方の形式のバスとの間でのメモリ及び機能要素の
アクセスを可能にするように生成される。各メモリ及び
機能要素が何れのクロック位相にもアクセス可能である
ことより、1組の効果尺度(FOM)規則が実施可能とな
る。FOM規則中ではストローブ回路もまた詳述される。
クロック機構は、データパス内での同期タイミングと、
そのデータパスが一部となるシステム内の他の機能的な
動作に対する同期タイミングとの両方の強健性を確立す
る重要な特徴である。
ク要素内の物理メモリ及び機能要素に対する強固に構造
化された事前充電バスの関係である。各グラフィック要
素は、2つの事前充電バスを備えている。それらのバス
は、逆信号位相形式のものであり、セグメント化された
ものとすることができる。各グラフィック要素の構造
は、双方の形式のバスとの間でのメモリ及び機能要素の
アクセスを可能にするように生成される。各メモリ及び
機能要素が何れのクロック位相にもアクセス可能である
ことより、1組の効果尺度(FOM)規則が実施可能とな
る。FOM規則中ではストローブ回路もまた詳述される。
クロック機構は、データパス内での同期タイミングと、
そのデータパスが一部となるシステム内の他の機能的な
動作に対する同期タイミングとの両方の強健性を確立す
る重要な特徴である。
【0011】このデータパス設計方法は、データパスの
回路構成を迅速に特定し、次いで、グラフィック要素に
対応する1組のレイアウトセルに基づいて対応する物理
レイアウトを実施するために利用することができる。次
いで、データパス規則が満たされて、タイミング確認が
完了する。
回路構成を迅速に特定し、次いで、グラフィック要素に
対応する1組のレイアウトセルに基づいて対応する物理
レイアウトを実施するために利用することができる。次
いで、データパス規則が満たされて、タイミング確認が
完了する。
【0012】この設計方法はまた、面積の節約を提供す
る。第1に、2ビット以上のデータ(通常は8の倍数)
について動作が実行されるので、共通制御信号(例え
ば、ストローブ)を使用することができる。第2に、極
めて緊密なレイアウトのパッキングを達成するようデー
タパス要素を規則正しい配列で配置することができる。
第3に、事前充電された二相式の多重バスを用いること
により、極めて高効率のアーキテクチャが提供される。
典型的な場合では、標準的な同期設計技術を用いて同一
のデータパス機能が実施された場合に、約2〜3倍の多
くのチップ面積が必要となり、結果的に生じる設計は一
層複雑なものとなる。
る。第1に、2ビット以上のデータ(通常は8の倍数)
について動作が実行されるので、共通制御信号(例え
ば、ストローブ)を使用することができる。第2に、極
めて緊密なレイアウトのパッキングを達成するようデー
タパス要素を規則正しい配列で配置することができる。
第3に、事前充電された二相式の多重バスを用いること
により、極めて高効率のアーキテクチャが提供される。
典型的な場合では、標準的な同期設計技術を用いて同一
のデータパス機能が実施された場合に、約2〜3倍の多
くのチップ面積が必要となり、結果的に生じる設計は一
層複雑なものとなる。
【0013】本発明の特徴及び利点は、以下の詳細な説
明、及び、本発明の原理を用いた例示的な実施例を示す
図面を参照することにより、一層良好に理解されよう。
明、及び、本発明の原理を用いた例示的な実施例を示す
図面を参照することにより、一層良好に理解されよう。
【0014】
【実施例】本発明による構造化二相式データパス設計方
法は、3つの主な構成要素、即ち、(1)標準データパス
グラフィック機能要素のライブラリと、(2)データパス
設計生成ツール(例えば、図式捕捉、レイアウト生成器
等)と、(3)データパス設計確認ツール(例えば、ブロ
ックレベルタイミング確認器等)とを含む設計プラット
ホームを用いてコンピュータにより実施される。これら
構成要素の各々については、以降で詳述することとす
る。
法は、3つの主な構成要素、即ち、(1)標準データパス
グラフィック機能要素のライブラリと、(2)データパス
設計生成ツール(例えば、図式捕捉、レイアウト生成器
等)と、(3)データパス設計確認ツール(例えば、ブロ
ックレベルタイミング確認器等)とを含む設計プラット
ホームを用いてコンピュータにより実施される。これら
構成要素の各々については、以降で詳述することとす
る。
【0015】図1は、本発明の方法によるデータパス設
計のシーケンスを示すものである。そのデータパス設計
は、一般に、そのデータパスが一部となるシステムのた
めの制御論理が規定される前に、フローチャート技法又
はマニュアルのいずれかによって行われる。図1に示す
ように、まず、論理設計者は、8ビットグラフィック機
能要素を配置することによりデータパス図式を描く。こ
れは、従来の図式捕捉環境で行われ、例えば、Cadence
による図式捕捉環境が適当である。次いで、電気的及び
論理的互換性に関する全てのデータパス規則を満たすよ
うに、そのデータパス図式がチェックされる。関連する
制御論理がフローチャートツールで設計されることにな
る場合には、フローチャート制約ファイルが生成され
て、その制御論理が合成される。次いで、ブロックレベ
ルタイミング確認(BLTV)手順が用いられて、データパス
と制御論理との間の全てのインターフェース信号のタイ
ミングがチェックされ、また、全ての伝搬遅延及びセッ
トアップ/ホールド時間がチェックされる。タイミング
上の問題が識別された場合には、制御論理信号の速度が
上昇又は下降される。制御論理がマニュアルその他の手
段により設計されている場合には、その信号の速度を上
昇又は下降させるために適当な段階を踏まなければなら
ない。次いで、BLTV手順が再び実行され、全てのタイミ
ングが正しいことを保証するために数回の反復が必要と
される。最終的には、データパス図式は、対応するレイ
アウトへとほぼ即座に変換されることになる。
計のシーケンスを示すものである。そのデータパス設計
は、一般に、そのデータパスが一部となるシステムのた
めの制御論理が規定される前に、フローチャート技法又
はマニュアルのいずれかによって行われる。図1に示す
ように、まず、論理設計者は、8ビットグラフィック機
能要素を配置することによりデータパス図式を描く。こ
れは、従来の図式捕捉環境で行われ、例えば、Cadence
による図式捕捉環境が適当である。次いで、電気的及び
論理的互換性に関する全てのデータパス規則を満たすよ
うに、そのデータパス図式がチェックされる。関連する
制御論理がフローチャートツールで設計されることにな
る場合には、フローチャート制約ファイルが生成され
て、その制御論理が合成される。次いで、ブロックレベ
ルタイミング確認(BLTV)手順が用いられて、データパス
と制御論理との間の全てのインターフェース信号のタイ
ミングがチェックされ、また、全ての伝搬遅延及びセッ
トアップ/ホールド時間がチェックされる。タイミング
上の問題が識別された場合には、制御論理信号の速度が
上昇又は下降される。制御論理がマニュアルその他の手
段により設計されている場合には、その信号の速度を上
昇又は下降させるために適当な段階を踏まなければなら
ない。次いで、BLTV手順が再び実行され、全てのタイミ
ングが正しいことを保証するために数回の反復が必要と
される。最終的には、データパス図式は、対応するレイ
アウトへとほぼ即座に変換されることになる。
【0016】図2は、データパスの一例を示すものであ
る。同図の右側及び中央にある2つの細長い列は、2つ
のデータバスである。右側のデータバスはバスB2、中央
のデータバスはバスB1として示されている。レジスタ、
バスドライバ、減算器等のデータ処理要素は、2つのバ
スB1,B2の間に配置される。更に、3つの小さなバス(RB
1,RB2,RB3)が、バスB1,B2の間に配置されて、或るデー
タ処理要素から別のデータ処理要素へと延びている。こ
れらのバスは、包括的にレジスタバスと呼ばれている。
る。同図の右側及び中央にある2つの細長い列は、2つ
のデータバスである。右側のデータバスはバスB2、中央
のデータバスはバスB1として示されている。レジスタ、
バスドライバ、減算器等のデータ処理要素は、2つのバ
スB1,B2の間に配置される。更に、3つの小さなバス(RB
1,RB2,RB3)が、バスB1,B2の間に配置されて、或るデー
タ処理要素から別のデータ処理要素へと延びている。こ
れらのバスは、包括的にレジスタバスと呼ばれている。
【0017】図2で示すように、図1のデータパスの左
側の入出力信号は、関連する制御論理とインターフェー
スをとるものである。制御論理のインターフェース信号
は、包括的にストローブ/バッファセルと呼ばれる小さ
なボックスに接続される。図2の左下に示す2つのクロ
ック信号「nclk」及び「clkbuff」は、データパス用の
クロック信号を提供するものである。図2の右上に示す
ように、バスB2はコネクタC1上に引き出される。このコ
ネクタC1は、図2のデータパス図式を別のデータパス図
式へ接続するのに使用されるものである。
側の入出力信号は、関連する制御論理とインターフェー
スをとるものである。制御論理のインターフェース信号
は、包括的にストローブ/バッファセルと呼ばれる小さ
なボックスに接続される。図2の左下に示す2つのクロ
ック信号「nclk」及び「clkbuff」は、データパス用の
クロック信号を提供するものである。図2の右上に示す
ように、バスB2はコネクタC1上に引き出される。このコ
ネクタC1は、図2のデータパス図式を別のデータパス図
式へ接続するのに使用されるものである。
【0018】図2に示すように、バスB1,B2及びレジス
タバスRB1,RB2,RB3は、それらにまたがる小さな水平の
ラインを有する。これらのラインは、コンピュータのシ
ステムメモリ中に格納されている標準8ビットグラフィ
ック機能要素のライブラリから選択されたグラフィック
機能要素間の境界を規定するものである。例えば、ボッ
クス「decr8」及びボックス「bufdecr」は、そのような
2つのライン間にあるもので、減算機能要素用の同じグ
ラフィック記号の一部である。図2に示すように、減算
記号はまたバスB1,B2の列を含んでいる。同様に、ボッ
クス「rtr2Q8」と、ボックス「strbin2」と、ボックス
「decr8」を要素rtr2Q8に接続するレジスタバスRB2と、
バスB1,B2とは、レジスタ機能要素用の別のグラフィッ
ク記号の全ての部分である。本発明の概念によれば、8
ビットグラフィック機能要素ファイルのこれら個々のグ
ラフィック記号が、選択された順序でスタックされて、
所望のデータパス図式が生成される。
タバスRB1,RB2,RB3は、それらにまたがる小さな水平の
ラインを有する。これらのラインは、コンピュータのシ
ステムメモリ中に格納されている標準8ビットグラフィ
ック機能要素のライブラリから選択されたグラフィック
機能要素間の境界を規定するものである。例えば、ボッ
クス「decr8」及びボックス「bufdecr」は、そのような
2つのライン間にあるもので、減算機能要素用の同じグ
ラフィック記号の一部である。図2に示すように、減算
記号はまたバスB1,B2の列を含んでいる。同様に、ボッ
クス「rtr2Q8」と、ボックス「strbin2」と、ボックス
「decr8」を要素rtr2Q8に接続するレジスタバスRB2と、
バスB1,B2とは、レジスタ機能要素用の別のグラフィッ
ク記号の全ての部分である。本発明の概念によれば、8
ビットグラフィック機能要素ファイルのこれら個々のグ
ラフィック記号が、選択された順序でスタックされて、
所望のデータパス図式が生成される。
【0019】上述のように、図2のデータパスアーキテ
クチャは、二相設計に基づくものである。したがって、
クロック信号clkbuffのあらゆる位相で、何らかのデー
タ処理動作が可能となる。
クチャは、二相設計に基づくものである。したがって、
クロック信号clkbuffのあらゆる位相で、何らかのデー
タ処理動作が可能となる。
【0020】図3に示すように、本発明の概念にしたが
ってデータパスを生成するのに以下の6タイプの信号が
利用可能である。
ってデータパスを生成するのに以下の6タイプの信号が
利用可能である。
【0021】1.1S これらの信号は、クロックが低レベルの際にのみ変化
し、このため、クロックが高レベルの間は安定してい
る。
し、このため、クロックが高レベルの間は安定してい
る。
【0022】2.2S これらの信号は、クロックが高レベルの際にのみ変化
し、このため、クロックが低レベルの間は安定してい
る。
し、このため、クロックが低レベルの間は安定してい
る。
【0023】3.1Q これらの信号は、高レベルクロックパルスから導出さ
れ、このため、高レベルクロックパルスから遅延したパ
ルスタイプのものとなる。
れ、このため、高レベルクロックパルスから遅延したパ
ルスタイプのものとなる。
【0024】4.2Q これらの信号は、低レベルクロックパルスから導出さ
れ、このため、低レベルクロックパルスから遅延したパ
ルスタイプのものとなる。
れ、このため、低レベルクロックパルスから遅延したパ
ルスタイプのものとなる。
【0025】5.1P このタイプのバスは、クロックが低レベルの間に事前充
電され、クロックが高レベルの間に評価される。
電され、クロックが高レベルの間に評価される。
【0026】6.2P このタイプのバスは、クロックが高レベルの間に事前充
電され、クロックが低レベルの間に評価される。
電され、クロックが低レベルの間に評価される。
【0027】図2に示すデータパス図式はまた、各信号
及び各バスの信号のタイプを示している。バスは、同じ
タイプのその構成信号の全てを有している。バスB1は常
に1S又は1Pタイプの信号を有し、またバスB2は常に2S又
は2Pタイプの信号を有する。レジスタバスは、1S又は2S
タイプの信号を有することができる。
及び各バスの信号のタイプを示している。バスは、同じ
タイプのその構成信号の全てを有している。バスB1は常
に1S又は1Pタイプの信号を有し、またバスB2は常に2S又
は2Pタイプの信号を有する。レジスタバスは、1S又は2S
タイプの信号を有することができる。
【0028】本開示のデータパス設計方法では、標準グ
ラフィック機能要素ライブラリ中に39の8ビットグラフ
ィック機能要素が個々に存在する。これらグラフィック
機能要素は、以下の6グループに分類することができ
る。即ち、レジスタ(9タイプ)、バスドライバ(8タ
イプ)、事前充電要素(4タイプ)、機能要素(7タイ
プ)、制御論理−データビット要素(2タイプ)、スペ
ーサ及びエクステンダ(10タイプ)の6グループであ
る。
ラフィック機能要素ライブラリ中に39の8ビットグラフ
ィック機能要素が個々に存在する。これらグラフィック
機能要素は、以下の6グループに分類することができ
る。即ち、レジスタ(9タイプ)、バスドライバ(8タ
イプ)、事前充電要素(4タイプ)、機能要素(7タイ
プ)、制御論理−データビット要素(2タイプ)、スペ
ーサ及びエクステンダ(10タイプ)の6グループであ
る。
【0029】8ビットレジスタ要素 機能要素ライブラリに含まれる9タイプのレジスタグラ
フィック機能要素(図4ないし図6参照)にはメモリセ
ルが含まれる。それらレジスタ要素は、それらへのデー
タの入力の態様が異なるものである。通常、レジスタ要
素への入力データは、バス、別のレジスタ、又は機能要
素から到来する。レジスタの出力は、バスドライバ、機
能要素、別のレジスタ、又はそれらを組み合わせたもの
を駆動する。クロックnclk,clkbuffは、レジスタ要素へ
のデータのロードのタイミング管理を行うために、タイ
プ1Q,2Qのストローブ信号を生成する。レジスタ要素の
各々に関する更に別の情報を以下に示す(図4ないし図
6参照)。
フィック機能要素(図4ないし図6参照)にはメモリセ
ルが含まれる。それらレジスタ要素は、それらへのデー
タの入力の態様が異なるものである。通常、レジスタ要
素への入力データは、バス、別のレジスタ、又は機能要
素から到来する。レジスタの出力は、バスドライバ、機
能要素、別のレジスタ、又はそれらを組み合わせたもの
を駆動する。クロックnclk,clkbuffは、レジスタ要素へ
のデータのロードのタイミング管理を行うために、タイ
プ1Q,2Qのストローブ信号を生成する。レジスタ要素の
各々に関する更に別の情報を以下に示す(図4ないし図
6参照)。
【0030】1.b1tr8 (bus1 to register (8-bit)) 信号en1sが高レベルの際、バスB1の内容がclkbuffのア
ップエッジでレジスタ19へ転送される(図4(a)参
照)。
ップエッジでレジスタ19へ転送される(図4(a)参
照)。
【0031】2.b2tr8 (bus2 to register (8-bit)) 信号en2sが高レベルの際、バスB2の内容がclkbuffのダ
ウンエッジでレジスタ13へ転送される(図4(b)参
照)。
ウンエッジでレジスタ13へ転送される(図4(b)参
照)。
【0032】3.b1b2tr8 (bus1 or bus2 to register
(8-bit)) 信号en1sが高レベルの際、バスB1の内容がclkbuffのア
ップエッジでレジスタ14へ転送される。信号en2sが高レ
ベルの際、バスB2の内容がclkbuffのダウンエッジでレ
ジスタ14へ転送される(図4(c)参照)。
(8-bit)) 信号en1sが高レベルの際、バスB1の内容がclkbuffのア
ップエッジでレジスタ14へ転送される。信号en2sが高レ
ベルの際、バスB2の内容がclkbuffのダウンエッジでレ
ジスタ14へ転送される(図4(c)参照)。
【0033】4.rtr1Q8 (Register to register (8-b
it) with 1Q strobe) 信号en1sが高レベルの際、上位のレジスタの内容がclkb
uffのアップエッジ(1Qストローブを生成するもの)で
レジスタ135へ転送される(図5(a)参照)。
it) with 1Q strobe) 信号en1sが高レベルの際、上位のレジスタの内容がclkb
uffのアップエッジ(1Qストローブを生成するもの)で
レジスタ135へ転送される(図5(a)参照)。
【0034】5.rtr2Q8 (Register to register (8-b
it) with 2Q strobe) 信号en2sが高レベルの際、上位のレジスタの内容がclkb
uffのダウンエッジ(2Qストローブを生成するもの)で
レジスタ136へ転送される(図5(b)参照)。
it) with 2Q strobe) 信号en2sが高レベルの際、上位のレジスタの内容がclkb
uffのダウンエッジ(2Qストローブを生成するもの)で
レジスタ136へ転送される(図5(b)参照)。
【0035】6.b1rtr8 (bus1 or regi
ster to register (8−bit)) 信号en1sが高レベルの際、バスB1の内容がclkbuff
のアップエッジでレジスタ17へ転送される。信号en1bが
高レベルの際、上位のレジスタの内容がclkbuffのアッ
プエッジ(レジスタからレジスタへの転送は1Qストロー
ブによる)でレジスタ17へ転送される(図5(c)参
照)。
ster to register (8−bit)) 信号en1sが高レベルの際、バスB1の内容がclkbuff
のアップエッジでレジスタ17へ転送される。信号en1bが
高レベルの際、上位のレジスタの内容がclkbuffのアッ
プエッジ(レジスタからレジスタへの転送は1Qストロー
ブによる)でレジスタ17へ転送される(図5(c)参
照)。
【0036】7.b1rtr2Q8 (bus1 or register to reg
ister (8-bit) with 2Q strobe) 信号en1sが高レベルの際、バスB1の内容がclkbuffのア
ップエッジでレジスタ17へ転送される。信号en2bが高レ
ベルの際、上位のレジスタの内容がclkbuffのダウンエ
ッジ(レジスタからレジスタへの転送は2Qストローブに
よる)でレジスタ17へ転送される(図6(a)参照)。
ister (8-bit) with 2Q strobe) 信号en1sが高レベルの際、バスB1の内容がclkbuffのア
ップエッジでレジスタ17へ転送される。信号en2bが高レ
ベルの際、上位のレジスタの内容がclkbuffのダウンエ
ッジ(レジスタからレジスタへの転送は2Qストローブに
よる)でレジスタ17へ転送される(図6(a)参照)。
【0037】8.b2rtr2Q8 (bus2 or register to reg
ister (8-bit) with 2Q strobe) 信号en2sが高レベルの際、バスB2の内容がclkbuffのダ
ウンエッジでレジスタ112へ転送される。信号en1bが高
レベルの際、上位のレジスタの内容がclkbuffのアップ
エッジ(レジスタからレジスタへの転送は1Qストローブ
による)でレジスタ112へ転送される(図6(b)参照)。
ister (8-bit) with 2Q strobe) 信号en2sが高レベルの際、バスB2の内容がclkbuffのダ
ウンエッジでレジスタ112へ転送される。信号en1bが高
レベルの際、上位のレジスタの内容がclkbuffのアップ
エッジ(レジスタからレジスタへの転送は1Qストローブ
による)でレジスタ112へ転送される(図6(b)参照)。
【0038】9.b2rtr8 (bus2 or register to regis
ter (8-bit)) 信号en2sが高レベルの際、バスB2の内容がclkbuffのダ
ウンエッジでレジスタ112へ転送される。信号en2bが高
レベルの際、上位のレジスタの内容がclkbuffのダウン
エッジ(レジスタからレジスタへの転送は2Qストローブ
による)でレジスタ112へ転送される(図6(c)参照)。
ter (8-bit)) 信号en2sが高レベルの際、バスB2の内容がclkbuffのダ
ウンエッジでレジスタ112へ転送される。信号en2bが高
レベルの際、上位のレジスタの内容がclkbuffのダウン
エッジ(レジスタからレジスタへの転送は2Qストローブ
による)でレジスタ112へ転送される(図6(c)参照)。
【0039】バスドライバ グラフィック機能要素ライブラリに含まれる8タイプの
バスドライバグラフィック要素を図7及び図8に示す。
通常、バスドライバへの入力は、レジスタ又は機能要素
から到来する。バスドライバは、スタティックバス又は
事前充電バスを駆動する。バスドライバはまた、その入
力信号を以下の要素(その信号を使用するものであって
も使用しないものであっても良い)まで拡張する。クロ
ック信号nclk,clkbuffは、事前充電バスドライバのプル
ダウンのタイミング管理を行うために、タイプ1Q,2Qの
ストローブ信号を生成する。バスドライバ要素の各々に
関する更に別の情報を以下に示す(図7及び図8参
照)。
バスドライバグラフィック要素を図7及び図8に示す。
通常、バスドライバへの入力は、レジスタ又は機能要素
から到来する。バスドライバは、スタティックバス又は
事前充電バスを駆動する。バスドライバはまた、その入
力信号を以下の要素(その信号を使用するものであって
も使用しないものであっても良い)まで拡張する。クロ
ック信号nclk,clkbuffは、事前充電バスドライバのプル
ダウンのタイミング管理を行うために、タイプ1Q,2Qの
ストローブ信号を生成する。バスドライバ要素の各々に
関する更に別の情報を以下に示す(図7及び図8参
照)。
【0040】1.rtb1drv8 (register to bus1 driver
(8-bit)) 上位のレジスタの内容がタイプ1SのスタティックバスB1
に連続的に転送される(図7(a)参照)。
(8-bit)) 上位のレジスタの内容がタイプ1SのスタティックバスB1
に連続的に転送される(図7(a)参照)。
【0041】2.rtb2drv8 (register to bus2 driver
(8-bit)) 上位のレジスタの内容がタイプ2SのスタティックバスB2
に連続的に転送される(図7(b)参照)。
(8-bit)) 上位のレジスタの内容がタイプ2SのスタティックバスB2
に連続的に転送される(図7(b)参照)。
【0042】3.rtb18 (register to bus1 (8-bit)) 信号en1sが高レベルの際、上位のレジスタの内容が、cl
kbuffのアップエッジでタイプ1Pの事前充電バスB1に転
送される(図8(a)参照)。
kbuffのアップエッジでタイプ1Pの事前充電バスB1に転
送される(図8(a)参照)。
【0043】4.rtb28 (register to bus2 (8-bit)) 信号en2sが高レベルの際、上位のレジスタの内容が、cl
kbuffのダウンエッジでタイプ2Pの事前充電バスB2に転
送される(図8(b)参照)。
kbuffのダウンエッジでタイプ2Pの事前充電バスB2に転
送される(図8(b)参照)。
【0044】5.rtb1b28 (register to bus1 or bus2
(8-bit)) 信号en1sが高レベルの際、上位のレジスタの内容が、cl
kbuffのアップエッジでタイプ1Pの事前充電バスB1に転
送される。信号en2sが高レベルの際、上位のレジスタの
内容が、clkbuffのダウンエッジでタイプ2Pの事前充電
バスB2に転送される(図8(c)参照)。
(8-bit)) 信号en1sが高レベルの際、上位のレジスタの内容が、cl
kbuffのアップエッジでタイプ1Pの事前充電バスB1に転
送される。信号en2sが高レベルの際、上位のレジスタの
内容が、clkbuffのダウンエッジでタイプ2Pの事前充電
バスB2に転送される(図8(c)参照)。
【0045】以下のバスドライバグラフィック要素は、
それらがレジスタ出力をバス上に転送しない、という点
で異なるものである。代わりに、それら要素は、制御論
理からバス上へ信号を転送する。
それらがレジスタ出力をバス上に転送しない、という点
で異なるものである。代わりに、それら要素は、制御論
理からバス上へ信号を転送する。
【0046】6.b1zero8 (bus1 to zero pulldown (8
-bit)) 信号en1sが高レベルの際、タイプ1Pの事前充電バスB1
が、clkbuffのアップエッジでゼロにプルダウンされる
(図8(d)参照)。
-bit)) 信号en1sが高レベルの際、タイプ1Pの事前充電バスB1
が、clkbuffのアップエッジでゼロにプルダウンされる
(図8(d)参照)。
【0047】7.b2zero8 (bus2 to zero pulldown (8
-bit)) 信号en2sが高レベルの際、タイプ2Pの事前充電バスB2
が、clkbuffのダウンエッジでゼロにプルダウンされる
(図8(e)参照)。
-bit)) 信号en2sが高レベルの際、タイプ2Pの事前充電バスB2
が、clkbuffのダウンエッジでゼロにプルダウンされる
(図8(e)参照)。
【0048】8.b1b2zero8 (bus1 or bus2 to zero p
ulldown (8-bit)) 信号en1sが高レベルの際、タイプ1Pの事前充電バスB1
が、clkbuffのアップエッジでゼロにプルダウンされ
る。信号en2sが高レベルの際、タイプ2Pの事前充電バス
B2が、clkbuffのダウンエッジでゼロにプルダウンされ
る(図8(f)参照)。
ulldown (8-bit)) 信号en1sが高レベルの際、タイプ1Pの事前充電バスB1
が、clkbuffのアップエッジでゼロにプルダウンされ
る。信号en2sが高レベルの際、タイプ2Pの事前充電バス
B2が、clkbuffのダウンエッジでゼロにプルダウンされ
る(図8(f)参照)。
【0049】事前充電要素 グラフィック機能要素ライブラリに含まれる4タイプの
事前充電グラフィック要素を以下に示す(図9参照)。
事前充電グラフィック要素を以下に示す(図9参照)。
【0050】1.pchrg8 (precharge bus1 (8-bit)) この要素は、clkbuffが低レベルの間にタイプ1PのバスB
1を事前充電する(図9(a)参照)。
1を事前充電する(図9(a)参照)。
【0051】2.pchrgb28 (precharge bus2 (8-bit)) この要素は、clkbuffが高レベルの間にタイプ2PのバスB
2を事前充電する(図9(b)参照)。
2を事前充電する(図9(b)参照)。
【0052】3.pchrgb1b28 (precharge bus1 and bu
s2 (8-bit)) この要素は、clkbuffが低レベルの間にタイプ1PのバスB
1を事前充電し、またclkbuffが高レベルの間にタイプ2P
のバスB2を事前充電する(図9(c)参照)。
s2 (8-bit)) この要素は、clkbuffが低レベルの間にタイプ1PのバスB
1を事前充電し、またclkbuffが高レベルの間にタイプ2P
のバスB2を事前充電する(図9(c)参照)。
【0053】4.b1prchcap8 (capacitor element for
bus1) この要素は、バス(事前充電要素及びコンデンサ要素自
体を除く)に接続されている入力及び出力の合計が7よ
り小さい場合に、バスB1を事前充電する(図示せず)。
bus1) この要素は、バス(事前充電要素及びコンデンサ要素自
体を除く)に接続されている入力及び出力の合計が7よ
り小さい場合に、バスB1を事前充電する(図示せず)。
【0054】機能要素 グラフィック機能要素ライブラリに含まれる7つのグラ
フィック要素(図10及び図11参照)は、データパス
設計の算術的/論理的機能を提供するものである。それ
ら要素は、それらより上位のレジスタ及び制御論理から
のデータ、例えば「carry in」を受容する。出力データ
は、その要素の下位で供給され、他のレジスタ、バスド
ライバ、他の機能要素、又はそれらを組み合わせたもの
を駆動することができる。内蔵レジスタを有する加算器
を除き、これらの要素でバスB1又はバスB2を用いるもの
はなく、単にそれらのバスをその下位の要素まで拡張す
る。これら各要素に関する更に別の情報を以下に示す
(図10及び図11参照)。
フィック要素(図10及び図11参照)は、データパス
設計の算術的/論理的機能を提供するものである。それ
ら要素は、それらより上位のレジスタ及び制御論理から
のデータ、例えば「carry in」を受容する。出力データ
は、その要素の下位で供給され、他のレジスタ、バスド
ライバ、他の機能要素、又はそれらを組み合わせたもの
を駆動することができる。内蔵レジスタを有する加算器
を除き、これらの要素でバスB1又はバスB2を用いるもの
はなく、単にそれらのバスをその下位の要素まで拡張す
る。これら各要素に関する更に別の情報を以下に示す
(図10及び図11参照)。
【0055】1.compl8 (complementer (8bit)) 信号complinが高レベルの際、上位からの8ビットデー
タ入力の補数がとられて下位の要素へ送られる。また信
号complinが低レベルの際には、上位からのデータがそ
のまま下位の要素へ送られる(図10(a)参照)。
タ入力の補数がとられて下位の要素へ送られる。また信
号complinが低レベルの際には、上位からのデータがそ
のまま下位の要素へ送られる(図10(a)参照)。
【0056】2.incr8 (incrementer (8bit)) 信号cin0が上位からの8ビットデータ入力に加算され、
その8ビットの合計が下位の要素へ送られる。信号cout
7は最上位ビットからの結果的な桁上げである(図10
(b)参照)。
その8ビットの合計が下位の要素へ送られる。信号cout
7は最上位ビットからの結果的な桁上げである(図10
(b)参照)。
【0057】3.decr8 (decrementer (8bit)) 上位からの8ビットデータ入力から信号bin0が減算さ
れ、その8ビットの結果が下位の要素へ送られる。信号
bout7は最上位ビットからの結果的な借りである(図1
0(c)参照)。
れ、その8ビットの結果が下位の要素へ送られる。信号
bout7は最上位ビットからの結果的な借りである(図1
0(c)参照)。
【0058】4.addr8 (adder (8-bit)) この加算器は、2つの8ビットデータバイト及び信号ci
nを加算する。オペランドバイトの内の1つはその加算
器の上位要素から到来し、その他はこの加算器の内蔵レ
ジスタ(累算器)から到来する。この累算器は、バスB1
からロードを行うことができるものである。この累算器
の内容は、タイプ2PのバスB2上に読み出すことができ
る。8ビットの合計は、この加算器の下位要素へ供給さ
れる。信号coutは、最上位ビットからの結果的な桁上げ
である(図10(d)参照)。
nを加算する。オペランドバイトの内の1つはその加算
器の上位要素から到来し、その他はこの加算器の内蔵レ
ジスタ(累算器)から到来する。この累算器は、バスB1
からロードを行うことができるものである。この累算器
の内容は、タイプ2PのバスB2上に読み出すことができ
る。8ビットの合計は、この加算器の下位要素へ供給さ
れる。信号coutは、最上位ビットからの結果的な桁上げ
である(図10(d)参照)。
【0059】5.rshft8 (right-shift (8-bit)) この要素は、その上位要素から受信したデータを1ビッ
トだけ右にシフトさせる。上位から入力されたデータの
最下位ビット(ビット0)が信号shftoutで利用可能と
なり、信号shftinが、このシフタにより出力されるデー
タの最上位ビット(ビット7)となる(図11(a)参
照)。
トだけ右にシフトさせる。上位から入力されたデータの
最下位ビット(ビット0)が信号shftoutで利用可能と
なり、信号shftinが、このシフタにより出力されるデー
タの最上位ビット(ビット7)となる(図11(a)参
照)。
【0060】6.lshft8 (left-shift (8-bit)) この要素は、その上位要素から受信したデータを1ビッ
トだけ左にシフトさせる。上位から入力されたデータの
最上位ビット(ビット7)が信号shftoutで利用可能と
なり、信号shftinが、このシフタにより出力されるデー
タの最下位ビット(ビット0)となる(図11(b)参
照)。
トだけ左にシフトさせる。上位から入力されたデータの
最上位ビット(ビット7)が信号shftoutで利用可能と
なり、信号shftinが、このシフタにより出力されるデー
タの最下位ビット(ビット0)となる(図11(b)参
照)。
【0061】7.rlshft8 (right・left-shift (8-bi
t)) 信号rnlshftが高レベルの際、この要素は右シフタとし
て機能し、その上位から入力されたデータの最下位ビッ
ト(ビット0)が信号shftoutで利用可能となり、信号s
hftinが、このシフタにより出力されるデータの最上位
ビット(ビット7)となる。また信号rnlshftが低レベ
ルの際には、この要素は左シフタとして機能し、その上
位から入力されたデータの最上位ビット(ビット7)が
信号shftoutで利用可能となり、信号shftinが、このシ
フタにより出力されるデータの最下位ビット(ビット
0)となる(図11(c)参照)。
t)) 信号rnlshftが高レベルの際、この要素は右シフタとし
て機能し、その上位から入力されたデータの最下位ビッ
ト(ビット0)が信号shftoutで利用可能となり、信号s
hftinが、このシフタにより出力されるデータの最上位
ビット(ビット7)となる。また信号rnlshftが低レベ
ルの際には、この要素は左シフタとして機能し、その上
位から入力されたデータの最上位ビット(ビット7)が
信号shftoutで利用可能となり、信号shftinが、このシ
フタにより出力されるデータの最下位ビット(ビット
0)となる(図11(c)参照)。
【0062】制御論理−データビット要素 グラフィック機能要素ライブラリには、図12に示す2
つの特殊なグラフィック要素が含まれ、それらは、制御
論理がデータパス中の1つ以上のデータビットラインを
直接に駆動/受容することを可能にする。
つの特殊なグラフィック要素が含まれ、それらは、制御
論理がデータパス中の1つ以上のデータビットラインを
直接に駆動/受容することを可能にする。
【0063】1.ctdptfr8 (control to datapath tra
nsfer (8-bit)) これは、8ビットホールドセルであり、即ち、8つの単
一ビットセルを内部に配置することを可能にする骨組セ
ルである。それらの単一ビットセルは、2タイプのもの
とすることができ、即ち、Ctlsel(selects the contro
l logic inputto drive the corresponding data bit l
ine(対応するデータビットラインを駆動するために制御
論理入力を選択する))及びDpsel(selects the datapa
th input to drive the corresponding data bit line
(対応するデータビットラインを駆動するためにデータ
パス入力を選択する))(図12(a)参照)。
nsfer (8-bit)) これは、8ビットホールドセルであり、即ち、8つの単
一ビットセルを内部に配置することを可能にする骨組セ
ルである。それらの単一ビットセルは、2タイプのもの
とすることができ、即ち、Ctlsel(selects the contro
l logic inputto drive the corresponding data bit l
ine(対応するデータビットラインを駆動するために制御
論理入力を選択する))及びDpsel(selects the datapa
th input to drive the corresponding data bit line
(対応するデータビットラインを駆動するためにデータ
パス入力を選択する))(図12(a)参照)。
【0064】2.rtc8 (register to control logic
(8-bit)) この要素は、制御論理で使用するためにデータパス内か
ら8つのデータビットを取り出す(図12(b)参照)。
(8-bit)) この要素は、制御論理で使用するためにデータパス内か
ら8つのデータビットを取り出す(図12(b)参照)。
【0065】スペーサ及びエクステンダ グラフィック機能要素ライブラリ中に含まれるスペーサ
及びエクステンダグラフィック要素(図13参照)は、
その内部には論理を有していない。それらは、バスB1及
び/又はバスB2とレジスタバスとを選択的に拡張するた
めに純粋に相互接続を行うものからなる。それら要素の
全ては、信号clkbuff及びnclkを拡張するものである。
及びエクステンダグラフィック要素(図13参照)は、
その内部には論理を有していない。それらは、バスB1及
び/又はバスB2とレジスタバスとを選択的に拡張するた
めに純粋に相互接続を行うものからなる。それら要素の
全ては、信号clkbuff及びnclkを拡張するものである。
【0066】1.b1b2rxt8 (bus1, bus2, and registe
r bus extender (8-bit)) バスB1、バスB2、及びレジスタバスのエクステンダ(8
ビット)(図13(a)参照)。
r bus extender (8-bit)) バスB1、バスB2、及びレジスタバスのエクステンダ(8
ビット)(図13(a)参照)。
【0067】2.b1xt8 (bus1 extender (8-bi
t)) バスB1のエクステンダ(8ビット)(図13(b)参
照)。
t)) バスB1のエクステンダ(8ビット)(図13(b)参
照)。
【0068】3.b2xt8 (bus2 extender (8-bit)) バスB2のエクステンダ(8ビット)(図13(c)参
照)。
照)。
【0069】4.rxt8 (register bus extender (8-bi
t)) レジスタバスのエクステンダ(8ビット)(図13(d)
参照)。
t)) レジスタバスのエクステンダ(8ビット)(図13(d)
参照)。
【0070】5.b1b2xt8 (bus1 and bus2 extender
(8-bit)) バスB1及びバスB2のエクステンダ(8ビット)(図13
(e)参照)。
(8-bit)) バスB1及びバスB2のエクステンダ(8ビット)(図13
(e)参照)。
【0071】6.b1rxt8 (bus1 and register bus ext
ender (8-bit)) バスB1及びレジスタバスのエクステンダ(8ビット)
(図13(f)参照)。
ender (8-bit)) バスB1及びレジスタバスのエクステンダ(8ビット)
(図13(f)参照)。
【0072】7.rb2xt8 (bus2 and register bus ext
ender (8-bit)) バスB2及びレジスタバスのエクステンダ(8ビット)
(図13(g)参照)。
ender (8-bit)) バスB2及びレジスタバスのエクステンダ(8ビット)
(図13(g)参照)。
【0073】8.spacext (spacer, no busses extend
ed (8-bit)) スペーサ、バスの拡張なし(8ビット)(図13(h)参
照)。
ed (8-bit)) スペーサ、バスの拡張なし(8ビット)(図13(h)参
照)。
【0074】グラフィック要素ライブラリ中の残りの2
つの要素(図13(i),(j)参照)は、記号のみを有し、
対応するレイアウトを有さないものであり、それ故、特
殊なものである。それらは、異なる図式ページにわたり
バスB1,B2の相互接続性を提供するだけのものである。
つの要素(図13(i),(j)参照)は、記号のみを有し、
対応するレイアウトを有さないものであり、それ故、特
殊なものである。それらは、異なる図式ページにわたり
バスB1,B2の相互接続性を提供するだけのものである。
【0075】9.xtbuscon8 (extender/connector for
bus B1 (8-bit))バス B1用のエクステンダ/コネクタ(8ビット) 10.xtbus2con8 (extender/connector for bus B2 (8-
bit)) バスB2用のエクステンダ/コネクタ(8ビット) 上述のように、図2に示すようなデータパス図式は、グ
ラフィック機能要素ライブラリからの8ビットグラフィ
ック要素を互いの上にスタックすることにより生成され
る。一般には、信号が要素1(例えばレジスタb2tr8)か
ら要素2(例えばバスドライバrtb28)へ行かなければな
らない場合には、要素1(レジスタ)のグラフィック記
号が要素2(バスドライバ)の記号の上にスタックされ
る。バスは、スタック中のあらゆる要素により駆動可能
であり、スペーサ/エクステンダを除く全ての要素を介
して拡張可能である。左側のバス、即ちバスB1は、常に
タイプ1Sまたはタイプ1Pであり、また右側のバス、即ち
バスB2は、常にタイプ2Sまたはタイプ2Pである。このグ
ラフィック要素のスタック構成は、レイアウト上に全く
同一状態でコピーされ、それは、以下で詳述するよう
に、予め割り当てられた要素を接合することにより自動
的に生成される。
bus B1 (8-bit))バス B1用のエクステンダ/コネクタ(8ビット) 10.xtbus2con8 (extender/connector for bus B2 (8-
bit)) バスB2用のエクステンダ/コネクタ(8ビット) 上述のように、図2に示すようなデータパス図式は、グ
ラフィック機能要素ライブラリからの8ビットグラフィ
ック要素を互いの上にスタックすることにより生成され
る。一般には、信号が要素1(例えばレジスタb2tr8)か
ら要素2(例えばバスドライバrtb28)へ行かなければな
らない場合には、要素1(レジスタ)のグラフィック記
号が要素2(バスドライバ)の記号の上にスタックされ
る。バスは、スタック中のあらゆる要素により駆動可能
であり、スペーサ/エクステンダを除く全ての要素を介
して拡張可能である。左側のバス、即ちバスB1は、常に
タイプ1Sまたはタイプ1Pであり、また右側のバス、即ち
バスB2は、常にタイプ2Sまたはタイプ2Pである。このグ
ラフィック要素のスタック構成は、レイアウト上に全く
同一状態でコピーされ、それは、以下で詳述するよう
に、予め割り当てられた要素を接合することにより自動
的に生成される。
【0076】データパス図式は、8ビット要素記号を図
式テンプレート中に配置することにより生成される。制
御論理、クロック信号、及びあらゆるバスコネクタに対
するインターフェイスの接続は、適当なピンに接続さ
れ、次いでラベル付けされる。次いで完成した図式が抽
出されて、適当な製造プロセスが選択される。
式テンプレート中に配置することにより生成される。制
御論理、クロック信号、及びあらゆるバスコネクタに対
するインターフェイスの接続は、適当なピンに接続さ
れ、次いでラベル付けされる。次いで完成した図式が抽
出されて、適当な製造プロセスが選択される。
【0077】論理及びタイミングの妥当性を確保するた
め、1組のデータパス規則が満たされなければならな
い。それらは、データパス要素に関する電気的規則及び
相互接続性規則を含むものであり、電気的及び論理的妥
当性を保証するものである。
め、1組のデータパス規則が満たされなければならな
い。それらは、データパス要素に関する電気的規則及び
相互接続性規則を含むものであり、電気的及び論理的妥
当性を保証するものである。
【0078】本開示のデータパス方法を用いた回路ブロ
ック設計は、本出願人の同時係属米国特許出願第546,37
6号(R.Tamanachi等による1990年6月28日出願のもの)
である「STRUCTURED LOGIC DESIGN METHOD USING FIGUR
ES OF MERIT AND A FLOWCHART METHODOLOGY」に開示さ
れている制御論理フローチャート方法をも用いる設計に
極めて良く適している(しかし、これに限られたもので
はない。なお、本発明に関する更なる技術背景情報を提
供するために、それら開示内容を上記引用をもって本明
細書に包含させたものとし、その詳細な説明は省略す
る)。これは、上記引用の米国特許出願に開示のフロー
チャート制御論理設計方法が、本開示のデータパス設計
方法に用いられる信号タイプと同じ信号タイプを用いて
いるからである。したがって、制御論理設計にフローチ
ャート方法を用いることにより、デーパス設計との信号
タイプの互換性が確実化し、完全な回路ブロックの分析
にタイミング確認ツールを容易に使用することが可能と
なる。しかし、本開示のデータパス方法は、フローチャ
ート式制御論理ブロックとの使用に限定されるものでは
ない。そのデータパス方法は、その相互接続性及びタイ
ミングに関する適当な知識をもってあらゆる回路ブロッ
クで使用可能である。
ック設計は、本出願人の同時係属米国特許出願第546,37
6号(R.Tamanachi等による1990年6月28日出願のもの)
である「STRUCTURED LOGIC DESIGN METHOD USING FIGUR
ES OF MERIT AND A FLOWCHART METHODOLOGY」に開示さ
れている制御論理フローチャート方法をも用いる設計に
極めて良く適している(しかし、これに限られたもので
はない。なお、本発明に関する更なる技術背景情報を提
供するために、それら開示内容を上記引用をもって本明
細書に包含させたものとし、その詳細な説明は省略す
る)。これは、上記引用の米国特許出願に開示のフロー
チャート制御論理設計方法が、本開示のデータパス設計
方法に用いられる信号タイプと同じ信号タイプを用いて
いるからである。したがって、制御論理設計にフローチ
ャート方法を用いることにより、デーパス設計との信号
タイプの互換性が確実化し、完全な回路ブロックの分析
にタイミング確認ツールを容易に使用することが可能と
なる。しかし、本開示のデータパス方法は、フローチャ
ート式制御論理ブロックとの使用に限定されるものでは
ない。そのデータパス方法は、その相互接続性及びタイ
ミングに関する適当な知識をもってあらゆる回路ブロッ
クで使用可能である。
【0079】電気的規則 データパス要素間の互換性、及び関連する制御論理との
互換性を確保するために、幾つかの簡単な電気的規則に
従わなければならない。それらの規則は、上記引用のフ
ローチャート方法に関する出願で開示されているFOM技
法に基づくものであり、図3に示した6タイプに信号を
分類するものである。異なる信号タイプ間での必要とさ
れる互換性を以下に示す。
互換性を確保するために、幾つかの簡単な電気的規則に
従わなければならない。それらの規則は、上記引用のフ
ローチャート方法に関する出願で開示されているFOM技
法に基づくものであり、図3に示した6タイプに信号を
分類するものである。異なる信号タイプ間での必要とさ
れる互換性を以下に示す。
【0080】1.信号タイプ1P,2Pは、事前充電バスに
のみ使用される。信号1Pは、信号clkbuffが高レベルの
際に評価され、信号clkbuffが低レベルの際に事前充電
される。また信号2Pは、信号clkbuffが低レベルの際に
評価され、信号clkbuffが高レベルの際に事前充電され
る。
のみ使用される。信号1Pは、信号clkbuffが高レベルの
際に評価され、信号clkbuffが低レベルの際に事前充電
される。また信号2Pは、信号clkbuffが低レベルの際に
評価され、信号clkbuffが高レベルの際に事前充電され
る。
【0081】2.信号タイプ1Q,2Qは、データ移動のタ
イミング管理を行うためのストローブとしてのみ使用さ
れる。
イミング管理を行うためのストローブとしてのみ使用さ
れる。
【0082】3.ストローブ1Qは、信号clkbuffで信号1
Sのゲート処理を行うことにより生成される。
Sのゲート処理を行うことにより生成される。
【0083】4.ストローブ2Qは、信号nclkで信号2Sの
ゲート処理を行うことにより生成される。
ゲート処理を行うことにより生成される。
【0084】5.信号タイプ1S,2Sは、汎用的なもので
あり、スタティックデータバス、レジスタバス、及び全
てのデータパス制御論理信号に使用可能なものである。
あり、スタティックデータバス、レジスタバス、及び全
てのデータパス制御論理信号に使用可能なものである。
【0085】6.信号1Pは、使用前にストローブ1Qによ
りレジスタ中にラッチされなければならない。そのレジ
スタの出力が次いでタイプ2Sとなり、即ち、信号clkbuf
fが低レベルの間安定化する。
りレジスタ中にラッチされなければならない。そのレジ
スタの出力が次いでタイプ2Sとなり、即ち、信号clkbuf
fが低レベルの間安定化する。
【0086】7.信号2Pは、使用前にストローブ2Qによ
りレジスタ中にラッチされなければならない。そのレジ
スタの出力が次いでタイプ1Sとなり、即ち、信号clkbuf
fが高レベルの間安定化する。
りレジスタ中にラッチされなければならない。そのレジ
スタの出力が次いでタイプ1Sとなり、即ち、信号clkbuf
fが高レベルの間安定化する。
【0087】8.信号1Sは、他のレジスタ又はバス1Pへ
の転送のためにストローブ1Qによりストローブされなけ
ればならない。次いでレジスタ出力がタイプ2Sとなる。
の転送のためにストローブ1Qによりストローブされなけ
ればならない。次いでレジスタ出力がタイプ2Sとなる。
【0088】9.信号2Sは、他のレジスタ又はバス2Pへ
の転送のためにストローブ2Qによりストローブされなけ
ればならない。次いでレジスタ出力がタイプ1Sとなる。
の転送のためにストローブ2Qによりストローブされなけ
ればならない。次いでレジスタ出力がタイプ1Sとなる。
【0089】10.事前充電バスについての入力及び出力
の合計が7より小さい際、そのバスにコンデンサ要素が
接続されなければならない。これは、レジスタ入力を上
書きするのに十分なバス容量の存在を確実にするためで
ある。
の合計が7より小さい際、そのバスにコンデンサ要素が
接続されなければならない。これは、レジスタ入力を上
書きするのに十分なバス容量の存在を確実にするためで
ある。
【0090】データパス要素の相互接続規則は、上記の
電気的規則及び負荷考察に基づくものである。
電気的規則及び負荷考察に基づくものである。
【0091】バス規則 1.バスは、スタティックバス1S/2S又は事前充電バス1
P/2Pの何れかである。
P/2Pの何れかである。
【0092】2.バスへの全データ転送は、互いに排他
的なものである。
的なものである。
【0093】3.バスからの全データ転送は、互いに排
他的なものである。
他的なものである。
【0094】4.バスからのデータ転送は、レジスタに
対するもののみ可能である。
対するもののみ可能である。
【0095】5.バスドライバ又は事前充電要素のみ
が、バスを駆動することができる。
が、バスを駆動することができる。
【0096】バスドライバ規則 1.スタティックバスドライバは、データ転送のタイミ
ング管理を行うためにストローブを有することはない。
ング管理を行うためにストローブを有することはない。
【0097】2.事前充電バスドライバは、データ転送
のタイミング管理を行うためにストローブを有する。
のタイミング管理を行うためにストローブを有する。
【0098】3.バスドライバは、レジスタ、又は機能
要素、又はグラフィック要素ctdptfr8(control to data
path transfer (8-bit))からデータを得る。
要素、又はグラフィック要素ctdptfr8(control to data
path transfer (8-bit))からデータを得る。
【0099】例外:グラフィック要素b1zero8,b2zero8,
b1b2zero8は、上述の要素からデータを受信することは
ない。これらのバスドライバは、制御論理によりイネー
ブルにされた際にバスをゼロにプルダウンするものであ
り、したがって、データバス転送を行うための制御論理
を達成するものである。
b1b2zero8は、上述の要素からデータを受信することは
ない。これらのバスドライバは、制御論理によりイネー
ブルにされた際にバスをゼロにプルダウンするものであ
り、したがって、データバス転送を行うための制御論理
を達成するものである。
【0100】レジスタ規則 1.全レジスタは、入力データをロードするためにスト
ローブを有する。データソースは、バス、又は他のレジ
スタ、又は機能リソース、又はグラフィック要素ctdptf
r8となることができる。
ローブを有する。データソースは、バス、又は他のレジ
スタ、又は機能リソース、又はグラフィック要素ctdptf
r8となることができる。
【0101】2.レジスタは、バスドライバ、他のレジ
スタ、機能要素、又はグラフィック要素rtc8(register
to control logic (8-bit))を駆動することができる。
スタ、機能要素、又はグラフィック要素rtc8(register
to control logic (8-bit))を駆動することができる。
【0102】3.レジスタは、前記2.に記載の要素の
あらゆる組合わせ(記号の相互接続により可能となるも
の)を駆動することができる。
あらゆる組合わせ(記号の相互接続により可能となるも
の)を駆動することができる。
【0103】規則3.は、異なる要素の記号が、イリー
ガル(違法な)接続、例えば2つの機能要素へのレジス
タの接続等を防止することを意味する。これは、レジス
タバスが機能要素を介して及びレジスタ自体を介して延
びることがないからである(以下で述べるように、他の
要素とのレジスタの何らかの相互接続を除外し得る別の
規則が存在する)。
ガル(違法な)接続、例えば2つの機能要素へのレジス
タの接続等を防止することを意味する。これは、レジス
タバスが機能要素を介して及びレジスタ自体を介して延
びることがないからである(以下で述べるように、他の
要素とのレジスタの何らかの相互接続を除外し得る別の
規則が存在する)。
【0104】4.レジスタとの間での読み出し及び書き
込みは、逆位相で行われなければならない。
込みは、逆位相で行われなければならない。
【0105】例外:レジスタとの間での読み出し/書き
込みが、同一バスからのものであって互いに排他的であ
る場合には、その読み出し/書き込みを同位相で行うこ
とができる。これは、共通バスからの読み出し及び書き
込みが互いに排他的である場合には、任意のバスからの
入力を有するレジスタは、同じバスを駆動することがで
きることを示唆している。
込みが、同一バスからのものであって互いに排他的であ
る場合には、その読み出し/書き込みを同位相で行うこ
とができる。これは、共通バスからの読み出し及び書き
込みが互いに排他的である場合には、任意のバスからの
入力を有するレジスタは、同じバスを駆動することがで
きることを示唆している。
【0106】5.2つの入力ソースを有するレジスタ
は、その両者が同様のタイプのものでなければならず、
即ち、タイプ1Sとタイプ1S/1P、又は、タイプ2Sとタイ
プ2S/2Pとならなければならない。
は、その両者が同様のタイプのものでなければならず、
即ち、タイプ1Sとタイプ1S/1P、又は、タイプ2Sとタイ
プ2S/2Pとならなければならない。
【0107】例外1:レジスタは、2つの異なるタイプ
の入力ソースを有することができる。これは、その両者
がバスであり、前記レジスタの出力がそれら2つのバス
の一方のみ又は両方を駆動する場合である。この場合
も、バスからの読み出し/書き込みは、互いに排他的で
なければならない。
の入力ソースを有することができる。これは、その両者
がバスであり、前記レジスタの出力がそれら2つのバス
の一方のみ又は両方を駆動する場合である。この場合
も、バスからの読み出し/書き込みは、互いに排他的で
なければならない。
【0108】例外2:レジスタは、2つの異なるタイプ
の入力ソースを有することができる。これは、その一方
がバスであり、前記レジスタの出力がそのバスのみを駆
動する場合である。この場合も、バスからの読み出し/
書き込みは、互いに排他的でなければならない。
の入力ソースを有することができる。これは、その一方
がバスであり、前記レジスタの出力がそのバスのみを駆
動する場合である。この場合も、バスからの読み出し/
書き込みは、互いに排他的でなければならない。
【0109】機能要素規則 1.機能要素へのデータ入力は、スタティックなもので
あり、レジスタ、他の機能要素、又は制御論理から到来
可能なものである。
あり、レジスタ、他の機能要素、又は制御論理から到来
可能なものである。
【0110】2.機能要素は、完全な組み合わせである
(内蔵レジスタを有する加算器を除く)。このため、信
号入力及び出力は同一タイプのものである。
(内蔵レジスタを有する加算器を除く)。このため、信
号入力及び出力は同一タイプのものである。
【0111】3.機能要素は、1つのバスのみを駆動す
ることができる。機能要素への制御入力は、それが駆動
するバスと一致していなければならず、即ち、バスB1を
駆動する場合には制御入力は1Sでなければならず、バス
B2を駆動する場合には制御入力は2Sでなければならな
い。
ることができる。機能要素への制御入力は、それが駆動
するバスと一致していなければならず、即ち、バスB1を
駆動する場合には制御入力は1Sでなければならず、バス
B2を駆動する場合には制御入力は2Sでなければならな
い。
【0112】4.機能要素へのデータ入力が常に1S(又
は常に2S)である場合には、その機能要素は、バスB1
(又はバスB2)、又はレジスタ、又は別の機能要素、又
はグラフィック要素ctdptfr8 (control to datapath tr
ansfer (8-bit))を、記号の相互接続により許容される
あらゆる組み合わせで駆動することができる。
は常に2S)である場合には、その機能要素は、バスB1
(又はバスB2)、又はレジスタ、又は別の機能要素、又
はグラフィック要素ctdptfr8 (control to datapath tr
ansfer (8-bit))を、記号の相互接続により許容される
あらゆる組み合わせで駆動することができる。
【0113】例外:機能要素へのデータ入力が常に1S
(又は常に2S)である場合、その機能要素は、その機能
要素を駆動するレジスタがバスB2(又はバスB1)からの
入力のみを有する場合に限り、バスB2(又はバスB1)の
みを駆動することができる。共通バス上でのレジスタへ
の書き込み及び機能要素からの読み出しは、互いに排他
的でなければならない。
(又は常に2S)である場合、その機能要素は、その機能
要素を駆動するレジスタがバスB2(又はバスB1)からの
入力のみを有する場合に限り、バスB2(又はバスB1)の
みを駆動することができる。共通バス上でのレジスタへ
の書き込み及び機能要素からの読み出しは、互いに排他
的でなければならない。
【0114】5.機能要素へのデータ入力が、或る時間
で1Sとなり、それ以外の時間で2Sとなり得る場合には、
その機能要素は、1つのバスのみを駆動することがで
き、その他の要素を駆動することはできない。
で1Sとなり、それ以外の時間で2Sとなり得る場合には、
その機能要素は、1つのバスのみを駆動することがで
き、その他の要素を駆動することはできない。
【0115】a.機能要素を駆動するレジスタが、バス
B1及びバスB2からの入力を有する場合、その機能要素
は、バスB1及びバスB2の何れをも(但し、一方のみ)駆
動することができる。共通バス上でのレジスタへの書き
込み及び機能要素からの読み出しは、互いに排他的でな
ければならない。
B1及びバスB2からの入力を有する場合、その機能要素
は、バスB1及びバスB2の何れをも(但し、一方のみ)駆
動することができる。共通バス上でのレジスタへの書き
込み及び機能要素からの読み出しは、互いに排他的でな
ければならない。
【0116】b.機能要素を駆動するレジスタが、バス
B1(又はバスB2)及びレジスタバスからの入力を有する
場合には、その機能要素は、バスB1(又はバスB2)のみ
を駆動することができる。共通バス上でのレジスタへの
書き込み及び機能要素からの読み出しは、互いに排他的
でなければならない。
B1(又はバスB2)及びレジスタバスからの入力を有する
場合には、その機能要素は、バスB1(又はバスB2)のみ
を駆動することができる。共通バス上でのレジスタへの
書き込み及び機能要素からの読み出しは、互いに排他的
でなければならない。
【0117】制御論理−データパスインターフェイス規
則 1.制御論理とデータパスとの間の全てのインターフェ
イス信号は、タイプ1S又は2Sでなければならない。
則 1.制御論理とデータパスとの間の全てのインターフェ
イス信号は、タイプ1S又は2Sでなければならない。
【0118】2.制御論理からデータパスへのインター
フェイス信号は、以下のものに接続されなければならな
い。
フェイス信号は、以下のものに接続されなければならな
い。
【0119】c.レジスタのストローブセル又はバスド
ライバ要素上のイネーブル入力。
ライバ要素上のイネーブル入力。
【0120】d.バッファセルの制御入力。例えば、加
算器のcin、左シフタのlshftin等。
算器のcin、左シフタのlshftin等。
【0121】e.要素ctdptfr8を介したレジスタバス。
【0122】3.データパスから制御論理へのインター
フェイス信号は、以下のものから生成されなければなら
ない。
フェイス信号は、以下のものから生成されなければなら
ない。
【0123】a.バッファセルの制御出力。例えば加算
器のcout、左シフタのlshftout等。
器のcout、左シフタのlshftout等。
【0124】b.要素rtc8を介したレジスタバス。
【0125】4.データバス1P/1S,2P/2Sは、制御論理
に接続することはできない。
に接続することはできない。
【0126】ブロックレベルタイミング確認(BLTV)は、
「スーパーブロック」内の全ての制御論理及びデータパ
スブロックについて包括的に行われる(「スーパーブロ
ック」とは、データパス及び制御論理フローチャート要
素の組み合わせを含む回路ブロック、例えばタイマ、UA
RT等である)。タイミング確認器は、全ての信号パスに
ついての遅延をチェックする。その遅延は、ユーザ指定
された製造プロセスのために計算され、次いで、ユーザ
により指定された動作周波数を満たすよう評価される。
タイミング要件を満たさない信号は、フラグが立てられ
てスピードアップされる必要がある。通常、制御論理内
の信号パスは、データパス要素遅延が一定であるので、
スピードアップされる。まれに、信号が十分にスピード
アップできない場合に、データパス及び制御論理のアー
キテクチャの変更が必要になることがある。制御論理及
びデータパスのレイアウトは自動的に行われるものであ
るので、時間は、新しいアーキテクチャの規定にのみ費
やされ、物理的な設計には費やされない。
「スーパーブロック」内の全ての制御論理及びデータパ
スブロックについて包括的に行われる(「スーパーブロ
ック」とは、データパス及び制御論理フローチャート要
素の組み合わせを含む回路ブロック、例えばタイマ、UA
RT等である)。タイミング確認器は、全ての信号パスに
ついての遅延をチェックする。その遅延は、ユーザ指定
された製造プロセスのために計算され、次いで、ユーザ
により指定された動作周波数を満たすよう評価される。
タイミング要件を満たさない信号は、フラグが立てられ
てスピードアップされる必要がある。通常、制御論理内
の信号パスは、データパス要素遅延が一定であるので、
スピードアップされる。まれに、信号が十分にスピード
アップできない場合に、データパス及び制御論理のアー
キテクチャの変更が必要になることがある。制御論理及
びデータパスのレイアウトは自動的に行われるものであ
るので、時間は、新しいアーキテクチャの規定にのみ費
やされ、物理的な設計には費やされない。
【0127】BLTV手順を図14に示す。
【0128】制約条件ファイル 制約条件ファイルは、制御論理及びデータパスの各ブロ
ックがBLTV手順を実行するために必要なものである。制
御論理用の制約条件ファイルは、制御論理の合成中に自
動的に生成される。データパス用の制約条件ファイル
は、人手を介して生成されなければならない。
ックがBLTV手順を実行するために必要なものである。制
御論理用の制約条件ファイルは、制御論理の合成中に自
動的に生成される。データパス用の制約条件ファイル
は、人手を介して生成されなければならない。
【0129】以下の表1に示すように、1ブロックにつ
いての制約条件ファイルは、各入出力信号、その信号の
タイプ、その信号のタイミング要件、及びそのブロック
内の信号のロードを列挙したものである。このファイル
中の各フィールドの簡単な説明を以下に示す。
いての制約条件ファイルは、各入出力信号、その信号の
タイプ、その信号のタイミング要件、及びそのブロック
内の信号のロードを列挙したものである。このファイル
中の各フィールドの簡単な説明を以下に示す。
【0130】1.信号分類 信号のタイミング分類/タイプ。1S,2S,clock等。
【0131】2.信号タイプ 入力、出力、又は、入力/出力。
【0132】3.有効幅 ポートを駆動するデバイスのNチャネル有効幅(出力の
み)。
み)。
【0133】4.Cport ポート(ピン)に向かってみた静電容量。
【0134】5.許容時間(制御論理のみ) これは、入力到着時間及び出力遅延時間に関する初期推
定値である。
定値である。
【0135】a.入力の場合、その許容時間は、それを
生成するブロック及び経路指定遅延により規定される。
生成するブロック及び経路指定遅延により規定される。
【0136】b.出力の場合、その許容時間は、その信
号を受信するブロックの要件及び経路指定遅延により規
定される。
号を受信するブロックの要件及び経路指定遅延により規
定される。
【0137】タイプ1Sの入力及び出力の場合、許容時間
は、クロックのダウンエッジに関連する。タイプ2Sの入
力及び出力の場合、許容時間は、クロックのアップエッ
ジに関連する。表1は、ブロックctrl16の場合に、タイ
プ2Sの入力信号S4loutが、安定になるために最大25ns
(クロックのダウンエッジ後)の時間が許容されている
ことを示している。同表はまた、タイプ2Sの出力信号b2
tosが、Wn=4.5uのドライバにより駆動され、また安定
になるために32ns(クロックのアップエッジ後)の時間
が許容されていることを示している。
は、クロックのダウンエッジに関連する。タイプ2Sの入
力及び出力の場合、許容時間は、クロックのアップエッ
ジに関連する。表1は、ブロックctrl16の場合に、タイ
プ2Sの入力信号S4loutが、安定になるために最大25ns
(クロックのダウンエッジ後)の時間が許容されている
ことを示している。同表はまた、タイプ2Sの出力信号b2
tosが、Wn=4.5uのドライバにより駆動され、また安定
になるために32ns(クロックのアップエッジ後)の時間
が許容されていることを示している。
【0138】6.実際時間 a.入力の場合、ブロック内でこの信号に必要な実際の
最大セットアップ時間である。
最大セットアップ時間である。
【0139】b.出力の場合、ブロック内でこの信号に
より見られる実際の最大伝搬遅延である。
より見られる実際の最大伝搬遅延である。
【0140】注)入力の場合……実際時間>許容時間 出力の場合……実際時間<許容時間 7.Cout このポートが駆動すると期待される静電容量。この値
は、新しいブロック用の出力ドライバのサイズ設定を行
うため、又は、既存のブロックについてのロードを確認
するために利用される(出力のみ)。
は、新しいブロック用の出力ドライバのサイズ設定を行
うため、又は、既存のブロックについてのロードを確認
するために利用される(出力のみ)。
【0141】8.最大ステージ ラッチされる前にこのブロック内で信号が経験する反転
の数。この値は、サイズ設定プロセスにおけるブロック
よってのみ必要とされる(入力及び出力)。
の数。この値は、サイズ設定プロセスにおけるブロック
よってのみ必要とされる(入力及び出力)。
【0142】9.ミーリー(mealy) これは、信号がミーリー信号であるか否か(Yes又はN
o)を指定するものである。入力が論理のみを介して出
力を駆動し、ラッチを行わない場合に、その入力はミー
リーとして指定される。
o)を指定するものである。入力が論理のみを介して出
力を駆動し、ラッチを行わない場合に、その入力はミー
リーとして指定される。
【0143】注)ミーリー信号の場合、許容時間及び実
際時間は、ブロックを介した最大伝搬時間となり、ラッ
チに対するものではない。
際時間は、ブロックを介した最大伝搬時間となり、ラッ
チに対するものではない。
【0144】10.リセット値 ブロックがリセット状態にある間にこの信号がとること
になる2進値である。
になる2進値である。
【0145】11.+/− これは、信号が正論理(高レベルで能動)であるか負論
理(低レベルで能動)であるかを指定するものである。
理(低レベルで能動)であるかを指定するものである。
【0146】上記フィールドに加え、各信号毎に、完全
なブロック用の3つの大域フィールドが存在し、それら
を以下に示す。
なブロック用の3つの大域フィールドが存在し、それら
を以下に示す。
【0147】1.max node delay このブロック内の全ゲートについてのアップ又はダウン
時間の最大傾き。
時間の最大傾き。
【0148】2.max frequency これらのタイミング特性が仮定している最大周波数。
【0149】3.process 上記タイミング特性が基づくプロセス
【0150】
【表1】
【0151】表1に示した制約条件ファイルは、ブロッ
クctrl16に関するものである。最初の信号名称はs4lout
である。これは、そのブロックへのタイプ1Sの入力信号
である。ポート容量(ブロックctrl16内の信号について
の容量負荷)は、0.601pfである。その信号は、安定に
なるために信号clkbuffのダウンエッジ(タイプ1S)の
後に25nsが許容される。BLTVは、その信号が実際には、
安定になるために信号clkbuffのアップエッジの後に28.
153nsまでとり得ることを発見している。ブロック内で
は、ラッチへの入力となるのに先立ち、最長の信号伝搬
パス中に5つのゲートが存在する。この信号はミーリー
入力ではない。この信号は正論理タイプのものである。
実際時間の欄は、この信号が信号clkbuffのアップエッ
ジの前に28.153nsを呈することをBLTVが発見したことを
示している。
クctrl16に関するものである。最初の信号名称はs4lout
である。これは、そのブロックへのタイプ1Sの入力信号
である。ポート容量(ブロックctrl16内の信号について
の容量負荷)は、0.601pfである。その信号は、安定に
なるために信号clkbuffのダウンエッジ(タイプ1S)の
後に25nsが許容される。BLTVは、その信号が実際には、
安定になるために信号clkbuffのアップエッジの後に28.
153nsまでとり得ることを発見している。ブロック内で
は、ラッチへの入力となるのに先立ち、最長の信号伝搬
パス中に5つのゲートが存在する。この信号はミーリー
入力ではない。この信号は正論理タイプのものである。
実際時間の欄は、この信号が信号clkbuffのアップエッ
ジの前に28.153nsを呈することをBLTVが発見したことを
示している。
【0152】ブロックctrl16中の全信号に関する最大ア
ップ/ダウン時間は4nsである。これは、ゲートでかつ
て最も遅かったのが4nsである(ゲートでかつて最も速
かったのはcs150についての2nsである)ことを意味して
いる。ブロックの最大動作周波数は12.5MHzであり、こ
れにより「クロック位相=40ns」となる。
ップ/ダウン時間は4nsである。これは、ゲートでかつ
て最も遅かったのが4nsである(ゲートでかつて最も速
かったのはcs150についての2nsである)ことを意味して
いる。ブロックの最大動作周波数は12.5MHzであり、こ
れにより「クロック位相=40ns」となる。
【0153】報告ファイル BLTVの実行結果は、2つのファイル、即ち、blrv.rpt及
びbltv lng.rptで報告される。縮小された報告ファイル
を以下の表2に示す。同表は、失敗したx3cout15〜x2su
b、及び、通過したx6cout〜x3s2routを示している。
びbltv lng.rptで報告される。縮小された報告ファイル
を以下の表2に示す。同表は、失敗したx3cout15〜x2su
b、及び、通過したx6cout〜x3s2routを示している。
【0154】
【表2】
【0155】以下の表3は、BLTV手順により生成された
長い報告用のフォーマットを示すものである。この長い
報告は、ブロックmultdivaに関するものであり、同ブロ
ックは、(部分)ブロックctrl16,dpath,interface,loo
p8,mIsc等を有している。報告された最初のネット即ち
信号は、x3s4loutである。この信号は、伝搬遅延タイミ
ング要件を5.81nsだけ満たさなかったものである。その
信号は、s4loutと称する2つのポート(ピン)に接続さ
れている。これらの2つのポートは、ブロックdpath,ct
rl16にある。BLTVアルゴリズムは、その信号が(部分)
ブロックdpathから(部分)ブロックctrl16へ進む際に8
5ffという経路指定容量を概算した。その信号は(双方
の(部分)ブロックにおいて)タイプ1Sのものである。
その信号は、ブロックdpath中の4.5uというドライバサ
イズ(Nチャネルのサイズ)で駆動される。60ffという
全負荷は、この信号について、論理設計者により、ブロ
ックdpath用の制約条件ファイル中に当初に指定された
ものである。601ffという負荷は、論理設計者により、
ブロックctrl16用の制約条件ファイル中に指定されたも
のである(ブロックctrl16用の制約条件ファイルを参
照)。
長い報告用のフォーマットを示すものである。この長い
報告は、ブロックmultdivaに関するものであり、同ブロ
ックは、(部分)ブロックctrl16,dpath,interface,loo
p8,mIsc等を有している。報告された最初のネット即ち
信号は、x3s4loutである。この信号は、伝搬遅延タイミ
ング要件を5.81nsだけ満たさなかったものである。その
信号は、s4loutと称する2つのポート(ピン)に接続さ
れている。これらの2つのポートは、ブロックdpath,ct
rl16にある。BLTVアルゴリズムは、その信号が(部分)
ブロックdpathから(部分)ブロックctrl16へ進む際に8
5ffという経路指定容量を概算した。その信号は(双方
の(部分)ブロックにおいて)タイプ1Sのものである。
その信号は、ブロックdpath中の4.5uというドライバサ
イズ(Nチャネルのサイズ)で駆動される。60ffという
全負荷は、この信号について、論理設計者により、ブロ
ックdpath用の制約条件ファイル中に当初に指定された
ものである。601ffという負荷は、論理設計者により、
ブロックctrl16用の制約条件ファイル中に指定されたも
のである(ブロックctrl16用の制約条件ファイルを参
照)。
【0156】
【表3】
【0157】遅延計算は、以下のようにして行われる。
【0158】1.Toutput=PC*Cport*Wn/Ln ここで、Cport,Wn(有効幅)は、dpathの制約条件フ
ァイルから得られる。
ァイルから得られる。
【0159】2.Trout=PC*Crout*Wn/Ln ここで、Croutは、fanoutに基づきBLTVにより85ffと概
算される。
算される。
【0160】3.Tinput=PC*Cport*Wn/Ln ここで、Cportは、ctrl16の制約条件ファイルから得ら
れる。
れる。
【0161】次いで、総パス遅延が、 Tpath=Toutput+Trout+Tinput により計算される。この遅延は、1クロック位相(この
場合は40ns)より小さくなければならない。
場合は40ns)より小さくなければならない。
【0162】上述のように、データパス制約条件ファイ
ルは、マニュアル的に生成される。表1に示したファイ
ルの空欄のテンプレートが使用され、以下に示す表4を
用いて適当なフィールドが満たされる。この表4は、各
入出力信号で現れる8ビットグラフィック機能要素及び
容量(cs150)を全て列挙したものである。出力信号はま
た、ドライバサイズのリストも有する。表4における各
項目のフォーマットは、Cport/Wn、又は単にCportで
あり、例えば、rtc8は、nybuff0〜nybuff7の列に項目55
/3を有する。これは、全ての信号nybuff0,nybuff1,……
nybuff7に関しその信号についての要素(Cport)内の
総容量が55ffである、ということを意味している。ま
た、出力ドライバのNチャネル幅は3uである(cs150)。
入力である信号に関しては、Cportのみが列挙されてい
る。表4により、ユーザは、制約条件ファイル中の名
称、信号タイプ、有効幅、及びCportの各列を全て満た
すことが可能となる。信号分類の列は、データパス図式
を参照することにより満たされる。常に一定の信号タイ
プの信号、例えばen1sは、その記号についてタイプ1Sと
して列挙される。信号タイプ1S,2Sの何れをも取り得る
信号、例えばcinは、特定の設計自体を参照することに
より満たされる。
ルは、マニュアル的に生成される。表1に示したファイ
ルの空欄のテンプレートが使用され、以下に示す表4を
用いて適当なフィールドが満たされる。この表4は、各
入出力信号で現れる8ビットグラフィック機能要素及び
容量(cs150)を全て列挙したものである。出力信号はま
た、ドライバサイズのリストも有する。表4における各
項目のフォーマットは、Cport/Wn、又は単にCportで
あり、例えば、rtc8は、nybuff0〜nybuff7の列に項目55
/3を有する。これは、全ての信号nybuff0,nybuff1,……
nybuff7に関しその信号についての要素(Cport)内の
総容量が55ffである、ということを意味している。ま
た、出力ドライバのNチャネル幅は3uである(cs150)。
入力である信号に関しては、Cportのみが列挙されてい
る。表4により、ユーザは、制約条件ファイル中の名
称、信号タイプ、有効幅、及びCportの各列を全て満た
すことが可能となる。信号分類の列は、データパス図式
を参照することにより満たされる。常に一定の信号タイ
プの信号、例えばen1sは、その記号についてタイプ1Sと
して列挙される。信号タイプ1S,2Sの何れをも取り得る
信号、例えばcinは、特定の設計自体を参照することに
より満たされる。
【0163】
【表4】
【0164】実際時間の列は以下に示す表5から得られ
る。制約条件ファイル中のフィールドmax frequency
は、BLTV手順の実行時にこれら時間を実際時間に更新す
る。
る。制約条件ファイル中のフィールドmax frequency
は、BLTV手順の実行時にこれら時間を実際時間に更新す
る。
【0165】データパスのレイアウトは図式から自動的
に生成される。データパスの標準的な要素図式と標準的
なレイアウトセルとの間には一対一の対応が存在する。
次いで、図式を参照し、図式の記号と同じ順序でレイア
ウトセルをスタックすることにより、データパスレイア
ウトが生成される。
に生成される。データパスの標準的な要素図式と標準的
なレイアウトセルとの間には一対一の対応が存在する。
次いで、図式を参照し、図式の記号と同じ順序でレイア
ウトセルをスタックすることにより、データパスレイア
ウトが生成される。
【0166】標準的なデータパスセルライブラリが存在
するが、別のカスタムセルを生成することが可能であ
る。データパスセルライブラリには2つのタイプのセ
ル、即ち、単一ビットデータセルとストローブ/バッフ
ァセルとが含まれる。セルの文字タイプは、nビット要
素を生成するように共に物理的に配列される。次いでそ
のnビット要素は、図15に示すように、データパスブ
ロックを生成するよう物理的に配置される。
するが、別のカスタムセルを生成することが可能であ
る。データパスセルライブラリには2つのタイプのセ
ル、即ち、単一ビットデータセルとストローブ/バッフ
ァセルとが含まれる。セルの文字タイプは、nビット要
素を生成するように共に物理的に配列される。次いでそ
のnビット要素は、図15に示すように、データパスブ
ロックを生成するよう物理的に配置される。
【0167】データパス図式より、ASCIIテキスト配列
がマニュアル的に生成される。表6及び表7は、各デー
タパスの単一ビットセル毎にコードを示すものである。
これらコードは、表8に示すASCIIファイルに入れられ
る。表8は、図16に示すデータパスの一例についての
ASCIIテキストファイルを示すものである。その文字コ
ードは、データパス記号自体と同じ空間構成にあるもの
である。ストローブ/バッファセルは、別個の平面にお
いて底部で規定される。CadenceによるStructure Compi
lerプログラムは、ASCIIテキストファイルを参照して、
レイアウト配列を生成する。
がマニュアル的に生成される。表6及び表7は、各デー
タパスの単一ビットセル毎にコードを示すものである。
これらコードは、表8に示すASCIIファイルに入れられ
る。表8は、図16に示すデータパスの一例についての
ASCIIテキストファイルを示すものである。その文字コ
ードは、データパス記号自体と同じ空間構成にあるもの
である。ストローブ/バッファセルは、別個の平面にお
いて底部で規定される。CadenceによるStructure Compi
lerプログラムは、ASCIIテキストファイルを参照して、
レイアウト配列を生成する。
【0168】最終ステップは、上記のレイアウトされた
データパスをブロック化することである。これは、バス
及び制御論理インターフェイス信号のためにレイアウト
上にピン(ポート)を規定することによりなされる。こ
れらピンは、次の一層高次のレベルにおける自動経路指
定で使用されるよう規定されなければならない。ピンの
規定後に、lvs及びdrcが実行されてブロック化が終了す
る。
データパスをブロック化することである。これは、バス
及び制御論理インターフェイス信号のためにレイアウト
上にピン(ポート)を規定することによりなされる。こ
れらピンは、次の一層高次のレベルにおける自動経路指
定で使用されるよう規定されなければならない。ピンの
規定後に、lvs及びdrcが実行されてブロック化が終了す
る。
【0169】
【表5】
【0170】
【表6】
【0171】
【表7】
【0172】
【表8】
【0173】上述の本発明の実施例に代わる様々な代替
例を本発明の実施に採用可能であることが理解されよ
う。特許請求の範囲の記載は、本発明の範囲を規定する
ものであり、請求項及びそれに等価なものの範囲内にあ
る方法は、本発明の範囲に包含されるものである、とい
うことが意図されている。
例を本発明の実施に採用可能であることが理解されよ
う。特許請求の範囲の記載は、本発明の範囲を規定する
ものであり、請求項及びそれに等価なものの範囲内にあ
る方法は、本発明の範囲に包含されるものである、とい
うことが意図されている。
【0174】
【発明の効果】本発明は上述のように構成したので、効
率の良い装置レイアウトを生成する、規格化されたコン
ピュータ援用型の構造化データパス設計方法を提供する
ことができる。
率の良い装置レイアウトを生成する、規格化されたコン
ピュータ援用型の構造化データパス設計方法を提供する
ことができる。
【図1】本発明によるデータパス設計のシーケンスを示
すフローチャートである。
すフローチャートである。
【図2】本発明の方法により設計されたデータパスを示
す概略図である。
す概略図である。
【図3】本発明の方法により設計されたデータパスで利
用可能な6タイプの信号を示すタイミングチャートであ
る。
用可能な6タイプの信号を示すタイミングチャートであ
る。
【図4】本発明の方法により設計されたデータパスで利
用可能な8ビットレジスタグラフィック機能要素を示す
概略図である(1/3)。
用可能な8ビットレジスタグラフィック機能要素を示す
概略図である(1/3)。
【図5】本発明の方法により設計されたデータパスで利
用可能な8ビットレジスタグラフィック機能要素を示す
概略図である(2/3)。
用可能な8ビットレジスタグラフィック機能要素を示す
概略図である(2/3)。
【図6】本発明の方法により設計されたデータパスで利
用可能な8ビットレジスタグラフィック機能要素を示す
概略図である(3/3)。
用可能な8ビットレジスタグラフィック機能要素を示す
概略図である(3/3)。
【図7】本発明の方法により設計されたデータパスで利
用可能なバスドライバグラフィック機能要素を示す概略
図である(1/2)。
用可能なバスドライバグラフィック機能要素を示す概略
図である(1/2)。
【図8】本発明の方法により設計されたデータパスで利
用可能なバスドライバグラフィック機能要素を示す概略
図である(2/2)。
用可能なバスドライバグラフィック機能要素を示す概略
図である(2/2)。
【図9】本発明の方法により設計されたデータパスで利
用可能な事前充電グラフィック機能要素を示す概略図で
ある。
用可能な事前充電グラフィック機能要素を示す概略図で
ある。
【図10】本発明の方法により設計されたデータパスで
利用可能なグラフィック機能要素を示す概略図である
(1/2)。
利用可能なグラフィック機能要素を示す概略図である
(1/2)。
【図11】本発明の方法により設計されたデータパスで
利用可能なグラフィック機能要素を示す概略図である
(2/2)。
利用可能なグラフィック機能要素を示す概略図である
(2/2)。
【図12】本発明の方法により設計されたデータパスで
利用可能な制御論理−データビットグラフィック機能要
素を示す概略図である。
利用可能な制御論理−データビットグラフィック機能要
素を示す概略図である。
【図13】本発明の方法により設計されたデータパスで
利用可能なスペーサ、エクステンダ、及び特殊グラフィ
ック機能要素を示す概略図である。
利用可能なスペーサ、エクステンダ、及び特殊グラフィ
ック機能要素を示す概略図である。
【図14】本発明による設計方法で利用可能なブロック
レベルタイミング確認(BLTV)手順を示すフローチャート
である。
レベルタイミング確認(BLTV)手順を示すフローチャート
である。
【図15】図10のブロックレベルタイミング確認手順
のためのタイミング計算を示すブロック図である。
のためのタイミング計算を示すブロック図である。
【図16】8ビットデータパスのための単一ビットデー
タ及びストローブ/バッファセルの配列を示すブロック
図である。
タ及びストローブ/バッファセルの配列を示すブロック
図である。
Claims (3)
- 【請求項1】集積回路のデータパス設計の構造化方法で
あって、この方法が、 複数の機能要素ファイルを含む機能要素ライブラリを規
定し、その各機能要素ファイルが、対応する機能データ
パス要素とその機能データパス要素を識別するグラフィ
ック記号とを規定し、 複数のレイアウトファイルを含むレイアウトライブラリ
を規定し、その各レイアウトファイルが、対応する集積
回路レイアウトセルを規定し、前記機能要素ファイルと
前記レイアウトファイルとの間に一対一の対応が存在
し、 グラフィック記号の組み合わせを管理すべく1組のデー
タパス規則を規定し、 選択されたグラフィック記号を組み合わせて特定のデー
タパス図式を規定し、 その特定のデータパス図式が前記1組のデータパス規則
に従うものであることを確認し、 選択されたグラフィック記号に対応するレイアウトファ
イルを用いて前記特定のデータパス図式についての集積
回路レイアウトを規定する、というステップを備えるこ
とを特徴とする、集積回路のデータパス設計の構造化方
法。 - 【請求項2】集積回路の二相式データパス設計の構造化
方法であって、この方法が、 複数のグラフィック回路図式要素を規定し、その各グラ
フィック回路図式要素が、対応するデータパス回路要素
を表し、そのデータパス回路要素が、第1の信号位相タ
イプの第1の事前充電データバスと、第2の信号位相タ
イプの第2の事前充電データバスと、前記第1又は第2
の事前充電データバスに接続された機能回路要素とを含
み、 複数のレイアウトファイルを規定し、その各レイアウト
ファイルが、対応する集積回路レイアウトセルを決定
し、前記グラフィック回路図式要素と前記集積回路レイ
アウトセルとの間に一対一の対応が存在し、 データパス回路要素の組み合わせを管理すべく1組のデ
ータパス規則を規定し、 選択されたデータパス回路要素を前記1組のデータパス
規則に従って組み合わせ、 選択されたデータパス回路要素に対応するレイアウトフ
ァイルを用いて前記特定のデータパス図式についての集
積回路レイアウトを規定する、というステップを備える
ことを特徴とする、集積回路の二相式データパス設計の
構造化方法。 - 【請求項3】中央処理装置と、グラフィック情報の格納
用の記憶要素と、その記憶要素に格納されているグラフ
ィック情報の決定に使用可能な入力装置と、その入力装
置により決定されて前記中央処理装置により取り出され
たグラフィック情報を表示するための表示装置とを備え
たデータ処理装置を用いた、コンピュータにより実施さ
れる、集積回路のデータパス設計方法であって、この方
法が、 前記記憶要素にデータパスライブラリを格納し、そのデ
ータパスライブラリが、複数のグラフィック機能要素を
規定する複数のグラフィック要素ファイルを含み、 前記記憶要素にレイアウトライブラリを格納し、そのレ
イアウトライブラリが、複数の集積回路レイアウトセル
を規定する複数のレイアウトファイルを含み、その各レ
イアウトファイルが、対応するグラフィック要素ファイ
ルを有し、 前記記憶要素に1組のデータパス規則を格納し、 対応するグラフィック機能要素を表示装置上に構造化表
示するために、選択されたデータパスグラフィックファ
イルを前記記憶要素から逐次に取り出してデータパス図
式を規定し、 そのデータパス図式を前記データパス規則と比較し、 そのデータパス図式が前記データパス規則に従っている
場合にデータパス構造のタイミングを確認し、 そのデータパス図式のタイミングが確認された場合にレ
イアウトライブラリを用いてデータパス構造のレイアウ
トを生成する、というステップを備えることを特徴とす
る、集積回路のデータパス設計方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US99883692A | 1992-12-30 | 1992-12-30 | |
| US998836 | 1992-12-30 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH076183A true JPH076183A (ja) | 1995-01-10 |
Family
ID=25545603
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP6000043A Pending JPH076183A (ja) | 1992-12-30 | 1994-01-04 | 二相式データパス設計の構造化方法 |
Country Status (3)
| Country | Link |
|---|---|
| EP (1) | EP0605971A3 (ja) |
| JP (1) | JPH076183A (ja) |
| KR (1) | KR940015909A (ja) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6195593B1 (en) * | 1997-09-03 | 2001-02-27 | Seiko Epson Corporation | Reusable modules for complex integrated circuit devices |
| US10332173B2 (en) * | 2013-08-27 | 2019-06-25 | Matthews International Corporation | Systems, methods, and computer-readable media for generating a memorial product |
-
1993
- 1993-12-13 EP EP93310018A patent/EP0605971A3/en not_active Withdrawn
- 1993-12-29 KR KR1019930030583A patent/KR940015909A/ko not_active Withdrawn
-
1994
- 1994-01-04 JP JP6000043A patent/JPH076183A/ja active Pending
Also Published As
| Publication number | Publication date |
|---|---|
| EP0605971A2 (en) | 1994-07-13 |
| KR940015909A (ko) | 1994-07-22 |
| EP0605971A3 (en) | 1995-02-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6305001B1 (en) | Clock distribution network planning and method therefor | |
| US7716622B2 (en) | Memory re-implementation for field programmable gate arrays | |
| US7962872B2 (en) | Timing analysis when integrating multiple circuit blocks while balancing resource requirements and accuracy | |
| JP2002149727A (ja) | テーブル形式パラダイムを使用するインターフェース・ベースの設計 | |
| JPH06506309A (ja) | 回路シミュレーションインターフェース方法 | |
| US8397190B2 (en) | Method for manipulating and repartitioning a hierarchical integrated circuit design | |
| US7152216B2 (en) | Method, system, and computer program product for automatic insertion and correctness verification of level shifters in integrated circuits with multiple voltage domains | |
| US7225285B1 (en) | Assigning interrupts in multi-master systems | |
| US8332798B2 (en) | Using synthesis to place macros | |
| US20050246673A1 (en) | Method and system for performing static timing analysis on digital electronic circuits | |
| US6848084B1 (en) | Method and apparatus for verification of memories at multiple abstraction levels | |
| JPH076183A (ja) | 二相式データパス設計の構造化方法 | |
| US10817638B2 (en) | Method and apparatus for camouflaging an integrated circuit using virtual camouflage cells | |
| US6367066B1 (en) | System for synthesizing a circuit by re-writing signed variables into unsigned variables and sharing resources for identical operations having different timing | |
| US5245549A (en) | Gate addressing system for logic simulation machine | |
| JP5791797B2 (ja) | Lsi設計装置及びlsi設計方法及びプログラム | |
| US20250284870A1 (en) | Method and system for designing integrated circuits | |
| US7275223B2 (en) | Facilitating high-level validation of integrated circuits in parallel with development of blocks in a hierarchical design approach | |
| JP2930087B2 (ja) | 論理設計支援システム | |
| Moreno | RISC Processor Steps to Fabrication | |
| Rath et al. | Specification and synthesis of bounded indirection," | |
| US7287178B1 (en) | Communication between clock domains of an electronic circuit | |
| JP3491618B2 (ja) | 集積回路のネットリスト生成方式及びプログラム | |
| JP3068893B2 (ja) | 論理回路設計装置 | |
| JP3215210B2 (ja) | ハードウェア設計支援システム |