デザインコンパイラの基本的なクイズ

1.1 DC?何である
      DC(デザインコンパイラ)は、自動的に設計記述と設計制約に基づいて最適化されたゲートレベルの回路を合成するシノプシスの論理合成ツールです。このような等HDL、回路図、ネットリスト、等の入力フォーマット、種々のを受け入れることができ、そして様々な特性レポートを生成することができ、設計の性能を向上させながら、設計時間を短縮します。

?どのように多くの入力フォーマット1.2 DC受け入れることができます
     サポート.DBを、.V、.vhdファイル、.edif、 .vgh、.libファイルなど、一般的にセルライブラリのメーカーを.DB; .Vはveilog接尾辞である;の.vhd VHDLです接尾辞; .edifとの.vhdネットリストの二つの形式。

どのように多くの出力形式1.3 DCは?提供
     .DB、.V、.vhdファイル、EDIF、提供 .vgh など、缶出力SDC、SDF形式およびその他の関連文書。

1.4どのような主な機能であるか、またはDC主な役割は?である
     DCは、プロセスに関連付けられたゲートレベルの回路に集積回路のHDL記述です。そして、タイミング、面積、消費電力で最高の結果を達成するために、ユーザーの設計要件に応じて。挿入と配置クロックツリー後のフロアプランニングとタイミング検証のためのDCリターン。

?1.5は、ヘルプを見つける方法
     :ヘルプは、次の3つの方法の種類を支援することができ
     、文書に答えを求めて、SOLD 1.
     コマンドman + DC(ほとんどのようなI)で2.コマンドライン
     コマンド情報+ DCを使用して、コマンドラインで3

SOLD文書を見つけるためにどのように1.6?
      SOLD文書はTEMINALで販売&実行中に入力することができます。
      $>&販売
       またはDCのインストールディレクトリをdc_shell findコマンドを使用します。オンラインディレクトリを検索します。

1.7 DC構成する方法?
     DCに必要なパラメータの包括的なセットを、するために必要な必要な情報を知ることができるツールなど、包括的な:ように技術ライブラリー、ターゲットライブラリ、シンボルライブラリ、および。これらのパラメータは、する.synopsys_dc.setupに設定します。3つのディレクトリ内のノート、1シノプシスインストールディレクトリ、ユーザーフォルダにする.synopsys_dc.setupは最後のものであるプロジェクトディレクトリです。ファイルの前カバーのセットの後。
      特定のパラメータは、次のとおりのsearch_pathを、target_library、link_library、SYMBOL_LIBRARY

1.8 target_libraryそれは?どういう意味
      Target_library実際のプロセスライブラリがの地図相合成に必要とされています。

私が?指定する方法1.9 link_library
      ライブラリをリンクするときセットは、あなたが「*」を追加する必要がある場合、通常は同じライブラリを、必要性は、メモリ内のすべてのライブラリを示します。

1.10のsearch_pathの設定は?
      ストレージパラメータは、ライブラリの場所を指定します

1.11 DAとDCの違いは何ですか?
      デザインアナライザ、DCは、包括的にそれを呼び出すようにするためにDAは短いですが、それは、グラフィックで、あなたは論理回路図を見ることができ、もちろん、あなたのライブラリがシンボルライブラリを持っている必要があります。

1.12 DAインタフェース殻なし?なぜ
      この質問はナイーブと思われる、シェルのインターフェイスは、もちろん使用することができますが、私たちのほとんどが、このフレンドリーなグラフィカルなインターフェイスのウィンドウを使用することに慣れている、ただDAは初心者のために非常に適した、グラフィカルであります!しかし、私は強くシェルインターフェイスを使用することをお勧めします。(TCL構文以下のスクリプトコマンド)dc_shellを含む合成のシノプシス(これは自分のシノプシスである)とdc_shell -tcl_mode。


何1.13 SOLD?さ
     SOLDは短いシノプシスオンラインドキュメント、シノプシス社のすべてのツールを含む文書の基本セットです。

