工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial programming >> Verilog

ASIC デザイン フロー

典型的な設計フローは、以下に示す構造に従い、複数のステップに分けることができます。これらのフェーズには、並行して行われるものもあれば、順番に行われるものもあります。今日の業界における典型的なプロジェクト設計サイクルがどのようになっているのかを見ていきます。

要件

通常、半導体企業の顧客は、自社のシステムまたは最終製品でチップを使用することを計画している他の企業です。したがって、顧客の要件も、チップの設計方法を決定する上で重要な役割を果たします。当然のことながら、最初のステップは、要件を収集し、最終製品の市場価値を見積もり、プロジェクトを実行するために必要なリソースの数を評価することです.

仕様

次のステップは、設計するチップの機能、インターフェイス、および全体的なアーキテクチャを抽象的に記述する「仕様」を収集することです。これは、次のようなものです。
<オール>

  • バーチャル リアリティをサポートするための画像処理アルゴリズムを実行するには、計算能力が必要です
  • コヒーレント インターコネクトを備えた 2 つの ARM A53 プロセッサが必要で、600 MHz で動作する必要があります
  • USB 3.0、Bluetooth、および PCIe 第 2 世代インターフェースが必要
  • 適切なコントローラーで 1920x1080 ピクセルのディスプレイをサポートする必要があります
  • 建築

    現在、アーキテクトは、チップがどのように動作するかについて、システム レベルのビューを考え出しています。彼らは、他のすべてのコンポーネントに必要なもの、実行する必要があるクロック周波数、および電力とパフォーマンスの要件をどのようにターゲットにするかを決定します。また、チップ内でデータがどのように流れるかについても決定します。例としては、プロセッサがシステム RAM から画像データを取得して実行するときのデータ フローがあります。その間、グラフィック エンジンは、メモリの別の部分にダンプされた前のバッチから後処理されたデータを実行します。

    デジタル デザイン

    最新のチップは複雑な性質を持っているため、ゼロから何かを構築することは不可能であり、多くの場合、多くのコンポーネントが再利用されます。 X社が、自動車内の他のモジュールとやり取りするためのFlexCANモジュールを必要としているとします。 FlexCAN の設計を別の会社から購入して時間と労力を節約するか、リソースを費やして独自に構築することができます。また、フリップフロップや CMOS トランジスタなどの基本的なビルディング ブロックからそのようなシステムを設計することは実際的ではありません。代わりに、Verilog や VHDL などのハードウェア記述言語を使用して、機能、パフォーマンス、およびその他の高レベルの問題に関してデザインを分析するための動作記述が開発されます。これは通常、デジタル デザイナーによって行われ、デジタル エレクトロニクスのスキルを備えた高度なコンピューター プログラマーに似ています。

    確認

    RTL デザインの準備ができたら、機能の正しさを検証する必要があります。たとえば、DSP プロセッサはメモリから命令をフェッチするためにバス トランザクションを発行することが期待されていますが、これが期待どおりに行われることをどのように知るのでしょうか?そのため、この時点で機能検証が必要です。これは、設計をモデル化し、さまざまな刺激を適用する機能を持つ EDA シミュレータを使用して行われます。これがプリシリコン検証エンジニアの仕事です。

    時間を節約して機能の閉鎖に到達するために、設計チームと検証チームの両方が並行して作業し、設計者は RTL バージョンを「リリース」し、検証チームはテストベンチ環境とテスト ケースを開発してその RTL バージョンの機能をテストします。これらのテストのいずれかが失敗した場合、設計に問題がある可能性があり、その設計要素で「バグ」が発生します。このバグは、設計チームからの RTL リリースの次のバージョンで修正する必要があります。このプロセスは、設計の機能の正しさに十分なレベルの信頼が得られるまで続きます。

    論理合成

    設計に満足したので、組み合わせゲートやフリップフロップなどの実際の要素を使用して、これをハードウェア回路図に変換します。このステップは合成と呼ばれます。論理合成ツールを使用すると、HDL の RTL 記述をゲート レベルのネットリストに変換できます。このネットリストは、ゲートとそれらの間の接続に関する回路の記述に他なりません。次のようになります:

      
      
    and_2_0     u_and2_0 ( .in_a (_net_112),
                           .in_b (_net_56),
                           .out  (_net_222));
    
    ff_lt       u_ff_lt_122 (.d   (_net_222),
                             .clk (_net_11),
                             .q   (_net_76));
    
      
    

    論理合成ツールは、ネットリストがタイミング、面積、および消費電力の仕様を満たしていることを確認します。通常、彼らはさまざまなテクノロジーノードプロセスとデジタル要素のライブラリにアクセスでき、これらすべてのさまざまな基準を満たすインテリジェントな計算を行うことができます。これらのライブラリは、フリップフロップの立ち上がり/立ち下がり時間、組み合わせゲートの入出力時間など、さまざまなコンポーネントのデータ特性を提供する半導体工場から取得されます。

    論理的等価性

    次に、ゲート レベルのネットリストが RTL との論理的同等性についてチェックされ、特定の要素の検証がもう一度行われる「ゲート レベルの検証」が実行されることがあります。違いは、今回はゲート レベルであり、より低いレベルであるということです。抽象化の。この段階の設計には膨大な数の要素が含まれ、バック アノテーションされた遅延情報があるため、シミュレーション時間は遅くなる傾向があります。

    配置とルーティング

    次に、ネットリストが物理設計フローに入力され、EDA ツールを使用して自動配置配線 (APR または PnR) が実行されます。そのようなツールの良い例は、Cadence Encounter と Synopsys IC Compiler です。これにより、標準セルを選択して行に配置し、入出力用のボール マップを定義し、異なる金属層を作成し、タイミングを満たすようにバッファーを配置します。このプロセスが完了すると、レイアウトが生成され、通常は製造に送られます。この段階は通常、テクノロジー ノードと物理的な実装の詳細に精通している物理設計チームによって処理されます。

    検証

    ここで終わりではありません。サンプルチップは、同じ半導体会社によって製造されるか、TSMC や Global Foundries などのサードパーティのファウンドリに送られます。このサンプルは、別のエンジニア チームがテスターでさまざまなパターンを実行するポスト シリコン検証プロセスを経ています。チップの内部ノードの可視性レベルが大幅に低下するという理由だけで、プレシリコン検証よりもポストシリコン検証でデバッグする方がはるかに困難です。さらに、100 万クロック サイクルは 1 秒で終了し、エラーの正確な時刻までさかのぼるには時間がかかります。この段階で実際の問題や設計上のバグが見つかった場合は、RTL で修正して再検証し、その後のすべての手順を実行する必要があります。

    設計フローには複数のステップがありますが、多くの設計作業は通常、回路の RTL 記述の最適化と検証に集中しています。プロセスを自動化するために EDA ツールを利用できますが、不適切な使用は非効率的な設計につながるため、設計者は設計プロセス中に意識的な選択を行う必要があることに注意することが重要です。


    Verilog

    1. Verilog チュートリアル
    2. 抽象化レイヤーの設計
    3. 優れたコントロールパネル設計の上位4つの側面
    4. 機械、自動化、産業における制御エンクロージャの設計の基本
    5. コントロールパネルの設計の基本
    6. PCB 設計に関する重要な質問への簡単な回答
    7. PCB 設計で干渉防止機能を強化する方法
    8. PCB 設計における干渉を無効にする方法
    9. ラップトップ PCB の EMC を保証する 3 つの設計上の考慮事項
    10. アーキテクチャ設計とは?
    11. アトラスコプコに質問:いつフロー プロファイルを作成する必要がありますか?