Design Compiler

Design Compilerの最新ニュースをまとめて検索!

Design Compiler(デザインコンパイラ)は、米シノプシス社が開発した論理合成ソフトウェアである。あるいはそれを中核とした、ソフトウェア群の総称である。

目次

[編集] 概要

ハードウェア記述言語(HDL)や真理値表で書かれた論理回路定義を論理ゲートレベル回路に変換するための論理合成ツールの一つである。使用できるHDLとしてはVerilog HDLVHDLなどのほか SystemVerilogSystemCへも対応している。合成された結果は同社標準の論理回路ライブラリのほか 半導体ベンダーが作成したライブラリを使って、ネットリスト(配線情報)化される。

シノプシス社が開発・販売しており、2007年現在、集積回路、特にASIC製造に用いる論理合成ツールのデファクトスタンダードとなっている。

[編集] Design Compiler を用いた論理合成の流れ

この節は執筆の途中です この節は執筆中です。加筆、訂正して下さる協力者を求めています

[編集] ハードウェアの設計

作成したいハードウェアを設計し、それをハードウェア記述言語を用いて論理記述する。Design Compiler では Verilog HDL 、VHDLで記述した論理記述が使用できる。 ただし記述はレジスタ転送レベルでなければならない。

[編集] デザインのリード

論理合成を行うために、デザインをリードする。 デザインをリードするには、readコマンドを実行する。

  • Verilogの場合
>  read -f verilog filename.v

[編集] 制約条件の選定

論理合成を行うにあたり、そのハードウェアの仕様が要求する制約条件を指定する。 制約条件には例えば以下のようなものがある。

[編集] 配線負荷

設計するハードウェアの配線負荷のことである。 設計するハードウェアによって、シリコン上に配線される配線長が変わってくる。 Design Compilerでは、モジュール同士(設定により異なる)の配線長をどの位に想定するかを設定することができる。 set_wire_load_modeコマンドでは、どのレベル(モジュール単位、チップ単位他)を負荷計算に考慮するのかを設定できる。 set_wire_loade_modeコマンドでは、ベンダーがおのおの提供している値。 そのライブラリを用いたときの負荷の特性が、ライブラリに設定されている。

[編集] 入力遅延

LSIや、ASICなどのハードウェアは、単体で動作させることはない。 つまり、基板に実装し、CPUでASICを制御したりする。 そのため、自分が設計したLSIへの入力信号が、水晶振動子が出しているタイミングと同時に来るとは分からない。 そのため、Design Compilerには次のコマンドが用意されている。

>  set_input_delay x[ライブラリの単位時間] -clock CLK[定義したクロック名] -all_inputs()[全ての入力ピンに適用]

同様に、出力に対しての遅延時間も設定することができる。

[編集] コンパイル

適切な制約条件が決定したら、論理記述をコンパイルする。コンパイルには compile コマンドを用いる。

> compile 

コンパイル時には選定した制約条件を指定する。

[編集] report_timing

論理変換したデザイン内の遅延パスを表示させるコマンド。単純にreport_timingと入力すると、そのデザイン内の最大遅延パスを表示する。以下に、一例を示す。

> report_timing -delay min_rise -from CTS/Z to [all_registers -clock CTS/Z -clock_pins]

CTS/Zから出力されているクロックを用いている全てのレジスタで、そのクロックの立ち上がりでの最小遅延パスを求めている。

> report_timing -delay max_rise -from CTS/Z to [all_registers -clock CTS/Z -clock_pins]

同様に、最大遅延パスを求めている。

この差を用いれば、そのデザイン内の最大クロックスキューが求められる。

[編集] 関連項目

[編集] 外部リンク

最終更新 2009年9月15日 (火) 12:05 (日時は個人設定で未設定ならばUTC)。
【Design Compiler】変更履歴

ご利用上の注意