。?1.14翻訳がこのステップでは、DCコマンドを達成するために何である
      私たちが知っている、DC合成プロセスは、以下の3つの手順が含まれます- Search.comロジックの最適化+ +マッピング
      の移行が(read_vhdlなど)コマンドread_verilogに対応する
     コンパイルするためのロジックの最適化およびマッピング対応を

。?1.15ロジックの最適化およびマッピング(論理最適化+マッピング)DCコマンドがで達成するために何である
      論理最適化およびマッピングコンパイルコマンドに完成されていますが、特別な最適化手法を指定することができます構造と平らに、あなたは合成することを示唆しています最後にネットリストの構造及びフラット化フォーマット、その後、オープンな外観を生成している間差異ものです。

1.16。スクリプトDCで何が?
      DCスクリプトも簡単に管理するための包括的なプロセスを作ることができるグループの直流コマンドのコレクションです。

1.17。どのようなパスベースの統合平均?
      パス(パス)は、DCにおける重要な概念です。:これは、パスウェイ4種類含む
       。FFのD端子に1つの入力。
      別のFF FFのD端子にCLK 2。
      出力に3 FFのCLK Q.
      4出力に入力されます。
      これら4に基づき、包括的なパス奔放なパス、これらの制約を満たすための集積回路です。

ユニットの各種パラメータがそれを決定するのですか?どのように1.18 DC
      使用するパラメータの単位は、ライブラリによって決定され、ユニットの詳細な説明がある内の記憶を読んだ後、あなたは、リポジトリを参照してくださいreport_libを使用することができます

?1.19 DCは何のターゲット
      8の合計::デザイン、セル、参照、ポート設計変数 、ピン、ネット、時計、ライブラリ。セルは、サブデザインの図であり、基準サブデザインの複数の既知の実施例では、ポートは、セルの入力及び出力の設計、ピンの入力および出力です。

1.20開始点と終了点は何ですか?
      この2つの概念は、DCパスの概念の始点と終点のとおりです。

      1つの開始点は、入力とFF CLKとすることができる
      データと出力端であってもよい2 FF

       これらは、基本的な概念を分析するタイミングは、我々は実際のDCとSTAがしっかりと把握願っています!

?1.21は、あなたが制約にしたいオブジェクトを検索する方法
      all_inputs、all_outputs、all_clocks、all_registersを:一つは、見つけることがすべてです 。

      例えば:set_input_delay 1.0 all_inputs():dc_shell用文言、dc_shell -tcl_modeで、と比較した場合

                 set_input_delay 1.0 [all_inputs]

      前者はTCLモードで書かれ、(「」、ポート)[get_portsを()]、または検索のように表す:検索はキーワードに応じて実行されます!

      ICの設計者として、私は強く、初心者はSOLD文書、たくさんの練習、TCL、Perlや他の一般的に使用されるを学ぶことがたくさん見えることをお勧めします

      スクリプト言語。

設計(デザイン)は何1.22は?
      デザインは、あなたが統合された設計と呼ばれる何かをしたい、DCにおける重要な課題である、正確に、あなたは統合モジュールをしたいトップファイルです。

1.23?セルと葉細胞は何である
      セルと呼ばれる設計、インスタンスのサブデザイン、で。

      細胞のないサブモジュールは、リーフ・セルとして、我々は時間のクロック制約を定義するには、一般的にパスが葉細胞を指す必要は呼びません。

それはどういう意味1.24参照は?違い、セルとは何ですか?
      モジュールの複数の例がある場合は、モジュールをリファレンスと呼ばれています

?デザインの読み方1.25
    手の込んだ+分析したり、read_verilog使用は、-fのverilog、read_vhdl、読み READ_FILE コマンドを。

?1.26 +精巧なコマンドを解析し、その差は何読ん
      プロセスの途中でとにパラメータを追加した後に読み取り処理をスピードアップすることができますし、eloborate VerilogおよびVHDLのサポートのみ二つのフォーマットを解析し、彼らはサポートしています。READ_FILEは、シノプシスでサポートされている任意の形式を読み取ることができます。

