JP2003529848A - デジタル・シグナル・プロセッシング集積回路の自動設計 - Google Patents
デジタル・シグナル・プロセッシング集積回路の自動設計Info
- Publication number
- JP2003529848A JP2003529848A JP2001573297A JP2001573297A JP2003529848A JP 2003529848 A JP2003529848 A JP 2003529848A JP 2001573297 A JP2001573297 A JP 2001573297A JP 2001573297 A JP2001573297 A JP 2001573297A JP 2003529848 A JP2003529848 A JP 2003529848A
- Authority
- JP
- Japan
- Prior art keywords
- block
- custom
- circuit
- integrated circuit
- dsp
- 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.)
- Withdrawn
Links
- 238000013461 design Methods 0.000 title claims abstract description 72
- 238000012545 processing Methods 0.000 title claims description 15
- 238000000034 method Methods 0.000 claims abstract description 25
- 230000015654 memory Effects 0.000 claims description 48
- 238000013515 script Methods 0.000 claims description 39
- 238000012360 testing method Methods 0.000 claims description 28
- 230000015572 biosynthetic process Effects 0.000 claims description 7
- 238000003786 synthesis reaction Methods 0.000 claims description 7
- 238000004088 simulation Methods 0.000 claims description 5
- 230000010354 integration Effects 0.000 claims description 4
- 230000005540 biological transmission Effects 0.000 claims description 2
- 230000002194 synthesizing effect Effects 0.000 claims description 2
- 239000002699 waste material Substances 0.000 claims 1
- 235000019800 disodium phosphate Nutrition 0.000 description 50
- 230000002093 peripheral effect Effects 0.000 description 12
- 238000003860 storage Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 238000012795 verification Methods 0.000 description 9
- 230000008901 benefit Effects 0.000 description 8
- 238000011161 development Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000004519 manufacturing process Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 238000012938 design process Methods 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 239000003292 glue Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 101100103005 Arabidopsis thaliana WOX8 gene Proteins 0.000 description 1
- 244000026610 Cynodon dactylon var. affinis Species 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000009131 signaling function Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
(57)【要約】
既存のDSPコアブロック(62)、及び、このDSPコアブロック(62)とインターフェースをとる1又は複数の追加の回路ブロックから、カスタムDSP集積回路の設計を自動化するのに用いられる、装置、プログラムプロダクト及び方法を提供する。ユーザの入力画面を表示し、カスタムDSP集積回路を自動的に組み立てるのに用いられるユーザからのユーザ入力を受け入れる。入力画面(170)は、カスタムDSP集積回路に含まれる少なくとも1つの任意の回路ブロックを選択するのに用いられる少なくとも1つの選択入力コンポーネントを含んでおり、カスタムDSP集積回路に含まれるべきカスタマイズ可能な回路ブロックをカスタマイズするのに用いられる少なくとも1つの構成入力コンポーネントを含んでいる。入力画面(170)を通じて、ユーザから受け入れたユーザ入力は、任意の回路ブロックを選択し、カスタマイズ可能な回路ブロックをカスタマイズする。そのような入力に基づいて、カスタムDSP集積回路は、カスタマイズ可能な回路ブロックからカスタム回路ブロックを生成し、任意の回路ブロック及びカスタム回路ブロックと、既存のDSPコアブロックとのインターフェースをとることにより、カスタムDSP集積回路が自動的に組み立てられる。
Description
【0001】
(発明の技術分野)
本発明は、一般に、集積回路の設計に関する。特に、本発明は、一般に、モジ
ュラー再利用可能なコンポーネントから、デジタル・シグナル・プロセッサ(D
SP)関連の集積回路を設計することに関する。
ュラー再利用可能なコンポーネントから、デジタル・シグナル・プロセッサ(D
SP)関連の集積回路を設計することに関する。
【0002】
(発明の背景)
半導体製造技術の進歩にともない、集積回路の設計者は、1つの集積回路装置
又はチップに、より多くの機能を集約することができるようになってきている。
かつては、回路基板又はモジュール上で、いくつかの集積回路を互いに電気的に
接続する必要のあった電気設計自体も、今や、1つの集積回路に集約することが
できる。このため、パフォーマンスが向上し、コストが低減している。
又はチップに、より多くの機能を集約することができるようになってきている。
かつては、回路基板又はモジュール上で、いくつかの集積回路を互いに電気的に
接続する必要のあった電気設計自体も、今や、1つの集積回路に集約することが
できる。このため、パフォーマンスが向上し、コストが低減している。
【0003】
ディスクリート回路から集積回路へ移行した1つの機能は、デジタル・シグナ
ル・プロセッシングである。これは、一般に、数学的演算をデジタル表現された
信号に適用したものである。デジタル・シグナル・プロセッシングは、多くの分
野で利用されており、例えば、オーディオ及び/又はビデオ信号のフィルタを実
現するために利用されており、これにより、ワイヤレス又は他のセルラーネット
ワーク等のような通信信号から、情報をデコードする。
ル・プロセッシングである。これは、一般に、数学的演算をデジタル表現された
信号に適用したものである。デジタル・シグナル・プロセッシングは、多くの分
野で利用されており、例えば、オーディオ及び/又はビデオ信号のフィルタを実
現するために利用されており、これにより、ワイヤレス又は他のセルラーネット
ワーク等のような通信信号から、情報をデコードする。
【0004】
集積回路設計がパフォーマンス的に向上し複雑化し続けているため、そのよう
な回路の設計は、ますます複雑になり、時間を要するようになっている。集積回
路は、多くの場合、何十万若しくは何百万さえの個別のトランジスタから、構成
されている。この結果、設計プロセスを自動化できること、そして集積回路の設
計負荷を人間から機械にシフトすることが、この技術分野で不変の要求になって
いる。
な回路の設計は、ますます複雑になり、時間を要するようになっている。集積回
路は、多くの場合、何十万若しくは何百万さえの個別のトランジスタから、構成
されている。この結果、設計プロセスを自動化できること、そして集積回路の設
計負荷を人間から機械にシフトすることが、この技術分野で不変の要求になって
いる。
【0005】
集積回路の設計を容易にするために、「ツール」とも呼ばれるソフトウェア・
プログラムが開発され、比較的高いコンセプトレベルで、開発者が集積回路設計
を定義することができるようになってきている。そして、ソフトウェア・プログ
ラムは、集積回路設計における物理的レイアウトの合成や、集積回路設計のテス
トのような、ツールにより自動的に行われる処理を有している。集積回路設計は
、オブジェクト指向ソフトウェア・デザインにも包含される多くの並列的なコン
セプトを有しており、そこでは、設計における低いレベルの機能を、オブジェク
トとして分類する。ここでは、多種多様な設計で再利用するために開発され、テ
ストされ、検証された「回路ブロック」と呼ぶこととする。このため、集積回路
の設計は、可能な範囲内で、多種多様な回路ブロック同士の組み合わせにより進
めることができ、そして、実際の設計上、回路ブロック同士のインターフェース
をとるのに必要な「グルー・ロジック」を開発することにより、進めることがで
きる。回路ブロック内に包含された機能は、長い期間をかけて増加してきている
。すなわち、マルチプレクサやレジスタのような簡単な論理コンポーネントで表
される、比較的簡単な回路ブロックから、バスインターフェース、メモリアレイ
及びインターフェース、テスト回路のような、より複雑な機能コンポーネントま
でに、増加してきている。いくつかの回路ブロックは、標準化されたインターフ
ェース上で、インターフェースをとるためにも開発されており、これにより、カ
スタム設計において、そのブロックを実現するために必要とされる追加のカスタ
ム回路の数を、さらにできるだけ少なくしている。
プログラムが開発され、比較的高いコンセプトレベルで、開発者が集積回路設計
を定義することができるようになってきている。そして、ソフトウェア・プログ
ラムは、集積回路設計における物理的レイアウトの合成や、集積回路設計のテス
トのような、ツールにより自動的に行われる処理を有している。集積回路設計は
、オブジェクト指向ソフトウェア・デザインにも包含される多くの並列的なコン
セプトを有しており、そこでは、設計における低いレベルの機能を、オブジェク
トとして分類する。ここでは、多種多様な設計で再利用するために開発され、テ
ストされ、検証された「回路ブロック」と呼ぶこととする。このため、集積回路
の設計は、可能な範囲内で、多種多様な回路ブロック同士の組み合わせにより進
めることができ、そして、実際の設計上、回路ブロック同士のインターフェース
をとるのに必要な「グルー・ロジック」を開発することにより、進めることがで
きる。回路ブロック内に包含された機能は、長い期間をかけて増加してきている
。すなわち、マルチプレクサやレジスタのような簡単な論理コンポーネントで表
される、比較的簡単な回路ブロックから、バスインターフェース、メモリアレイ
及びインターフェース、テスト回路のような、より複雑な機能コンポーネントま
でに、増加してきている。いくつかの回路ブロックは、標準化されたインターフ
ェース上で、インターフェースをとるためにも開発されており、これにより、カ
スタム設計において、そのブロックを実現するために必要とされる追加のカスタ
ム回路の数を、さらにできるだけ少なくしている。
【0006】
既に存在する回路ブロックの組み合わせを利用することにより、開発時間が実
質的に減少し、開発者は、メモ書きからブロックを再形成するというよりも、既
に存在するブロックのインターフェースをとる最小限の回路だけを生成すること
がしばしば求められる。回路設計者は、これまでの検証や、既存のブロックで行
われたコンセプトの高いレベルで行うテストに、頼ることができる。このため、
設計上で互いに組み合わせたときに、ブロックがどのように動作するかを、本質
的にテストすることができる。
質的に減少し、開発者は、メモ書きからブロックを再形成するというよりも、既
に存在するブロックのインターフェースをとる最小限の回路だけを生成すること
がしばしば求められる。回路設計者は、これまでの検証や、既存のブロックで行
われたコンセプトの高いレベルで行うテストに、頼ることができる。このため、
設計上で互いに組み合わせたときに、ブロックがどのように動作するかを、本質
的にテストすることができる。
【0007】
多くの場合「設計再利用ツール」と呼ばれる多くのソフトウェア・ツールは、
多くの設計、テスト、検証、及び、合成処理を、1つの集積化されたパッケージ
に統合して開発されている。この集積化されたパッケージは、開発者が素早く適
切な回路ブロックを配置し、1つの実際上の設計に回路ブロックを集約化し、製
造可能な回路を作るために設計上の合成及び/又はテスト若しくは検証を実行す
ることができるようにする。さらに、いくつかの設計再利用ツールは、テンプレ
ートの使用をサポートしている。このテンプレートは、特定のニーズに合致した
高いレベルで再利用可能なブロックを開発者が設計できるように、コンパイル可
能な回路ブロックを形成する機能である。テンプレートの利用においては、例え
ば、ユーザは、与えられたブロックに対していくつかのカスタム・パラメータを
入力することができる。そして、ユーザは、そこから形成された、特定のパラメ
ータに合致したカスタマイズされたブロックを得る。
多くの設計、テスト、検証、及び、合成処理を、1つの集積化されたパッケージ
に統合して開発されている。この集積化されたパッケージは、開発者が素早く適
切な回路ブロックを配置し、1つの実際上の設計に回路ブロックを集約化し、製
造可能な回路を作るために設計上の合成及び/又はテスト若しくは検証を実行す
ることができるようにする。さらに、いくつかの設計再利用ツールは、テンプレ
ートの使用をサポートしている。このテンプレートは、特定のニーズに合致した
高いレベルで再利用可能なブロックを開発者が設計できるように、コンパイル可
能な回路ブロックを形成する機能である。テンプレートの利用においては、例え
ば、ユーザは、与えられたブロックに対していくつかのカスタム・パラメータを
入力することができる。そして、ユーザは、そこから形成された、特定のパラメ
ータに合致したカスタマイズされたブロックを得る。
【0008】
回路の再利用は、完全なプロセッシング・ユニットを、それ自体で完結した「
コア」ブロックとして、定義し、検証し、そしてテストするという観点において
も、進歩している。コアブロックでは、カスタム・プロセッシング・ユニットを
定義するために、インターフェース回路と他のロジックとが組み合わされている
。通常は、そのようなコアブロックは、通信バスのような標準化されたインター
フェースをサポートしており、そのような標準化されたインターフェースとイン
ターフェースをとることができるどの回路ブロックも、少しの追加回路で又は追
加回路無しで、コアブロックと集積化できるようにしている。デジタル・シグナ
ル・プロセッシングへの適用においては、例えば、DSPコアブロックが、プロ
グラマブル・デジタル・シグナル・プロセッシングの基礎を提供するために開発
されており、これを通じて、高いパフォーマンス、反復的な且つ数量的に集中し
たタスクを実行することができる。DSPコアブロックは、特に設計再利用によ
く適している。なぜなら、デジタル・シグナル・プロセッシングへの適用は、一
般的な目的のマイクロプロセッサ及び他のプロセッシング回路よりも、特定の用
途向けの傾向があるからである。すなわち、デジタル・シグナル・プロセッシン
グ機能は、様々な広い用途で必要とされており、これらの用途のそれぞれでは、
異なる入力、出力、他のサポート回路が必要とされている。そのことから、カス
タムDSP集積回路設計を開発する際に、DSPコアブロックを追加回路に集約
するという重要な要求が存在する。そうすることにより、プログラマビリティー
、開発ツール、及び、ソフトウェアライブラリのようなDSPプロセッサの利点
を、低い製造コスト、小サイズ、及び、低い消費電力のようなカスタム回路の利
点に、結びつけることができる。
コア」ブロックとして、定義し、検証し、そしてテストするという観点において
も、進歩している。コアブロックでは、カスタム・プロセッシング・ユニットを
定義するために、インターフェース回路と他のロジックとが組み合わされている
。通常は、そのようなコアブロックは、通信バスのような標準化されたインター
フェースをサポートしており、そのような標準化されたインターフェースとイン
ターフェースをとることができるどの回路ブロックも、少しの追加回路で又は追
加回路無しで、コアブロックと集積化できるようにしている。デジタル・シグナ
ル・プロセッシングへの適用においては、例えば、DSPコアブロックが、プロ
グラマブル・デジタル・シグナル・プロセッシングの基礎を提供するために開発
されており、これを通じて、高いパフォーマンス、反復的な且つ数量的に集中し
たタスクを実行することができる。DSPコアブロックは、特に設計再利用によ
く適している。なぜなら、デジタル・シグナル・プロセッシングへの適用は、一
般的な目的のマイクロプロセッサ及び他のプロセッシング回路よりも、特定の用
途向けの傾向があるからである。すなわち、デジタル・シグナル・プロセッシン
グ機能は、様々な広い用途で必要とされており、これらの用途のそれぞれでは、
異なる入力、出力、他のサポート回路が必要とされている。そのことから、カス
タムDSP集積回路設計を開発する際に、DSPコアブロックを追加回路に集約
するという重要な要求が存在する。そうすることにより、プログラマビリティー
、開発ツール、及び、ソフトウェアライブラリのようなDSPプロセッサの利点
を、低い製造コスト、小サイズ、及び、低い消費電力のようなカスタム回路の利
点に、結びつけることができる。
【0009】
カスタム化された特定用途のDSP集積回路の開発は、しばしば、標準的な、
大量生産の設計と比べて、高価であり、時間を消費する。特定用途向け集積回路
は、特に、一般的に少量生産であり、このため、そのような設計開発コストが比
較的高い。しばしば、より多様的でより良い設計のために、ASIC設計のテス
ト及び検証は、より複雑なテスト解析及び実現を伴っている。
大量生産の設計と比べて、高価であり、時間を消費する。特定用途向け集積回路
は、特に、一般的に少量生産であり、このため、そのような設計開発コストが比
較的高い。しばしば、より多様的でより良い設計のために、ASIC設計のテス
ト及び検証は、より複雑なテスト解析及び実現を伴っている。
【0010】
現在まで、カスタム化された特定用途DSP集積回路の開発は、設計再利用、
並びに、自動化された合成、検証及びテストの観点からは、ほとんどサポートさ
れていなかった。したがって、他のタイプの集積回路に関する市場の時間のよう
に、開発時間及びコストは増大した。結果的に、この技術分野において、カスタ
ムDSP集積回路のより自動化された設計プロセスの出現という、重要な要求が
存在し続けた。
並びに、自動化された合成、検証及びテストの観点からは、ほとんどサポートさ
れていなかった。したがって、他のタイプの集積回路に関する市場の時間のよう
に、開発時間及びコストは増大した。結果的に、この技術分野において、カスタ
ムDSP集積回路のより自動化された設計プロセスの出現という、重要な要求が
存在し続けた。
【0011】
(発明の概要)
本発明は、従来の技術に関するこれら及び他の問題に取り組み、既存のDSP
コアブロック、及び、このDSPコアブロックとインターフェースをとる1又は
複数の追加の回路ブロックから、カスタムDSP集積回路の自動設計をする際に
用いられる、装置、プログラムプロダクト、及び、方法を適用する。特に、入力
画面がユーザに表示され、カスタムDSP集積回路を自動的に組み立てるのに使
用されるユーザからのユーザ入力を受け入れるのに用いられる。入力画面は、カ
スタムDSP集積回路に含まれる少なくとも1つの任意の回路ブロックを選択す
るのに用いられる少なくとも1つの選択入力コンポーネントを含んでおり、また
、カスタムDSP集積回路に含まれるべきカスタマイズ可能な回路ブロックをカ
スタマイズするのに用いられる少なくとも1つの構成入力コンポーネントを含ん
でいる。入力画面を通じてユーザから受け入れたユーザ入力は、任意の回路ブロ
ックを選択し、カスタマイズ可能な回路ブロックをカスタマイズする。そのよう
な入力に基づいて、カスタマイズ可能な回路ブロックからカスタム回路ブロック
を生成し、任意の回路ブロック及びカスタム回路ブロックと、既存のDSPコア
ブロックとのインターフェースをとることにより、カスタムDSP集積回路が自
動的に組み立てられる。
コアブロック、及び、このDSPコアブロックとインターフェースをとる1又は
複数の追加の回路ブロックから、カスタムDSP集積回路の自動設計をする際に
用いられる、装置、プログラムプロダクト、及び、方法を適用する。特に、入力
画面がユーザに表示され、カスタムDSP集積回路を自動的に組み立てるのに使
用されるユーザからのユーザ入力を受け入れるのに用いられる。入力画面は、カ
スタムDSP集積回路に含まれる少なくとも1つの任意の回路ブロックを選択す
るのに用いられる少なくとも1つの選択入力コンポーネントを含んでおり、また
、カスタムDSP集積回路に含まれるべきカスタマイズ可能な回路ブロックをカ
スタマイズするのに用いられる少なくとも1つの構成入力コンポーネントを含ん
でいる。入力画面を通じてユーザから受け入れたユーザ入力は、任意の回路ブロ
ックを選択し、カスタマイズ可能な回路ブロックをカスタマイズする。そのよう
な入力に基づいて、カスタマイズ可能な回路ブロックからカスタム回路ブロック
を生成し、任意の回路ブロック及びカスタム回路ブロックと、既存のDSPコア
ブロックとのインターフェースをとることにより、カスタムDSP集積回路が自
動的に組み立てられる。
【0012】
本発明を特徴付けるこれら及び他の利点及び特徴は、ここに添付したクレーム
に記述されており、そのさらなる一部を形成する。しかし、本発明のよりよい理
解のために、並びに、その使用を通じ得られる利点及び特徴は、図面及び添付し
た記述事項が参照されるが、これは、本発明の例示的な実施の形態である。
に記述されており、そのさらなる一部を形成する。しかし、本発明のよりよい理
解のために、並びに、その使用を通じ得られる利点及び特徴は、図面及び添付し
た記述事項が参照されるが、これは、本発明の例示的な実施の形態である。
【0013】
(詳細な説明)
ハードウェア及びソフトウェア環境
図面を参照すると、そこには、いくつかの観点にわたって、符号等がパーツ等
を示している。図1は、本発明に係るカスタムDSP集積回路の自動設計を行う
際に用いられるコンピュータシステム10を示している。コンピュータシステム
10は、ネットワーク化されたコンピュータシステムとして示されており、これ
は1又は複数のクライアントコンピュータ12、14、20(例えば、ディスク
トップ、PCベースのコンピュータ、ワークステーション等)を含んでいる。ク
ライアントコンピュータ12、14、20は、ネットワーク18を介して、サー
バ16に接続されている。ネットワーク18は、実際上、ローカルエリア、ワイ
ドエリア、ワイヤレス、及び、公衆ネットワーク(例えばインターネット)を含
むネットワーク化された交互接続のどのようなタイプで表しても良いが、これら
に限定されるものではない。さらに、いかなる数のコンピュータ及び他のデバイ
スがネットワーク18を介して、ネットワーク化されていてもよく、例えば、マ
ルチサーバにしてもよい。
を示している。図1は、本発明に係るカスタムDSP集積回路の自動設計を行う
際に用いられるコンピュータシステム10を示している。コンピュータシステム
10は、ネットワーク化されたコンピュータシステムとして示されており、これ
は1又は複数のクライアントコンピュータ12、14、20(例えば、ディスク
トップ、PCベースのコンピュータ、ワークステーション等)を含んでいる。ク
ライアントコンピュータ12、14、20は、ネットワーク18を介して、サー
バ16に接続されている。ネットワーク18は、実際上、ローカルエリア、ワイ
ドエリア、ワイヤレス、及び、公衆ネットワーク(例えばインターネット)を含
むネットワーク化された交互接続のどのようなタイプで表しても良いが、これら
に限定されるものではない。さらに、いかなる数のコンピュータ及び他のデバイ
スがネットワーク18を介して、ネットワーク化されていてもよく、例えば、マ
ルチサーバにしてもよい。
【0014】
クライアントコンピュータ20(これはコンピュータ12及び14も同様であ
る)は、中央処理装置(CPU:Central Processing Un
it)21と、数多くの周辺コンポーネントを備えている。中でも、コンピュー
タディスプレイ22、ストレージデバイス23、プリンタ24及び種々の入力デ
バイス(マウス26及びキーボード27)のような周辺コンポーネントを備えて
いる。サーバコンピュータ16も同様に構成されているが、本技術分野で知られ
ているように、一般に、より高いプロセッシング・パフォーマンスとストレージ
容量を有している。
る)は、中央処理装置(CPU:Central Processing Un
it)21と、数多くの周辺コンポーネントを備えている。中でも、コンピュー
タディスプレイ22、ストレージデバイス23、プリンタ24及び種々の入力デ
バイス(マウス26及びキーボード27)のような周辺コンポーネントを備えて
いる。サーバコンピュータ16も同様に構成されているが、本技術分野で知られ
ているように、一般に、より高いプロセッシング・パフォーマンスとストレージ
容量を有している。
【0015】
図2は、本発明に係る装置30の例示的なハードウェア及びソフトウェア環境
を他の手法で示す図である。本発明の目的のため、装置30は、実際には、いか
なるタイプのコンピュータ、コンピュータシステム、又は、他のプログラマブル
電子デバイスで表されてもよい。これには、(例えば、図1のコンピュータ12
、14、20ような)クライアントコンピュータ、(例えば、図1のサーバ16
のような)サーバコンピュータ、ポータブルコンピュータ、ハンドヘルドコンピ
ュータ、組み込みコンピュータなどが、含まれる。装置30は、図1に示したネ
ットワークに接続されていてもよいし、あるいは、スタンドアロンのデバイスで
もよい。用語「装置」は、本発明に係る他の適当なプログラマブル電子デバイス
も含む意味に解釈されるべきであるが、以下においては、装置30は、「コンピ
ュータ」と呼ぶ。
を他の手法で示す図である。本発明の目的のため、装置30は、実際には、いか
なるタイプのコンピュータ、コンピュータシステム、又は、他のプログラマブル
電子デバイスで表されてもよい。これには、(例えば、図1のコンピュータ12
、14、20ような)クライアントコンピュータ、(例えば、図1のサーバ16
のような)サーバコンピュータ、ポータブルコンピュータ、ハンドヘルドコンピ
ュータ、組み込みコンピュータなどが、含まれる。装置30は、図1に示したネ
ットワークに接続されていてもよいし、あるいは、スタンドアロンのデバイスで
もよい。用語「装置」は、本発明に係る他の適当なプログラマブル電子デバイス
も含む意味に解釈されるべきであるが、以下においては、装置30は、「コンピ
ュータ」と呼ぶ。
【0016】
コンピュータ30は、一般に、メモリ32に接続された少なくとも1つのプロ
セッサ31を備えている。プロセッサ31は、1又は複数のプロセッサ(例えば
、マイクロプロセッサ)で表すことができる。メモリ32は、例えば、キャッシ
ュメモリ、不揮発又はバックアップメモリ(例えば、プログラマブル又はフラッ
シュメモリ)、リード・オンリー・メモリ等のあらゆる補助レベルのメモリとと
もに、コンピュータ30のメインストレージを備えるランダム・アクセス・メモ
リ(RAM)で表すことができる。また、メモリ32は、コンピュータ30以外
に物理的に位置するメモリストレージを含めて考えてもよい。例えば、プロセッ
サ31内のなんらかのキャッシュメモリと、仮想メモリとして用いられるなんら
かのストレージ容量とである。例えば、大容量ストレージデバイス35に格納さ
れるような、又は、ネットワーク36を介してコンピュータ30に接続されてい
る他のコンピュータに格納されるようなものである。
セッサ31を備えている。プロセッサ31は、1又は複数のプロセッサ(例えば
、マイクロプロセッサ)で表すことができる。メモリ32は、例えば、キャッシ
ュメモリ、不揮発又はバックアップメモリ(例えば、プログラマブル又はフラッ
シュメモリ)、リード・オンリー・メモリ等のあらゆる補助レベルのメモリとと
もに、コンピュータ30のメインストレージを備えるランダム・アクセス・メモ
リ(RAM)で表すことができる。また、メモリ32は、コンピュータ30以外
に物理的に位置するメモリストレージを含めて考えてもよい。例えば、プロセッ
サ31内のなんらかのキャッシュメモリと、仮想メモリとして用いられるなんら
かのストレージ容量とである。例えば、大容量ストレージデバイス35に格納さ
れるような、又は、ネットワーク36を介してコンピュータ30に接続されてい
る他のコンピュータに格納されるようなものである。
【0017】
一般に、コンピュータ30は、外部との情報通信のために、多くの入力及び出
力を受け付ける。ユーザ又はオペレータとのインターフェースのために、一般に
、コンピュータ30は、1又は複数のユーザ入力デバイス33(例えば、中でも
、キーボード、マウス、トラックボール、ジョイスティック、タッチパッド、及
び/又は、マイクロフォン)、及び、ディスプレイ34(例えば、中でも、CR
Tモニタ、LCDディスプレイパネル、及び/又は、スピーカ)を備えている。
力を受け付ける。ユーザ又はオペレータとのインターフェースのために、一般に
、コンピュータ30は、1又は複数のユーザ入力デバイス33(例えば、中でも
、キーボード、マウス、トラックボール、ジョイスティック、タッチパッド、及
び/又は、マイクロフォン)、及び、ディスプレイ34(例えば、中でも、CR
Tモニタ、LCDディスプレイパネル、及び/又は、スピーカ)を備えている。
【0018】
追加のストレージとして、コンピュータ30は、1又は複数の大容量ストレー
ジデバイス35を備えていてもよい。これは、例えば、中でも、フロッピー(登
録商標)又は他のリムーバル・ディスク・ドライブ、ハードディスク・ドライブ
、ダイレクト・アクセス・ストレージ・デバイス(DASD)、光ドライブ(例
えば、CDドライブ、DVDドライブ等)、及び/又は、テープ・ドライブであ
る。さらに、コンピュータ30は、ネットワークに接続された他のコンピュータ
との情報通信を可能とするために、1又は複数のネットワーク36(例えば、中
でも、LAN、WAN、ワイヤレスネットワーク、及び/又は、インターネット
)とのインターフェースを備えている。本技術分野で知られているように、コン
ピュータ30は一般に、プロセッサ31と各コンポーネント32、33、34、
35、36との間の適当なアナログ及び/又はデジタルインターフェースを備え
ていると、理解されるべきである。
ジデバイス35を備えていてもよい。これは、例えば、中でも、フロッピー(登
録商標)又は他のリムーバル・ディスク・ドライブ、ハードディスク・ドライブ
、ダイレクト・アクセス・ストレージ・デバイス(DASD)、光ドライブ(例
えば、CDドライブ、DVDドライブ等)、及び/又は、テープ・ドライブであ
る。さらに、コンピュータ30は、ネットワークに接続された他のコンピュータ
との情報通信を可能とするために、1又は複数のネットワーク36(例えば、中
でも、LAN、WAN、ワイヤレスネットワーク、及び/又は、インターネット
)とのインターフェースを備えている。本技術分野で知られているように、コン
ピュータ30は一般に、プロセッサ31と各コンポーネント32、33、34、
35、36との間の適当なアナログ及び/又はデジタルインターフェースを備え
ていると、理解されるべきである。
【0019】
コンピュータ30は、オペレーティング・システム40コントロールの下に、
動作する。また、コンピュータ30は、種々のコンピュータ・ソフトウェア・ア
プリケーション、コンポーネント、プログラム、オブジェクト、モジュール、デ
ータ構造など(例えば、中でも、メモリ32に常駐するように図示された、設計
再利用ツール42、及び、DSPビルダー・テンプレート44、並びに、ストレ
ージデバイス35内に常駐するように図示されたテンプレート46、FSBブロ
ック48のようなデジタル機能ブロックマクロ、SSBブロック50のようなア
ナログ及び/合成信号機能ブロックマクロ、及び、出力ファイル52)を実行し
、これらにさもなければ依存している。さらに、例えば、分散型、又はクライア
ント・サーバ型コンピュータ環境においては、種々のアプリケーション、コンポ
ーネント、プログラム、オブジェクト、モジュールなどが、このコンピュータ3
0にネットワーク36を介して接続された他のコンピュータにおける1又は複数
のプロセッサで実行されてもよい。これにより、コンピュータプログラムの機能
を実現するために必要とされる処理が、ネットワークを介して複数のコンピュー
タに、割り当てられる。
動作する。また、コンピュータ30は、種々のコンピュータ・ソフトウェア・ア
プリケーション、コンポーネント、プログラム、オブジェクト、モジュール、デ
ータ構造など(例えば、中でも、メモリ32に常駐するように図示された、設計
再利用ツール42、及び、DSPビルダー・テンプレート44、並びに、ストレ
ージデバイス35内に常駐するように図示されたテンプレート46、FSBブロ
ック48のようなデジタル機能ブロックマクロ、SSBブロック50のようなア
ナログ及び/合成信号機能ブロックマクロ、及び、出力ファイル52)を実行し
、これらにさもなければ依存している。さらに、例えば、分散型、又はクライア
ント・サーバ型コンピュータ環境においては、種々のアプリケーション、コンポ
ーネント、プログラム、オブジェクト、モジュールなどが、このコンピュータ3
0にネットワーク36を介して接続された他のコンピュータにおける1又は複数
のプロセッサで実行されてもよい。これにより、コンピュータプログラムの機能
を実現するために必要とされる処理が、ネットワークを介して複数のコンピュー
タに、割り当てられる。
【0020】
一般に、オペレーティング・システムの一部として実現される、又は、特定の
アプリケーション、コンポーネント、プログラム、オブジェクト、モジュール若
しくは命令シーケンスで実現されるとにかかわらず、本発明の実施の形態を実現
するために実行されるルーティンは、ここでは、「コンピュータプログラム」又
は単に「プログラム」と呼ぶ。コンピュータプログラムは、一般に、1又は複数
の命令を備えている。この命令は、コンピュータの種々のメモリ及びストレージ
デバイスに種々のタイミングで常駐する。また、この命令は、コンピュータの1
又は複数のプロセッサで読み出され、実行された場合に、本発明の種々の観点を
実現するステップ又はエレメントを実行するのに必要なステップを、コンピュー
タに行わせる。さらに、本発明は、十分に機能的なコンピュータ及びコンピュー
タシステムを有しているという状況で、以下では説明されるが、当業者は、種々
のフォームのプログラム・プロダクトとして、本発明の種々の実施形態が、頒布
できると、理解するであろう。また、当業者は、頒布を実際に行うために用いら
れる信号搬送媒体の特定のタイプに拘わらず、本発明を同等に適用できると、理
解するであろう。限定されるものではないが、信号搬送媒体の例には、中でも、
揮発性及び不揮発性メモリデバイス、フロッピー及び他のリムーバルディスク、
ハードディスクドライブ、磁気テープ、光ディスク(例えば、CD−ROM、D
VD等)のような記録可能型媒体、並びに、デジタル及びアナログ通信リンクの
ような伝送型媒体が、含まれる。
アプリケーション、コンポーネント、プログラム、オブジェクト、モジュール若
しくは命令シーケンスで実現されるとにかかわらず、本発明の実施の形態を実現
するために実行されるルーティンは、ここでは、「コンピュータプログラム」又
は単に「プログラム」と呼ぶ。コンピュータプログラムは、一般に、1又は複数
の命令を備えている。この命令は、コンピュータの種々のメモリ及びストレージ
デバイスに種々のタイミングで常駐する。また、この命令は、コンピュータの1
又は複数のプロセッサで読み出され、実行された場合に、本発明の種々の観点を
実現するステップ又はエレメントを実行するのに必要なステップを、コンピュー
タに行わせる。さらに、本発明は、十分に機能的なコンピュータ及びコンピュー
タシステムを有しているという状況で、以下では説明されるが、当業者は、種々
のフォームのプログラム・プロダクトとして、本発明の種々の実施形態が、頒布
できると、理解するであろう。また、当業者は、頒布を実際に行うために用いら
れる信号搬送媒体の特定のタイプに拘わらず、本発明を同等に適用できると、理
解するであろう。限定されるものではないが、信号搬送媒体の例には、中でも、
揮発性及び不揮発性メモリデバイス、フロッピー及び他のリムーバルディスク、
ハードディスクドライブ、磁気テープ、光ディスク(例えば、CD−ROM、D
VD等)のような記録可能型媒体、並びに、デジタル及びアナログ通信リンクの
ような伝送型媒体が、含まれる。
【0021】
さらに、後述する種々のプログラムは、アプリケーションに基づいて特定され
、それらは本発明の特定の実施形態の中で、実現される。しかし、以下のあらゆ
る特定のプログラム用語は、単に便宜上用いられるものであり、それ故、本発明
は、そのような用語で明示された及び/又は暗示された特定のアプリケーション
に単に用いられるものと限定されるべきではない。
、それらは本発明の特定の実施形態の中で、実現される。しかし、以下のあらゆ
る特定のプログラム用語は、単に便宜上用いられるものであり、それ故、本発明
は、そのような用語で明示された及び/又は暗示された特定のアプリケーション
に単に用いられるものと限定されるべきではない。
【0022】
図1及び図2に示された例示的な環境に、本発明を限定する意図ではないと、
当業者であれば認識されるであろう。実際は、当業者は、他の代替のハードウェ
ア及び/又はソフトウェア環境を、本発明の範囲から逸脱することなく、利用し
てもよいことを、認識されるであろう。
当業者であれば認識されるであろう。実際は、当業者は、他の代替のハードウェ
ア及び/又はソフトウェア環境を、本発明の範囲から逸脱することなく、利用し
てもよいことを、認識されるであろう。
【0023】
カスタムDSP集積回路の自動設計のためのDSPビルダー・テンプレート
DSPビルダー・テンプレートの利用を通じて、カスタムDSP集積回路の自
動設計により、後述する実施形態は動作する。DSP集積回路は、再利用ツール
を設計するための、「フロント・エンド」として、動作する。テンプレートは、
1又は複数の任意の回路ブロックの選択と、ユーザインターフェースを介して行
われる1又は複数のカスタマイズ可能な回路ブロックのカスタマイズとの双方を
、可能にする。さらに、一旦、任意の回路ブロックが選択され、いくつかのカス
タマイズ用パラメータが所定のカスタマイズ可能な回路ブロック用に選択された
場合、カスタムDSP集積回路が自動的に作られる。これは、そのようなカスタ
マイズ可能な回路ブロックをカスタマイズし、既存のDSPコアブロックと、選
択した任意の回路ブロック及びカスタマイズされた回路ブロックのインターフェ
ースをとることにより、自動的に作られる。
動設計により、後述する実施形態は動作する。DSP集積回路は、再利用ツール
を設計するための、「フロント・エンド」として、動作する。テンプレートは、
1又は複数の任意の回路ブロックの選択と、ユーザインターフェースを介して行
われる1又は複数のカスタマイズ可能な回路ブロックのカスタマイズとの双方を
、可能にする。さらに、一旦、任意の回路ブロックが選択され、いくつかのカス
タマイズ用パラメータが所定のカスタマイズ可能な回路ブロック用に選択された
場合、カスタムDSP集積回路が自動的に作られる。これは、そのようなカスタ
マイズ可能な回路ブロックをカスタマイズし、既存のDSPコアブロックと、選
択した任意の回路ブロック及びカスタマイズされた回路ブロックのインターフェ
ースをとることにより、自動的に作られる。
【0024】
特に、後述する実施形態は、特にフィリップス・セミコンダクターから提供さ
れているHDLインテグレータ設計再利用ツールとともに使用するためのテンプ
レートとして、実現される。HDLインテグレータ設計再利用ツールは、ファン
クションコンパイラ、FSBマクロ、SSBマクロ及びテンプレートのライブラ
リを提供する。そして、これらから、ハイレベル・ユーザ・インターフェースを
用いて、モジュラー集積回路コンポーネントが、組み立てられ、テストされ、検
証され、合成される。このことから、ここに開示されている機能のほとんどが、
コマンド構造及びそれによりサポートされたユーザインターフェースを用いるH
DLインテグレータ・ツールの比較的ハイレベルなファンクション・コールによ
り、実現することができる。HDLインテグレータ設計再利用ツールにおける、
テンプレート及び他の利用可能なコンポーネントの使用及び構成も、本技術分野
では理解されているので、ここでは、さらに詳細に論ずる必要はない。さらに、
本開示により恩恵を受ける当業者によれば、他の電子設計自動(EDA:ele
ctronic design automation)環境を、代替として、
本発明を実現するために利用できると、理解されよう。したがって、本発明は、
ここで論じた特定の具体例に限定されるべきではない。
れているHDLインテグレータ設計再利用ツールとともに使用するためのテンプ
レートとして、実現される。HDLインテグレータ設計再利用ツールは、ファン
クションコンパイラ、FSBマクロ、SSBマクロ及びテンプレートのライブラ
リを提供する。そして、これらから、ハイレベル・ユーザ・インターフェースを
用いて、モジュラー集積回路コンポーネントが、組み立てられ、テストされ、検
証され、合成される。このことから、ここに開示されている機能のほとんどが、
コマンド構造及びそれによりサポートされたユーザインターフェースを用いるH
DLインテグレータ・ツールの比較的ハイレベルなファンクション・コールによ
り、実現することができる。HDLインテグレータ設計再利用ツールにおける、
テンプレート及び他の利用可能なコンポーネントの使用及び構成も、本技術分野
では理解されているので、ここでは、さらに詳細に論ずる必要はない。さらに、
本開示により恩恵を受ける当業者によれば、他の電子設計自動(EDA:ele
ctronic design automation)環境を、代替として、
本発明を実現するために利用できると、理解されよう。したがって、本発明は、
ここで論じた特定の具体例に限定されるべきではない。
【0025】
図示した実施形態においては、テンプレートは、モジュラーDSPコアに関す
る所望のアプリケーション用の周辺回路、プロセッサ、メモリ及びカスタム・エ
レメントの自動集積を行うために用いられ、設計時間及び設計エラーを削減する
。これと並行して、設計ツールは、予備的構成の合成可能なネットリストを提供
する。標準インターフェースを介して互いにインターフェースをとることのでき
る機能コンポーネントにおける既存ブロックの再利用では、具体例の動作はヘビ
ーである。カスタムDSP集積回路においては、DSPコアベースの特定用途向
け集積回路(ASIC)は、一般に、DSPコアとおよそ同じブロックの集積に
基づいていることを、見出した。一般に、主要なブロックには、種々のメモリ、
コーダ/デコーダ、シリアルポート、タイマー及び他のユーザ定義ブロックが含
まれる。各ASIC間の主要な違いは、一般に、メモリ構成、並びに、周辺アド
レス・マッピング及び実例にある。
る所望のアプリケーション用の周辺回路、プロセッサ、メモリ及びカスタム・エ
レメントの自動集積を行うために用いられ、設計時間及び設計エラーを削減する
。これと並行して、設計ツールは、予備的構成の合成可能なネットリストを提供
する。標準インターフェースを介して互いにインターフェースをとることのでき
る機能コンポーネントにおける既存ブロックの再利用では、具体例の動作はヘビ
ーである。カスタムDSP集積回路においては、DSPコアベースの特定用途向
け集積回路(ASIC)は、一般に、DSPコアとおよそ同じブロックの集積に
基づいていることを、見出した。一般に、主要なブロックには、種々のメモリ、
コーダ/デコーダ、シリアルポート、タイマー及び他のユーザ定義ブロックが含
まれる。各ASIC間の主要な違いは、一般に、メモリ構成、並びに、周辺アド
レス・マッピング及び実例にある。
【0026】
図示された具体例において、DSPコアは、OAK+DSPCoreコアであ
り、これはDSPグループ社(DSP Group Inc.)から提供される
。これは、カスタマー定義のASICに、組み込むことを意図する16ビット固
定小数点DSPコアである。このコアは、さらに、オンチップ評価、SDI及び
境界スキャンロジックを含んでいる。このコアは、X及びYデータ空間に分割さ
れた、64K×16ビットの最大アドレスデータ空間をサポートしている。Yデ
ータ空間は、ユーザにより構成できる空間であり、上位2、4、8又は16Kの
データ空間を専有できる。残りのデータアドレスは、X空間に割り当てられる。
ユーザは、サイズ的に同じ又は異なるタイプのいくつかのブロックに、この空間
をいかに配分するかを選択することができる。RAM及び/又はROMは、特定
のタイミング選択で、接続することができる。コア用のプログラムメモリ空間は
、最大16K×16ビットであり、異なるタイプ、スピード及びサイズのROM
及び/又はRAMに配分することができる。他のDSPコア(例えば、Palm
DSPCoreコア)及び他の適正な設計を、代替として用いてもよいことが、
理解されよう。
り、これはDSPグループ社(DSP Group Inc.)から提供される
。これは、カスタマー定義のASICに、組み込むことを意図する16ビット固
定小数点DSPコアである。このコアは、さらに、オンチップ評価、SDI及び
境界スキャンロジックを含んでいる。このコアは、X及びYデータ空間に分割さ
れた、64K×16ビットの最大アドレスデータ空間をサポートしている。Yデ
ータ空間は、ユーザにより構成できる空間であり、上位2、4、8又は16Kの
データ空間を専有できる。残りのデータアドレスは、X空間に割り当てられる。
ユーザは、サイズ的に同じ又は異なるタイプのいくつかのブロックに、この空間
をいかに配分するかを選択することができる。RAM及び/又はROMは、特定
のタイミング選択で、接続することができる。コア用のプログラムメモリ空間は
、最大16K×16ビットであり、異なるタイプ、スピード及びサイズのROM
及び/又はRAMに配分することができる。他のDSPコア(例えば、Palm
DSPCoreコア)及び他の適正な設計を、代替として用いてもよいことが、
理解されよう。
【0027】
図3に示すように、本発明に係るカスタムDSP集積回路サブシステムに組み
込むことのできる利用可能なコンポーネントが、60で示されている。これは、
上述したOAK+DSPCoreコアなどのモジュラーDSPコア62を含んで
いる。設計可能な又はパラメータ化可能なRAM及びROMブロック64、66
が、Yデータ空間用に設けられている。ROM66は、パラメータ化デコーダを
介して、コアに接続されている。任意ではあるが、ROM用の組み込み自己テス
ト機構も設けられている。これは、デコーダ68とROM66との間にマルチプ
レクサ70を設けて、組み込み自己テスト(BIST)ブロック72に接続され
た追加入力を設けることにより、構成される。RAM74、ROM76、デコー
ダ78、マルチプレクサ80及びBIST82の同様の構成が、Xデータ空間用
に設けられている。
込むことのできる利用可能なコンポーネントが、60で示されている。これは、
上述したOAK+DSPCoreコアなどのモジュラーDSPコア62を含んで
いる。設計可能な又はパラメータ化可能なRAM及びROMブロック64、66
が、Yデータ空間用に設けられている。ROM66は、パラメータ化デコーダを
介して、コアに接続されている。任意ではあるが、ROM用の組み込み自己テス
ト機構も設けられている。これは、デコーダ68とROM66との間にマルチプ
レクサ70を設けて、組み込み自己テスト(BIST)ブロック72に接続され
た追加入力を設けることにより、構成される。RAM74、ROM76、デコー
ダ78、マルチプレクサ80及びBIST82の同様の構成が、Xデータ空間用
に設けられている。
【0028】
プログラムデータ空間用に、プログラムRAM及びROM84、86が設けら
れており、プログラムメモリ84、86とDSPコア62との間に接続されたデ
コーダ88を有している。BISTエンジン94、96にそれぞれ接続された追
加入力を有する中間マルチプレクサ90、92により、任意のBIST機構が設
けられている。
れており、プログラムメモリ84、86とDSPコア62との間に接続されたデ
コーダ88を有している。BISTエンジン94、96にそれぞれ接続された追
加入力を有する中間マルチプレクサ90、92により、任意のBIST機構が設
けられている。
【0029】
コア・メモリ・インターフェースは、プログラムメモリとデータメモリ用の個
別のインターフェースを含んでおり、各メモリ空間用の個別のバス及びコントロ
ールを有している。トランザクションは、データメモリ及びプログラムメモリ用
の読み出しタイプ又は書き込みタイプにすることができる。さらに、遅いメモリ
トランザクションは、ウエイト状態機構を用いることにより、サポートしてもよ
い。
別のインターフェースを含んでおり、各メモリ空間用の個別のバス及びコントロ
ールを有している。トランザクションは、データメモリ及びプログラムメモリ用
の読み出しタイプ又は書き込みタイプにすることができる。さらに、遅いメモリ
トランザクションは、ウエイト状態機構を用いることにより、サポートしてもよ
い。
【0030】
低いスピードの非バスマスター周辺回路を、周辺バスブリッジ98を介して、
DSPコアに接続することができる。周辺バスブリッジ98は、デコーダ100
を介して、コア62に接続されている。図示した具体例においては、本技術分野
で知られている標準VLSI周辺バス(VPB)が、低いスピードの周辺バスと
して用いられてもよい。ブリッジ98は、3サイクルの単方向ODBからVPB
ブリッジブロックへの3つの実例102、104、106を含んでおり、これは
DSPサブシステムに含まれる。VPBテストレジスタ108は、一般に、設計
及び検証の間に、ブリッジの動作テストを補助するために、生成される。各ブリ
ッジは、3VPBクロックサイクルのアーキテクチャを用いており、単方向のD
SP及びVPBバスを有している。
DSPコアに接続することができる。周辺バスブリッジ98は、デコーダ100
を介して、コア62に接続されている。図示した具体例においては、本技術分野
で知られている標準VLSI周辺バス(VPB)が、低いスピードの周辺バスと
して用いられてもよい。ブリッジ98は、3サイクルの単方向ODBからVPB
ブリッジブロックへの3つの実例102、104、106を含んでおり、これは
DSPサブシステムに含まれる。VPBテストレジスタ108は、一般に、設計
及び検証の間に、ブリッジの動作テストを補助するために、生成される。各ブリ
ッジは、3VPBクロックサイクルのアーキテクチャを用いており、単方向のD
SP及びVPBバスを有している。
【0031】
任意のパッチ・ブロックが、ソフトウェアの確定するDSP・ROMプログラ
ムを提供するために、含まれるようにしてもよい。パッチ110は、一般に、8
個のソース・アドレス・ベクタと、ROMプログラムの通常フローを変更する8
個の宛先アドレス・ベクタとを、提供する。構成レジスタは、ブリッジ102の
VPBインターフェースを介して、アクセス可能である。パッチ・ブロックが命
令アドレスを読み出し、アドレスがソース・アドレス・ベクタのアドレスと一致
するたびに、パッチ・コードを含むブロックを除いて、パッチは、プログラム・
メモリ・ブロックが、プログラム・データバスを駆動できないようにする。パッ
チ・ブロックは、バス上のパッチ・ブロックに常駐しているハード・コード・ブ
ランチOPコードを駆動する。そして、ベクタ宛先は、パッチ・ブロックにより
バス上に駆動され、パッチ・ルーティンがDSPコアにより実行される。パッチ
・ブロック110用の構成レジスタは、一般に、ブリッジ・ブロック102を介
してアクセスされる。
ムを提供するために、含まれるようにしてもよい。パッチ110は、一般に、8
個のソース・アドレス・ベクタと、ROMプログラムの通常フローを変更する8
個の宛先アドレス・ベクタとを、提供する。構成レジスタは、ブリッジ102の
VPBインターフェースを介して、アクセス可能である。パッチ・ブロックが命
令アドレスを読み出し、アドレスがソース・アドレス・ベクタのアドレスと一致
するたびに、パッチ・コードを含むブロックを除いて、パッチは、プログラム・
メモリ・ブロックが、プログラム・データバスを駆動できないようにする。パッ
チ・ブロックは、バス上のパッチ・ブロックに常駐しているハード・コード・ブ
ランチOPコードを駆動する。そして、ベクタ宛先は、パッチ・ブロックにより
バス上に駆動され、パッチ・ルーティンがDSPコアにより実行される。パッチ
・ブロック110用の構成レジスタは、一般に、ブリッジ・ブロック102を介
してアクセスされる。
【0032】
境界スキャン・ロジック112も設けられており、組み込み自己テストにおい
て、スキャンデータを入力し及び出力するためのメカニズムを提供するために、
DSPコアに接続されている。ユーザは、一般的に、「ステート・マシン駆動」
と「コア駆動メモリテスト方策」との間を選択する選択権を有する。また、「ス
テート・マシン駆動」の選択は、上述したように、BISTエンジン72、82
及び94〜96の生成をもたらす。さらに、任意のコプロセッサ・インターフェ
ース・ブロック116を設けるのが、望ましいかもしれない。これにより、DS
Pコアの追加機能として、例えば(中でも)NLMS又はVITERBIコプロ
セッサ等の種々のコプロセッサを用いることができる。データ転送は、一般に、
DSPコアユーザ定義レジスタにより行われる。多くの実例では、読み出し及び
書き込みアクセスをコントロールするために、グルー・ロジックが必要とされる
。
て、スキャンデータを入力し及び出力するためのメカニズムを提供するために、
DSPコアに接続されている。ユーザは、一般的に、「ステート・マシン駆動」
と「コア駆動メモリテスト方策」との間を選択する選択権を有する。また、「ス
テート・マシン駆動」の選択は、上述したように、BISTエンジン72、82
及び94〜96の生成をもたらす。さらに、任意のコプロセッサ・インターフェ
ース・ブロック116を設けるのが、望ましいかもしれない。これにより、DS
Pコアの追加機能として、例えば(中でも)NLMS又はVITERBIコプロ
セッサ等の種々のコプロセッサを用いることができる。データ転送は、一般に、
DSPコアユーザ定義レジスタにより行われる。多くの実例では、読み出し及び
書き込みアクセスをコントロールするために、グルー・ロジックが必要とされる
。
【0033】
同様に、任意であるが、DSPコアブロック62から出力するPレジスタ信号
118が備えられている。この信号は、OAK+DSPCoreコア特有のもの
である。NLMSコプロセッサ等のいくつかのコプロセッサで使用されるコア内
のPレジスタの出力を、表している。DMA信号120も同様に、任意で設けら
れており、DSPサブシステム境界に関するDMAコントロール信号を、このサ
ブシステム外部のDMA機能の装置に、設計者が持ってくることを可能にする。
118が備えられている。この信号は、OAK+DSPCoreコア特有のもの
である。NLMSコプロセッサ等のいくつかのコプロセッサで使用されるコア内
のPレジスタの出力を、表している。DMA信号120も同様に、任意で設けら
れており、DSPサブシステム境界に関するDMAコントロール信号を、このサ
ブシステム外部のDMA機能の装置に、設計者が持ってくることを可能にする。
【0034】
図3に示された各ブロックは、本技術分野で知られている利用可能なモジュラ
ーブロックから、選択してもよいし、他の適当な設計を用いて実現してもよいこ
とが、理解されるであろう。
ーブロックから、選択してもよいし、他の適当な設計を用いて実現してもよいこ
とが、理解されるであろう。
【0035】
次に、図4は、DSPコアブロック62に用いるのに適した、メモリアーキテ
クチャ130を示している。Yデータ空間は、データ空間の最上位メモリアドレ
スの2K、4K、8K、16Kの中から、選ぶことができる。残りのアドレスが
、X空間に割り当てられる。
クチャ130を示している。Yデータ空間は、データ空間の最上位メモリアドレ
スの2K、4K、8K、16Kの中から、選ぶことができる。残りのアドレスが
、X空間に割り当てられる。
【0036】
次に、図5は、本発明に係るカスタムDSP集積回路の開発を自動的に行うた
めの、DSPビルダー・テンプレートの処理を示している。図5の140で示さ
れている処理のシーケンスは、ここで述べたような態様で、DSPビルダー・テ
ンプレートを用いて、カスタムDSP集積回路を生成するために、使用すること
ができる。DSPビルダー・テンプレートは、GUIコンポーネント、チェック
スクリプト及びビルドスクリプトの集合であるHDLインテグレータ環境により
、表されている。
めの、DSPビルダー・テンプレートの処理を示している。図5の140で示さ
れている処理のシーケンスは、ここで述べたような態様で、DSPビルダー・テ
ンプレートを用いて、カスタムDSP集積回路を生成するために、使用すること
ができる。DSPビルダー・テンプレートは、GUIコンポーネント、チェック
スクリプト及びビルドスクリプトの集合であるHDLインテグレータ環境により
、表されている。
【0037】
ブロック142に示すように、全体プロセスは、設計ツール・ウインドウ・ビ
ルダーを介して、1又は複数のグラフィカル・ユーザ・インターフェースを組み
立てることにより、開始する。設計ツール・ウインドウ・ビルダーへの入力は、
開発者により開発された、且つ、テンプレートとのインターフェースをとるユー
ザ入力を受信するために用いられる、一連のGUIコンポーネント144である
。ビルダー142の出力は、1又は複数のGUIウインドウ146である。14
8で示されているように、このGUIウインドウ146は、ユーザがウインドウ
と相互にやり取りをして、ユーザ入力を受信するように構成されており、本発明
に係るカスタムDSP集積回路を生成して、使用するための、1又は複数のパラ
メータを定義する。1つの適当なテンプレート・ウインドウが、150で示され
ている。一旦、ユーザが入力をGUIウインドウへ行い、ユーザがGUIウイン
ドウからコンパイルオプションを選択することにより、集積回路設計の生成を開
始すると、HDLインテグレータ・ツールにおけるスクリプト・エンジン152
が実行され、開発者により開発されたチェックスクリプト154が処理され、ユ
ーザの入力したパラメータが検証のために用いられる。特に、本質的に、チェッ
クスクリプトは、ユーザオプションを解析するスクリプト・エンジンにより処理
され、そのオプションがDSPサブシステムで利用可能なオプションであること
を検証する。スクリプト・エンジンの出力に基づいて、ユーザが行った入力が受
け入れ可能であるかどうかを決定する。もし何らかのエラーが検出された場合、
158のエラーウインドウが表示され、制御がブロック148に戻り、これによ
り、先に行われた入力によるエラーを正すために、ユーザから修正した入力を受
信する。もし入力が受け入れ可能である場合、制御はブロック160に移行し、
ビルドスクリプト162を処理するために、再度、スクリプト・エンジンを実行
する。ビルドスクリプト162は、パラメータを処理し、テンプレートの出力を
表す1又は複数の出力ファイル164を出力する。上述したHDLインテグレー
タ・ツールを用いると、GUIコンポーネント・ファイル144は、設計再利用
ツールで処理されるように、「.TPL」又は「.STPL」ファイルのフォー
マットであり、グラフィカル・ユーザ・インターフェース及びあらゆる必要なサ
ブウインドウを生成する。チェックスクリプト154は、「.HPC」ファイル
のフォーマットであり、これは、ユーザ入力のすべてをチェックするコード、及
び、あらゆるエラー又は他のワーニング・メッセージを生成するためのコードを
、含んでいる。ビルド・スクリプト・ファイル162は、総合スクリプトとして
機能する「.HTF」ファイルフォーマットであり、これは、ユーザがテンプレ
ート・ウインドウで定義したパラメータにより、VHDL、VERILOG又は
他の高水準定義言語ファイルを生成する。しかしながら、他の環境において、代
替ソースファイルが、ここで述べた態様の設計再利用ツールを制御するために、
用いられてもよい。
ルダーを介して、1又は複数のグラフィカル・ユーザ・インターフェースを組み
立てることにより、開始する。設計ツール・ウインドウ・ビルダーへの入力は、
開発者により開発された、且つ、テンプレートとのインターフェースをとるユー
ザ入力を受信するために用いられる、一連のGUIコンポーネント144である
。ビルダー142の出力は、1又は複数のGUIウインドウ146である。14
8で示されているように、このGUIウインドウ146は、ユーザがウインドウ
と相互にやり取りをして、ユーザ入力を受信するように構成されており、本発明
に係るカスタムDSP集積回路を生成して、使用するための、1又は複数のパラ
メータを定義する。1つの適当なテンプレート・ウインドウが、150で示され
ている。一旦、ユーザが入力をGUIウインドウへ行い、ユーザがGUIウイン
ドウからコンパイルオプションを選択することにより、集積回路設計の生成を開
始すると、HDLインテグレータ・ツールにおけるスクリプト・エンジン152
が実行され、開発者により開発されたチェックスクリプト154が処理され、ユ
ーザの入力したパラメータが検証のために用いられる。特に、本質的に、チェッ
クスクリプトは、ユーザオプションを解析するスクリプト・エンジンにより処理
され、そのオプションがDSPサブシステムで利用可能なオプションであること
を検証する。スクリプト・エンジンの出力に基づいて、ユーザが行った入力が受
け入れ可能であるかどうかを決定する。もし何らかのエラーが検出された場合、
158のエラーウインドウが表示され、制御がブロック148に戻り、これによ
り、先に行われた入力によるエラーを正すために、ユーザから修正した入力を受
信する。もし入力が受け入れ可能である場合、制御はブロック160に移行し、
ビルドスクリプト162を処理するために、再度、スクリプト・エンジンを実行
する。ビルドスクリプト162は、パラメータを処理し、テンプレートの出力を
表す1又は複数の出力ファイル164を出力する。上述したHDLインテグレー
タ・ツールを用いると、GUIコンポーネント・ファイル144は、設計再利用
ツールで処理されるように、「.TPL」又は「.STPL」ファイルのフォー
マットであり、グラフィカル・ユーザ・インターフェース及びあらゆる必要なサ
ブウインドウを生成する。チェックスクリプト154は、「.HPC」ファイル
のフォーマットであり、これは、ユーザ入力のすべてをチェックするコード、及
び、あらゆるエラー又は他のワーニング・メッセージを生成するためのコードを
、含んでいる。ビルド・スクリプト・ファイル162は、総合スクリプトとして
機能する「.HTF」ファイルフォーマットであり、これは、ユーザがテンプレ
ート・ウインドウで定義したパラメータにより、VHDL、VERILOG又は
他の高水準定義言語ファイルを生成する。しかしながら、他の環境において、代
替ソースファイルが、ここで述べた態様の設計再利用ツールを制御するために、
用いられてもよい。
【0038】
パラメータの他の組み合わせが、本発明に関して用いられてもよいが、図示し
た実施の形態においては、以下のオプションを用いて、上述したDSPサブシス
テムからカスタムDSP集積回路を生成する。
た実施の形態においては、以下のオプションを用いて、上述したDSPサブシス
テムからカスタムDSP集積回路を生成する。
【0039】
テーブルI:DSPビルダー・オプション
●Y空間サイズ(2K、4K、8K、又は、16K)
●データY ROM スタート アドレス
●データY ROM サイズ(0〜16384ワード)
●Y ROM ブロック:
・データROMサイズ(512〜4096ワード)
●Y RAM タイプ (HDIRAM 又は OAK+RAM)
●データY RAM スタート アドレス
●データY RAM サイズ (0〜16384ワード)
●Y RAM ブロック
・データRAMサイズ(OAK+RAMにおいては1024〜409
6ワード/HDIRAMにおいては1024〜16384ワード) ●データX ROM スタート アドレス ●データX ROM サイズ(0〜63487、61439、57343又は4
9151ワード) ●X ROM ブロック: ・データROMサイズ(512〜4096ワード) ●X RAM タイプ(HDIRAM 又は OAK+RAM) ●データX RAM スタート アドレス ●データX RAM サイズ(0〜63487、61439、57343又は4
9151ワード) ●X RAM ブロック: ・データRAMサイズ(OAK+RAMにおいては1024〜409
6ワード/HDIRAMにおいては1024〜32768ワード) ●データ P ROM スタート アドレス ●データ P ROM サイズ(0〜65536ワード) ●P ROM ブロック: ・データRAMサイズ(512〜4096ワード) ●データ P RAM スタート アドレス ●データ P RAM サイズ(0〜65536ワード) ●P RAMブロック: ・プログラムRAMサイズ(1024〜32768ワード) ●パッチ オプション(No又はYes) ・OAK DPRAM ベース ・OAK DPRAM サイズ ●コプロセッサ ・コプロセッサ(No又はYes) ・出力 P レジスタ (No又はYes) ●VPB定義(ODB2VPBテンプレート) ●DMAオプション(No又はYes) 図6は、DSPビルダー・テンプレート・ウインドウ170の一例を示してお
り、これを通じて、ユーザ入力を、上述したテンプレートから、カスタムDSP
集積回路の生成に、入力することができる。172で示されているように、ユー
ザは、2K、4K、8K又は16Kの4つの利用可能なYメモリ空間サイズから
、1つを選ぶことができる。64Kデータ空間の残りは、Xデータ空間に割り当
てられると仮定される。Yデータ空間に対しては、入力フィールド174が、デ
ータY ROMスタートアドレスを受け入れるとともに、データY ROMトー
タルサイズが、フィールド176を介して入力される。また、ボタン178の選
択により、ユーザは、Y ROMブロックを実現するために用いられるモジュラ
ー・コンポーネントのタイプを、選択することができる。一般に、ボタン178
を選択すると、サブウインドウが開かれ、これを通じて、ユーザは、モジュラー
・メモリ・ブロックの種々のタイプを選択することができ、要望に応じて、その
ブロックをカスタマイズできる。あるいは、1つだけのタイプのY ROMブロ
ックをサポートするのであれば、ボタン178は必要ないであろう。
6ワード/HDIRAMにおいては1024〜16384ワード) ●データX ROM スタート アドレス ●データX ROM サイズ(0〜63487、61439、57343又は4
9151ワード) ●X ROM ブロック: ・データROMサイズ(512〜4096ワード) ●X RAM タイプ(HDIRAM 又は OAK+RAM) ●データX RAM スタート アドレス ●データX RAM サイズ(0〜63487、61439、57343又は4
9151ワード) ●X RAM ブロック: ・データRAMサイズ(OAK+RAMにおいては1024〜409
6ワード/HDIRAMにおいては1024〜32768ワード) ●データ P ROM スタート アドレス ●データ P ROM サイズ(0〜65536ワード) ●P ROM ブロック: ・データRAMサイズ(512〜4096ワード) ●データ P RAM スタート アドレス ●データ P RAM サイズ(0〜65536ワード) ●P RAMブロック: ・プログラムRAMサイズ(1024〜32768ワード) ●パッチ オプション(No又はYes) ・OAK DPRAM ベース ・OAK DPRAM サイズ ●コプロセッサ ・コプロセッサ(No又はYes) ・出力 P レジスタ (No又はYes) ●VPB定義(ODB2VPBテンプレート) ●DMAオプション(No又はYes) 図6は、DSPビルダー・テンプレート・ウインドウ170の一例を示してお
り、これを通じて、ユーザ入力を、上述したテンプレートから、カスタムDSP
集積回路の生成に、入力することができる。172で示されているように、ユー
ザは、2K、4K、8K又は16Kの4つの利用可能なYメモリ空間サイズから
、1つを選ぶことができる。64Kデータ空間の残りは、Xデータ空間に割り当
てられると仮定される。Yデータ空間に対しては、入力フィールド174が、デ
ータY ROMスタートアドレスを受け入れるとともに、データY ROMトー
タルサイズが、フィールド176を介して入力される。また、ボタン178の選
択により、ユーザは、Y ROMブロックを実現するために用いられるモジュラ
ー・コンポーネントのタイプを、選択することができる。一般に、ボタン178
を選択すると、サブウインドウが開かれ、これを通じて、ユーザは、モジュラー
・メモリ・ブロックの種々のタイプを選択することができ、要望に応じて、その
ブロックをカスタマイズできる。あるいは、1つだけのタイプのY ROMブロ
ックをサポートするのであれば、ボタン178は必要ないであろう。
【0040】
Y ROMの情報と同様に、フィールド180、182及びボタン184は、
それぞれ、スタートアドレス用の入力、トータルサイズ、及びY RAMを実現
するために用いられるコンポーネントを、受け入れるために用いられる。また、
フィールド186、188、192及び194及びボタン190及び196は、
ROM及びRAMのXデータ空間用の同様の情報を提供する。フィールド198
、200、204及び206及びボタン202及び208は、同様に、スタート
アドレス、トータルサイズ及びROM及びRAMのプログラム空間用のコンポー
ネント・タイプ選択を提供する。
それぞれ、スタートアドレス用の入力、トータルサイズ、及びY RAMを実現
するために用いられるコンポーネントを、受け入れるために用いられる。また、
フィールド186、188、192及び194及びボタン190及び196は、
ROM及びRAMのXデータ空間用の同様の情報を提供する。フィールド198
、200、204及び206及びボタン202及び208は、同様に、スタート
アドレス、トータルサイズ及びROM及びRAMのプログラム空間用のコンポー
ネント・タイプ選択を提供する。
【0041】
また、210では、ユーザは、システム内で実現されるビルトイン・セルフテ
ストのタイプを、選択することができる。ソフトウェアによれば、DSPコアが
テストを行うためのソフトウェア・プログラムを実行し、ハードウェアによれば
、追加のBISTエンジンブロック(つまり、図3のBISTブロック72、8
2、94及び96)が、カスタム設計に追加される。
ストのタイプを、選択することができる。ソフトウェアによれば、DSPコアが
テストを行うためのソフトウェア・プログラムを実行し、ハードウェアによれば
、追加のBISTエンジンブロック(つまり、図3のBISTブロック72、8
2、94及び96)が、カスタム設計に追加される。
【0042】
フィールド212は、任意のパッチブロック内で実現するのに必要なプログラ
ムパッチの数を、ユーザが選択できるようにしている。入力214及び216は
、ぞれぞれ、コプロセッサ・インターフェース・ブロックを含むべきかどうかを
決定し、Pレジスタ出力を含むべきかどうかを決定する。
ムパッチの数を、ユーザが選択できるようにしている。入力214及び216は
、ぞれぞれ、コプロセッサ・インターフェース・ブロックを含むべきかどうかを
決定し、Pレジスタ出力を含むべきかどうかを決定する。
【0043】
ボタン218は、外部周辺バスの定義を、ユーザが選択できるようにしている
。例えば、それを実現するために用いられる、種々のブリッジオプション又はモ
ジュラー・コンポーネントを選択する。入力220は、外部DMA信号を提供す
るかどうかを、ユーザが選択できるようにする。一方、フィールド222は、生
成したカスタム集積回路の識別子として用いるコンポーネント・ネームを、受け
入れる。コンポーネント・ネームは、テンプレートにより生成された出力ファイ
ル用の基本的な識別子を生成するために用いられる。その出力ファイルは、ファ
イルのタイプに適した種々の拡張子により、区別される。
。例えば、それを実現するために用いられる、種々のブリッジオプション又はモ
ジュラー・コンポーネントを選択する。入力220は、外部DMA信号を提供す
るかどうかを、ユーザが選択できるようにする。一方、フィールド222は、生
成したカスタム集積回路の識別子として用いるコンポーネント・ネームを、受け
入れる。コンポーネント・ネームは、テンプレートにより生成された出力ファイ
ル用の基本的な識別子を生成するために用いられる。その出力ファイルは、ファ
イルのタイプに適した種々の拡張子により、区別される。
【0044】
コンパイル・ボタン224により、テンプレートの実行が開始され、キャンセ
ルの選択が、クローズ・ボタン226により提供される。
ルの選択が、クローズ・ボタン226により提供される。
【0045】
図5に戻ると、ビルドスクリプト162の実行に基づく出力ファイル164の
生成は、種々の環境で多くの態様により、実現することができる。例えば、ユー
ザの入力パラメータを用いて、コーディング・ロジックのRTL記述を書いて、
フィリップス・セミコンダクタ社のメモリ・インテグレータ・ツールのようなメ
モリ設計ツールと呼ばれる第2のスクリプトファイルを生成するように、しても
よい。メモリ設計ツールは、メモリコンパイラ用のモジュールを生成し、メモリ
コンパイラは、カスタムDSP集積回路内におけるインターフェースをとるのに
適したカスタマイズされたメモリコンポーネントを生成する。ユーザが、DSP
サブシステムとインターフェースをとるべき周辺回路のアドレスを、選択できる
ようにしてもよい。スクリプトファイルは、ブリッジテンプレートを呼び出すた
めに生成され、スタートアドレス、ラッチ、デバイス定義、及び、本技術分野で
知られている態様の他のブリッジ仕様を提供する。スクリプトは、具体的要求又
は任意のコンポーネントの組み合わせと、テンプレート又はマクロの実行、及び
、本技術分野で知られている他の自動設計機能を、利用すると理解されるであろ
う。さらに、HDLインテグレータ・スクリプトのそのような機能の実現は、本
開示により利益を得る技術分野で通常の知識を有する者の能力の範囲内であろう
。
生成は、種々の環境で多くの態様により、実現することができる。例えば、ユー
ザの入力パラメータを用いて、コーディング・ロジックのRTL記述を書いて、
フィリップス・セミコンダクタ社のメモリ・インテグレータ・ツールのようなメ
モリ設計ツールと呼ばれる第2のスクリプトファイルを生成するように、しても
よい。メモリ設計ツールは、メモリコンパイラ用のモジュールを生成し、メモリ
コンパイラは、カスタムDSP集積回路内におけるインターフェースをとるのに
適したカスタマイズされたメモリコンポーネントを生成する。ユーザが、DSP
サブシステムとインターフェースをとるべき周辺回路のアドレスを、選択できる
ようにしてもよい。スクリプトファイルは、ブリッジテンプレートを呼び出すた
めに生成され、スタートアドレス、ラッチ、デバイス定義、及び、本技術分野で
知られている態様の他のブリッジ仕様を提供する。スクリプトは、具体的要求又
は任意のコンポーネントの組み合わせと、テンプレート又はマクロの実行、及び
、本技術分野で知られている他の自動設計機能を、利用すると理解されるであろ
う。さらに、HDLインテグレータ・スクリプトのそのような機能の実現は、本
開示により利益を得る技術分野で通常の知識を有する者の能力の範囲内であろう
。
【0046】
テンプレートの出力としての生成は、1又は複数のRTL(register
transfer language)ファイルでもよい。これには、データ
空間デコーダ、Xデコーダ、Yデコーダ、プログラム空間デコーダ、VPBブリ
ッジデコーダ、コプロセッサ・インターフェース、及び、全DSPサブシステム
ファイルなどのデコードロジックが含まれている。全DSPサブシステムファイ
ルは、すべてのサブシステムブロックを実現し、必要なラッチとブロックを正し
く接続するトライステートとが含まれている。VPBレジスタを通じて、サブシ
ステムのオプションを検証するのに適したテスト・ベンチ・ファイルを生成して
もよい。このテスト・ベンチ・ファイルは、シンプルなクロック及び位相発生器
、トップ・サブシステム・モジュールのVPBレジスタ、及び、それらの相互接
続を、含んでいてもよい。
空間デコーダ、Xデコーダ、Yデコーダ、プログラム空間デコーダ、VPBブリ
ッジデコーダ、コプロセッサ・インターフェース、及び、全DSPサブシステム
ファイルなどのデコードロジックが含まれている。全DSPサブシステムファイ
ルは、すべてのサブシステムブロックを実現し、必要なラッチとブロックを正し
く接続するトライステートとが含まれている。VPBレジスタを通じて、サブシ
ステムのオプションを検証するのに適したテスト・ベンチ・ファイルを生成して
もよい。このテスト・ベンチ・ファイルは、シンプルなクロック及び位相発生器
、トップ・サブシステム・モジュールのVPBレジスタ、及び、それらの相互接
続を、含んでいてもよい。
【0047】
テンプレートは、もし含まれているのであれば、設計再利用ツールデータベー
スから、具体的ブロックを取り出すのに用いられるDHLIスクリプトを含む1
又は複数のスクリプトファイルを、生成するようにしてもよい。例えば、設計再
利用ツールデータベースは、DSPからVPBへのブリッジ、及び、パッチブロ
ックを含んでいる。さらに、メモリ・インテグレータ・ツールを実行するスクリ
プトは、コンパイル及びシミュレーションスクリプトと同様に、サブシステムを
シミュレートするために、生成されてもよい。一般に、そのようなスクリプトは
、ModelSimシミュレータ等のシミュレータと呼ばれており、Mento
r Graphicsから取得することが可能である。これは、設計全体の正し
さを検証するために用いられる。さらに、合成スクリプトファイルが、個々のブ
ロックとサブシステム階層とを合成するために生成されてもよく、生成したRT
Lブロックのすべてが合成可能であることを検証するために使用される。
スから、具体的ブロックを取り出すのに用いられるDHLIスクリプトを含む1
又は複数のスクリプトファイルを、生成するようにしてもよい。例えば、設計再
利用ツールデータベースは、DSPからVPBへのブリッジ、及び、パッチブロ
ックを含んでいる。さらに、メモリ・インテグレータ・ツールを実行するスクリ
プトは、コンパイル及びシミュレーションスクリプトと同様に、サブシステムを
シミュレートするために、生成されてもよい。一般に、そのようなスクリプトは
、ModelSimシミュレータ等のシミュレータと呼ばれており、Mento
r Graphicsから取得することが可能である。これは、設計全体の正し
さを検証するために用いられる。さらに、合成スクリプトファイルが、個々のブ
ロックとサブシステム階層とを合成するために生成されてもよく、生成したRT
Lブロックのすべてが合成可能であることを検証するために使用される。
【0048】
さらに、DSPコアがソフトウェアを実行できる場合、選択したシステム構成
を検証するために、アセンブラー・ソース・コード・ファイルを生成するように
してもよい。アセンブリ・ファイルはすべてのメモリブロックに書き込み及び/
又は読み出しをするために生成してもよいので、コプロセッサ及び周辺レジスタ
は、カスタムDSP集積回路内のコアの適正な動作を検証する。総合アセンブラ
ファイルのセットは、一般に、モジュラーDSPコアにより提供される。このフ
ァイルは、既存の態様において、ユーザ入力パラメータに基づいて、カスタマイ
ズされてもよく、カスタムDSP集積回路をテストするのに適したカスタマイズ
されたアセンブラファイルを生成する。さらに、適当なリンカスクリプトが提供
されていてもよく、これは適切なアセンブラ及びリンカ上で実行され、シミュレ
ーション実行用のプログラムROMにプログラムすべきアセンブリコードを生成
する。
を検証するために、アセンブラー・ソース・コード・ファイルを生成するように
してもよい。アセンブリ・ファイルはすべてのメモリブロックに書き込み及び/
又は読み出しをするために生成してもよいので、コプロセッサ及び周辺レジスタ
は、カスタムDSP集積回路内のコアの適正な動作を検証する。総合アセンブラ
ファイルのセットは、一般に、モジュラーDSPコアにより提供される。このフ
ァイルは、既存の態様において、ユーザ入力パラメータに基づいて、カスタマイ
ズされてもよく、カスタムDSP集積回路をテストするのに適したカスタマイズ
されたアセンブラファイルを生成する。さらに、適当なリンカスクリプトが提供
されていてもよく、これは適切なアセンブラ及びリンカ上で実行され、シミュレ
ーション実行用のプログラムROMにプログラムすべきアセンブリコードを生成
する。
【0049】
図7は、テンプレート(コンパイラブロック231で表される)のコンパイル
により生成されるファイルの基本タイプを例示する。すなわち、RTLコードが
テキストエディタ232に提供され、テキストエディタ232はブロック234
で図示されているRTLフォーマットの追加ユーザコードを受け入れ、カスタム
設計をさらにリファインする。さらに、RTLコードに加えて、適当な合成スク
リプトが生成され、合成ツール236に送信され、設計が表現されたハードウェ
ア記述から、物理的設計の合成を行う。さらに、RTLコード、テストベンチス
クリプト及びシミュレータスクリプトが生成され、シミュレータ238に送信さ
れ、設計のテスト及び検証が行われる。種々の環境において、種々の出力ファイ
ルが省略されてもよく、追加の出力ファイルが用いられてもよいと、理解される
であろう。したがって、本発明は、ここで図示した出力ファイルの特定のセット
に限定されない。
により生成されるファイルの基本タイプを例示する。すなわち、RTLコードが
テキストエディタ232に提供され、テキストエディタ232はブロック234
で図示されているRTLフォーマットの追加ユーザコードを受け入れ、カスタム
設計をさらにリファインする。さらに、RTLコードに加えて、適当な合成スク
リプトが生成され、合成ツール236に送信され、設計が表現されたハードウェ
ア記述から、物理的設計の合成を行う。さらに、RTLコード、テストベンチス
クリプト及びシミュレータスクリプトが生成され、シミュレータ238に送信さ
れ、設計のテスト及び検証が行われる。種々の環境において、種々の出力ファイ
ルが省略されてもよく、追加の出力ファイルが用いられてもよいと、理解される
であろう。したがって、本発明は、ここで図示した出力ファイルの特定のセット
に限定されない。
【0050】
ここで述べたDSPテンプレートの機能の実現は、本開示により利益を得る技
術分野において通常の知識を有する者の能力の範囲内であると、理解されるであ
ろう。
術分野において通常の知識を有する者の能力の範囲内であると、理解されるであ
ろう。
【0051】
他のコア設計、例えば、PalmDSPCoreコア及び他の一般的目的のD
SPコアが、代替として使用してもよいことが、理解されるであろう。他の変形
が、本技術分野の通常の知識を有する者において、明白であろう。
SPコアが、代替として使用してもよいことが、理解されるであろう。他の変形
が、本技術分野の通常の知識を有する者において、明白であろう。
【0052】
ここで述べたシステムの基本的利益は、既存の特定DSPサブシステム設計プ
ロセスと比較して、開発時間が実質的に減少することである。カスタマイズ可能
な少しのパラメータだけの選択で、スクリプトファイルの生成とスクリプトファ
イルのテスト及び検証の揃った全設計を、生成でき、作り出した設計の実証に用
いることができる。ユーザにとって利用可能な少しのパラメータで、コンパイル
に先立ち、そのパラメータの整合性のチェックを行うことができ、設計上のミス
の可能性をさらに制限することができる。これにより、時間と努力の割に、より
信頼のある設計を生成することができる。
ロセスと比較して、開発時間が実質的に減少することである。カスタマイズ可能
な少しのパラメータだけの選択で、スクリプトファイルの生成とスクリプトファ
イルのテスト及び検証の揃った全設計を、生成でき、作り出した設計の実証に用
いることができる。ユーザにとって利用可能な少しのパラメータで、コンパイル
に先立ち、そのパラメータの整合性のチェックを行うことができ、設計上のミス
の可能性をさらに制限することができる。これにより、時間と努力の割に、より
信頼のある設計を生成することができる。
【0053】
他の変形及び特徴は、本技術分野の通常の知識を有する者においては、明らか
であろう。したがって、本発明は、以下に添付したクレームに見出される。
であろう。したがって、本発明は、以下に添付したクレームに見出される。
【図1】
図1は、本発明に係るカスタムDSP集積回路の自動設計を行う際に使用され
るネットワーク化されたコンピュータシステムのブロック図である。
るネットワーク化されたコンピュータシステムのブロック図である。
【図2】
図2は、図1のネットワーク化されたコンピュータシステムのコンピュータの
例示的なハードウェア及びソフトウェア環境のブロック図であり、本発明に係る
カスタムDSP集積回路の自動設計を行う際に使用されるDSPビルダー・テン
プレートを示している。
例示的なハードウェア及びソフトウェア環境のブロック図であり、本発明に係る
カスタムDSP集積回路の自動設計を行う際に使用されるDSPビルダー・テン
プレートを示している。
【図3】
図3は、図2のDSPビルダー・テンプレートを用いたカスタムDSP集積回
路に組み込むことができる種々の回路ブロックを示す、ブロック図である。
路に組み込むことができる種々の回路ブロックを示す、ブロック図である。
【図4】
図4は、図2のDSPビルダー・テンプレートを用いたカスタムDSP集積回
路で用いることのできるメモリアドレス空間のブロック図である。
路で用いることのできるメモリアドレス空間のブロック図である。
【図5】
図5は、図2のDSPビルダー・テンプレートを用いたカスタムDSP集積回
路の設計において使用される処理のシーケンスを示すフローチャートである。
路の設計において使用される処理のシーケンスを示すフローチャートである。
【図6】
図6は、図2のDSPビルダー・テンプレートで使用される代表的なグラフィ
カル・ユーザ・インターフェースのブロック図である。
カル・ユーザ・インターフェースのブロック図である。
【図7】
図7は、図2のDSPビルダー・テンプレートにより生成された出力ファイル
のルーティンを示すフローチャートである。
のルーティンを示すフローチャートである。
─────────────────────────────────────────────────────
フロントページの続き
(72)発明者 ジャン、フランソワ、デュボ
フランス国サン、ローラン、デュ、バー
ル、モワイエンヌ、コルニシュ、デ、ピュ
ジェ、2893
(72)発明者 サンドラ、バレア
フランス国バルボンヌ、リュ、ガンベッ
タ、6
(72)発明者 エリック、ベルナスコニ
フランス国アンティーブ、シュマン、デ
ュ、ピュイ、バット、ジェイ.78、ボーボ
ー
Fターム(参考) 5B046 AA08 BA03 HA05 KA06
5B048 AA20 DD01 DD03 DD10
【要約の続き】
回路ブロックと、既存のDSPコアブロックとのインタ
ーフェースをとることにより、カスタムDSP集積回路
が自動的に組み立てられる。
Claims (21)
- 【請求項1】 カスタム・デジタル・シグナル・プロセッシング(DSP)集積回路の設計方
法であって、 (a)入力画面をユーザに表示し、前記入力画面が、前記カスタムDSP集積
回路に含まれる少なくとも1つの任意の回路ブロックを選択するのに用いられる
少なくとも1つの選択入力コンポーネントを含んでおり、前記カスタムDSP集
積回路に含まれるべきカスタマイズ可能な回路ブロックをカスタマイズするのに
用いられる少なくとも1つの構成入力コンポーネントを含んでおり、 (b)前記任意の回路ブロックを選択し、前記カスタマイズ可能な回路ブロッ
クをカスタマイズする前記入力画面を用いて、ユーザからユーザ入力を受け入れ
、 (c)前記ユーザ入力に基づいて、前記カスタマイズ可能な回路ブロックから
カスタム回路ブロックを生成し、前記任意の回路ブロック及び前記カスタム回路
ブロックと、既存のDSPコアブロックとのインターフェースをとることにより
、前記ユーザ入力に基づいて前記カスタムDSP集積回路を自動的に組み立てる
、 ことを特徴とする方法。 - 【請求項2】 前記カスタムDSP集積回路の自動的な組み立ては、前記カスタムDSP集積
回路を定義した少なくとも1つのハードウェア記述ファイルを生成することを含
む、ことを特徴とする請求項1に記載の方法。 - 【請求項3】 前記カスタムDSP集積回路を定義した少なくとも1つのハードウェア記述フ
ァイルの生成は、前記DSPコアブロックと前記任意の回路ブロックとのインタ
ーフェースをとるために用いられるデコーディングロジックについてのハードウ
ェア記述情報を生成することを含む、ことを特徴とする請求項2に記載の方法。 - 【請求項4】 前記カスタムDSP集積回路の自動的な組み立ては、前記カスタムDSP集積
回路用のアセンブラテストファイルの生成をさらに含む、ことを特徴とする請求
項2に記載の方法。 - 【請求項5】 前記アセンブラテストファイルをコンパイルし、前記コンパイルされたアセン
ブラテストファイルを用いて、カスタムDSP集積回路を検証することを、さら
に備えることを特徴とする請求項4に記載の方法。 - 【請求項6】 前記カスタムDSP集積回路の自動的な組み立ては、少なくとも1つの合成ス
クリプトファイルの生成をさらに含む、ことを特徴とする請求項2に記載の方法
。 - 【請求項7】 前記合成スクリプトファイルを実行することにより、前記カスタムDSP集積
回路を合成することをさらに含む、ことを特徴とする請求項6に記載の方法。 - 【請求項8】 前記カスタムDSP集積回路の自動的な組み立ては、少なくとも1つのシミュ
レーションスクリプトファイルの生成をさらに含む、ことを特徴とする請求項2
に記載の方法。 - 【請求項9】 前記シミュレーションスクリプトファイルを実行することにより、前記カスタ
ムDSP集積回路のシミュレーションを実行することをさらに含む、ことを特徴
とする請求項8記載の方法。 - 【請求項10】 前記カスタマイズ可能な回路ブロックからカスタム回路ブロックの生成は、少
なくとも1つのメモリインテグレーションスクリプトファイルの生成と、前記カ
スタムDSP集積回路用のカスタムメモリブロックを生成するために、前記イン
テグレーションスクリプトファイルの実行とを含む、ことを特徴とする請求項2
に記載の方法。 - 【請求項11】 前記任意の回路ブロックは、前記カスタムDSP集積回路上で実行されるプロ
グラムの少なくとも1つのソフトウェアフィックスを提供する、パッチブロック
を備える、ことを特徴とする請求項1に記載の方法。 - 【請求項12】 前記任意のブロックは、ビルトインセルフテスト(BIST)ブロックを備え
る、ことを特徴とする請求項1に記載の方法。 - 【請求項13】 前記任意のブロックは、コプロセッサインターフェースブロックを備える、こ
とを特徴とする請求項1に記載の方法。 - 【請求項14】 前記カスタマイズ可能なブロックは、ランダムアクセスメモリ(RAM)ブロ
ック、リードオンリーメモリ(ROM)ブロック、及び、外部バスインターフェ
ースブロックからなるグループから、選択される、ことを特徴とする請求項1に
記載の方法。 - 【請求項15】 前記既存のDSPコアブロックは、Xデータ、Yデータ、及び、プログラムイ
ンターフェースを含んでおり、 前記カスタムDSP集積回路の自動的に組み立ては、前記各Xデータ、Yデー
タ、及び、プログラムインターフェースを介して、前記DSPコアブロックと、
Xデータメモリブロック、Yデータメモリブロック、及び、プログラムメモリブ
ロックとの、インターフェースをとることを含む、ことを特徴とする請求項1に
記載の方法。 - 【請求項16】 前記ユーザに前記入力画面を表示し、前記ユーザから前記ユーザ入力を受け入
れ、前記カスタムDSP集積回路を自動的に組み立てるのは、設計ツール上の少
なくとも1つのスクリプトを実行することにより、行われる、ことを特徴とする
請求項1に記載の方法。 - 【請求項17】 (a)既存のDSPコアブロックと、前記DSPコアブロックとインターフェ
ースをとるのに適した任意の回路ブロック及びカスタマイズ可能な回路ブロック
とを、常駐して有する、メモリと、 (b)前記メモリに常駐するプログラムであって、入力画面をユーザに表示し
、前記入力画面が、前記任意の回路ブロックを選択するのに用いられる少なくと
も1つの選択入力コンポーネントを含んでおり、前記カスタマイズ可能な回路ブ
ロックをカスタマイズするのに用いられる少なくとも1つの構成入力コンポーネ
ントを含んでおり、 前記任意の回路ブロックを選択し、前記カスタマイズ可能な回路ブロックをカ
スタマイズする前記入力画面を用いて、ユーザからユーザ入力を受け入れ、 前記ユーザ入力に基づいて、前記カスタマイズ可能な回路ブロックからカスタ
ム回路ブロックを生成し、前記任意の回路ブロック及び前記カスタム回路ブロッ
クと、前記既存のDSPコアブロックとのインターフェースをとることにより、
前記ユーザ入力に基づいて前記カスタムDSP集積回路を自動的に組み立てる、
プログラムと、 を備えることを特徴とする装置。 - 【請求項18】 設計ツールをさらに備えており、前記プログラムは、前記設計ツール上で実行
可能な少なくとも1つのスクリプトを備える、ことを特徴とする請求項17に記
載の装置。 - 【請求項19】 (a)メモリに常駐するプログラムであって、入力画面をユーザに表示し、前
記入力画面が、前記カスタムDSP集積回路に含まれる少なくとも1つの任意の
回路ブロックを選択するのに用いられる少なくとも1つの選択入力コンポーネン
トを含んでおり、前記カスタムDSP集積回路に含まれるべきカスタマイズ可能
な回路ブロックをカスタマイズするのに用いられる少なくとも1つの構成入力コ
ンポーネントを含んでおり、 前記任意の回路ブロックを選択し、前記カスタマイズ可能な回路ブロックをカ
スタマイズする前記入力画面を用いて、ユーザからユーザ入力を受け入れ、 前記ユーザ入力に基づいて、前記カスタマイズ可能な回路ブロックからカスタ
ム回路ブロックを生成し、前記任意の回路ブロック及び前記カスタム回路ブロッ
クと、既存のDSPコアブロックとのインターフェースをとることにより、前記
ユーザ入力に基づいて前記カスタムDSP集積回路を自動的に組み立てる、 プログラムと、 (b)前記プログラムを搬送する、信号搬送媒体と、 を備えることを特徴とするプログラムプロダクト。 - 【請求項20】 前記プログラムは、設計ツール上で実行可能な少なくとも1つのスクリプトを
備える、ことを特徴とする請求項19に記載のプログラムプロダクト。 - 【請求項21】 前記信号搬送媒体は、記録可能媒体及び伝送媒体のうち少なくとも1つを含む
、ことを特徴とする請求項19に記載のプログラムプロダクト。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/539,089 US6425116B1 (en) | 2000-03-30 | 2000-03-30 | Automated design of digital signal processing integrated circuit |
US09/539,089 | 2000-03-30 | ||
PCT/US2001/002776 WO2001075688A1 (en) | 2000-03-30 | 2001-01-26 | Automated design of digital signal processing integrated circuit |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2003529848A true JP2003529848A (ja) | 2003-10-07 |
Family
ID=24149714
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001573297A Withdrawn JP2003529848A (ja) | 2000-03-30 | 2001-01-26 | デジタル・シグナル・プロセッシング集積回路の自動設計 |
Country Status (4)
Country | Link |
---|---|
US (1) | US6425116B1 (ja) |
EP (1) | EP1269359A1 (ja) |
JP (1) | JP2003529848A (ja) |
WO (1) | WO2001075688A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017512337A (ja) * | 2014-02-19 | 2017-05-18 | ルネサス・エレクトロニクス・ヨーロッパ・ゲゼルシャフト・ミット・ベシュレンクテル・ハフツングRenesas Electronics Europe Gmbh | 部品が本質的な特徴に基づいて起動される集積回路 |
Families Citing this family (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6697880B1 (en) * | 1999-01-11 | 2004-02-24 | Advanced Micro Devices, Inc. | Methodology and graphical user interface for building logic synthesis command scripts using micro-templates |
US6848074B2 (en) * | 2001-06-21 | 2005-01-25 | Arc International | Method and apparatus for implementing a single cycle operation in a data processing system |
JP2003121499A (ja) * | 2001-10-09 | 2003-04-23 | Hitachi Ltd | 組込みテスト機能付き半導体集積回路、テストコード生成プログラムから成る電子設計データを保存する記憶媒体、該半導体集積回路のテスト方法、テストコード生成自動化方法及びそのプログラム |
US6637015B1 (en) * | 2001-11-19 | 2003-10-21 | Cypress Semiconductor Corporation | System and method for decoupling and iterating resources associated with a module |
GB2382889A (en) * | 2001-12-05 | 2003-06-11 | Cambridge Consultants | microprocessor design system |
JP2003188259A (ja) * | 2001-12-20 | 2003-07-04 | Oki Electric Ind Co Ltd | ハードマクロ及びハードマクロを用いた半導体集積回路 |
US20030172045A1 (en) * | 2002-03-07 | 2003-09-11 | Yossi Rindner | System and method for automation of ASIC synthesis flow |
WO2003091914A1 (en) * | 2002-04-25 | 2003-11-06 | Arc International | Apparatus and method for managing integrated circuit designs |
US7318014B1 (en) * | 2002-05-31 | 2008-01-08 | Altera Corporation | Bit accurate hardware simulation in system level simulators |
US6857108B2 (en) * | 2002-07-31 | 2005-02-15 | Lsi Logic Corporation | Interactive representation of structural dependencies in semiconductor design flows |
US7729898B1 (en) * | 2002-10-17 | 2010-06-01 | Altera Corporation | Methods and apparatus for implementing logic functions on a heterogeneous programmable device |
US6883147B1 (en) * | 2002-11-25 | 2005-04-19 | Xilinx, Inc. | Method and system for generating a circuit design including a peripheral component connected to a bus |
US7069523B2 (en) * | 2002-12-13 | 2006-06-27 | Lsi Logic Corporation | Automated selection and placement of memory during design of an integrated circuit |
US7991606B1 (en) | 2003-04-01 | 2011-08-02 | Altera Corporation | Embedded logic analyzer functionality for system level environments |
US7509246B1 (en) | 2003-06-09 | 2009-03-24 | Altera Corporation | System level simulation models for hardware modules |
US7228257B1 (en) * | 2003-06-13 | 2007-06-05 | Lam Research Corporation | Architecture for general purpose programmable semiconductor processing system and methods therefor |
US7086030B1 (en) * | 2003-08-04 | 2006-08-01 | Xilinx, Inc. | Incremental netlisting |
US20050229143A1 (en) * | 2004-04-01 | 2005-10-13 | Lsi Logic Corporation | System and method for implementing multiple instantiated configurable peripherals in a circuit design |
US7203922B2 (en) * | 2004-06-01 | 2007-04-10 | Agilent Technologies, Inc. | Merging of infrastructure within a development environment |
US7225416B1 (en) * | 2004-06-15 | 2007-05-29 | Altera Corporation | Methods and apparatus for automatic test component generation and inclusion into simulation testbench |
US8286125B2 (en) | 2004-08-13 | 2012-10-09 | Cypress Semiconductor Corporation | Model for a hardware device-independent method of defining embedded firmware for programmable systems |
US20060047483A1 (en) * | 2004-08-31 | 2006-03-02 | Analog Devices, Inc. | System and method for automated verification of performance and budget goals in a process |
US7392489B1 (en) | 2005-01-20 | 2008-06-24 | Altera Corporation | Methods and apparatus for implementing application specific processors |
US7613858B1 (en) * | 2005-01-24 | 2009-11-03 | Altera Corporation | Implementing signal processing cores as application specific processors |
US7315803B1 (en) * | 2005-02-10 | 2008-01-01 | Xilinx, Inc. | Verification environment creation infrastructure for bus-based systems and modules |
US8666712B2 (en) * | 2006-07-24 | 2014-03-04 | Ati Technologies Inc. | Physical simulations on a graphics processor |
US20090164203A1 (en) * | 2007-12-23 | 2009-06-25 | Unity Semiconductor Corporation | Non-volatile memory compiler |
US8478574B2 (en) | 2010-04-30 | 2013-07-02 | International Business Machines Corporation | Tracking array data contents across three-valued read and write operations |
US8566764B2 (en) | 2010-04-30 | 2013-10-22 | International Business Machines Corporation | Enhanced analysis of array-based netlists via phase abstraction |
US8146034B2 (en) | 2010-04-30 | 2012-03-27 | International Business Machines Corporation | Efficient Redundancy Identification, Redundancy Removal, and Sequential Equivalence Checking within Designs Including Memory Arrays. |
US8181131B2 (en) | 2010-04-30 | 2012-05-15 | International Business Machines Corporation | Enhanced analysis of array-based netlists via reparameterization |
US8336016B2 (en) | 2010-05-07 | 2012-12-18 | International Business Machines Corporation | Eliminating, coalescing, or bypassing ports in memory array representations |
US8307313B2 (en) | 2010-05-07 | 2012-11-06 | International Business Machines Corporation | Minimizing memory array representations for enhanced synthesis and verification |
US8291359B2 (en) * | 2010-05-07 | 2012-10-16 | International Business Machines Corporation | Array concatenation in an integrated circuit design |
EP2798467A4 (en) * | 2011-12-30 | 2016-04-27 | Intel Corp | CONFIGURABLE CORE WITH RESTRICTED COMMAND SET |
US10095702B2 (en) * | 2013-03-15 | 2018-10-09 | Cognex Corporation | Systems and methods for generating and implementing a custom device description file |
US20170046466A1 (en) * | 2015-08-10 | 2017-02-16 | International Business Machines Corporation | Logic structure aware circuit routing |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0594546A (ja) * | 1991-02-05 | 1993-04-16 | American Teleph & Telegr Co <Att> | デジタルプロセツサ |
WO1998037475A2 (en) | 1997-02-07 | 1998-08-27 | Morphologic, Inc. | System and method for designing electronic circuits |
US6237132B1 (en) * | 1998-08-18 | 2001-05-22 | International Business Machines Corporation | Toggle based application specific core methodology |
US6041400A (en) * | 1998-10-26 | 2000-03-21 | Sony Corporation | Distributed extensible processing architecture for digital signal processing applications |
-
2000
- 2000-03-30 US US09/539,089 patent/US6425116B1/en not_active Expired - Lifetime
-
2001
- 2001-01-26 EP EP01903391A patent/EP1269359A1/en not_active Withdrawn
- 2001-01-26 JP JP2001573297A patent/JP2003529848A/ja not_active Withdrawn
- 2001-01-26 WO PCT/US2001/002776 patent/WO2001075688A1/en active Application Filing
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017512337A (ja) * | 2014-02-19 | 2017-05-18 | ルネサス・エレクトロニクス・ヨーロッパ・ゲゼルシャフト・ミット・ベシュレンクテル・ハフツングRenesas Electronics Europe Gmbh | 部品が本質的な特徴に基づいて起動される集積回路 |
Also Published As
Publication number | Publication date |
---|---|
EP1269359A1 (en) | 2003-01-02 |
US6425116B1 (en) | 2002-07-23 |
WO2001075688A1 (en) | 2001-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6425116B1 (en) | Automated design of digital signal processing integrated circuit | |
US20050149898A1 (en) | Method and apparatus for managing the configuration and functionality of a semiconductor design | |
US7730435B2 (en) | Automatic test component generation and inclusion into simulation testbench | |
EP1277116B1 (en) | Enhanced programmable core model with integrated graphical debugging functionality | |
US8788989B2 (en) | Developing a hardware description which performs a function by partial hardening of a software program on a multi-processor system | |
Gschwind et al. | FPGA prototyping of a RISC processor core for embedded applications | |
US20050049843A1 (en) | Computerized extension apparatus and methods | |
US7318014B1 (en) | Bit accurate hardware simulation in system level simulators | |
US20070271080A1 (en) | Model generation method for software/hardware collaboration design | |
Huang et al. | A retargetable embedded in-circuit emulation module for microprocessors | |
Marwedel et al. | Cooperation of synthesis, retargetable code generation and test generation in the MSS | |
IL142342A (en) | Method and apparatus for managing the configuration and functionality of a semiconductor design | |
Schnerr et al. | Instruction set emulation for rapid prototyping of SoCs | |
Rim et al. | Implementation of a cycle-based simulator for the design of a processor core | |
Goudarzi et al. | The ODYSSEY approach to early simulation-based equivalence checking at ESL level using automatically generated executable transaction-level model | |
Klemm et al. | Using LISATek for the Design of an ASIP Core including Floating Point Operations. | |
Kranenburg | Design of a portable and customizable microprocessor for rapid system prototyping | |
US20060085176A1 (en) | Generating an optimized system-level simulation | |
Amadori et al. | Design of complex systems with a VHDL based methodology | |
Ribas et al. | ECL specification of a simple processor | |
Somerville | Improving memory and validation support in FPGA architecture exploration | |
Chang et al. | Function-Architecture Co-Design | |
Omar et al. | Prototyping on the PC with Programmable Hardware. | |
Satyanarayana et al. | Instructors: Prof. M. Balakrishnan Prof. Anshul kumar | |
Voros et al. | System-on-a-chip methodology for telecom applications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080124 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20080626 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20090914 |