JP2003337838A - データ処理装置の設計方法 - Google Patents
データ処理装置の設計方法Info
- Publication number
- JP2003337838A JP2003337838A JP2003019160A JP2003019160A JP2003337838A JP 2003337838 A JP2003337838 A JP 2003337838A JP 2003019160 A JP2003019160 A JP 2003019160A JP 2003019160 A JP2003019160 A JP 2003019160A JP 2003337838 A JP2003337838 A JP 2003337838A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- processing unit
- additional
- object program
- basic
- 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.)
- Abandoned
Links
Abstract
(57)【要約】
【課題】 高級言語で記述された仕様に基づいてシステ
ムLSIを短期間で設計可能とする設計方法を提供す
る。 【解決手段】 C言語で記述された仕様51からオブジ
ェクトプログラム57を生成する段階52において、命
令ライブラリ53から命令コード41を選択する際に、
その命令コードを実行する追加処理ユニットを実レイア
ウトした評価データ43に基づいて命令コードを選択す
る。これにより、仕様51を実行するのに最適なオブジ
ェクトプログラム57を生成できると共に、そのオブジ
ェクトプログラム57に含まれた命令コードを実行する
のに適したハードウェアの接続情報54aを得ることが
できる。
ムLSIを短期間で設計可能とする設計方法を提供す
る。 【解決手段】 C言語で記述された仕様51からオブジ
ェクトプログラム57を生成する段階52において、命
令ライブラリ53から命令コード41を選択する際に、
その命令コードを実行する追加処理ユニットを実レイア
ウトした評価データ43に基づいて命令コードを選択す
る。これにより、仕様51を実行するのに最適なオブジ
ェクトプログラム57を生成できると共に、そのオブジ
ェクトプログラム57に含まれた命令コードを実行する
のに適したハードウェアの接続情報54aを得ることが
できる。
Description
【0001】
【発明の属する技術分野】本発明は、システムLSIの
設計に関するものである。
設計に関するものである。
【0002】
【従来の技術】半導体微細加工テクノロジーの進展は、
システムLSIの発展を促し、大きなシステム全体が単
一のチップに搭載されるようになりつつある。搭載され
るシステムが大きくなればなる程、多様化が進むので、
生産されるシステムLSIは少量多品種の様相を呈して
いる。
システムLSIの発展を促し、大きなシステム全体が単
一のチップに搭載されるようになりつつある。搭載され
るシステムが大きくなればなる程、多様化が進むので、
生産されるシステムLSIは少量多品種の様相を呈して
いる。
【0003】このような技術的背景にあっては、いかに
早く所望のシステムLSIを設計して市場に投入するこ
とができるかがLSIベンダーにとって重要となる。い
わゆる設計期間の短縮である。加えて、今日では、グロ
ーバル・スタンダードを視野に入れた仕様が要求される
ことも多く、システムLSIのシステム仕様は一社もし
くは数社だけでは決定できない。システムLSIの重要
な仕様は、国際標準規格委員会といった活動により決定
されることも多く、仕様の変動を最後の段階まで読み切
れないケースが増大している。
早く所望のシステムLSIを設計して市場に投入するこ
とができるかがLSIベンダーにとって重要となる。い
わゆる設計期間の短縮である。加えて、今日では、グロ
ーバル・スタンダードを視野に入れた仕様が要求される
ことも多く、システムLSIのシステム仕様は一社もし
くは数社だけでは決定できない。システムLSIの重要
な仕様は、国際標準規格委員会といった活動により決定
されることも多く、仕様の変動を最後の段階まで読み切
れないケースが増大している。
【0004】
【特許文献1】特開2001−14356号公報
【0005】
【発明が解決しようとする課題】したがって、仕様の変
動に柔軟かつ迅速に対応でき、短期間でシステムLSI
を構築する手法が望まれている。このようなニーズに応
えるには、システム仕様を記述するのに適した言語によ
るシステム仕様からシステムLSIの設計をスタートさ
せる設計方法の全工程を自動化することが望ましい。従
来、システムLSIの設計には、RTL(レジスタ・ト
ランジスタ・レベル言語)などのハードウェア記述言語
(HDL)を用いてLSIの設計を進めていた。しかし
ながら、HDLでは、クロック単位の動きを定義するな
どハードウェアを直に設計するのには適していてもシス
テム仕様の記述には適していない。したがって、システ
ム仕様の記述には既にプログラミング言語として広く使
われているC言語の方が望ましく、ここにC言語からシ
ステムLSIを設計する方法が提案されている。
動に柔軟かつ迅速に対応でき、短期間でシステムLSI
を構築する手法が望まれている。このようなニーズに応
えるには、システム仕様を記述するのに適した言語によ
るシステム仕様からシステムLSIの設計をスタートさ
せる設計方法の全工程を自動化することが望ましい。従
来、システムLSIの設計には、RTL(レジスタ・ト
ランジスタ・レベル言語)などのハードウェア記述言語
(HDL)を用いてLSIの設計を進めていた。しかし
ながら、HDLでは、クロック単位の動きを定義するな
どハードウェアを直に設計するのには適していてもシス
テム仕様の記述には適していない。したがって、システ
ム仕様の記述には既にプログラミング言語として広く使
われているC言語の方が望ましく、ここにC言語からシ
ステムLSIを設計する方法が提案されている。
【0006】しかしながら、現状のシステムLSIの設
計方法では、LSIのハードウェア設計のための仕様が
C言語あるいはC言語にクロックの概念を追加した言語
により記述された後の設計がEDA(Electronic Desig
n Automation)システムにより部分的に自動化されてい
る段階である。したがって、システムLSIのハードウ
ェアおよびソフトウェアを含めた、システムLSIで提
供するアプリケーションのシステム仕様段階からスター
トするLSIの設計を完全に自動化する段階に到達して
いない。
計方法では、LSIのハードウェア設計のための仕様が
C言語あるいはC言語にクロックの概念を追加した言語
により記述された後の設計がEDA(Electronic Desig
n Automation)システムにより部分的に自動化されてい
る段階である。したがって、システムLSIのハードウ
ェアおよびソフトウェアを含めた、システムLSIで提
供するアプリケーションのシステム仕様段階からスター
トするLSIの設計を完全に自動化する段階に到達して
いない。
【0007】図8に現状のシステムLSIの設計フロー
を示してある。先ず、ステップ1でシステム仕様が決ま
ると、ステップ2で、ハードウェアで実現する部分と、
ソフトウェアで実現する部分とを切り分ける。この段階
で、所望の性能と、コストに見合ったシステムLSIが
開発できるか否かがほとんど決定される。しかしなが
ら、現実的には、分離されたハードウェア仕様(ステッ
プ3)とソフトウェア仕様(ステップ4)に基づいてそ
れぞれ開発されたハードウェアおよびソフトウェアを用
いて協調検証する段階(ステップ9)まで少なくとも到
達しないと、分離段階(ステップ2)の適否は分からな
い。したがって、協調検証する段階9で充分な性能や経
済性が得られない場合は、再び分離段階(ステップ2)
に戻って設計をやり直すことになる。
を示してある。先ず、ステップ1でシステム仕様が決ま
ると、ステップ2で、ハードウェアで実現する部分と、
ソフトウェアで実現する部分とを切り分ける。この段階
で、所望の性能と、コストに見合ったシステムLSIが
開発できるか否かがほとんど決定される。しかしなが
ら、現実的には、分離されたハードウェア仕様(ステッ
プ3)とソフトウェア仕様(ステップ4)に基づいてそ
れぞれ開発されたハードウェアおよびソフトウェアを用
いて協調検証する段階(ステップ9)まで少なくとも到
達しないと、分離段階(ステップ2)の適否は分からな
い。したがって、協調検証する段階9で充分な性能や経
済性が得られない場合は、再び分離段階(ステップ2)
に戻って設計をやり直すことになる。
【0008】ハードウェア仕様を決める段階(ステップ
3)では、ソフトウェアで処理を実現するための埋め込
み(組み込み)プロセッサとキャッシュメモリ、さら
に、ハードウェアで処理を実現するための周辺回路など
をLSIに配置する初期のフロアプランを作成し、タイ
ミング情報や設計制約条件などの下位階層のデザイン条
件を設定する。ハードウェア仕様が決まると、具体的な
ハードウェアを記述するためのRTLを生成するが、現
状では、特開2001−14356号公報などに開示さ
れている高位合成あるいは動作合成と呼ばれる処理ある
いはツール(EDA)が提供されており、高位合成する
段階(ステップ5)では、C言語やビヘイビア記述とい
ったシステム仕様記述言語で記述された仕様から、RT
L(ステップ6)を自動的に合成できる。
3)では、ソフトウェアで処理を実現するための埋め込
み(組み込み)プロセッサとキャッシュメモリ、さら
に、ハードウェアで処理を実現するための周辺回路など
をLSIに配置する初期のフロアプランを作成し、タイ
ミング情報や設計制約条件などの下位階層のデザイン条
件を設定する。ハードウェア仕様が決まると、具体的な
ハードウェアを記述するためのRTLを生成するが、現
状では、特開2001−14356号公報などに開示さ
れている高位合成あるいは動作合成と呼ばれる処理ある
いはツール(EDA)が提供されており、高位合成する
段階(ステップ5)では、C言語やビヘイビア記述とい
ったシステム仕様記述言語で記述された仕様から、RT
L(ステップ6)を自動的に合成できる。
【0009】一方、ソフトウェア側は、ソフトウェア仕
様が決まると、ステップ7では、LSIに搭載される埋
め込みプロセッサの仕様や、周辺回路の仕様を考慮した
プログラム開発が行われる。そして、シミュレーション
ができる状態のプログラム(ステップ8)が開発される
と、合成されたRTL(ステップ6)とともに協調検証
の段階(ステップ9)で開発されたシステムLSIの性
能が検査される。この段階で所望の性能が確認される
と、ハードウェア側は論理合成(ステップ10)により
ゲートレベルの回路に変換される。それに基づき自動配
置配線(ステップ11)を行い、最終のレイアウトに基
づく完全な構造記述が得られる(ステップ12)。この
段階でタイミングが収束しなかったり、配線効率が上が
らないなどの不具合があれば、配置配線を繰り返した
り、論理合成の前段階に戻って処理を繰り返す必要があ
る。最終的なレイアウト(ステップ12)が決まると、
それがシリコン化されてチップ(ステップ13)が製造
される。一方、ソフトウェア側は、検証されたプログラ
ム(ステップ8)がコンパイル(ステップ14)されて
チップに実装されるオブジェクトプログラム(ステップ
15)が生成される。
様が決まると、ステップ7では、LSIに搭載される埋
め込みプロセッサの仕様や、周辺回路の仕様を考慮した
プログラム開発が行われる。そして、シミュレーション
ができる状態のプログラム(ステップ8)が開発される
と、合成されたRTL(ステップ6)とともに協調検証
の段階(ステップ9)で開発されたシステムLSIの性
能が検査される。この段階で所望の性能が確認される
と、ハードウェア側は論理合成(ステップ10)により
ゲートレベルの回路に変換される。それに基づき自動配
置配線(ステップ11)を行い、最終のレイアウトに基
づく完全な構造記述が得られる(ステップ12)。この
段階でタイミングが収束しなかったり、配線効率が上が
らないなどの不具合があれば、配置配線を繰り返した
り、論理合成の前段階に戻って処理を繰り返す必要があ
る。最終的なレイアウト(ステップ12)が決まると、
それがシリコン化されてチップ(ステップ13)が製造
される。一方、ソフトウェア側は、検証されたプログラ
ム(ステップ8)がコンパイル(ステップ14)されて
チップに実装されるオブジェクトプログラム(ステップ
15)が生成される。
【0010】現在、ハードウェアとソフトウェアとを分
離する段階を自動化する有効なEDAは提供されていな
い。設計者がハードウェアとソフトウェアを分離した結
果をモデリングなどの手法により短時間で協調検証しな
がら確認する機能をサポートするツールは提供されつつ
ある。しかしながら、設計者がハードウェアとソフトウ
ェアの切り分けに時間を費やすことは変わりなく、ま
た、仕様が変更になると、その作業を繰り返す必要があ
る。
離する段階を自動化する有効なEDAは提供されていな
い。設計者がハードウェアとソフトウェアを分離した結
果をモデリングなどの手法により短時間で協調検証しな
がら確認する機能をサポートするツールは提供されつつ
ある。しかしながら、設計者がハードウェアとソフトウ
ェアの切り分けに時間を費やすことは変わりなく、ま
た、仕様が変更になると、その作業を繰り返す必要があ
る。
【0011】また、システムLSIの構築には、仕様の
変動に対する施策がなされねばならないことと同時に、
レイアウトを考慮したタイミング問題を短時間に解決す
ることが要求される。いわゆる、タイミング収束(タイ
ミング・クロージャ)を短時間で行うことが、LSIを
短期間で市場に投入するためには重要なファクタとな
る。この点、従来の高位合成では、周辺回路部分がステ
ートマシンとしてHDLあるいはRTL出力されるため
論理合成後の大きさが未確定である。したがって、論理
合成後にタイミングが収束しなければ、上位の論理設計
やレイアウト設計に戻る必要があり、設計期間を短縮で
きない。一方、トップダウン的に回路ブロックの設計に
タイミング制約を設けて、設計が繰り返えされるのを解
消する方法もある。しかしながら、制約を設けることに
より、面積、経済性、処理速度および低消費電力など追
求することが難しくなり、システムLSIとしての最適
なものを開発することが難しくなる。
変動に対する施策がなされねばならないことと同時に、
レイアウトを考慮したタイミング問題を短時間に解決す
ることが要求される。いわゆる、タイミング収束(タイ
ミング・クロージャ)を短時間で行うことが、LSIを
短期間で市場に投入するためには重要なファクタとな
る。この点、従来の高位合成では、周辺回路部分がステ
ートマシンとしてHDLあるいはRTL出力されるため
論理合成後の大きさが未確定である。したがって、論理
合成後にタイミングが収束しなければ、上位の論理設計
やレイアウト設計に戻る必要があり、設計期間を短縮で
きない。一方、トップダウン的に回路ブロックの設計に
タイミング制約を設けて、設計が繰り返えされるのを解
消する方法もある。しかしながら、制約を設けることに
より、面積、経済性、処理速度および低消費電力など追
求することが難しくなり、システムLSIとしての最適
なものを開発することが難しくなる。
【0012】そこで、本発明においては、面積、経済
性、処理速度あるいは低消費電力などの要求に合致した
システムLSIを、さらに、短期間に、効率よく開発で
きるデータ処理装置の設計方法を提供する。また、本発
明では、設計段階と検証段階とを高位レベルの設計でも
下位レベルの設計でも繰り返し行うことを避け、仕様変
更に対し短時間で対処できる設計方法を提供することを
目的としている。さらに、早期にタイミング収束を図る
ことができ、短期間でシステムLSIを市場に投入する
ことができる設計方法を提供することを目的としてい
る。また、本発明の設計方法に適したコンパイラ、設計
自動化プログラム(DA、Design Automation)あるい
はプログラム製品などを提供することも本発明の目的と
している。
性、処理速度あるいは低消費電力などの要求に合致した
システムLSIを、さらに、短期間に、効率よく開発で
きるデータ処理装置の設計方法を提供する。また、本発
明では、設計段階と検証段階とを高位レベルの設計でも
下位レベルの設計でも繰り返し行うことを避け、仕様変
更に対し短時間で対処できる設計方法を提供することを
目的としている。さらに、早期にタイミング収束を図る
ことができ、短期間でシステムLSIを市場に投入する
ことができる設計方法を提供することを目的としてい
る。また、本発明の設計方法に適したコンパイラ、設計
自動化プログラム(DA、Design Automation)あるい
はプログラム製品などを提供することも本発明の目的と
している。
【0013】
【課題を解決するための手段】本発明のデータ処理装置
の設計方法は、プログラムに含まれる汎用的な複数の基
本命令を実行可能な基本処理ユニットと、基本命令に対
して追加可能な追加命令を実行可能な少なくとも1つの
追加処理ユニットとを有するデータ処理装置をベースと
する設計方法であり、複数の追加処理ユニットにそれぞ
れ関連付けられた複数の追加命令と、各々の追加処理ユ
ニットが基本処理ユニットと共に基板に実装される際の
評価データとを備えている命令ライブラリを用いてデー
タ処理装置を設計する。すなわち、本発明のデータ処理
装置の設計方法は、C言語記述のプログラムなどの抽象
度の高い高級言語で記述された仕様に基づいてシステム
LSIなどのデータ処理装置を設計する方法であって、
その仕様から、データ処理装置用の機械語またはそれに
相当する命令コードを組み合わせたオブジェクトプログ
ラム(オブジェクトコード)を生成する工程を有し、こ
のオブジェクトプログラムを生成する工程は、複数の追
加命令を少なくとも備えた命令ライブラリから、仕様の
中のある処理を実行可能にする命令を選択する工程を備
えている。
の設計方法は、プログラムに含まれる汎用的な複数の基
本命令を実行可能な基本処理ユニットと、基本命令に対
して追加可能な追加命令を実行可能な少なくとも1つの
追加処理ユニットとを有するデータ処理装置をベースと
する設計方法であり、複数の追加処理ユニットにそれぞ
れ関連付けられた複数の追加命令と、各々の追加処理ユ
ニットが基本処理ユニットと共に基板に実装される際の
評価データとを備えている命令ライブラリを用いてデー
タ処理装置を設計する。すなわち、本発明のデータ処理
装置の設計方法は、C言語記述のプログラムなどの抽象
度の高い高級言語で記述された仕様に基づいてシステム
LSIなどのデータ処理装置を設計する方法であって、
その仕様から、データ処理装置用の機械語またはそれに
相当する命令コードを組み合わせたオブジェクトプログ
ラム(オブジェクトコード)を生成する工程を有し、こ
のオブジェクトプログラムを生成する工程は、複数の追
加命令を少なくとも備えた命令ライブラリから、仕様の
中のある処理を実行可能にする命令を選択する工程を備
えている。
【0014】命令ライブラリには、追加処理ユニットに
関連付けられた追加命令が含まれているので、本発明の
設計方法においては、追加命令が選択されると、その追
加命令に対応付けられた、その追加命令を実行可能な追
加処理ユニットが決まる。さらに、各々の追加処理ユニ
ットが基本処理ユニットと共に基板に実装される際の評
価データを備えている命令ライブラリを提供することに
より、追加命令を実行可能な追加処理ユニットが基板
上、すなわち、システムLSIであれば半導体基板ある
いはチップに実装される際の評価データを命令ライブラ
リから取得できる。評価データの代表的なものは、処理
速度、占有面積および消費電力である。これらの評価デ
ータは、追加処理ユニットの論理構造、すなわち、ゲー
トレベルの構成や、配置・配線の結果によって異なる場
合があり、さらに、RTL(レジスタ転送レベル)記述
の段階において追加処理ユニットの評価データが異なる
場合もある。
関連付けられた追加命令が含まれているので、本発明の
設計方法においては、追加命令が選択されると、その追
加命令に対応付けられた、その追加命令を実行可能な追
加処理ユニットが決まる。さらに、各々の追加処理ユニ
ットが基本処理ユニットと共に基板に実装される際の評
価データを備えている命令ライブラリを提供することに
より、追加命令を実行可能な追加処理ユニットが基板
上、すなわち、システムLSIであれば半導体基板ある
いはチップに実装される際の評価データを命令ライブラ
リから取得できる。評価データの代表的なものは、処理
速度、占有面積および消費電力である。これらの評価デ
ータは、追加処理ユニットの論理構造、すなわち、ゲー
トレベルの構成や、配置・配線の結果によって異なる場
合があり、さらに、RTL(レジスタ転送レベル)記述
の段階において追加処理ユニットの評価データが異なる
場合もある。
【0015】評価データは、どのような構成の追加処理
ユニットを、基本処理ユニットに対してある条件で配置
・配線した結果あるいは予想のデータを含み、実際には
最終の配置・配線処理まで行われた後に得られるデータ
を、最終的な配置・配線処理を実施する前の設計の初期
段階において示すものである。したがって、本発明の設
計方法においては、システムLSIの設計開始直後の早
い段階、すなわち、評価データをハードウェアとソフト
ウェアを分離する段階において得ることが可能となる。
このため、追加命令を選択することにより、評価データ
に基づき検証し、高級言語で記述された仕様に最適なシ
ステムLSIが得られるように命令を選択することがで
きる。
ユニットを、基本処理ユニットに対してある条件で配置
・配線した結果あるいは予想のデータを含み、実際には
最終の配置・配線処理まで行われた後に得られるデータ
を、最終的な配置・配線処理を実施する前の設計の初期
段階において示すものである。したがって、本発明の設
計方法においては、システムLSIの設計開始直後の早
い段階、すなわち、評価データをハードウェアとソフト
ウェアを分離する段階において得ることが可能となる。
このため、追加命令を選択することにより、評価データ
に基づき検証し、高級言語で記述された仕様に最適なシ
ステムLSIが得られるように命令を選択することがで
きる。
【0016】追加処理ユニットは予め実際に配置・配線
しておくことが可能であり、また、追加処理ユニットが
過去のシステムLSIに実装されたときの評価データを
蓄積することも可能である。したがって、各々の追加処
理ユニットに対して精度の高い評価データが追加命令ラ
イブラリから取得できる。追加処理ユニットは、さまざ
まな初期条件で設計される。たとえば、演算対象のデー
タのビット数、基本処理ユニットに対する基板上の配置
位置、配置形状、配線ルート、単一の機能をサポートあ
るいは複数の機能をサポートするかなどの初期条件を挙
げることができ、これらの初期条件は、RTL記述の設
計段階、論理合成の段階、配置・配線の段階などのさま
ざまな段階で導入される。したがって、本発明におい
て、ある初期条件の追加処理ユニットが基本処理ユニッ
トと共に基板に実装されるときの評価データとは、設計
および合成に係るある初期条件に基づいて設計および合
成された追加処理ユニットが、配置配線に係るある初期
条件にしたがって基本処理ユニットと共に基板に配置・
配線されたときの評価データを含む概念であり、システ
ムLSIを設計するときに有用な評価データを含む。
しておくことが可能であり、また、追加処理ユニットが
過去のシステムLSIに実装されたときの評価データを
蓄積することも可能である。したがって、各々の追加処
理ユニットに対して精度の高い評価データが追加命令ラ
イブラリから取得できる。追加処理ユニットは、さまざ
まな初期条件で設計される。たとえば、演算対象のデー
タのビット数、基本処理ユニットに対する基板上の配置
位置、配置形状、配線ルート、単一の機能をサポートあ
るいは複数の機能をサポートするかなどの初期条件を挙
げることができ、これらの初期条件は、RTL記述の設
計段階、論理合成の段階、配置・配線の段階などのさま
ざまな段階で導入される。したがって、本発明におい
て、ある初期条件の追加処理ユニットが基本処理ユニッ
トと共に基板に実装されるときの評価データとは、設計
および合成に係るある初期条件に基づいて設計および合
成された追加処理ユニットが、配置配線に係るある初期
条件にしたがって基本処理ユニットと共に基板に配置・
配線されたときの評価データを含む概念であり、システ
ムLSIを設計するときに有用な評価データを含む。
【0017】本発明の設計方法では、仕様からハードウ
ェア仕様とソフトウェア仕様とを切り分けた後にハード
ウェアはハードウェアで最適化し、ソフトウェアはソフ
トウェアで最適化を行った後に協調検証しながら設計を
繰り返す必要はない。命令ライブラリを利用することに
より、本設計方法では、高級言語で記述された仕様から
データ処理装置用のオブジェクトプログラム、すなわ
ち、オブジェクトコードを生成する段階で、追加命令に
付随した追加処理ユニットの評価データに基づき、最適
なハードウェアの選択も同時に行われる。したがって、
開発と検証とを繰り返しながら最適な条件を見つける従
来の設計方法と比較し、繰り返しや後戻りの非常に少な
い設計方法および設計装置(コンパイラ)を提供でき
る。基本処理ユニットと、追加処理ユニットとを有する
データ処理装置用のオブジェクトプログラムを高級言語
で記述された仕様から生成する本発明のコンパイラは、
命令ライブラリから、仕様の中のある処理を実行可能に
する命令を選択する手段を有する。
ェア仕様とソフトウェア仕様とを切り分けた後にハード
ウェアはハードウェアで最適化し、ソフトウェアはソフ
トウェアで最適化を行った後に協調検証しながら設計を
繰り返す必要はない。命令ライブラリを利用することに
より、本設計方法では、高級言語で記述された仕様から
データ処理装置用のオブジェクトプログラム、すなわ
ち、オブジェクトコードを生成する段階で、追加命令に
付随した追加処理ユニットの評価データに基づき、最適
なハードウェアの選択も同時に行われる。したがって、
開発と検証とを繰り返しながら最適な条件を見つける従
来の設計方法と比較し、繰り返しや後戻りの非常に少な
い設計方法および設計装置(コンパイラ)を提供でき
る。基本処理ユニットと、追加処理ユニットとを有する
データ処理装置用のオブジェクトプログラムを高級言語
で記述された仕様から生成する本発明のコンパイラは、
命令ライブラリから、仕様の中のある処理を実行可能に
する命令を選択する手段を有する。
【0018】また、基本処理ユニットと、追加処理ユニ
ットとを有するデータ処理装置を、抽象度の高い高級言
語で記述された仕様に基づいて設計する処理をコンピュ
ータにおいて実行可能とする設計自動化プログラムを提
供できる。本発明の設計自動化プログラムにおいては、
上述したように、仕様からデータ処理装置用のオブジェ
クトプログラムを生成する工程を実行する。この設計自
動化プログラムは、光記録媒体あるいは磁気記録媒体な
どの適当な記録媒体に記録して提供することが可能であ
り、コンピュータネットワークを介して提供することも
可能である。そして、適当なハードウェア資源を備えた
コンピュータにインストールすることにより自動設計装
置(コンパイラ)を提供することができ、その結果、基
本的には繰り返しや後戻りをせずに、システムLSIな
どのデータ処理装置を設計することができる。
ットとを有するデータ処理装置を、抽象度の高い高級言
語で記述された仕様に基づいて設計する処理をコンピュ
ータにおいて実行可能とする設計自動化プログラムを提
供できる。本発明の設計自動化プログラムにおいては、
上述したように、仕様からデータ処理装置用のオブジェ
クトプログラムを生成する工程を実行する。この設計自
動化プログラムは、光記録媒体あるいは磁気記録媒体な
どの適当な記録媒体に記録して提供することが可能であ
り、コンピュータネットワークを介して提供することも
可能である。そして、適当なハードウェア資源を備えた
コンピュータにインストールすることにより自動設計装
置(コンパイラ)を提供することができ、その結果、基
本的には繰り返しや後戻りをせずに、システムLSIな
どのデータ処理装置を設計することができる。
【0019】さらに、命令ライブラリに、追加処理ユニ
ットの少なくとも一部が、基本処理ユニットと共に、基
板に異なる初期条件で実装される際の複数種類の評価デ
ータを用意することが望ましい。同一の追加命令を備え
たオブジェクトコードに対して、さらに、ユーザの要求
や、与えられた仕様に最適な条件のハードウェアを備え
たデータ処理装置を設計することができる。追加命令ラ
イブラリに登録される追加処理ユニットの初期条件を豊
富に揃えることにより、繰り返しや後戻りなく、選択条
件を満足する最適なシステムLSIをほとんどワンパス
で設計することができる。さらに、このような命令ライ
ブラリを予め用意しておくことにより、個々の仕様に基
づいてシステムLSIを設計する際に、高位合成、協調
検証、動作合成などの時間を費やす処理を省くことがで
きる。したがって、本発明の設計方法により、仕様が与
えられてからシステムLSIが完成するまでの期間を大
幅に短縮できる。
ットの少なくとも一部が、基本処理ユニットと共に、基
板に異なる初期条件で実装される際の複数種類の評価デ
ータを用意することが望ましい。同一の追加命令を備え
たオブジェクトコードに対して、さらに、ユーザの要求
や、与えられた仕様に最適な条件のハードウェアを備え
たデータ処理装置を設計することができる。追加命令ラ
イブラリに登録される追加処理ユニットの初期条件を豊
富に揃えることにより、繰り返しや後戻りなく、選択条
件を満足する最適なシステムLSIをほとんどワンパス
で設計することができる。さらに、このような命令ライ
ブラリを予め用意しておくことにより、個々の仕様に基
づいてシステムLSIを設計する際に、高位合成、協調
検証、動作合成などの時間を費やす処理を省くことがで
きる。したがって、本発明の設計方法により、仕様が与
えられてからシステムLSIが完成するまでの期間を大
幅に短縮できる。
【0020】命令ライブラリには、基本命令と、その基
本命令を基本処理ユニットで実行するときの評価データ
とを格納することにより、追加命令と同じ手順で基本命
令を評価できる。オブジェクトプログラムが記録された
コードメモリから命令をフェッチして基本処理ユニット
および追加処理ユニットのいずれかに供給する共通のフ
ェッチユニットを有するデータ処理装置においては、オ
ブジェクトプログラムから命令をフェッチする段階で
は、基本命令も追加命令のいずれもが等価に扱われる。
したがって、基本命令あるいは追加命令に関わらず選択
条件によりオブジェクトプログラムを構成する命令をフ
レキシブルに選択できる。このため、基本命令も、追加
削除可能な追加命令と等価に扱うことができ、基本処理
ユニットも追加処理ユニットと等価に扱うことができ
る。これは、基本処理ユニットもさらに細分化して、最
適な構成を選択できることを意味する。すなわち、オブ
ジェクトプログラムが記録されたコードメモリから命令
をフェッチして複数の処理ユニットのいずれかに供給す
る共通のフェッチユニットを有するデータ処理装置を、
高級言語で記述された仕様に基づいて設計する方法で
は、オブジェクトプログラムを生成する工程において、
基本命令も追加命令と等価に命令ライブラリに含め、命
令ライブラリの追加命令の中から、仕様の中のある処理
を実行可能にする命令を選択する工程を設けることがで
きる。命令ライブラリは、複数の命令のそれぞれを実行
可能な複数の処理ユニットが基板に実装される際の評価
データを備えているものとなる。
本命令を基本処理ユニットで実行するときの評価データ
とを格納することにより、追加命令と同じ手順で基本命
令を評価できる。オブジェクトプログラムが記録された
コードメモリから命令をフェッチして基本処理ユニット
および追加処理ユニットのいずれかに供給する共通のフ
ェッチユニットを有するデータ処理装置においては、オ
ブジェクトプログラムから命令をフェッチする段階で
は、基本命令も追加命令のいずれもが等価に扱われる。
したがって、基本命令あるいは追加命令に関わらず選択
条件によりオブジェクトプログラムを構成する命令をフ
レキシブルに選択できる。このため、基本命令も、追加
削除可能な追加命令と等価に扱うことができ、基本処理
ユニットも追加処理ユニットと等価に扱うことができ
る。これは、基本処理ユニットもさらに細分化して、最
適な構成を選択できることを意味する。すなわち、オブ
ジェクトプログラムが記録されたコードメモリから命令
をフェッチして複数の処理ユニットのいずれかに供給す
る共通のフェッチユニットを有するデータ処理装置を、
高級言語で記述された仕様に基づいて設計する方法で
は、オブジェクトプログラムを生成する工程において、
基本命令も追加命令と等価に命令ライブラリに含め、命
令ライブラリの追加命令の中から、仕様の中のある処理
を実行可能にする命令を選択する工程を設けることがで
きる。命令ライブラリは、複数の命令のそれぞれを実行
可能な複数の処理ユニットが基板に実装される際の評価
データを備えているものとなる。
【0021】命令ライブラリから得られる評価データに
基づき基本命令および/または追加命令を選択したり、
追加処理ユニットを選択する方法は大きく2通りある。
1つは、オブジェクトプログラムを生成する際に評価す
る方法である。そのため、オブジェクトプログラムの命
令を選択する工程の前に、選択条件を設定する工程を設
け、命令を選択する工程では、命令ライブラリから、仕
様の中のある処理を実行する候補となる命令を選択す
る。そして、候補となった命令に追加処理ユニットを介
して関連付けされる評価データ、あるいは、その命令を
実行可能な追加処理ユニットに対応する評価データを選
択条件により評価する工程を経て、選択条件にマッチす
る命令によりオブジェクトプログラムを生成する。コン
パイラは、選択条件を設定する手段を有し、命令を選択
する手段は、命令ライブラリから、仕様の中のある処理
を実行する候補となる命令を選択する。さらに、コンパ
イラは、候補となった命令に対応する評価データを選択
条件により評価してオブジェクトプログラムを生成する
手段をさらに有する。
基づき基本命令および/または追加命令を選択したり、
追加処理ユニットを選択する方法は大きく2通りある。
1つは、オブジェクトプログラムを生成する際に評価す
る方法である。そのため、オブジェクトプログラムの命
令を選択する工程の前に、選択条件を設定する工程を設
け、命令を選択する工程では、命令ライブラリから、仕
様の中のある処理を実行する候補となる命令を選択す
る。そして、候補となった命令に追加処理ユニットを介
して関連付けされる評価データ、あるいは、その命令を
実行可能な追加処理ユニットに対応する評価データを選
択条件により評価する工程を経て、選択条件にマッチす
る命令によりオブジェクトプログラムを生成する。コン
パイラは、選択条件を設定する手段を有し、命令を選択
する手段は、命令ライブラリから、仕様の中のある処理
を実行する候補となる命令を選択する。さらに、コンパ
イラは、候補となった命令に対応する評価データを選択
条件により評価してオブジェクトプログラムを生成する
手段をさらに有する。
【0022】他の1つは、複数のオブジェクトプログラ
ムを生成し、その後に、生成されたオブジェクトプログ
ラムを評価する方法である。そのため、命令を選択する
工程では、複数の候補となる命令が選択可能とし、オブ
ジェクトプログラムを生成する工程は、候補となる命令
を含む、複数の候補となるオブジェクトプログラムを生
成する。その後、複数の候補となるオブジェクトプログ
ラムのそれぞれに関連付けされる評価データを選択条件
により評価してオブジェクトプログラムを選択する工程
を設ける。コンパイラは、命令を選択する手段におい
て、命令ライブラリから、仕様の中のある処理を実行す
る候補となる、少なくとも1つの候補となる命令を選択
する。さらにコンパイラは、候補となる命令を含む、複
数の候補となるオブジェクトプログラムを生成し、各々
の候補となるオブジェクトプログラムに関連付けされる
評価データを選択条件により評価する手段をさらに有す
る。
ムを生成し、その後に、生成されたオブジェクトプログ
ラムを評価する方法である。そのため、命令を選択する
工程では、複数の候補となる命令が選択可能とし、オブ
ジェクトプログラムを生成する工程は、候補となる命令
を含む、複数の候補となるオブジェクトプログラムを生
成する。その後、複数の候補となるオブジェクトプログ
ラムのそれぞれに関連付けされる評価データを選択条件
により評価してオブジェクトプログラムを選択する工程
を設ける。コンパイラは、命令を選択する手段におい
て、命令ライブラリから、仕様の中のある処理を実行す
る候補となる、少なくとも1つの候補となる命令を選択
する。さらにコンパイラは、候補となる命令を含む、複
数の候補となるオブジェクトプログラムを生成し、各々
の候補となるオブジェクトプログラムに関連付けされる
評価データを選択条件により評価する手段をさらに有す
る。
【0023】後者の方法は、生成された複数のオブジェ
クトプログラムを評価するので、より選択条件に適した
オブジェクトプログラムを生成できる可能性がある。し
かしながら、個々の命令を選択する段階では複数の命令
が候補に上がるので、それらを記憶しておくために大き
な記憶容量が必要となり、時間もかかる。これに対し、
前者の方法は、個々の命令を選択する際に評価するの
で、記憶容量も小さくて良く、処理時間も短い。しかし
ながら、トータルのオブジェクトプログラムとしては最
適なものが選択されない可能性がある。
クトプログラムを評価するので、より選択条件に適した
オブジェクトプログラムを生成できる可能性がある。し
かしながら、個々の命令を選択する段階では複数の命令
が候補に上がるので、それらを記憶しておくために大き
な記憶容量が必要となり、時間もかかる。これに対し、
前者の方法は、個々の命令を選択する際に評価するの
で、記憶容量も小さくて良く、処理時間も短い。しかし
ながら、トータルのオブジェクトプログラムとしては最
適なものが選択されない可能性がある。
【0024】選択条件の比較対象となる評価データは、
処理速度、占有面積および消費電力の少なくともいずれ
かを含んだ多種多様なものを用意できる。これにより、
処理速度優先のデザイン、占有面積が優先、すなわち、
経済性あるいは小さいことが優先するデザイン、低消費
電力が優先するデザインのシステムLSIを提供するこ
とができる。
処理速度、占有面積および消費電力の少なくともいずれ
かを含んだ多種多様なものを用意できる。これにより、
処理速度優先のデザイン、占有面積が優先、すなわち、
経済性あるいは小さいことが優先するデザイン、低消費
電力が優先するデザインのシステムLSIを提供するこ
とができる。
【0025】本発明のデータ処理装置の設計方法および
設計自動化プログラムにより、選択条件にしたがってオ
ブジェクトプログラムを生成すると共に、それを処理可
能な基本処理ユニットおよび追加処理ユニットのRTL
記述を論理合成し、配置・配線処理を行ってシステムL
SIの構造を決定するまでのハードウェア設計を一括で
行うことも可能である。また、オブジェクトプログラム
を生成すると共に、そのオブジェクトプログラムに含ま
れる追加命令を実行する追加処理ユニットと基本処理ユ
ニットとの間の接続情報を生成し出力することも有効で
ある。接続情報に基づき基本処理ユニットと追加処理ユ
ニットのRTL記述を、別途提供される、あるいは市販
の論理合成ツールで論理合成し、さらに、配置・配線ツ
ールにより配置・配線処理することが可能となる。した
がって、本発明のデータ処理装置の設計方法および設計
自動化プログラムにより、別途提供される、あるいは既
存の設計支援ツールを用いて、最適なハードウェア設計
を基本的にはトップダウンで行うことができる。論理合
成の段階での最適化、配置・配線処理における最適化の
ためにループ処理を行うことができることはもちろんで
ある。
設計自動化プログラムにより、選択条件にしたがってオ
ブジェクトプログラムを生成すると共に、それを処理可
能な基本処理ユニットおよび追加処理ユニットのRTL
記述を論理合成し、配置・配線処理を行ってシステムL
SIの構造を決定するまでのハードウェア設計を一括で
行うことも可能である。また、オブジェクトプログラム
を生成すると共に、そのオブジェクトプログラムに含ま
れる追加命令を実行する追加処理ユニットと基本処理ユ
ニットとの間の接続情報を生成し出力することも有効で
ある。接続情報に基づき基本処理ユニットと追加処理ユ
ニットのRTL記述を、別途提供される、あるいは市販
の論理合成ツールで論理合成し、さらに、配置・配線ツ
ールにより配置・配線処理することが可能となる。した
がって、本発明のデータ処理装置の設計方法および設計
自動化プログラムにより、別途提供される、あるいは既
存の設計支援ツールを用いて、最適なハードウェア設計
を基本的にはトップダウンで行うことができる。論理合
成の段階での最適化、配置・配線処理における最適化の
ためにループ処理を行うことができることはもちろんで
ある。
【0026】オブジェクトプログラムを生成する工程の
一環として、生成されたオブジェクトプログラムに含ま
れる追加命令を実行する追加処理ユニットと基本処理ユ
ニットとの間の接続情報を生成する工程を設けることが
できる。また、オブジェクトプログラムを生成した後
に、そのオブジェクトプログラムを解析するなどの方法
により、生成されたオブジェクトプログラムに含まれる
追加命令を実行する追加処理ユニットと基本処理ユニッ
トとの間の接続情報を生成する工程をさらに設けても良
い。コンパイラには、生成されたオブジェクトプログラ
ムに含まれる追加命令を実行する追加処理ユニットと基
本処理ユニットとの間の接続情報を生成する手段をさら
に設ける。接続情報には、追加処理ユニットと基本処理
ユニットとの間のみならず、オブジェクトプログラムが
格納されるコードメモリとの間の接続情報を含めること
ができる。
一環として、生成されたオブジェクトプログラムに含ま
れる追加命令を実行する追加処理ユニットと基本処理ユ
ニットとの間の接続情報を生成する工程を設けることが
できる。また、オブジェクトプログラムを生成した後
に、そのオブジェクトプログラムを解析するなどの方法
により、生成されたオブジェクトプログラムに含まれる
追加命令を実行する追加処理ユニットと基本処理ユニッ
トとの間の接続情報を生成する工程をさらに設けても良
い。コンパイラには、生成されたオブジェクトプログラ
ムに含まれる追加命令を実行する追加処理ユニットと基
本処理ユニットとの間の接続情報を生成する手段をさら
に設ける。接続情報には、追加処理ユニットと基本処理
ユニットとの間のみならず、オブジェクトプログラムが
格納されるコードメモリとの間の接続情報を含めること
ができる。
【0027】命令ライブラリが、基本処理ユニットおよ
び複数の追加処理ユニットのそれぞれのサイクルベース
の評価データを備えていれば、本発明の設計方法および
設計自動化プログラムにおいては、オブジェクトプログ
ラムを生成する工程により生成されたオブジェクトプロ
グラムに含まれる追加命令を実行する追加処理ユニット
および基本処理ユニットの動作をサイクルベースで評価
できる。サイクルベースの評価データには、初期条件、
すなわち、基板に実装する条件にしたがい、遅延などの
タイミング・クロージャに関わる情報が含まれている。
したがって、オブジェクトプログラムを生成する段階、
すなわち、本発明の設計方法のソフトウェアとハードウ
ェアを分離する段階で、タイミング・クロージャを含め
て、設計されるシステムLSIの評価が可能である。し
たがって、ハードウェアの設計を進める際に、短時間に
タイミング収束させることができ、極めて短期間にシス
テムLSIを市場に投入することが可能となる。
び複数の追加処理ユニットのそれぞれのサイクルベース
の評価データを備えていれば、本発明の設計方法および
設計自動化プログラムにおいては、オブジェクトプログ
ラムを生成する工程により生成されたオブジェクトプロ
グラムに含まれる追加命令を実行する追加処理ユニット
および基本処理ユニットの動作をサイクルベースで評価
できる。サイクルベースの評価データには、初期条件、
すなわち、基板に実装する条件にしたがい、遅延などの
タイミング・クロージャに関わる情報が含まれている。
したがって、オブジェクトプログラムを生成する段階、
すなわち、本発明の設計方法のソフトウェアとハードウ
ェアを分離する段階で、タイミング・クロージャを含め
て、設計されるシステムLSIの評価が可能である。し
たがって、ハードウェアの設計を進める際に、短時間に
タイミング収束させることができ、極めて短期間にシス
テムLSIを市場に投入することが可能となる。
【0028】また、命令ライブラリが、基本処理ユニッ
トおよび複数の追加処理ユニットのそれぞれのRTL記
述を備えている場合は、本発明の設計方法および設計自
動化プログラムにおいては、オブジェクトプログラムに
含まれる追加命令を実行する追加処理ユニットのRTL
記述および基本処理ユニットのRTL記述を統合した当
該データ処理装置のRTL記述を生成できる。したがっ
て、論理合成ツールの入力対象となるデータを簡単に供
給できる。
トおよび複数の追加処理ユニットのそれぞれのRTL記
述を備えている場合は、本発明の設計方法および設計自
動化プログラムにおいては、オブジェクトプログラムに
含まれる追加命令を実行する追加処理ユニットのRTL
記述および基本処理ユニットのRTL記述を統合した当
該データ処理装置のRTL記述を生成できる。したがっ
て、論理合成ツールの入力対象となるデータを簡単に供
給できる。
【0029】さらに、本発明の設計方法および設計自動
化プログラムにおいては、オブジェクトプログラムを生
成する工程により生成されたオブジェクトプログラムに
含まれる追加命令を実行する追加処理ユニットが基板に
初期条件で配置・配線されたフロアプラン情報を生成
し、出力することが望ましい。自動配置・配線処理にお
いて、初期条件における追加処理ユニットのフロアプラ
ンが予め判明するので、配線長のばらつく範囲が小さく
なり、配線によるタイミングの予測精度が向上する。ま
た、半導体プロセスがディープ・サブミクロンになる
と、配線遅延が大きくなる。このため、仮想配線を用い
て論理合成を行う前にフロアプランを生成して配線長の
精度を上げることにより、論理合成において最適なゲー
ト・レベルの回路構成を短時間で得ることができる。
化プログラムにおいては、オブジェクトプログラムを生
成する工程により生成されたオブジェクトプログラムに
含まれる追加命令を実行する追加処理ユニットが基板に
初期条件で配置・配線されたフロアプラン情報を生成
し、出力することが望ましい。自動配置・配線処理にお
いて、初期条件における追加処理ユニットのフロアプラ
ンが予め判明するので、配線長のばらつく範囲が小さく
なり、配線によるタイミングの予測精度が向上する。ま
た、半導体プロセスがディープ・サブミクロンになる
と、配線遅延が大きくなる。このため、仮想配線を用い
て論理合成を行う前にフロアプランを生成して配線長の
精度を上げることにより、論理合成において最適なゲー
ト・レベルの回路構成を短時間で得ることができる。
【0030】本発明において、命令ライブラリに含まれ
る追加命令を処理する追加処理ユニットは、評価データ
を得るために予め基板に配置・配線されている。このた
め、各々の追加処理ユニットをマクロブロックあるいは
マクロセルとして取り扱い、それぞれの追加処理ユニッ
トを基板上に実現するための形状、端子位置、配線情報
等を含むレイアウト情報を命令ライブラリに格納するこ
とは容易である。追加処理ユニットのレイアウト情報
が、評価データとは異なる記録媒体に分散して存在する
としても、追加命令あるいは追加処理ユニットが決定さ
れることにより、それに関連するレイアウト情報が得ら
れるようになっていれば良い。したがって、本発明にお
いては、追加命令が選択されると、その追加命令を実行
する追加処理ユニットが基板上に初期条件で配置・配線
されたレイアウト情報を抽出し、当該データ処理装置の
フロアプラン情報を生成することができる。
る追加命令を処理する追加処理ユニットは、評価データ
を得るために予め基板に配置・配線されている。このた
め、各々の追加処理ユニットをマクロブロックあるいは
マクロセルとして取り扱い、それぞれの追加処理ユニッ
トを基板上に実現するための形状、端子位置、配線情報
等を含むレイアウト情報を命令ライブラリに格納するこ
とは容易である。追加処理ユニットのレイアウト情報
が、評価データとは異なる記録媒体に分散して存在する
としても、追加命令あるいは追加処理ユニットが決定さ
れることにより、それに関連するレイアウト情報が得ら
れるようになっていれば良い。したがって、本発明にお
いては、追加命令が選択されると、その追加命令を実行
する追加処理ユニットが基板上に初期条件で配置・配線
されたレイアウト情報を抽出し、当該データ処理装置の
フロアプラン情報を生成することができる。
【0031】このように、本発明のデータ処理装置の設
計方法および設計自動化プログラムでは、C言語などの
高級言語で記述された仕様から、面積、速度あるいは消
費電力などの選択条件を満足するように追加命令を、そ
れぞれの評価データに基づき選択してオブジェクトプロ
グラムを生成することにより、その選択条件を満足する
ハードウェアも同時に設計することができる。
計方法および設計自動化プログラムでは、C言語などの
高級言語で記述された仕様から、面積、速度あるいは消
費電力などの選択条件を満足するように追加命令を、そ
れぞれの評価データに基づき選択してオブジェクトプロ
グラムを生成することにより、その選択条件を満足する
ハードウェアも同時に設計することができる。
【0032】さらに、本発明の設計方法では、追加処理
ユニットは予め配置・配線されており、それぞれの追加
処理ユニットのレイアウト情報が即時利用できる状態に
なっている。したがって、選択された追加処理ユニット
のレイアウト情報を用いて精度の高いフロアプランを短
時間に生成することが可能となる。このため、タイミン
グ収束の検討をトップダウン的にさまざまな段階で行
い、クリティカルパスなどの問題があれば、直ちにそれ
を発見して短時間にタイミング収束させることができ
る。たとえば、サイクルベースの評価データに配線遅延
の情報を含め、データ処理装置の性能をサイクルベース
で評価するときにタイミング収束の評価を行うことがで
きる。したがって、極めて短期間にシステムLSIを市
場に投入することが可能となる。
ユニットは予め配置・配線されており、それぞれの追加
処理ユニットのレイアウト情報が即時利用できる状態に
なっている。したがって、選択された追加処理ユニット
のレイアウト情報を用いて精度の高いフロアプランを短
時間に生成することが可能となる。このため、タイミン
グ収束の検討をトップダウン的にさまざまな段階で行
い、クリティカルパスなどの問題があれば、直ちにそれ
を発見して短時間にタイミング収束させることができ
る。たとえば、サイクルベースの評価データに配線遅延
の情報を含め、データ処理装置の性能をサイクルベース
で評価するときにタイミング収束の評価を行うことがで
きる。したがって、極めて短期間にシステムLSIを市
場に投入することが可能となる。
【0033】上述したように、従来の、ハードウェア仕
様を分離し、高位合成によりHDL(RTL)を生成す
る設計方法では、論理合成後の大きさが未確定であるた
めに、上位階層でのタイミング収束が難しく、論理合成
を挟んでシミュレーションを繰り返したりする必要があ
る。これに対し、本発明の設計方法では、基本処理ユニ
ットは標準化されたプロセッサを利用でき、追加処理ユ
ニットも予め配置・配線が終了しているので、その大き
さや配線などによる遅延が求められている。したがっ
て、抽象度が低い設計段階である論理合成あるいは配置
配線処理の後ではなく、はるかに抽象度の高い設計段階
である追加命令を選択する段階で、追加処理ユニットに
関連して正確な面積と遅延が制御できる。このため、配
線遅延による性能のブレを抑制でき、設計の繰り返しを
最小限に留め、タイミング・クロージャ(タイミング収
束)も早期に解決できる。
様を分離し、高位合成によりHDL(RTL)を生成す
る設計方法では、論理合成後の大きさが未確定であるた
めに、上位階層でのタイミング収束が難しく、論理合成
を挟んでシミュレーションを繰り返したりする必要があ
る。これに対し、本発明の設計方法では、基本処理ユニ
ットは標準化されたプロセッサを利用でき、追加処理ユ
ニットも予め配置・配線が終了しているので、その大き
さや配線などによる遅延が求められている。したがっ
て、抽象度が低い設計段階である論理合成あるいは配置
配線処理の後ではなく、はるかに抽象度の高い設計段階
である追加命令を選択する段階で、追加処理ユニットに
関連して正確な面積と遅延が制御できる。このため、配
線遅延による性能のブレを抑制でき、設計の繰り返しを
最小限に留め、タイミング・クロージャ(タイミング収
束)も早期に解決できる。
【0034】また、選択された命令に基づき生成された
フロアプラン情報を、選択条件により、さらに最適化す
る工程を設けることも有効である。処理速度に関してい
えば、クリティカルパスが基本処理ユニットとある追加
処理ユニットとの間に存在するような場合には追加処理
ユニットの位置を変更することにより回避できる可能性
がある。
フロアプラン情報を、選択条件により、さらに最適化す
る工程を設けることも有効である。処理速度に関してい
えば、クリティカルパスが基本処理ユニットとある追加
処理ユニットとの間に存在するような場合には追加処理
ユニットの位置を変更することにより回避できる可能性
がある。
【0035】追加処理ユニットは、複数の追加命令を実
行可能な汎用性のある処理ユニットであっても良い。し
かしながら、リアルタイム処理や、ネットワーク処理な
どの高速処理が必要とされる分野に適したシステムLS
Iとしては、追加命令による処理を実行するのに適した
専用回路を備えた専用処理ユニットを追加処理ユニット
として備えているシステムLSIが有効である。そし
て、本発明の設計・開発または製造方法によれば、様々
な初期条件で専用処理ユニットを予め配置配線しておく
ことにより、短時間で、リアルタイム処理やネットワー
ク処理に適したシステムLSIを設計し、市場に供給す
ることが可能となる。
行可能な汎用性のある処理ユニットであっても良い。し
かしながら、リアルタイム処理や、ネットワーク処理な
どの高速処理が必要とされる分野に適したシステムLS
Iとしては、追加命令による処理を実行するのに適した
専用回路を備えた専用処理ユニットを追加処理ユニット
として備えているシステムLSIが有効である。そし
て、本発明の設計・開発または製造方法によれば、様々
な初期条件で専用処理ユニットを予め配置配線しておく
ことにより、短時間で、リアルタイム処理やネットワー
ク処理に適したシステムLSIを設計し、市場に供給す
ることが可能となる。
【0036】
【発明の実施の形態】以下では、図面を参照しながら、
本発明をさらに詳しく説明する。まず、図1を参照し
て、本発明に適している、共通のフェッチユニットを備
えたデータ処理装置、すなわちシステムLSIの概略構
成を説明する。このシステムLSI20は、特定の処理
に特化した専用処理ユニット(専用データ処理ユニッ
ト、以降ではVU)21と、汎用的な構成の汎用処理ユ
ニット(汎用データ処理ユニットあるいはプロセスユニ
ット、以降ではPU)22とを備えており、本願の出願
人が提案し、VUPUと呼んでいるタイプのシステムL
SIである。したがって、以降では、VUPUと称す
る。
本発明をさらに詳しく説明する。まず、図1を参照し
て、本発明に適している、共通のフェッチユニットを備
えたデータ処理装置、すなわちシステムLSIの概略構
成を説明する。このシステムLSI20は、特定の処理
に特化した専用処理ユニット(専用データ処理ユニッ
ト、以降ではVU)21と、汎用的な構成の汎用処理ユ
ニット(汎用データ処理ユニットあるいはプロセスユニ
ット、以降ではPU)22とを備えており、本願の出願
人が提案し、VUPUと呼んでいるタイプのシステムL
SIである。したがって、以降では、VUPUと称す
る。
【0037】このVUPUプロセッサ20は、VU21
およびPU22に対しデコードされた制御信号あるいは
命令を供給するフェッチユニット(以降ではFU)23
を備えている。FU23は、コードRAM24に記録さ
れた実行形式のオブジェクトプログラム(マイクロプロ
グラム)25から命令(命令コードまたはマイクロコー
ド)をフェッチし、デコードステージ命令として出力す
る。このため、FU23は、次の命令コードの先頭アド
レスを記録するレジスタ26と、PU22からの制御信
号φ1によりレジスタ26のアドレスまたはデコードさ
れた命令φpで指示されたアドレスのいずれかを選択
し、そのアドレスを、次の命令コードをフェッチするた
めにRAM24に出力するセレクタ27と、フェッチさ
れたデータをアライメントして命令コードの種別を判別
し、デコードステージの命令として出力するコードアラ
イメント回路28とを備えている。したがって、次の命
令コードのアドレスはPU22からフィードバックされ
てFU23に入力される。コードアライメント回路28
はバッファとしても機能し、必要があれば、命令コード
をプリフェッチすることも可能である。
およびPU22に対しデコードされた制御信号あるいは
命令を供給するフェッチユニット(以降ではFU)23
を備えている。FU23は、コードRAM24に記録さ
れた実行形式のオブジェクトプログラム(マイクロプロ
グラム)25から命令(命令コードまたはマイクロコー
ド)をフェッチし、デコードステージ命令として出力す
る。このため、FU23は、次の命令コードの先頭アド
レスを記録するレジスタ26と、PU22からの制御信
号φ1によりレジスタ26のアドレスまたはデコードさ
れた命令φpで指示されたアドレスのいずれかを選択
し、そのアドレスを、次の命令コードをフェッチするた
めにRAM24に出力するセレクタ27と、フェッチさ
れたデータをアライメントして命令コードの種別を判別
し、デコードステージの命令として出力するコードアラ
イメント回路28とを備えている。したがって、次の命
令コードのアドレスはPU22からフィードバックされ
てFU23に入力される。コードアライメント回路28
はバッファとしても機能し、必要があれば、命令コード
をプリフェッチすることも可能である。
【0038】RAM24に記録されたプログラム25
は、VU21における処理を規定する専用命令(以下で
はVU命令)と、PU22における処理を規定する汎用
あるいは基本命令(以下ではPU命令)とを有してお
り、VU命令が上述した追加命令に相当する。FU23
は、これらのVU命令、PU命令をデコードしてVU2
1およびPU22にそれぞれ供給する機能を備えてい
る。すなわち、FU23においては、フェッチした命令
コードがVU命令であれば、それをアライメントしたV
Uデコードステージ命令φvがレジスタ29vに格納さ
れた後にVU21に供給され、フェッチした命令コード
がPU命令であれば、それをアライメントしたPUデコ
ードステージ命令φpがレジスタ29pに格納された後
にPU22に供給される。また、システムLSI20
は、複数のVU21を実装することが可能であり、それ
ぞれのVU21a、VU21bなどが、FU23から供
給されたVU命令をデコードし、自己のVU命令であれ
ば、それに基づく処理を開始する。
は、VU21における処理を規定する専用命令(以下で
はVU命令)と、PU22における処理を規定する汎用
あるいは基本命令(以下ではPU命令)とを有してお
り、VU命令が上述した追加命令に相当する。FU23
は、これらのVU命令、PU命令をデコードしてVU2
1およびPU22にそれぞれ供給する機能を備えてい
る。すなわち、FU23においては、フェッチした命令
コードがVU命令であれば、それをアライメントしたV
Uデコードステージ命令φvがレジスタ29vに格納さ
れた後にVU21に供給され、フェッチした命令コード
がPU命令であれば、それをアライメントしたPUデコ
ードステージ命令φpがレジスタ29pに格納された後
にPU22に供給される。また、システムLSI20
は、複数のVU21を実装することが可能であり、それ
ぞれのVU21a、VU21bなどが、FU23から供
給されたVU命令をデコードし、自己のVU命令であれ
ば、それに基づく処理を開始する。
【0039】専用処理ユニットVU21は、ユーザが追
加可能な命令である専用命令(VU命令)を実行するユ
ニットである。VU21は、VU命令φvで規定された
データ処理に適した専用回路31と、VU命令φvをデ
コードし、専用回路31を制御するデコードおよび実行
制御回路32とを備えている。専用処理ユニットVU2
1における処理はシーケンサあるいはハードワイヤード
ロジックなどのハードウェアロジックにより制御あるい
は実行されるようになっており、特定のデータ処理に特
化しているのでフレキシビリティーは少ないが、その特
定のデータ処理を高速で実行できる。
加可能な命令である専用命令(VU命令)を実行するユ
ニットである。VU21は、VU命令φvで規定された
データ処理に適した専用回路31と、VU命令φvをデ
コードし、専用回路31を制御するデコードおよび実行
制御回路32とを備えている。専用処理ユニットVU2
1における処理はシーケンサあるいはハードワイヤード
ロジックなどのハードウェアロジックにより制御あるい
は実行されるようになっており、特定のデータ処理に特
化しているのでフレキシビリティーは少ないが、その特
定のデータ処理を高速で実行できる。
【0040】汎用処理ユニットPU22は、汎用命令あ
るいは基本命令の実行ユニットであり、汎用プロセッサ
とほぼ同じ構成が採用される。本例では、ALUなどの
汎用的な演算処理ユニットを備えた汎用回路部35と、
PU命令φpをデコードし、汎用回路部35の制御を行
うデコードおよび実行制御回路36を備えている。ま
た、データRAM37が用意されており、汎用回路部3
5は、データRAM37を一時記憶領域として処理を行
うことができる。
るいは基本命令の実行ユニットであり、汎用プロセッサ
とほぼ同じ構成が採用される。本例では、ALUなどの
汎用的な演算処理ユニットを備えた汎用回路部35と、
PU命令φpをデコードし、汎用回路部35の制御を行
うデコードおよび実行制御回路36を備えている。ま
た、データRAM37が用意されており、汎用回路部3
5は、データRAM37を一時記憶領域として処理を行
うことができる。
【0041】VUPU20は、VU21とPU22に対
してFU23は共通する。このため、FU23において
は、VU命令もPU命令もフェッチする段階では等価で
あり、オブジェクトプログラム25にVU命令とPU命
令を適当な順番で含めることにより、VU21とPU2
2とにおける処理をクロック単位で精度良く、簡単に制
御することができる。FU23およびPU22を含めた
構成は、埋め込みプロセッサ22Xあるいは組み込みプ
ロセッサに類似している。したがって、VUPU20
は、プロセッサ22Xと1つまたは複数のVU21を備
えた構成として解釈することが可能である。このため、
VUPU20では、埋め込みプロセッサ22Xのフェッ
チユニット23からプロセッサ22Xの実行ユニットで
あるPU22と周辺回路ユニットであるVU21とにそ
れぞれの命令が供給される構成と解釈しても等価であ
る。
してFU23は共通する。このため、FU23において
は、VU命令もPU命令もフェッチする段階では等価で
あり、オブジェクトプログラム25にVU命令とPU命
令を適当な順番で含めることにより、VU21とPU2
2とにおける処理をクロック単位で精度良く、簡単に制
御することができる。FU23およびPU22を含めた
構成は、埋め込みプロセッサ22Xあるいは組み込みプ
ロセッサに類似している。したがって、VUPU20
は、プロセッサ22Xと1つまたは複数のVU21を備
えた構成として解釈することが可能である。このため、
VUPU20では、埋め込みプロセッサ22Xのフェッ
チユニット23からプロセッサ22Xの実行ユニットで
あるPU22と周辺回路ユニットであるVU21とにそ
れぞれの命令が供給される構成と解釈しても等価であ
る。
【0042】図2に、本発明の設計方法により、システ
ムLSIを設計する概要を示してある。本発明の設計方
法50では、C言語で記述された仕様(ステップ51)
をステップ52においてコンパイルし、システムLSI
20を制御する命令コードのリスト、すなわち、オブジ
ェクトプログラム57に展開する。この際、オブジェク
トプログラム57を構成する命令コードは、命令コード
とその命令コードを実行する処理ユニットとが対応付け
されたライブラリ53から選択される。したがって、ス
テップ52で、C言語記述の仕様51からオブジェクト
プログラム57を生成する段階で、そのオブジェクトプ
ログラム57の実行に最適な処理ユニット、すなわち、
ハードウェアの構成が自動的に選択される。
ムLSIを設計する概要を示してある。本発明の設計方
法50では、C言語で記述された仕様(ステップ51)
をステップ52においてコンパイルし、システムLSI
20を制御する命令コードのリスト、すなわち、オブジ
ェクトプログラム57に展開する。この際、オブジェク
トプログラム57を構成する命令コードは、命令コード
とその命令コードを実行する処理ユニットとが対応付け
されたライブラリ53から選択される。したがって、ス
テップ52で、C言語記述の仕様51からオブジェクト
プログラム57を生成する段階で、そのオブジェクトプ
ログラム57の実行に最適な処理ユニット、すなわち、
ハードウェアの構成が自動的に選択される。
【0043】したがって、本例の設計方法50において
は、オブジェクトプログラム57を生成するステップ5
2は、オブジェクトプログラム57を生成するだけでは
なく、そのプログラム57の実行に適したハードウェア
情報を出力する機能あるいは工程52aも含まれる。ハ
ードウェア情報は幾つか考えられる。その代表的なもの
は、オブジェクトプログラム57に含まれるPU命令を
実行するPU22(あるいは基本プロセッサ22X)
と、VU命令を実行するVU21との間の接続情報54
aである。個々のPU22あるいはVU21といったモ
ジュールあるいは処理ユニットは、シリコン基板上にマ
クロセルあるいはマクロブロック(以降では命令マクロ
と呼ぶ)として構成されるが、それらの命令マクロのハ
ードウェア構成はRTL(レジスタトランスファレベ
ル)記述あるいはさらに抽象度の低いハードウェアの実
構成に近い記述で得ることが可能である。したがって、
オブジェクトプログラム57に含まれる命令を実行する
命令マクロの間の接続情報54a、すなわち、命令マク
ロのトランスファレベルの情報が得られれば、該当する
命令マクロのRTL記述と共にステップ55において論
理合成することにより、オブジェクトプログラム57を
実行するシステムLSI20のゲートレベルの回路構成
を得ることができる。この接続情報54aには、さら
に、システムLSI20を構成する他のモジュール、例
えば、コードRAM24、データRAM37との間の接
続情報を含めることができる。
は、オブジェクトプログラム57を生成するステップ5
2は、オブジェクトプログラム57を生成するだけでは
なく、そのプログラム57の実行に適したハードウェア
情報を出力する機能あるいは工程52aも含まれる。ハ
ードウェア情報は幾つか考えられる。その代表的なもの
は、オブジェクトプログラム57に含まれるPU命令を
実行するPU22(あるいは基本プロセッサ22X)
と、VU命令を実行するVU21との間の接続情報54
aである。個々のPU22あるいはVU21といったモ
ジュールあるいは処理ユニットは、シリコン基板上にマ
クロセルあるいはマクロブロック(以降では命令マクロ
と呼ぶ)として構成されるが、それらの命令マクロのハ
ードウェア構成はRTL(レジスタトランスファレベ
ル)記述あるいはさらに抽象度の低いハードウェアの実
構成に近い記述で得ることが可能である。したがって、
オブジェクトプログラム57に含まれる命令を実行する
命令マクロの間の接続情報54a、すなわち、命令マク
ロのトランスファレベルの情報が得られれば、該当する
命令マクロのRTL記述と共にステップ55において論
理合成することにより、オブジェクトプログラム57を
実行するシステムLSI20のゲートレベルの回路構成
を得ることができる。この接続情報54aには、さら
に、システムLSI20を構成する他のモジュール、例
えば、コードRAM24、データRAM37との間の接
続情報を含めることができる。
【0044】ライブラリ53から直接あるいは間接的
に、命令マクロのRTL記述45、すなわち、PU22
のRTL記述45およびVU21のRTL記述45が得
られる環境であれば、接続情報54aに代わり、あるい
はそれと共に、接続情報54aに基づき、PU22のR
TL記述45と、VU21のRTL記述45とをリンク
させたシステムLSI20のRTL記述(統合RTL記
述)54bを出力することも可能である。統合RTL記
述54bが得られれば、そのデータを論理合成(ステッ
プ55)することにより簡単にシステムLSI20のゲ
ートレベルの回路構成を得ることができる。この統合R
TL記述54bには、さらに、システムLSI20を構
成する他のモジュール、例えば、コードRAM24、デ
ータRAM37の間のRTL記述を含めることができ
る。
に、命令マクロのRTL記述45、すなわち、PU22
のRTL記述45およびVU21のRTL記述45が得
られる環境であれば、接続情報54aに代わり、あるい
はそれと共に、接続情報54aに基づき、PU22のR
TL記述45と、VU21のRTL記述45とをリンク
させたシステムLSI20のRTL記述(統合RTL記
述)54bを出力することも可能である。統合RTL記
述54bが得られれば、そのデータを論理合成(ステッ
プ55)することにより簡単にシステムLSI20のゲ
ートレベルの回路構成を得ることができる。この統合R
TL記述54bには、さらに、システムLSI20を構
成する他のモジュール、例えば、コードRAM24、デ
ータRAM37の間のRTL記述を含めることができ
る。
【0045】さらに、ライブラリ53から直接あるいは
間接的に、命令マクロ(PU22およびVU21)のレ
イアウト情報42が得られれば、そのレイアウト情報4
2に基づき、システムLSI20のフロアプラン54c
を出力することも可能である。システムLSI20をシ
リコン化するための最終的なレイアウトあるいはフロア
プランは、論理合成処理(ステップ55)および配置・
配線処理(ステップ56)を経てさらに最適化された後
に決定されるとしても、オブジェクトプログラム57を
生成した段階(ステップ52)で仮のフロアプラン54
cを得ることは有効である。ステップ56の配置・配線
処理においては、命令マクロを配置する範囲を限定でき
るので、タイミングの予測精度は大幅に向上する。ま
た、シリコン化がディープ・サブミクロンになると、配
線遅延が大きくなるため、フロアプランから精度の高い
配線長を求めて、ステップ55の論理合成を行うことに
より、論理合成処理における繰り返しを低減できるとい
うメリットもある。このフロアプラン54cには、シス
テムLSI20を構成する他のモジュール、例えば、コ
ードRAM24、データRAM37を含めることができ
る。
間接的に、命令マクロ(PU22およびVU21)のレ
イアウト情報42が得られれば、そのレイアウト情報4
2に基づき、システムLSI20のフロアプラン54c
を出力することも可能である。システムLSI20をシ
リコン化するための最終的なレイアウトあるいはフロア
プランは、論理合成処理(ステップ55)および配置・
配線処理(ステップ56)を経てさらに最適化された後
に決定されるとしても、オブジェクトプログラム57を
生成した段階(ステップ52)で仮のフロアプラン54
cを得ることは有効である。ステップ56の配置・配線
処理においては、命令マクロを配置する範囲を限定でき
るので、タイミングの予測精度は大幅に向上する。ま
た、シリコン化がディープ・サブミクロンになると、配
線遅延が大きくなるため、フロアプランから精度の高い
配線長を求めて、ステップ55の論理合成を行うことに
より、論理合成処理における繰り返しを低減できるとい
うメリットもある。このフロアプラン54cには、シス
テムLSI20を構成する他のモジュール、例えば、コ
ードRAM24、データRAM37を含めることができ
る。
【0046】本例の設計方法50では、オブジェクトプ
ログラム57を生成するコンパイル段階52で得られる
フロアプラン54cは、命令マクロが実際にレイアウト
された情報を含むので、フロアプラン54cを最終的な
レイアウト情報として利用することも可能ではある。し
かしながら、論理合成ツールおよび配置・配線ツールを
用いて、所望の条件により最適化することにより、オブ
ジェクトプログラム57を実行するのにさらに適したシ
ステムLSI20のハードウェア構成を得ることができ
る。ステップ56の配置・配線処理により最終的なレイ
アウト58が決定されると、ステップ59の製造プロセ
ス(シリコン化)へ送られ、システムLSI20が製造
される。
ログラム57を生成するコンパイル段階52で得られる
フロアプラン54cは、命令マクロが実際にレイアウト
された情報を含むので、フロアプラン54cを最終的な
レイアウト情報として利用することも可能ではある。し
かしながら、論理合成ツールおよび配置・配線ツールを
用いて、所望の条件により最適化することにより、オブ
ジェクトプログラム57を実行するのにさらに適したシ
ステムLSI20のハードウェア構成を得ることができ
る。ステップ56の配置・配線処理により最終的なレイ
アウト58が決定されると、ステップ59の製造プロセ
ス(シリコン化)へ送られ、システムLSI20が製造
される。
【0047】ライブラリ53には、様々な命令コード4
1と、各々の命令コード41を実行する処理ユニットが
シリコン基板上に命令マクロとして実装(実レイアウ
ト)、すなわち、配置・配線されたときのレイアウト情
報42と、各々の命令マクロの評価データ43とが対応
付けられている。命令マクロは、同一の処理を実行する
ものであっても、初期条件、たとえば、処理対象のデー
タのビット数、レイアウトされるシリコン基板上の位
置、レイアウトされる形状、単一の命令に特化したも
の、複数の命令を処理可能なもの、消費電力優先、処理
速度優先などの条件で予め作成されている。したがっ
て、各々の命令マクロの評価データ43には、ある初期
条件で予め論理合成された命令マクロが、ある初期条件
で配置・配線されたときの命令マクロの性能、占有面積
および消費電力などが含まれている。このため、オブジ
ェクトプログラムを生成するステップ52において、処
理速度優先あるいは消費電力優先などの選択条件を設定
しておくことにより、選択条件に適したオブジェクトプ
ログラム57と、それに対応する命令マクロ間の接続情
報54a、統合RTL54b、さらには、フロアプラン
54cを自動的に生成できる。
1と、各々の命令コード41を実行する処理ユニットが
シリコン基板上に命令マクロとして実装(実レイアウ
ト)、すなわち、配置・配線されたときのレイアウト情
報42と、各々の命令マクロの評価データ43とが対応
付けられている。命令マクロは、同一の処理を実行する
ものであっても、初期条件、たとえば、処理対象のデー
タのビット数、レイアウトされるシリコン基板上の位
置、レイアウトされる形状、単一の命令に特化したも
の、複数の命令を処理可能なもの、消費電力優先、処理
速度優先などの条件で予め作成されている。したがっ
て、各々の命令マクロの評価データ43には、ある初期
条件で予め論理合成された命令マクロが、ある初期条件
で配置・配線されたときの命令マクロの性能、占有面積
および消費電力などが含まれている。このため、オブジ
ェクトプログラムを生成するステップ52において、処
理速度優先あるいは消費電力優先などの選択条件を設定
しておくことにより、選択条件に適したオブジェクトプ
ログラム57と、それに対応する命令マクロ間の接続情
報54a、統合RTL54b、さらには、フロアプラン
54cを自動的に生成できる。
【0048】レイアウト情報42には、最低限、命令マ
クロを構成する大きさ(ゲート数)が含まれていれば良
く、実際に配置・配線まで完了した情報でなくても、命
令マクロを評価するには十分な情報がライブラリとして
登録されていれば良い。しかしながら、評価データの精
度を向上するには、いったん配置・配線してから評価デ
ータを得ることが望ましい。
クロを構成する大きさ(ゲート数)が含まれていれば良
く、実際に配置・配線まで完了した情報でなくても、命
令マクロを評価するには十分な情報がライブラリとして
登録されていれば良い。しかしながら、評価データの精
度を向上するには、いったん配置・配線してから評価デ
ータを得ることが望ましい。
【0049】本例のシステムLSIの設計方法50で
は、C言語記述の仕様51をオブジェクトプログラム5
7に展開し、その際、オブジェクトプログラム57に含
まれる命令41から、その命令41を実行可能な命令マ
クロを選択し、オブジェクトプログラム57を実行可能
なシステムLSI20のハードウェア情報を自動的に生
成する。このため、システム仕様をハードウェア仕様と
ソフトウェア仕様に切り分けて、各々を開発しながら協
調検証を行って性能を確認していく従来の設計方法とは
大きく異なり、設計途中の繰り返しがほとんど発生しな
いトップダウン方式で設計を進め、短期間で設計を終了
できる。したがって、仕様が提供されてからシステムL
SIを開発する期間は大幅に短縮される。これは、仕様
の変更にも柔軟に対処できることを意味する。
は、C言語記述の仕様51をオブジェクトプログラム5
7に展開し、その際、オブジェクトプログラム57に含
まれる命令41から、その命令41を実行可能な命令マ
クロを選択し、オブジェクトプログラム57を実行可能
なシステムLSI20のハードウェア情報を自動的に生
成する。このため、システム仕様をハードウェア仕様と
ソフトウェア仕様に切り分けて、各々を開発しながら協
調検証を行って性能を確認していく従来の設計方法とは
大きく異なり、設計途中の繰り返しがほとんど発生しな
いトップダウン方式で設計を進め、短期間で設計を終了
できる。したがって、仕様が提供されてからシステムL
SIを開発する期間は大幅に短縮される。これは、仕様
の変更にも柔軟に対処できることを意味する。
【0050】また、オブジェクトコード57を生成する
際にライブラリ53から選択される命令マクロはレイア
ウトパターンが決定されている所のタイミング固定マク
ロであるのが一般的である。したがって、実際に半導体
基板上にレイアウトされた状態での、クロックレート等
のタイミング情報や、命令マクロの大きさ(X&Y)、
インターフェイス本数、他の命令マクロからの距離に応
じた遅延情報などのレイアウトとタイミングに依存した
タイミング収束に必要なテクノロジー情報が即座に得ら
れる。特に、VUPUタイプのシステムLSI20で
は、基本プロセッサ22Xが設置されるので、この基本
プロセッサ22Xとのインターフェイス本数、基本プロ
セッサ22Xからの距離に応じた遅延情報などにより、
レイアウトとタイミングにかかわるテクニカル情報の整
合を図れる。
際にライブラリ53から選択される命令マクロはレイア
ウトパターンが決定されている所のタイミング固定マク
ロであるのが一般的である。したがって、実際に半導体
基板上にレイアウトされた状態での、クロックレート等
のタイミング情報や、命令マクロの大きさ(X&Y)、
インターフェイス本数、他の命令マクロからの距離に応
じた遅延情報などのレイアウトとタイミングに依存した
タイミング収束に必要なテクノロジー情報が即座に得ら
れる。特に、VUPUタイプのシステムLSI20で
は、基本プロセッサ22Xが設置されるので、この基本
プロセッサ22Xとのインターフェイス本数、基本プロ
セッサ22Xからの距離に応じた遅延情報などにより、
レイアウトとタイミングにかかわるテクニカル情報の整
合を図れる。
【0051】また、従来の設計方法では、高位合成され
た程度の上位の設計段階で得られるものはRTLであ
り、それに基づきタイミング収束を図っても、論理合成
などを行って実レイアウトした段階では、タイミングな
どが異なることも多く、さらにタイミングを収束するた
めに検証と再設計を繰り返す必要がある。これに対し、
本発明の設計方法50では、当初より、実レイアウトさ
れた命令マクロのタイミング情報が得られるので、タイ
ミング収束も考慮して命令コードを選択することが可能
である。したがって、早い段階で、設計を繰り返すこと
なく短期間でタイミング・クロージャを解決できる。
た程度の上位の設計段階で得られるものはRTLであ
り、それに基づきタイミング収束を図っても、論理合成
などを行って実レイアウトした段階では、タイミングな
どが異なることも多く、さらにタイミングを収束するた
めに検証と再設計を繰り返す必要がある。これに対し、
本発明の設計方法50では、当初より、実レイアウトさ
れた命令マクロのタイミング情報が得られるので、タイ
ミング収束も考慮して命令コードを選択することが可能
である。したがって、早い段階で、設計を繰り返すこと
なく短期間でタイミング・クロージャを解決できる。
【0052】さらに、命令ライブラリ53から直接ある
いは間接的に、命令マクロ(PU22およびVU21)
において命令コード41を実行するときの処理状況をサ
イクルベースで評価するデータ44が得られるようにす
ることは有効である。オブジェクトプログラム57に含
まれるVU命令を実行するVU21およびPU命令を実
行するPU22の動作をISS(命令セットシミュレー
タ)95により、ハードウェアの動作をサイクルベース
で評価できる。命令ライブラリ53には、実レイアウト
された状態でのサイクルベースの評価データ44を用意
することができる。したがって、オブジェクトプログラ
ム57を生成または選択するときに、実レイアウトに従
った配線遅延も含めてISS95により評価でき、プロ
グラムを生成する段階(ステップ52)において、タイ
ミング・クロージャの大部分を解決することができる。
いは間接的に、命令マクロ(PU22およびVU21)
において命令コード41を実行するときの処理状況をサ
イクルベースで評価するデータ44が得られるようにす
ることは有効である。オブジェクトプログラム57に含
まれるVU命令を実行するVU21およびPU命令を実
行するPU22の動作をISS(命令セットシミュレー
タ)95により、ハードウェアの動作をサイクルベース
で評価できる。命令ライブラリ53には、実レイアウト
された状態でのサイクルベースの評価データ44を用意
することができる。したがって、オブジェクトプログラ
ム57を生成または選択するときに、実レイアウトに従
った配線遅延も含めてISS95により評価でき、プロ
グラムを生成する段階(ステップ52)において、タイ
ミング・クロージャの大部分を解決することができる。
【0053】このように本発明の設計方法においては、
従来、配置・配線処理が終了した段階でしか得られなか
ったデータが、オブジェクトプログラム57を生成する
段階(ステップ52)においてライブラリ53から得る
ことが可能となる。したがって、仕様51に従ったシス
テムLSI20を設計および製造する際に、後戻りの少
ない、トップダウンの設計が可能である。さらに、オブ
ジェクトプログラム57を生成するという抽象度の高い
設計段階において、抽象度の低い論理合成や配置・配線
処理におけるハードウェアに依存する問題を解決してい
る。このため、従来、システムLSIの設計の中で多く
の時間が費やされているハードウェアに依存する問題、
特に、タイミング・クロージャの解決を短時間で行うこ
とが可能となり、設計時間を大幅に短縮できる。
従来、配置・配線処理が終了した段階でしか得られなか
ったデータが、オブジェクトプログラム57を生成する
段階(ステップ52)においてライブラリ53から得る
ことが可能となる。したがって、仕様51に従ったシス
テムLSI20を設計および製造する際に、後戻りの少
ない、トップダウンの設計が可能である。さらに、オブ
ジェクトプログラム57を生成するという抽象度の高い
設計段階において、抽象度の低い論理合成や配置・配線
処理におけるハードウェアに依存する問題を解決してい
る。このため、従来、システムLSIの設計の中で多く
の時間が費やされているハードウェアに依存する問題、
特に、タイミング・クロージャの解決を短時間で行うこ
とが可能となり、設計時間を大幅に短縮できる。
【0054】また、本発明の設計方法50には、図1に
示したVUPUアーキテクチャが大きく寄与している。
すなわち、VUPU20はVU21およびPU22に共
通したFU23を設けているので、VU命令とPU命令
とが等価に扱われる。複数のVU21を備えている場合
も、それらのVU21に対するVU命令も等価に扱われ
る。したがって、C言語記述で与えられた仕様51を、
PU命令でも、VU命令でも、さらには、どのVU21
に対するVU命令でも実現あるいは実装することがで
き、それによってVUPU20の基本的な構成は変化し
ない。このため、VU命令と、それを実行するVU21
を命令マクロとしてライブラリ53に登録することによ
り、仕様51を実現するために選択する命令コードの自
由度は極めて高い。したがって、条件に適した命令マク
ロ(すなわちVU)に対応した命令コード(すなわちV
U命令)を選択することが可能となる。
示したVUPUアーキテクチャが大きく寄与している。
すなわち、VUPU20はVU21およびPU22に共
通したFU23を設けているので、VU命令とPU命令
とが等価に扱われる。複数のVU21を備えている場合
も、それらのVU21に対するVU命令も等価に扱われ
る。したがって、C言語記述で与えられた仕様51を、
PU命令でも、VU命令でも、さらには、どのVU21
に対するVU命令でも実現あるいは実装することがで
き、それによってVUPU20の基本的な構成は変化し
ない。このため、VU命令と、それを実行するVU21
を命令マクロとしてライブラリ53に登録することによ
り、仕様51を実現するために選択する命令コードの自
由度は極めて高い。したがって、条件に適した命令マク
ロ(すなわちVU)に対応した命令コード(すなわちV
U命令)を選択することが可能となる。
【0055】PU命令およびPUを、選択可能な命令コ
ードと命令マクロとしてライブラリに登録し、VU命令
と比較可能な評価データを与えることが可能である。こ
れにより、オブジェクトプログラムを生成するステップ
52においてVU命令とPU命令とを等価に評価するこ
とが可能となる。したがって、C言語記述の仕様51か
らオブジェクトプログラム57に展開すると共に、適切
な命令マクロを選択することが可能である。そして、V
UPU20では、命令コードの選択の自由度が高いこと
に着目し、本発明の設計方法50では、事前に、実レイ
アウトされた多種多様な命令マクロとそれに対応する命
令コードをライブラリとして用意しておくことにより、
従来では、仕様が与えられてから、その仕様に従った設
計および検証を繰り返すことにより浪費していた時間と
労力を省いているとも言える。
ードと命令マクロとしてライブラリに登録し、VU命令
と比較可能な評価データを与えることが可能である。こ
れにより、オブジェクトプログラムを生成するステップ
52においてVU命令とPU命令とを等価に評価するこ
とが可能となる。したがって、C言語記述の仕様51か
らオブジェクトプログラム57に展開すると共に、適切
な命令マクロを選択することが可能である。そして、V
UPU20では、命令コードの選択の自由度が高いこと
に着目し、本発明の設計方法50では、事前に、実レイ
アウトされた多種多様な命令マクロとそれに対応する命
令コードをライブラリとして用意しておくことにより、
従来では、仕様が与えられてから、その仕様に従った設
計および検証を繰り返すことにより浪費していた時間と
労力を省いているとも言える。
【0056】仕様51をオブジェクトプログラム57に
展開する段階で得られるフロアプラン54cは、初期条
件で配置配線された命令マクロのフロアプランである。
したがって、上述したように、配置・配線処理(ステッ
プ56)において、よりよい解(処理速度・面積・消費
電力において)が得られる可能性がある。
展開する段階で得られるフロアプラン54cは、初期条
件で配置配線された命令マクロのフロアプランである。
したがって、上述したように、配置・配線処理(ステッ
プ56)において、よりよい解(処理速度・面積・消費
電力において)が得られる可能性がある。
【0057】本発明の設計方法50のオブジェクトプロ
グラム57を生成する過程(ステップ52)は、C言語
記述の仕様51からオブジェクトプログラム57を生成
するコンパイラとして提供することができる。また、本
発明の設計方法50は、本明細書で説明する各工程をコ
ンピュータで実行させる設計自動化プログラムあるいは
設計自動化プログラム製品としても適当な記録媒体に記
録して提供できる。図3は、コンパイラ60の概略構成
を示している。このコンパイラ60の入力となる仕様5
1はC言語にて規定されているが、C++やJAVA
(登録商標)といった他の高級言語でもよい。このコン
パイラ60は、抽象度の高いC言語記述、すなわち、C
のプログラム51を、機械語あるいはそれに相当する命
令コードのリスト、すなわちオブジェクトプログラム5
7に展開するオブジェクトプログラム生成部61と、命
令ライブラリ53とを備えている。命令ライブラリ53
は、基本プロセッサPU用のPU命令ライブラリ53p
に加え、追加処理ユニット(VU)の追加演算命令(V
U命令)53viを供給する追加命令ライブラリ53v
を備えている。
グラム57を生成する過程(ステップ52)は、C言語
記述の仕様51からオブジェクトプログラム57を生成
するコンパイラとして提供することができる。また、本
発明の設計方法50は、本明細書で説明する各工程をコ
ンピュータで実行させる設計自動化プログラムあるいは
設計自動化プログラム製品としても適当な記録媒体に記
録して提供できる。図3は、コンパイラ60の概略構成
を示している。このコンパイラ60の入力となる仕様5
1はC言語にて規定されているが、C++やJAVA
(登録商標)といった他の高級言語でもよい。このコン
パイラ60は、抽象度の高いC言語記述、すなわち、C
のプログラム51を、機械語あるいはそれに相当する命
令コードのリスト、すなわちオブジェクトプログラム5
7に展開するオブジェクトプログラム生成部61と、命
令ライブラリ53とを備えている。命令ライブラリ53
は、基本プロセッサPU用のPU命令ライブラリ53p
に加え、追加処理ユニット(VU)の追加演算命令(V
U命令)53viを供給する追加命令ライブラリ53v
を備えている。
【0058】オブジェクトプログラム生成部61は、C
言語の記述をデータフローグラフ(DFG)またはそれ
に制御が加わったコントロールデータフローグラフ(C
DFG)に変換する変換部62と、これらのフローグラ
フのノードの処理を命令ライブラリ53から供給される
命令コードを選択し、命令コードにマッピングしてゆく
命令選択部63とを備えている。変換部62は、図4に
示すように、C言語記述51をDFG71またはCDF
Gに変換する。DFG71ではデータのロード、スト
ア、演算、結合、分離などのオペレーションがノードを
形成し、図中ではサークルで示している。また、図中の
「&x」は変数Xのアドレスを示し、「Id」は参照用
のメモリあるいはアドレスを示し、「st」は書き込み
用のメモリあるいはレジスタを示す。選択部63は、各
ノードを対象として命令コードにマッピングする。C記
述51にIF文などが存在すると、結合(Join)と
分離(Fork)も組み込まれたCDFGとなるが、そ
の場合も選択部63は、各ノードを対象として命令コー
ドにマッピングする。
言語の記述をデータフローグラフ(DFG)またはそれ
に制御が加わったコントロールデータフローグラフ(C
DFG)に変換する変換部62と、これらのフローグラ
フのノードの処理を命令ライブラリ53から供給される
命令コードを選択し、命令コードにマッピングしてゆく
命令選択部63とを備えている。変換部62は、図4に
示すように、C言語記述51をDFG71またはCDF
Gに変換する。DFG71ではデータのロード、スト
ア、演算、結合、分離などのオペレーションがノードを
形成し、図中ではサークルで示している。また、図中の
「&x」は変数Xのアドレスを示し、「Id」は参照用
のメモリあるいはアドレスを示し、「st」は書き込み
用のメモリあるいはレジスタを示す。選択部63は、各
ノードを対象として命令コードにマッピングする。C記
述51にIF文などが存在すると、結合(Join)と
分離(Fork)も組み込まれたCDFGとなるが、そ
の場合も選択部63は、各ノードを対象として命令コー
ドにマッピングする。
【0059】プログラム生成部61は、命令ライブラリ
53から複数の命令コードを選択可能な場合は、設定部
64に予め設定された選択条件64sに基づき、評価部
65により命令コードを選択する。各ノードを対象とし
て、命令ライブラリ53から複数の命令コードを選択可
能な場合に、設定部64に予め設定された選択条件64
sに基づき命令コードを選択できる。例えば、基本プロ
セッサPUには乗算器がなく加算器のみを保有し、ライ
ブラリ53の外部演算命令(VU命令)53viには、
乗算マクロをVUとする命令が存在している状態で、C
言語51で掛け算が記述されたような場合がこれに相当
する。基本命令ライブラリ53pから加算命令を選択し
て、加算命令を繰り返し処理して掛け算を構成すること
ができる。一方、追加命令ライブラリ53vから乗算命
令53viを選択して掛け算を構成することも可能であ
る。
53から複数の命令コードを選択可能な場合は、設定部
64に予め設定された選択条件64sに基づき、評価部
65により命令コードを選択する。各ノードを対象とし
て、命令ライブラリ53から複数の命令コードを選択可
能な場合に、設定部64に予め設定された選択条件64
sに基づき命令コードを選択できる。例えば、基本プロ
セッサPUには乗算器がなく加算器のみを保有し、ライ
ブラリ53の外部演算命令(VU命令)53viには、
乗算マクロをVUとする命令が存在している状態で、C
言語51で掛け算が記述されたような場合がこれに相当
する。基本命令ライブラリ53pから加算命令を選択し
て、加算命令を繰り返し処理して掛け算を構成すること
ができる。一方、追加命令ライブラリ53vから乗算命
令53viを選択して掛け算を構成することも可能であ
る。
【0060】したがって、評価部65では、コスト関数
を用いて目的に合わせた最適な命令セットを選択する。
このため、命令ライブラリ53は、追加命令53viを
命令コード41として、それに対応した、あるいは関連
付けられる評価データ43を備えている。また、基本命
令ライブラリ53pから供給される基本命令も追加命令
53viと同等に評価するために、基本命令ライブラリ
53pの命令を選択したときの評価データ43を備えて
いる。追加命令53viを実行する追加命令マクロは、
レイアウトパターンが決定されているタイミング固定マ
クロで提供されるので、クロックレート等のタイミング
情報や、大きさ(占有面積あるいはサイズ)、インター
フェイス本数、遅延情報などのレイアウト情報42が得
られていると共に、命令マクロを選択したときの性能、
面積および消費電力などの評価用のデータも精度の高い
データが得られている。
を用いて目的に合わせた最適な命令セットを選択する。
このため、命令ライブラリ53は、追加命令53viを
命令コード41として、それに対応した、あるいは関連
付けられる評価データ43を備えている。また、基本命
令ライブラリ53pから供給される基本命令も追加命令
53viと同等に評価するために、基本命令ライブラリ
53pの命令を選択したときの評価データ43を備えて
いる。追加命令53viを実行する追加命令マクロは、
レイアウトパターンが決定されているタイミング固定マ
クロで提供されるので、クロックレート等のタイミング
情報や、大きさ(占有面積あるいはサイズ)、インター
フェイス本数、遅延情報などのレイアウト情報42が得
られていると共に、命令マクロを選択したときの性能、
面積および消費電力などの評価用のデータも精度の高い
データが得られている。
【0061】図5に、コンパイラ60の処理の詳細をフ
ローチャートにより示してある。この図は、図2に示し
たオブジェクトプログラム57を生成するステップ52
の処理の詳細を示すものでもある。ステップ72で、選
択条件64sが設定されると、ステップ73で、フロー
グラム71の中からマッピング対象のノードを選択す
る。すなわち、C言語記述の仕様51のある処理(1の
処理)を選択する。ステップ74では、選択部63が、
選択されたノードをマッピング可能な命令コードを命令
ライブラリ53の基本命令ライブラリ53pと追加命令
ライブラリ53vの中から選択する。ステップ75にお
いて、その都度、評価部65が、選択された命令コー
ド、すなわち、基本命令あるいは追加命令毎にコスト計
算する。ステップ76で、計算されたコストを判定し、
選択条件64sに適合しない場合は、次の命令コードを
選択してコスト計算を繰りかえす。
ローチャートにより示してある。この図は、図2に示し
たオブジェクトプログラム57を生成するステップ52
の処理の詳細を示すものでもある。ステップ72で、選
択条件64sが設定されると、ステップ73で、フロー
グラム71の中からマッピング対象のノードを選択す
る。すなわち、C言語記述の仕様51のある処理(1の
処理)を選択する。ステップ74では、選択部63が、
選択されたノードをマッピング可能な命令コードを命令
ライブラリ53の基本命令ライブラリ53pと追加命令
ライブラリ53vの中から選択する。ステップ75にお
いて、その都度、評価部65が、選択された命令コー
ド、すなわち、基本命令あるいは追加命令毎にコスト計
算する。ステップ76で、計算されたコストを判定し、
選択条件64sに適合しない場合は、次の命令コードを
選択してコスト計算を繰りかえす。
【0062】選択された命令コードに関連付けられる評
価データ43が選択条件64sに適合する、すなわち、
命令コードに対応する命令マクロの評価データ43が選
択条件64sに適合すると、その命令コードを、オブジ
ェクトプログラム57を構成する命令として選択する。
ステップ77で、フローグラム71の最後のノードのマ
ッピングが終了したと判断されると、ステップ78で、
上記の処理で選択された命令コードからなるオブジェク
トプログラム57を出力する。
価データ43が選択条件64sに適合する、すなわち、
命令コードに対応する命令マクロの評価データ43が選
択条件64sに適合すると、その命令コードを、オブジ
ェクトプログラム57を構成する命令として選択する。
ステップ77で、フローグラム71の最後のノードのマ
ッピングが終了したと判断されると、ステップ78で、
上記の処理で選択された命令コードからなるオブジェク
トプログラム57を出力する。
【0063】ステップ75でコスト計算される評価デー
タ43の内容は、たとえば、以下の5種類が考えられ
る。コスト計算の第1の要素は、対象ノードの実行サイ
クル数の吟味である。上述した、掛け算のノードを基本
命令で実行する場合と、乗算能力のあるVU21を稼動
するVU命令を追加して実行する場合を例に説明する。
基本命令ライブラリ53pの命令を選択すると加算命令
しかないので、加算を繰り返すことになる。したがっ
て、掛け算のビット数に応じたサイクル数となる。一
方、追加命令ライブラリ53vの追加演算命令53vi
の中には乗算命令があるのでインターフェイスも含めて
固定サイクルとなり、当然のことながら、一般に、追加
命令53viの方が高速に処理できる。
タ43の内容は、たとえば、以下の5種類が考えられ
る。コスト計算の第1の要素は、対象ノードの実行サイ
クル数の吟味である。上述した、掛け算のノードを基本
命令で実行する場合と、乗算能力のあるVU21を稼動
するVU命令を追加して実行する場合を例に説明する。
基本命令ライブラリ53pの命令を選択すると加算命令
しかないので、加算を繰り返すことになる。したがっ
て、掛け算のビット数に応じたサイクル数となる。一
方、追加命令ライブラリ53vの追加演算命令53vi
の中には乗算命令があるのでインターフェイスも含めて
固定サイクルとなり、当然のことながら、一般に、追加
命令53viの方が高速に処理できる。
【0064】コスト計算の第2の要素は、コード領域と
データ領域増加の吟味である。命令ステップが多くなる
とコード領域とデータ領域のRAM部分が増大する。従
って、PU22を使用する基本命令により処理を構築す
る方がステップ数を必要とするので不利である。
データ領域増加の吟味である。命令ステップが多くなる
とコード領域とデータ領域のRAM部分が増大する。従
って、PU22を使用する基本命令により処理を構築す
る方がステップ数を必要とするので不利である。
【0065】コスト計算の第3の要素は、プロセッサ部
の面積増加の吟味である。LSI基板に配置される基本
プロセッサであるPU22で処理する基本命令は、PU
が汎用型なので、全基本命令はPU22で処理される。
したがって、面積の増加はない。しかしながら、追加命
令を使用した場合には追加命令に対応する命令マクロ、
すなわちVU21の面積増加を受け入れなければならな
い。この段階において、追加する命令マクロ単位での配
置検討が必要され、VU21を含めたフロアプランが作
成される。
の面積増加の吟味である。LSI基板に配置される基本
プロセッサであるPU22で処理する基本命令は、PU
が汎用型なので、全基本命令はPU22で処理される。
したがって、面積の増加はない。しかしながら、追加命
令を使用した場合には追加命令に対応する命令マクロ、
すなわちVU21の面積増加を受け入れなければならな
い。この段階において、追加する命令マクロ単位での配
置検討が必要され、VU21を含めたフロアプランが作
成される。
【0066】コスト計算の第4の要素は、面積増加に対
するクロックレートへの影響の吟味である。上記の第1
〜第3の要素の検討結果により、RAMの増加とVU2
2の増加が必要な場合は、面積が増加する。このため、
面積増加がクロックレートにダメージを与えるか(クリ
ティカルパスとなるか)についての吟味を行う必要があ
る。
するクロックレートへの影響の吟味である。上記の第1
〜第3の要素の検討結果により、RAMの増加とVU2
2の増加が必要な場合は、面積が増加する。このため、
面積増加がクロックレートにダメージを与えるか(クリ
ティカルパスとなるか)についての吟味を行う必要があ
る。
【0067】コスト計算の第5の要素は、消費電力の吟
味である。面積とクロックレートが確定すれば、消費電
力が確定する。この結果、対象となるノードを処理する
のに必要な消費電力が比較される。
味である。面積とクロックレートが確定すれば、消費電
力が確定する。この結果、対象となるノードを処理する
のに必要な消費電力が比較される。
【0068】ステップ76の判定フェーズでは、選択条
件64sにより、コスト計算のいずれかの要素を優先し
て命令コードを選択する。通常は、処理速度・面積・消
費電力のいずれかもしくは組み合わせである。パフォー
マンス重視の場合には、ノードの実行サイクルの最小解
を求めることになる。この場合、通常、追加命令である
VU命令を採用して、VU21を追加して、その専用回
路を用いて処理を行うことが多い。しかしながら、あま
りに多数のVU21を使用する場合には、PU22から
の距離が伸びてしまい、遅延を招く。このため、基本命
令を繰り返し使用する場合よりも遅くなることがある。
件64sにより、コスト計算のいずれかの要素を優先し
て命令コードを選択する。通常は、処理速度・面積・消
費電力のいずれかもしくは組み合わせである。パフォー
マンス重視の場合には、ノードの実行サイクルの最小解
を求めることになる。この場合、通常、追加命令である
VU命令を採用して、VU21を追加して、その専用回
路を用いて処理を行うことが多い。しかしながら、あま
りに多数のVU21を使用する場合には、PU22から
の距離が伸びてしまい、遅延を招く。このため、基本命
令を繰り返し使用する場合よりも遅くなることがある。
【0069】面積最小を重視する場合には、基本命令を
多数使用することによるコードRAMとデータRAMの
面積増加と、追加演算命令による面積増加、すなわち、
VU21を増やすことによる面積増加の比較となる。ど
ちらが有利とは言えないことが多い。
多数使用することによるコードRAMとデータRAMの
面積増加と、追加演算命令による面積増加、すなわち、
VU21を増やすことによる面積増加の比較となる。ど
ちらが有利とは言えないことが多い。
【0070】消費電力を重視する場合は面積最小を重視
する場合にある程度似ている。消費電力は面積に比例す
るからである。しかしながら、RAMの面積増加と、V
U21を追加することでは、単位面積当たりの消費電力
は異なる。通常、RAMの方が、数倍消費電力が多くな
るからである。従って、同じ面積で具現するのであれ
ば、追加命令を採用し、VU21を増加する方が有利と
なる。なお、上記では基本命令と追加命令とを比較して
いるが、追加命令ライブラリ53には多種の追加命令が
装備されており、追加命令同士を選択する場合も上記と
同様にコスト比較される。さらに、命令ライブラリ53
に、同一の追加命令に対して、異なる初期条件で生成さ
れ、あるいは配置された複数の命令マクロの評価データ
を用意しておき、複数の命令マクロの中から最適な条件
のものを選択するようにしても良い。
する場合にある程度似ている。消費電力は面積に比例す
るからである。しかしながら、RAMの面積増加と、V
U21を追加することでは、単位面積当たりの消費電力
は異なる。通常、RAMの方が、数倍消費電力が多くな
るからである。従って、同じ面積で具現するのであれ
ば、追加命令を採用し、VU21を増加する方が有利と
なる。なお、上記では基本命令と追加命令とを比較して
いるが、追加命令ライブラリ53には多種の追加命令が
装備されており、追加命令同士を選択する場合も上記と
同様にコスト比較される。さらに、命令ライブラリ53
に、同一の追加命令に対して、異なる初期条件で生成さ
れ、あるいは配置された複数の命令マクロの評価データ
を用意しておき、複数の命令マクロの中から最適な条件
のものを選択するようにしても良い。
【0071】このようにしてコンパイラ60において
は、C言語記述の仕様51の処理を行う命令コードが次
々と選択され、それらの命令コード(選択命令)がリス
トされたオブジェクトプログラム57が生成される。し
たがって、ステップ77で出力されるオブジェクトプロ
グラム57は、基本命令と追加命令とが混在した、仕様
51を実行するのに最適なものとなる。
は、C言語記述の仕様51の処理を行う命令コードが次
々と選択され、それらの命令コード(選択命令)がリス
トされたオブジェクトプログラム57が生成される。し
たがって、ステップ77で出力されるオブジェクトプロ
グラム57は、基本命令と追加命令とが混在した、仕様
51を実行するのに最適なものとなる。
【0072】本例のコンパイラ60は、さらに、オブジ
ェクトプログラム57を実行するのに最適なハードウェ
アの情報として、PU22およびVU21の間の接続情
報54aを出力する接続情報出力部66と、ライブラリ
53からPU22のRTL記述45およびVU21のR
TL記述45を抽出し、それらをリンクした統合RTL
54bを出力するRTLリンカ67と、ライブラリ53
からPU22のレイアウト情報42およびVU21のレ
イアウト情報42を抽出し、それらがチップ上に配置さ
れたフロアプラン54cを出力するフロアプランナ68
とを備えている。
ェクトプログラム57を実行するのに最適なハードウェ
アの情報として、PU22およびVU21の間の接続情
報54aを出力する接続情報出力部66と、ライブラリ
53からPU22のRTL記述45およびVU21のR
TL記述45を抽出し、それらをリンクした統合RTL
54bを出力するRTLリンカ67と、ライブラリ53
からPU22のレイアウト情報42およびVU21のレ
イアウト情報42を抽出し、それらがチップ上に配置さ
れたフロアプラン54cを出力するフロアプランナ68
とを備えている。
【0073】したがって、図5に示したフローチャート
では、ステップ78においてオブジェクトプログラム5
7を出力すると共に、ステップ79において、接続情報
54aおよび統合RTL54bの少なくともいずれかを
出力し、さらに、要求によりフロアプラン54cを出力
する。接続情報54aは、オブジェクトプログラム57
を生成する段階で選択された命令を実行する1つまたは
複数のVU21とPU22との間の転送情報である。さ
らに、メモリとの間の転送情報も接続情報54aに含ま
れる。統合RTL54bは、接続情報54aに基づきV
U21のRTLとPU22のRTLとをリンクさせた情
報である。
では、ステップ78においてオブジェクトプログラム5
7を出力すると共に、ステップ79において、接続情報
54aおよび統合RTL54bの少なくともいずれかを
出力し、さらに、要求によりフロアプラン54cを出力
する。接続情報54aは、オブジェクトプログラム57
を生成する段階で選択された命令を実行する1つまたは
複数のVU21とPU22との間の転送情報である。さ
らに、メモリとの間の転送情報も接続情報54aに含ま
れる。統合RTL54bは、接続情報54aに基づきV
U21のRTLとPU22のRTLとをリンクさせた情
報である。
【0074】フロアプラン情報54cは、基本プロセッ
サであるPU22はLSI上に配置されることが前提と
なっているので、PU22を中心として、選択された追
加命令53viに対応する処理ユニット(追加処理ユニ
ット、すなわちVU)のレイアウト情報が反映されたも
のとなる。C言語記述の仕様51を展開したプログラム
57に、複数の追加命令が選択され、それらを実行する
ために4つの追加処理ユニット、すなわちVU21が必
要になるとすると、図3に示すように、LSI基板90
の中央に、FU23とPU22を含めた基本プロセッサ
(PUX)22Xが配置され、その前後にコードRAM
24とデータRAM37とが配置され、さらに、左右に
4つの追加処理ユニットであるVU21−1からVU2
1−4が配置されたフロアプラン54cが出力される。
1つの追加処理ユニットVUで実行可能なVU命令は1
つに限定されることはなく、複数のVU命令を実行可能
なVU21が選択されても良い。
サであるPU22はLSI上に配置されることが前提と
なっているので、PU22を中心として、選択された追
加命令53viに対応する処理ユニット(追加処理ユニ
ット、すなわちVU)のレイアウト情報が反映されたも
のとなる。C言語記述の仕様51を展開したプログラム
57に、複数の追加命令が選択され、それらを実行する
ために4つの追加処理ユニット、すなわちVU21が必
要になるとすると、図3に示すように、LSI基板90
の中央に、FU23とPU22を含めた基本プロセッサ
(PUX)22Xが配置され、その前後にコードRAM
24とデータRAM37とが配置され、さらに、左右に
4つの追加処理ユニットであるVU21−1からVU2
1−4が配置されたフロアプラン54cが出力される。
1つの追加処理ユニットVUで実行可能なVU命令は1
つに限定されることはなく、複数のVU命令を実行可能
なVU21が選択されても良い。
【0075】コンパイラ60から出力されたフロアプラ
ン54cは、基本プロセッサ22X、コードRAM2
4、データRAM37、追加演算命令ユニットVU21
が初期条件で配置されているものである。したがって、
このコンパイラ60は、基本プロセッサ22Xに対して
追加処理ユニットVU21をどこの位置に配置せしめる
べきかのブロックレベルでの配置機能を有するものであ
るとも言える。配置の対象となるのは、基本プロセッサ
(PUX)、コードRAM、データRAM、追加演算マ
クロ(VU)、及びそれらのインターフェイス回路、な
どである。
ン54cは、基本プロセッサ22X、コードRAM2
4、データRAM37、追加演算命令ユニットVU21
が初期条件で配置されているものである。したがって、
このコンパイラ60は、基本プロセッサ22Xに対して
追加処理ユニットVU21をどこの位置に配置せしめる
べきかのブロックレベルでの配置機能を有するものであ
るとも言える。配置の対象となるのは、基本プロセッサ
(PUX)、コードRAM、データRAM、追加演算マ
クロ(VU)、及びそれらのインターフェイス回路、な
どである。
【0076】コンパイラ60の機能は、図3および図5
などを参照しながら説明した処理を適当なハードウェア
リソースを備えたコンピュータで実行可能とする命令を
有する設計自動化プログラムあるいはプログラム製品と
して、適当な記録媒体に記録して提供することができ
る。
などを参照しながら説明した処理を適当なハードウェア
リソースを備えたコンピュータで実行可能とする命令を
有する設計自動化プログラムあるいはプログラム製品と
して、適当な記録媒体に記録して提供することができ
る。
【0077】また、ライブラリ53に、命令マクロのサ
イクルベースの評価データ44を用意することにより、
上記の過程により生成されたオブジェクトプログラム5
7を、そのオブジェクトプログラム57を実行するため
に生成されたハードウェアで稼動させた状況をサイクル
ベースで評価することが可能である。そのために、IS
S(命令セットシミュレータ)95をコンパイラ60の
一部として、さらには設計自動化プログラムの一部とし
て取り込むことが可能である。
イクルベースの評価データ44を用意することにより、
上記の過程により生成されたオブジェクトプログラム5
7を、そのオブジェクトプログラム57を実行するため
に生成されたハードウェアで稼動させた状況をサイクル
ベースで評価することが可能である。そのために、IS
S(命令セットシミュレータ)95をコンパイラ60の
一部として、さらには設計自動化プログラムの一部とし
て取り込むことが可能である。
【0078】図6は、サイクルベースの評価環境を中心
に、本発明の設計方法50を説明している。C言語記述
で与えられた仕様51の内、ライブラリ53に用意され
た基本命令と追加命令によりカバーできる記述51aに
ついては、ライブラリ53から命令コードを選択する方
法によりオブジェクトプログラムが生成される(ステッ
プ52)。選択された命令コードを処理するPU22あ
るいはVU21のサイクル情報はVUPUのISSライ
ブラリ53aから提供される。一方、ライブラリ53に
用意されている命令コードではカバーできない記述51
bがある場合は、その都度、ユーザ命令を作成し、サイ
クル情報としてサイクル数だけが与えられる。命令セッ
トシミュレータ(ISS)95を実行する条件が整う
と、シミュレーションを行い、所望の処理結果が得られ
るか否かを検証する。所望の処理結果が得られない場合
は、C言語記述の仕様51に戻って、仕様51を修正し
たり、オブジェクトプログラム57として選択される命
令コードを変更したり、同一の命令コードであってもそ
れを実行する初期条件の異なる命令マクロ(この場合は
VU21)を選択するといった処理を行う。
に、本発明の設計方法50を説明している。C言語記述
で与えられた仕様51の内、ライブラリ53に用意され
た基本命令と追加命令によりカバーできる記述51aに
ついては、ライブラリ53から命令コードを選択する方
法によりオブジェクトプログラムが生成される(ステッ
プ52)。選択された命令コードを処理するPU22あ
るいはVU21のサイクル情報はVUPUのISSライ
ブラリ53aから提供される。一方、ライブラリ53に
用意されている命令コードではカバーできない記述51
bがある場合は、その都度、ユーザ命令を作成し、サイ
クル情報としてサイクル数だけが与えられる。命令セッ
トシミュレータ(ISS)95を実行する条件が整う
と、シミュレーションを行い、所望の処理結果が得られ
るか否かを検証する。所望の処理結果が得られない場合
は、C言語記述の仕様51に戻って、仕様51を修正し
たり、オブジェクトプログラム57として選択される命
令コードを変更したり、同一の命令コードであってもそ
れを実行する初期条件の異なる命令マクロ(この場合は
VU21)を選択するといった処理を行う。
【0079】ISS95により所定の結果が得られる
と、VUPUのRTLライブラリ53bからPU22お
よびVU21のRTL記述を抽出し、ハードウェア情報
を出力する(ステップ52a)。この場合は、RTLリ
ンカ67で抽出されたRLT記述をリンクして出力す
る。ユーザ命令は、システムCコンパイラ96を用いて
RTL記述97にすることが可能であり、ライブラリ5
3aのRTLとリンクして出力することができる。そし
て、統合されたRTL54bは、ステップ55で論理合
成され、その後、図2において説明したように配置・配
線処理が行われて最適化され、シリコン化される。
と、VUPUのRTLライブラリ53bからPU22お
よびVU21のRTL記述を抽出し、ハードウェア情報
を出力する(ステップ52a)。この場合は、RTLリ
ンカ67で抽出されたRLT記述をリンクして出力す
る。ユーザ命令は、システムCコンパイラ96を用いて
RTL記述97にすることが可能であり、ライブラリ5
3aのRTLとリンクして出力することができる。そし
て、統合されたRTL54bは、ステップ55で論理合
成され、その後、図2において説明したように配置・配
線処理が行われて最適化され、シリコン化される。
【0080】この設計方法50ではRTLシミュレータ
を必要とせず、数100倍から1000倍程度まで設計
速度を向上できる。さらに、ライブラリ53には、レイ
アウトされた命令マクロのサイクルベースの評価データ
44を用意できるので、タイミング・クロージャを早い
段階から考慮にいれた設計が可能であり、配置・配線処
理におけるタイミング・クロージャの収束速度を高める
ことができる。
を必要とせず、数100倍から1000倍程度まで設計
速度を向上できる。さらに、ライブラリ53には、レイ
アウトされた命令マクロのサイクルベースの評価データ
44を用意できるので、タイミング・クロージャを早い
段階から考慮にいれた設計が可能であり、配置・配線処
理におけるタイミング・クロージャの収束速度を高める
ことができる。
【0081】コンパイラ60あるいはオブジェクトプロ
グラムを生成する工程52においては、各命令マクロ間
の接続情報54aのみを生成し、配置・配線処理56に
おいてはじめてフロアプランを行って、面積(正方形
性、長方形性)、速度、消費電力といったパラメータに
より最適化する設計方法も可能である。配置・配線用の
プログラムあるいはフロアプラン用のプログラムは市販
されているので、それらを利用することができる。
グラムを生成する工程52においては、各命令マクロ間
の接続情報54aのみを生成し、配置・配線処理56に
おいてはじめてフロアプランを行って、面積(正方形
性、長方形性)、速度、消費電力といったパラメータに
より最適化する設計方法も可能である。配置・配線用の
プログラムあるいはフロアプラン用のプログラムは市販
されているので、それらを利用することができる。
【0082】最適化の例としては、処理速度に関してい
えば、クリティカルパスが基本プロセッサPU22とあ
る追加処理ユニットVU21との間に存在するような場
合には、クリティカルパスの対象となっている追加処理
ユニットVUの位置を変更(配置変更)することにより
回避できる可能性がある。タイミング収束を早期に実現
するには、クリティカルパスの情報は重要である。した
がって、基本処理ユニットPU22と追加処理ユニット
VU21の間でクリティカルパスになりそうなネットワ
ークや、追加処理ユニットVU同士の間でクリティカル
パスになりそうなネットワークを示すネットワーク情報
も評価の対象として命令ライブラリ53に登録しておく
ことは有用である。
えば、クリティカルパスが基本プロセッサPU22とあ
る追加処理ユニットVU21との間に存在するような場
合には、クリティカルパスの対象となっている追加処理
ユニットVUの位置を変更(配置変更)することにより
回避できる可能性がある。タイミング収束を早期に実現
するには、クリティカルパスの情報は重要である。した
がって、基本処理ユニットPU22と追加処理ユニット
VU21の間でクリティカルパスになりそうなネットワ
ークや、追加処理ユニットVU同士の間でクリティカル
パスになりそうなネットワークを示すネットワーク情報
も評価の対象として命令ライブラリ53に登録しておく
ことは有用である。
【0083】また、他の最適化の例として、面積に関し
ていえば、追加処理ユニットVU21のマクロは実レイ
アウトされたものなので、基本処理ユニットPU22と
追加処理ユニットVU21とを含めた仮のフロアプラン
54cにより製造されるシステムLSI20の面積を減
らすことはできない。しかしながら、製造されるLSI
20の全体の形状をより正方形に近くし、アスペクトレ
シオの改善を図ることは可能である。これによりチップ
サイズをより正方形とすることができ、結果としてウエ
ハ当たりから製造できるチップ数を増加できる効果が得
られる。消費電力に関しては、各追加処理ユニットVU
21の動作率を検討し、動作率の多いVU同士を近づけ
ることにより同一のファンクションに対して、より消費
電力を下げた解を見出すことが可能である。
ていえば、追加処理ユニットVU21のマクロは実レイ
アウトされたものなので、基本処理ユニットPU22と
追加処理ユニットVU21とを含めた仮のフロアプラン
54cにより製造されるシステムLSI20の面積を減
らすことはできない。しかしながら、製造されるLSI
20の全体の形状をより正方形に近くし、アスペクトレ
シオの改善を図ることは可能である。これによりチップ
サイズをより正方形とすることができ、結果としてウエ
ハ当たりから製造できるチップ数を増加できる効果が得
られる。消費電力に関しては、各追加処理ユニットVU
21の動作率を検討し、動作率の多いVU同士を近づけ
ることにより同一のファンクションに対して、より消費
電力を下げた解を見出すことが可能である。
【0084】このように本発明のLSIの設計方法にお
いては、予め実アレンジされた命令マクロと命令コード
とを登録した命令ライブラリ53を用意することによ
り、C言語で記述された仕様51を命令コードで展開し
てオブジェクトプログラム57を作成することにより、
そのオブジェクトプログラム57を実行するために最適
なハードウェア情報を、最終に近いフロアプラン54c
も含めて出力できる。したがって、極めて短期間にシス
テムLSI20を開発することができ、早い時期に市場
に投入することができる。基本プロセッサPU22と追
加可能な処理ユニットVU21とを備えたVUPUタイ
プのLSI20においては、FU23により、たとえ
ば、最大256種類までのVU命令を追加することが可
能である。したがって、初期条件を変えて、予め256
以上の追加命令マクロを用意し、ライブラリ53に登録
しておくことにより、与えられた仕様51を与えられた
選択条件64sで実現するためのシステムLSIに適し
た追加命令マクロを、それに対応する命令コードを選択
してオブジェクトプログラム57を生成することにより
選択できる。1つのVU命令に対して複数の追加命令マ
クロを割り当てて、条件に合致する追加命令マクロを採
用することも可能である。
いては、予め実アレンジされた命令マクロと命令コード
とを登録した命令ライブラリ53を用意することによ
り、C言語で記述された仕様51を命令コードで展開し
てオブジェクトプログラム57を作成することにより、
そのオブジェクトプログラム57を実行するために最適
なハードウェア情報を、最終に近いフロアプラン54c
も含めて出力できる。したがって、極めて短期間にシス
テムLSI20を開発することができ、早い時期に市場
に投入することができる。基本プロセッサPU22と追
加可能な処理ユニットVU21とを備えたVUPUタイ
プのLSI20においては、FU23により、たとえ
ば、最大256種類までのVU命令を追加することが可
能である。したがって、初期条件を変えて、予め256
以上の追加命令マクロを用意し、ライブラリ53に登録
しておくことにより、与えられた仕様51を与えられた
選択条件64sで実現するためのシステムLSIに適し
た追加命令マクロを、それに対応する命令コードを選択
してオブジェクトプログラム57を生成することにより
選択できる。1つのVU命令に対して複数の追加命令マ
クロを割り当てて、条件に合致する追加命令マクロを採
用することも可能である。
【0085】図5に示したフローチャートでは、1つの
処理、すなわち、1つのノードをマッピングする際に評
価データ43を用いてコスト比較を行って基本命令また
は追加命令のいずれかの命令コードを選択している。命
令コードを選択する段階では候補として複数の命令コー
ドを選択可能とし、それらにより複数のオブジェクトプ
ログラムが生成された段階でコスト評価することも可能
である。図7は、そのような設計方法でプログラムを生
成する処理を示している。この処理を実行する場合、コ
ンパイラ60の命令選択部63は、ステップ81でマッ
ピングの対象となるノードを選択し、ステップ82で
は、選択されたノードの処理を実行可能な命令コードを
単純に命令ライブラリ53から選択する。複数の命令コ
ードが選択可能であれば、それらを含むプログラムを個
別に生成する。したがって、ステップ83で最後のノー
ドの処理が終了した段階では、複数のオブジェクトプロ
グラムが生成されることになる。あるいは、1つの処理
に対して選択された複数の命令コードをツリー状に接続
して、複数のオブジェクトプログラムが構成できるデー
タが出力されるようにしても良い。
処理、すなわち、1つのノードをマッピングする際に評
価データ43を用いてコスト比較を行って基本命令また
は追加命令のいずれかの命令コードを選択している。命
令コードを選択する段階では候補として複数の命令コー
ドを選択可能とし、それらにより複数のオブジェクトプ
ログラムが生成された段階でコスト評価することも可能
である。図7は、そのような設計方法でプログラムを生
成する処理を示している。この処理を実行する場合、コ
ンパイラ60の命令選択部63は、ステップ81でマッ
ピングの対象となるノードを選択し、ステップ82で
は、選択されたノードの処理を実行可能な命令コードを
単純に命令ライブラリ53から選択する。複数の命令コ
ードが選択可能であれば、それらを含むプログラムを個
別に生成する。したがって、ステップ83で最後のノー
ドの処理が終了した段階では、複数のオブジェクトプロ
グラムが生成されることになる。あるいは、1つの処理
に対して選択された複数の命令コードをツリー状に接続
して、複数のオブジェクトプログラムが構成できるデー
タが出力されるようにしても良い。
【0086】その後、評価部65が、ステップ84で、
各々のオブジェクトプログラム毎に、そのオブジェクト
プログラムに含まれる追加命令および基本命令に関連付
けされる評価データ43を命令ライブラリ53から取得
し、それらに基づきコスト評価を行う。そして、ステッ
プ85でコスト評価の高いオブジェクトプログラムを出
力する。また、ステップ86で、コスト評価の高いオブ
ジェクトプログラムを実行するためのハードウェア情報
を出力する。図7に示した手法は、オブジェクトプログ
ラム57が生成された後にコスト評価をするために、ス
テップ82で選択された命令コードをすべて記憶してお
く必要があり、大きな記憶容量が必要とされる。また、
ステップ84で、すべてのプログラムを評価するので、
評価結果を得るために時間がかかる。その一方で、オブ
ジェクトプログラム57をトータルで評価できるので、
たとえば、複数のVU命令を実行可能なVU21が選択
された場合は、処理速度、面積および消費電力のすべて
の点で最適な解が選択される可能性がある。
各々のオブジェクトプログラム毎に、そのオブジェクト
プログラムに含まれる追加命令および基本命令に関連付
けされる評価データ43を命令ライブラリ53から取得
し、それらに基づきコスト評価を行う。そして、ステッ
プ85でコスト評価の高いオブジェクトプログラムを出
力する。また、ステップ86で、コスト評価の高いオブ
ジェクトプログラムを実行するためのハードウェア情報
を出力する。図7に示した手法は、オブジェクトプログ
ラム57が生成された後にコスト評価をするために、ス
テップ82で選択された命令コードをすべて記憶してお
く必要があり、大きな記憶容量が必要とされる。また、
ステップ84で、すべてのプログラムを評価するので、
評価結果を得るために時間がかかる。その一方で、オブ
ジェクトプログラム57をトータルで評価できるので、
たとえば、複数のVU命令を実行可能なVU21が選択
された場合は、処理速度、面積および消費電力のすべて
の点で最適な解が選択される可能性がある。
【0087】また、全てのオブジェクトプログラム57
のハードウェア情報を記憶しておくためにはさらに大き
な記憶容量が必要となる。このため、ハードウェア情報
を出力するステップ86およびコンパイラ60のハード
ウェア情報を出力する機能66〜68においては、選択
されたオブジェクトプログラム57を解析し、それに含
まれる命令コードに基づき、そのオブジェクトプログラ
ム57を実行するのに適したハードウェア情報をライブ
ラリ53から抽出し、出力しても良い。
のハードウェア情報を記憶しておくためにはさらに大き
な記憶容量が必要となる。このため、ハードウェア情報
を出力するステップ86およびコンパイラ60のハード
ウェア情報を出力する機能66〜68においては、選択
されたオブジェクトプログラム57を解析し、それに含
まれる命令コードに基づき、そのオブジェクトプログラ
ム57を実行するのに適したハードウェア情報をライブ
ラリ53から抽出し、出力しても良い。
【0088】また、本発明の設計方法であると、与えら
れた仕様51を実現するために必要な命令マクロは自動
的に選択され、接続情報54a、統合RTL記述54b
およびフロアプラン54cに反映される。このため、デ
ィフォルトでLSI20に組み込まれる基本処理ユニッ
トPU22の機能は最小限で良い。したがって、従来、
基本プロセッサとして提供されている機能の中でオプシ
ョン化できる機能はすべてVU21と同様に命令マクロ
化してセパレートすることが可能であり、与えられた仕
様51を実現するための、最も経済的でコンパクトなシ
ステムLSIを開発することが可能となる。これは、基
本プロセッサと言えども複数に分割し、仕様51をオブ
ジェクトコードに展開する際に選択可能にできることを
意味する。したがって、本発明の設計方法により極めて
カスタマイズの進んだシステムLSIを提供できる。ま
た、本発明の設計方法は、半導体基板に限らず、プリン
ト基板などの他の回路基板上にシステムを構成する場合
にも有効である。
れた仕様51を実現するために必要な命令マクロは自動
的に選択され、接続情報54a、統合RTL記述54b
およびフロアプラン54cに反映される。このため、デ
ィフォルトでLSI20に組み込まれる基本処理ユニッ
トPU22の機能は最小限で良い。したがって、従来、
基本プロセッサとして提供されている機能の中でオプシ
ョン化できる機能はすべてVU21と同様に命令マクロ
化してセパレートすることが可能であり、与えられた仕
様51を実現するための、最も経済的でコンパクトなシ
ステムLSIを開発することが可能となる。これは、基
本プロセッサと言えども複数に分割し、仕様51をオブ
ジェクトコードに展開する際に選択可能にできることを
意味する。したがって、本発明の設計方法により極めて
カスタマイズの進んだシステムLSIを提供できる。ま
た、本発明の設計方法は、半導体基板に限らず、プリン
ト基板などの他の回路基板上にシステムを構成する場合
にも有効である。
【0089】
【発明の効果】以上に説明したように、本発明のデータ
処理装置の設計方法は、基本処理ユニットと、それに対
し追加可能な追加処理ユニットとを有し、それらに共通
のフェッチユニットを有するプロセッサの命令コードを
生成するのに適した方式である。本発明の設計方法で
は、C言語などの高級言語で記述された仕様を、基本処
理ユニットで実行される基本命令および追加処理ユニッ
トで実行される追加命令にマッピングすることにより、
追加処理ユニットを備えたシステムLSIの接続情報な
どのハードウェア情報が自動的に得られる。
処理装置の設計方法は、基本処理ユニットと、それに対
し追加可能な追加処理ユニットとを有し、それらに共通
のフェッチユニットを有するプロセッサの命令コードを
生成するのに適した方式である。本発明の設計方法で
は、C言語などの高級言語で記述された仕様を、基本処
理ユニットで実行される基本命令および追加処理ユニッ
トで実行される追加命令にマッピングすることにより、
追加処理ユニットを備えたシステムLSIの接続情報な
どのハードウェア情報が自動的に得られる。
【0090】さらに、オブジェクトプログラムとして選
択する命令コードが格納された命令ライブラリに、従来
であると論理合成や配置・配線を経た後でないと得られ
ない評価データ、例えば、占有面積や配線遅延などの情
報を用意することにより、オブジェクトコードを生成
し、ソフトウェアとハードウェアとを分離する設計の早
い段階から配置・配線後の問題を解決する選択を的確に
行うことができる。このため、与えられたC言語の仕様
を実行するのに最適な演算あるいは処理ユニットを備え
た応用プロセッサを、種々の問題が発生しないよう後段
のレイアウト用フロアプラン情報まで含めて、短期間で
生成および構築することができる。例えば、配線遅延に
よる性能のブレを抑えたフロアプランを短期間に出力す
ることが可能となり、所謂タイミング・クロージャ問題
に有効な設計手法である。
択する命令コードが格納された命令ライブラリに、従来
であると論理合成や配置・配線を経た後でないと得られ
ない評価データ、例えば、占有面積や配線遅延などの情
報を用意することにより、オブジェクトコードを生成
し、ソフトウェアとハードウェアとを分離する設計の早
い段階から配置・配線後の問題を解決する選択を的確に
行うことができる。このため、与えられたC言語の仕様
を実行するのに最適な演算あるいは処理ユニットを備え
た応用プロセッサを、種々の問題が発生しないよう後段
のレイアウト用フロアプラン情報まで含めて、短期間で
生成および構築することができる。例えば、配線遅延に
よる性能のブレを抑えたフロアプランを短期間に出力す
ることが可能となり、所謂タイミング・クロージャ問題
に有効な設計手法である。
【0091】また、高級言語で記述された仕様をオブジ
ェクトプログラムに展開する際に、命令コード単位で、
あるいはプログラム単位で、処理速度、面積および/ま
たは消費電力を制御することが可能であり、与えられた
仕様に基づく最適なプロセッサを設計する極めて有効な
手法である。
ェクトプログラムに展開する際に、命令コード単位で、
あるいはプログラム単位で、処理速度、面積および/ま
たは消費電力を制御することが可能であり、与えられた
仕様に基づく最適なプロセッサを設計する極めて有効な
手法である。
【図1】本発明の設計方法により設計するのに適したV
UPUタイプのシステムLSIの概略構成を示す図であ
る。
UPUタイプのシステムLSIの概略構成を示す図であ
る。
【図2】本発明の設計方法の概要を示す図である。
【図3】本発明の設計方法によりプログラムを生成する
コンパイラの概要を示す図である。
コンパイラの概要を示す図である。
【図4】仕様をフローグラムに展開する様子を示す図で
ある。
ある。
【図5】コンパイラでプログラムを生成する処理を示す
フローチャートである。
フローチャートである。
【図6】サイクルベースの評価環境を中心に、本発明の
設計方法を説明する図である。
設計方法を説明する図である。
【図7】コンパイラでプログラムを生成する他の例を示
すフローチャートである。
すフローチャートである。
【図8】従来の設計方法の概要を示す図である。
20 システムLSI(VUPU)
21 追加処理ユニット(専用処理ユニット、VU)
22 基本処理ユニット(汎用処理ユニット、PU)
22X 基本プロセッサ(PUX)
23 フェッチユニット(FU)
41、53vi 追加命令
42 レイアウト情報
43 評価データ
50 LSIの設計方法
51 高級言語で記述された仕様
53 命令ライブラリ
54a 接続情報、54b 統合RTL記述、54c
フロアプラン情報 57 オブジェクトプログラム
フロアプラン情報 57 オブジェクトプログラム
フロントページの続き
(72)発明者 下郡 慎太郎
東京都新宿区西新宿6丁目12番1号 パシ
フィック・デザイン株式会社内
(72)発明者 北島 利明
東京都新宿区西新宿6丁目12番1号 パシ
フィック・デザイン株式会社内
(72)発明者 杉浦 義英
東京都新宿区西新宿6丁目12番1号 パシ
フィック・デザイン株式会社内
Fターム(参考) 5B046 AA08 BA03 BA04 KA06
Claims (39)
- 【請求項1】 オブジェクトプログラムに含まれる汎用
的な複数の基本命令を実行可能な基本処理ユニットと、
前記基本命令に対して追加可能な追加命令を実行可能な
少なくとも1つの追加処理ユニットとを有するデータ処
理装置を、抽象度の高い高級言語で記述された仕様に基
づいて設計する方法であって、 前記仕様から前記データ処理装置用のオブジェクトプロ
グラムを生成する工程を有し、 このオブジェクトプログラムを生成する工程は、複数の
前記追加命令を含む命令ライブラリから、前記仕様の中
のある処理を実行可能にする命令を選択する工程を備え
ており、 前記命令ライブラリは、複数の前記追加処理ユニットに
それぞれ関連付けられた複数の前記追加命令と、 各々の前記追加処理ユニットが前記基本処理ユニットと
共に基板に実装される際の評価データとを備えている、
データ処理装置の設計方法。 - 【請求項2】 請求項1において、前記命令ライブラリ
は、前記追加処理ユニットの少なくとも一部が前記基板
に異なる初期条件で実装される際の複数種類の前記評価
データを備えている、データ処理装置の設計方法。 - 【請求項3】 請求項1において、前記評価データは、
ある初期条件の前記追加処理ユニットが前記基本処理ユ
ニットと共に前記基板に実装される際の、処理速度、占
有面積および消費電力の少なくともいずれかのデータを
含む、データ処理装置の設計方法。 - 【請求項4】 請求項1において、前記命令ライブラリ
は、前記基本命令を含み、その基本命令を前記基本処理
ユニットで実行するときの前記評価データを備えてい
る、データ処理装置の設計方法。 - 【請求項5】 請求項3において、前記命令ライブラリ
は、前記追加処理ユニットが前記基板に前記初期条件で
配置・配線されたレイアウト情報を備えている、データ
処理装置の設計方法。 - 【請求項6】 請求項1において、前記オブジェクトプ
ログラムを生成する工程は、前記命令を選択する工程の
前に、選択条件を設定する工程を備えており、 前記命令を選択する工程では、前記命令ライブラリか
ら、前記仕様の中のある処理を実行する候補となる命令
を選択し、さらに、 候補となった命令に関連付けされる前記評価データを前
記選択条件により評価する工程を備えている、データ処
理装置の設計方法。 - 【請求項7】 請求項1において、前記命令を選択する
工程では、複数の候補となる命令が選択可能であり、 前記オブジェクトプログラムを生成する工程は、前記候
補となる命令を含む、複数の候補となるオブジェクトプ
ログラムを生成し、 さらに、前記複数の候補となるオブジェクトプログラム
のそれぞれに関連付けされる前記評価データを選択条件
により評価して前記オブジェクトプログラムを選択する
工程を有する、データ処理装置の設計方法。 - 【請求項8】 請求項1において、前記オブジェクトプ
ログラムを生成する工程は、生成された前記オブジェク
トプログラムに含まれる前記追加命令を実行する追加処
理ユニットと前記基本処理ユニットとの間の接続情報を
生成する工程をさらに備えている、データ処理装置の設
計方法。 - 【請求項9】 請求項1において、前記オブジェクトプ
ログラムを生成する工程により生成された前記オブジェ
クトプログラムに含まれる前記追加命令を実行する前記
追加処理ユニットと前記基本処理ユニットとの間の接続
情報を生成する工程をさらに有する、データ処理装置の
設計方法。 - 【請求項10】 請求項5において、前記オブジェクト
プログラムを生成する工程により生成された前記オブジ
ェクトプログラムに含まれる前記追加命令を実行する前
記追加処理ユニットが前記基板に前記初期条件で配置・
配線されたレイアウト情報を前記命令ライブラリより抽
出し、当該データ処理装置のフロアプラン情報を生成す
る工程を有する、データ処理装置の設計方法。 - 【請求項11】 請求項1において、前記命令ライブラ
リは、前記基本処理ユニットおよび複数の前記追加処理
ユニットのそれぞれのサイクルベースの前記評価データ
を備えており、 前記オブジェクトプログラムを生成する工程により生成
された前記オブジェクトプログラムに含まれる前記追加
命令を実行する前記追加処理ユニットおよび前記基本処
理ユニットの動作をサイクルベースで評価する工程を有
する、データ処理装置の設計方法。 - 【請求項12】 請求項1において、前記命令ライブラ
リは、前記基本処理ユニットおよび複数の前記追加処理
ユニットのそれぞれのRTL記述を備えており、 前記オブジェクトプログラムを生成する工程により生成
された前記オブジェクトプログラムに含まれる前記追加
命令を実行する前記追加処理ユニットのRTL記述およ
び前記基本処理ユニットのRTL記述を統合した当該デ
ータ処理装置のRTL記述を生成する工程を有する、デ
ータ処理装置の設計方法。 - 【請求項13】 請求項1において、前記追加処理ユニ
ットは、前記追加命令による処理を実行するのに適した
専用回路を備えた専用処理ユニットである、データ処理
装置の設計方法。 - 【請求項14】 請求項1において、前記データ処理装
置は、前記オブジェクトプログラムが記録されたコード
メモリから命令をフェッチして前記基本処理ユニットお
よび前記追加処理ユニットのいずれかに供給する共通の
フェッチユニットを有する、データ処理装置の設計方
法。 - 【請求項15】 オブジェクトプログラムが記録された
コードメモリから命令をフェッチして複数の処理ユニッ
トのいずれかに供給する共通のフェッチユニットを有す
るデータ処理装置を、抽象度の高い高級言語で記述され
た仕様に基づいて設計する方法であって、 前記仕様から前記オブジェクトプログラムを生成する工
程を有し、 このオブジェクトプログラムを生成する工程は、命令ラ
イブラリに含まれる複数の命令の中から、前記仕様の中
のある処理を実行可能にする命令を選択する工程を備え
ており、 前記命令ライブラリは、前記複数の命令のそれぞれを実
行可能な前記複数の処理ユニットが基板に実装される際
の評価データを備えている、データ処理装置の設計方
法。 - 【請求項16】 請求項15において、前記命令ライブ
ラリは、前記複数の命令のそれぞれを実行可能な前記複
数の処理ユニットの少なくとも一部が前記基板に異なる
初期条件で実装される際の複数種類の前記評価データを
備えている、データ処理装置の設計方法。 - 【請求項17】 請求項15において、前記オブジェク
トプログラムを生成する工程は、前記命令を選択する工
程の前に、選択条件を設定する工程を備えており、 前記命令を選択する工程では、前記命令ライブラリか
ら、前記仕様の中のある処理を実行する候補となる命令
を選択し、さらに、 候補となった命令に関連付けされる前記評価データを前
記選択条件により評価する工程を備えている、データ処
理装置の設計方法。 - 【請求項18】 請求項15において、前記命令を選択
する工程では、複数の候補となる命令が選択可能であ
り、 前記オブジェクトプログラムを生成する工程は、前記候
補となる命令を含む、複数の候補となるオブジェクトプ
ログラムを生成し、前記複数の候補となるオブジェクト
プログラムのそれぞれに関連付けされる前記評価データ
を選択条件により評価する工程を備えている、データ処
理装置の設計方法。 - 【請求項19】 請求項15において、生成された前記
オブジェクトプログラムに含まれる前記命令を実行する
処理ユニットの間の接続情報を生成する工程をさらに有
する、データ処理装置の設計方法。 - 【請求項20】 請求項15において、前記命令ライブ
ラリは、前記複数の処理ユニットが前記基板に初期条件
で配置・配線されたレイアウト情報を備えており、 生成された前記オブジェクトプログラムに含まれる前記
命令を実行する処理ユニットが前記基板に前記初期条件
で配置・配線されたレイアウト情報を抽出し、当該デー
タ処理装置のフロアプラン情報を生成する工程をさらに
有する、データ処理装置の設計方法。 - 【請求項21】 オブジェクトプログラムに含まれる汎
用的な複数の基本命令を実行可能な基本処理ユニット
と、前記基本命令に対して追加可能な追加命令を実行可
能な少なくとも1つの追加処理ユニットとを有するデー
タ処理装置用のオブジェクトプログラムを、抽象度の高
い高級言語で記述された仕様から生成するコンパイラで
あって、 複数の前記追加命令を含む命令ライブラリから、前記仕
様の中のある処理を実行可能にする命令を選択する手段
を有し、 前記命令ライブラリは、複数の前記追加処理ユニットに
それぞれ関連付けられた複数の前記追加命令と、 各々の前記追加処理ユニットが前記基本処理ユニットと
共に基板に実装される際の評価データとを備えている、
コンパイラ。 - 【請求項22】 請求項21において、前記命令ライブ
ラリを有し、この命令ライブラリは、前記追加処理ユニ
ットの少なくとも一部が前記基板に異なる初期条件で実
装される際の複数種類の前記評価データを備えている、
コンパイラ。 - 【請求項23】 請求項21において、選択条件を設定
する手段を有し、前記命令を選択する手段は、前記命令
ライブラリから、前記仕様の中のある処理を実行する候
補となる命令を選択し、 候補となった命令に関連付けされる前記評価データを前
記選択条件により評価して前記オブジェクトプログラム
を生成する手段をさらに有する、コンパイラ。 - 【請求項24】 請求項21において、前記命令を選択
する手段は、前記命令ライブラリから、前記仕様の中の
ある処理を実行する候補となる、少なくとも1つの候補
となる命令を選択し、さらに、 前記候補となる命令を含む、複数の候補となるオブジェ
クトプログラムを生成し、前記複数の候補となるオブジ
ェクトプログラムのそれぞれに関連付けされる前記評価
データを選択条件により評価する手段をさらに有する、
コンパイラ。 - 【請求項25】 請求項21において、生成された前記
オブジェクトプログラムに含まれる前記追加命令を実行
する前記追加処理ユニットと前記基本処理ユニットとの
間の接続情報を生成する手段をさらに有する、コンパイ
ラ。 - 【請求項26】 請求項21において、前記命令ライブ
ラリは、前記追加処理ユニットが前記基板に初期条件で
配置・配線されたレイアウト情報を備えており、 生成された前記オブジェクトプログラムに含まれる前記
追加命令を実行する前記追加処理ユニットが前記基板に
前記初期条件で配置・配線されたレイアウト情報を前記
命令ライブラリより抽出し、当該データ処理装置のフロ
アプラン情報を生成する手段をさらに有する、コンパイ
ラ。 - 【請求項27】 請求項21において、前記命令ライブ
ラリは、前記基本処理ユニットおよび複数の前記追加処
理ユニットのそれぞれのサイクルベースの前記評価デー
タを備えており、 生成された前記オブジェクトプログラムに含まれる前記
追加命令を実行する前記追加処理ユニットおよび前記基
本処理ユニットの動作をサイクルベースで評価する手段
を有する、コンパイラ。 - 【請求項28】 請求項21において、前記命令ライブ
ラリは、前記基本処理ユニットおよび複数の前記追加処
理ユニットのそれぞれのRTL記述を備えており、 生成された前記オブジェクトプログラムに含まれる前記
追加命令を実行する前記追加処理ユニットのRTL記述
および前記基本処理ユニットのRTL記述を統合した当
該データ処理装置のRTL記述を生成する手段を有す
る、コンパイラ。 - 【請求項29】 オブジェクトプログラムが記録された
コードメモリから命令をフェッチして複数の処理ユニッ
トのいずれかに供給する共通のフェッチユニットを有す
るデータ処理装置のオブジェクトプログラムを、抽象度
の高い高級言語で記述された仕様から生成するコンパイ
ラであって、 命令ライブラリに含まれる複数の前記命令の中から、前
記仕様の中のある処理を実行可能にする命令を選択する
手段を有し、 前記命令ライブラリは、前記複数の命令のそれぞれを実
行可能な前記複数の処理ユニットが基板に実装される際
の評価データを備えている、コンパイラ。 - 【請求項30】 オブジェクトプログラムに含まれる汎
用的な複数の基本命令を実行可能な基本処理ユニット
と、前記基本命令に対して追加可能な追加命令を実行可
能な少なくとも1つの追加処理ユニットとを有するデー
タ処理装置を、抽象度の高い高級言語で記述された仕様
に基づいて設計する処理をコンピュータにおいて実行可
能とする設計自動化プログラムであって、 前記仕様から前記データ処理装置用のオブジェクトプロ
グラムを生成する工程が実行可能であり、 このオブジェクトプログラムを生成する工程は、複数の
前記追加命令を含む命令ライブラリから、前記仕様の中
のある処理を実行可能にする命令を選択する工程を備え
ており、 前記命令ライブラリは、複数の前記追加処理ユニットに
それぞれ関連付けられた複数の前記追加命令と、 各々の前記追加処理ユニットが前記基本処理ユニットと
共に基板に実装される際の評価データとを備えている、
設計自動化プログラム。 - 【請求項31】 請求項30において、前記命令ライブ
ラリは、前記追加処理ユニットの少なくとも一部が前記
基板に異なる初期条件で実装される際の複数種類の評価
データを備えている、設計自動化プログラム。 - 【請求項32】 請求項30において、前記オブジェク
トプログラムを生成する工程は、前記命令を選択する工
程の前に、選択条件を設定する工程を備えており、 前記命令を選択する工程では、前記命令ライブラリか
ら、前記仕様の中のある処理を実行する候補となる命令
を選択し、さらに、 候補となった命令に関連付けされる前記評価データを前
記選択条件により評価する工程を備えている、設計自動
化プログラム。 - 【請求項33】 請求項30において、前記命令を選択
する工程では、複数の候補となる命令が選択可能であ
り、 前記オブジェクトプログラムを生成する工程は、前記候
補となる命令を含む、複数の候補となるオブジェクトプ
ログラムを生成し、 さらに、前記複数の候補となるオブジェクトプログラム
のそれぞれに関連付けされる前記評価データを選択条件
により評価して前記オブジェクトプログラムを選択する
工程を実行可能である、設計自動化プログラム。 - 【請求項34】 請求項30において、生成された前記
オブジェクトプログラムに含まれる前記追加命令を実行
する前記追加処理ユニットと前記基本処理ユニットとの
間の接続情報を生成する工程をさらに実行可能である、
設計自動化プログラム。 - 【請求項35】 請求項30において、前記命令ライブ
ラリは、前記追加処理ユニットが前記基板に初期条件で
配置・配線されたレイアウト情報を備えており、 前記オブジェクトプログラムを生成する工程により生成
された前記オブジェクトプログラムに含まれる前記追加
命令を実行する前記追加処理ユニットが前記基板に前記
初期条件で配置・配線されたレイアウト情報を前記命令
ライブラリより抽出し、当該データ処理装置のフロアプ
ラン情報を生成する工程をさらに実行可能である、設計
自動化プログラム。 - 【請求項36】 請求項30において、前記命令ライブ
ラリは、前記基本処理ユニットおよび複数の前記追加処
理ユニットのそれぞれのサイクルベースの評価データを
備えており、 前記オブジェクトプログラムを生成する工程により生成
された前記オブジェクトプログラムに含まれる前記追加
命令を実行する前記追加処理ユニットおよび前記基本処
理ユニットの動作をサイクルベースで評価する工程をさ
らに実行可能である、設計自動化プログラム。 - 【請求項37】 請求項30において、前記命令ライブ
ラリは、前記基本処理ユニットおよび複数の前記追加処
理ユニットのそれぞれのRTL記述を備えており、 前記オブジェクトプログラムを生成する工程により生成
された前記オブジェクトプログラムに含まれる前記追加
命令を実行する前記追加処理ユニットのRTL記述およ
び前記基本処理ユニットのRTL記述を統合した当該デ
ータ処理装置のRTL記述を生成する工程をさらに実行
可能である、設計自動化プログラム。 - 【請求項38】 プログラムに含まれる汎用的な複数の
基本命令を実行可能な基本処理ユニットと、前記基本命
令に対して追加可能な追加命令を実行可能な少なくとも
1つの追加処理ユニットとを有するデータ処理装置を、
高級言語で記述された仕様に基づいて設計する際に用い
られる命令ライブラリであって、 複数の前記追加処理ユニットにそれぞれ関連付けられた
複数の前記追加命令と、前記追加処理ユニットの少なく
とも一部が前記基本処理ユニットと共に基板に異なる初
期条件で実装される際の複数種類の評価データとを有す
る、命令ライブラリ。 - 【請求項39】 請求項38において、前記追加処理ユ
ニットが前記基板上に前記初期条件で配置・配線された
レイアウト情報を有する、命令ライブラリ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003019160A JP2003337838A (ja) | 2002-03-14 | 2003-01-28 | データ処理装置の設計方法 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002069433 | 2002-03-14 | ||
JP2002-69433 | 2002-03-14 | ||
JP2003019160A JP2003337838A (ja) | 2002-03-14 | 2003-01-28 | データ処理装置の設計方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2003337838A true JP2003337838A (ja) | 2003-11-28 |
Family
ID=29714108
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003019160A Abandoned JP2003337838A (ja) | 2002-03-14 | 2003-01-28 | データ処理装置の設計方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2003337838A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009230683A (ja) * | 2008-03-25 | 2009-10-08 | Nec Corp | プロセッサ合成装置、コンパイル装置、開発システム、プロセッサ合成方法およびプログラム |
JP2011192172A (ja) * | 2010-03-16 | 2011-09-29 | Ricoh Co Ltd | フロアプランデータ生成装置及び方法 |
-
2003
- 2003-01-28 JP JP2003019160A patent/JP2003337838A/ja not_active Abandoned
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009230683A (ja) * | 2008-03-25 | 2009-10-08 | Nec Corp | プロセッサ合成装置、コンパイル装置、開発システム、プロセッサ合成方法およびプログラム |
JP2011192172A (ja) * | 2010-03-16 | 2011-09-29 | Ricoh Co Ltd | フロアプランデータ生成装置及び方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Hoffmann et al. | A methodology for the design of application specific instruction set processors (ASIP) using the machine description language LISA | |
US8561005B2 (en) | Programmatic auto-convergent method for physical design floorplan aware re-targetable tool suite generation (compiler-in-the-loop) for simultaneous instruction level (software) power optimization and architecture level performance optimization for ASIP design | |
Coussy et al. | GAUT: A High-Level Synthesis Tool for DSP Applications: From C Algorithm to RTL Architecture | |
US8171436B2 (en) | Converting portions of a software program executing on a processing system to hardware descriptions | |
US20070277130A1 (en) | System and method for architecture verification | |
US8276107B2 (en) | Integrated data model based framework for driving design convergence from architecture optimization to physical design closure | |
Pimentel | The artemis workbench for system-level performance evaluation of embedded systems | |
US20020152061A1 (en) | Data processing system and design system | |
JP2003529848A (ja) | デジタル・シグナル・プロセッシング集積回路の自動設計 | |
JP4492803B2 (ja) | 動作合成装置及びプログラム | |
Chattopadhyay et al. | LISA: A uniform ADL for embedded processor modeling, implementation, and software toolsuite generation | |
JP2007102631A (ja) | 論理回路設計支援装置およびこれを用いた論理回路設計支援方法 | |
Yang et al. | MetaCore: An application-specific programmable DSP development system | |
Tsui et al. | Application-driven design automation for microprocessor design | |
Bergamaschi et al. | A system for production use of high-level synthesis | |
Eikerling et al. | A methodology for rapid analysis and optimization of embedded systems | |
Sadasue et al. | LLVM-C2RTL: C/C++ based system level RTL design framework using LLVM compiler infrastructure | |
Schliebusch et al. | A framework for automated and optimized ASIP implementation supporting multiple hardware description languages | |
Malhotra et al. | The quartus university interface program: enabling advanced fpga research | |
JP2003337838A (ja) | データ処理装置の設計方法 | |
JP4105102B2 (ja) | パイプラインプロセッサ生成装置及びパイプラインプロセッサ生成方法 | |
Karlström et al. | Operation classification for control path synthetization with nogap | |
August et al. | A disciplined approach to the development of platform architectures | |
Zhou et al. | NoGap CL: A flexible common language for processor hardware description | |
Karuri et al. | A generic design flow for application specific processor customization through instruction-set extensions (ISEs) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060123 |
|
A762 | Written abandonment of application |
Free format text: JAPANESE INTERMEDIATE CODE: A762 Effective date: 20060922 |