1.27は問題でより多くの参照を対処する方法?
       方法1:使用uniquifyは、その後、数回を引用異なるタイミング制約のために複数のサブ設計は、適切な導入のメモリに名前を変更することです

                    要件。

      方法2:dont_touchコマンドは、リファレンスデザインのコンパイル、セットdont_touch、適切なグループの複数の第一の後、使用することができます

                    これと同じ環境要件。

       方法3:平坦化における2つの参照(NO階層)、次いで集積。

1.28リンクがある役割は何?
      あなたは必ずすべてのファイルが存在しており、現在の設計にリンクしています。

環境を設定することによって意味される何1.29は?
     など、電圧、温度などというように、チップ上の物理的なパラメータを指します。

1.30線負荷モデルを設定するには?
      使用set_wire_load_modelコマンド、

      如:set_wire_load_model -name KME -libraryのLiBr

1.31どう?私はラインの負荷モデルの種類を知って
      読むのライブラリファイルがDCに、可能なワイヤロードモデルの数が表示さreport_libを使用

作業環境変数を設定するにはどのように1.32?
      使用set_operating_conditions

      如:set_operating_conditions "WCCOM"

1.33カテゴリー作業環境変数は?いくつかのカテゴリに分けることができます
      一般的に最悪(最悪の場合)、典型的な(標準)、最適な(最良の場合)に分けること。

我々は?動作環境変数を設定する必要がありますなぜ1.34
      私たちがしなければならないので、正しく実環境で動作するようにチップ、温度、環境が適切に設定するので、できるだけ仕事にチップをシミュレートするために、回路の性能に大きな影響を与えます作業環境は重要な情報です。

1.35読み取りと?行われていたもの+ ealborateを分析
      GETECHライブラリーを確立するために、構文チェックは(何GETECHライブラリの検索を行くことができます)読み取りコマンドは自動的にリンク操作を実行していない、ということは注目に値します。

1.36 getechライブラリは、どのような目的?やっている
      getchはマクロライブラリは、加算器からなるソフト(ソフトマクロ)、これらの成分はDWレーンで参照されている、のような乗数ものです。

1.37の呼び出しは、ライブラリ加算器をgetechた後、デザイナーのニーズ加算器を選択する方法?
      私が使用していません!一時的に無応答

なぜ?最適化フェーズで1.38のコール加算した後も、別の加算器を交換することができ
      、私は試していません!一時的に無応答

1.39間違ったスクリプトファイルそれが何であるかを確認する方法?
      Dc_shell-TCL -f

1.40の場合、dc_shell開始後、どのように、ライブラリーを変更したいですか?

      Ctrl + Cキーを押し、それを一時停止し、設定が完了したら実行を継続するには!

1.41どのようにdc_shell環境でUNIXコマンドを実行するには?

      この問題は非常にシンプルで、非常にナイーブです!これは、私は答えられないでしょう!

1.42最適化は、いくつかのレベルに分かれていますか?
     Aは、getchは構造にHDLベースの構造の最適化であり、論理最適化GTECHスキーマ(strcuture)、最適化されたgetchはにタイ(平坦化)、を含む、ベースと、ベースのゲート・レベルの最適化getchは、主な役割は、実際にマップされプロセスライブラリ。

1.43制約は何ですか?
     制約は、設計制約および最適化制約に分かれています。設計制約をユーザがいないと判定され、ユーザーが唯一のさらなる制限を追加することができ、ライブラリの使用によって決定されています。最適化制約は、制約およびエリア制約のタイミング、2つの領域に分割されています。タイミング制約制約制約は組み合わせ回路、タイミング回路、および制約の入力と出力に分割することができます。

1.44 DCスクリプトTCLはそれをサポートしていますか?
     サポートは、シノプシスはdc_shellとdc_shell -tcl_modeサポートしています。前者はTCL構文に従いシノプシス内部言語です。

1.45総合一定あなたが行う方法を、ライブラリユニットのマッピングを使用したくありませんか?
      コマンドset_dont_use使用

/ ********パート2コンパイルstategy ************** /

?デザインは、いくつかの領域に分割されて2.1制約は
     面積制約とタイミング制約:合計が分かれています。

2.2どのようなエリアコマンドの制約?
     set_max_area

2.3どのようにクロックを制約するには?
      周波数と位相:それは時計二つの要因の記述が含まれています。
     使用して、クロックの制約を確立create_clock。

     如:create_clock -name CLK200 -period 5 -waveform {0、2.5}(ピン、 "armpll_wrapper_x / g_reg / Q")を見つけます

2.4はどのようにPLL制約するには?
     PLLが存在する場合、最初のクロックが初期拘束create_clockを入力します。
     そして、入力クロックに基づいて、PLL出力クロックを制約するcreate_propagated_clock、または直接create_clock

     どちらも、葉の細胞からのクロックパスを持っていました

仮想クロック制約は2.5とは何ですか?
    仮想クロックはに統合されるように、現在のモジュール内に存在しない物理的なクロックを指します。例えば、DFFのクロックデザインの外。
    非同期回路との関係を説明するため、このようなAのクロック制約の確立が、私は基本的に実際の作業には設定しないでください!

クロックを制約することができる2.6 DC特性?
     クロックTのためのDCのサポートは、波形は、ジッタは、スキュー、レイテンシー説明、あまりにもジッタとスキューの違いを把握することを確認してください。

     あなたはタイミング解析をやっている場合は、待ち時間のさまざまながありますが、その後、自分自身に問う:これらの要因は、ジッタを遅延、スキューは、すでに持っています

     まだそれを考え出しましたか?

2.7どのようにクロックジッタの制約?
     バインドを使用set_clock_uncertainty -setup(-hold)クロックジッタ

2.8どのようにクロックスキュー制約に?
    ネットワーククロックスキュー制約set_clock_uncertaintyを使用します

2.9どのようにクロック・レイテンシ制約に?
    使用set_clock_latencyの-optionは、オプションは、ソースまたはネットワークで 、デフォルトではネットワークです。

2.10は、どのように現在の設計のポートの外部条件を制約するには?
    含む外部条件ポート:入力ドライブのサイズ、出力負荷の大きさ、ファンアウトのサイズ。

2.11入力ポートは、駆動装置によって駆動されてどのくらい?
    あなたは、これらの3つの間の差にset_diriveとset_driving_cellを使用するか、またはset_input_transitionを使用して、注意を払うことができます!

2.12出力ポートには、多くの負荷を駆動するには?
    使用は、所定の処理単位のライブラリを定義するために応じて、出力容量の制約値をset_load。

2.13 DCが統合されたパスに基づいており、それは時間的な制約にどのように反映されていますか?
   我々は、DCに設けられ、パスに基づいて、4つのパスのいずれかが形成している知っている
   レジスタ間の経路、及びcreate_clockの定義を登録する;
   ;入力レジスタとの間に画定されたset_input_delayパス
   定義された出力レジスタset_output_delayを間のパス、
   入力とset_min_delayを定義set_max_delay出力経路の組み合わせ。

2.14 set_input_delayの目的は何ですか?
   タイミング制約入力論理設計に定義された入力遅延

2.15 set_output_delayをの目的は何ですか?
   タイミング論理設計の出力を抑制する定義された出力遅延、

2.16は、どのように組み合わせ回路を制約するには?
   そして、組み合わせ論理回路set_max_delayは抑制set_min_delay


2.17どのように回路の速度を制限するには?
    使用create_clock

組み合わせ回路は、どのように対処する、その後、クロック・サイクルの制約を超えて2.18?
    プラスset_max_delayのset_max_delayの要件を満たすようにしようとします。この包括的なツールの値に応じて、再結合が、これはエリア設計を増加させ、そしてタイミングがまだ満たされていない場合は、それが唯一のデザインを変更することができます。

ループ回路が発生した場合は2.19、どの回路に手綱するには?
    パスにset_false_pathを使用します

2.20どのように設計制約のルールを強化するには?
    DRCを満たしている必要があり、回路設計ルール、使用され
    set_max_capcitance
    set_max_fanout
    set_max_tansition

2.21 4つのパスの制約を追加した後、どのようにすることなく、タイミング解析を、合成時に特定のパスの制約を削除するには?
    特定のタイミングチェックが行われていないので、使用set_flase_pathパス

2.22は、これらのパスを制約する方法、サイクルの固定数の内の特定のパスを実行する必要が?
    使用set_multicycle_pathパス制約

2.23は、元の一般的なタイミング制約を復元する方法、これらの特別なパス制約を追加しますか?
    使用reset_path

トライステートゲートを制限する方法2.24?
    包括的な、3ステートゲートのためにはそうセットset_false_pathへのいくつかのパスのために、デフォルトで有効です

正常な機能を確保するために、ゲーテッドクロックを制約する方法2.25?
    ゲーテッドクロックのセットアップおよびホールド回路検査、使用set_gating_clock_check

2.26は、どのように制約すべき、バッファ及び他の操作を追加することなく、そのようなクロックやリセットなどのいくつかのネットワークを設定しますか?
    使用set_dont_touch_networkは、使用状況やset_dont_touchの違いに注意してください


2.27は、どのように私はホールド時間違反を修正するのですか?
   set_fix_hold制約に参加し、制約は一般的に、バックエンド処理会社を残し、フロントエンドの出会いで、このステップを考慮していません!

/ ************パート3コンパイルstategy ****************** /

統合された場合3.1、多くの選択肢全体的な戦略はありますか?
   あなたは、トップダウンとボトムトップを使用することができます。

利点3.2トップダウンの方法は何ですか?
   スクリプトのTOPは、単一の提供
   私たちはより良い結果を得ることができ、全体としてのデザインを

3.3ボトムアップファッションの利点は何ですか?
   以下のためのより包括的なマルチクロック
   各サブモジュールは、簡単に管理するために、独自のスクリプトを持ってい
   たときに、すべてのデザインの再統合せずにモジュールの変更、

3.4は、どのように時間-BUDGEを実行するには?
   使用特性

欠点3.5トップダウンの方法は何ですか?
   長い時間コンパイル
   再統合することが全体のデザインを変更するには、サブモジュールを
   マルチクロックを組み合わせ効果が良くないデザイン
任意の欠点3.6ボトムアップの方法は?
   複数のスクリプトを維持する必要性

-incrementalコンパイル時3.7それは何を意味するのでしょうか?
   不必要なロジックを追加することなく、そしてのみ改善されたタイミング性能のために、回路構成の維持を確実に増分する前にドアマッピングを設計した後、タイミング及びエリア制約は、再定義することができます。
3.8 ...

/ *******パート4レポートを分析し****************** /

エリアレポートを参照するにはどのように4.1?
    Report_area

4.2どのタイミングレポートを見て?
    それはオプションの様々なを使用している場合Report_timingは、このコマンドをreport_timing詳細男が見てください。

4.3は、独立した単位のエリアレポートを見たい、どのような順序?
    Report_cellだけcurrent_design以下のレベルのデフォルトreport_cellセル面積を見ることができるので、この問題を解決するには2つの方法があります:
     1。report_cell [get_cellsは- hier *]すべてのセル面積見ることができ
     、直接report_cellその後、current_designレベルは、あなたが見たいと思っていることをセルに変更し、2 list_designリストにすべてのデザインを。

4.4設計環境とは見どのように線負荷モデル?
      Report_design

4.5設計ルールとタイミング制約違反が、どのように参照するには場合は?
     使用report_constraintの-all_violators

4.6は、どのように私は、ファンイン、ファンアウト、負荷容量と遷移時間の接続を見ていますか?
     使用して、report_net
4.6はどのように全体の複合体が使用された後、どのように多くの回路のネットリストのドアの種類参照するには?
     使用report_hierarchy

タイミング制約のタイミング例外をチェックする方法4.7?
     使用report_timing_requirementsは、どのようなタイミング例外について考えてください。

------------

これは転載です

リリース1012元の記事 ウォンの賞賛520 ビュー1270万+

おすすめ

転載: blog.csdn.net/Augusdi/article/details/104955469