ASICデザインはFPGA HDL合成とどのように違いますか?


42

ザイリンクスISE、ラティスダイアモンドなどのFPGA / HDLツールスイートの経験があります。一般的なワークフローは、Verilog / VHDL、シミュレーション、テスト、およびFPGAのプログラミングです。

ASICの設計は非常に異なっていると言う人が数人います。ゲートレベルASICとトランジスタレベルASICの2つの主要なASICに使用されるツールセットは何ですか?Catapult CやCadence C to Siliconなどの高位合成ツールを検討してきましたが、まだ試したことはありません。典型的なHDLワークフローを変更/高速化できるASIC / FPGAフィールドで利用可能なさまざまなタイプのツールを説明できますか?

回答:


39

通常、ASICの設計は、作業の複雑さと量のためにチームの努力です。手順の大まかな順序を示しますが、いくつかの手順は並行して、または順不同で完了できます。各タスクに使用したツールをリストしますが、百科事典ではありません。

  1. セルライブラリを構築します。(また、ほとんどのプロセスは、市販されているゲートのライブラリを持っている。あなたがない限り、私はこれをお勧めします知っているあなたが利用できない何かを必要としています。)これは、必要に応じて、設計パッド・ドライバ/レシーバ限り多くの論理機能のための複数の駆動強度ゲートを設計する必要、配列乗算器やメモリなどのマクロ。各セルの回路図を設計して検証したら、物理的なレイアウトを設計する必要があります。私はこのプロセスにCadence Virtuosoを使用し、SpecterHSPICEなどのアナログ回路シミュレーターも使用しました。

  2. セルライブラリを特徴付けます。(サードパーティのゲートライブラリがある場合、これは通常自動的に行われます。)Static Timing Analysis(STA)のタイミングテーブルを生成するには、ライブラリの各セルをシミュレーションする必要があります。これには、完成したセルを取得しAssuraDiva、またはCalibreを使用してレイアウト寄生成分を抽出し、さまざまな入力条件と出力負荷の下で回路をシミュレートすることが含まれます。これにより、STAパッケージと互換性のある各ゲートのタイミングモデルが構築されます。通常、タイミングモデルはLibertyファイル形式です。私が使用しているシリコンスマートリバティ-NCXを必要なすべての条件をシミュレートします。ほとんどのソフトウェアが適切に動作するためには、おそらく「最悪の場合」、「公称」、および「最良の場合」のタイミングモデルが必要になることに注意してください。

  3. デザインを合成します。高レベルコンパイラの経験はありませんが、最終的にはコンパイラまたはコンパイラチェーンが高レベルのデザインを取得し、ゲートレベルのネットリストを生成する必要があります。合成結果は、理論的なシステムパフォーマンスで得られる最初のピークであり、ドライブ強度の問題に最初に対処します。RTLコードにはDesign Compilerを使用しました。

  4. デザインを配置配線します。これにより、シンセサイザーからゲートレベルのネットリストが取得され、物理デザインに変換されます。理想的には、これは製造の準備が整ったパッド間レイアウトを生成します。P&Rソフトウェアを設定して、何千ものDRCエラーを自動的に作成するのは非常に簡単です。ほとんどのソフトウェアは、ドライブ強度の問題を管理し、指示に従ってクロックツリーを生成します。一部のソフトウェアパッケージには、アストロ、ICコンパイラ、シリコン出会い、及びシリコンアンサンブルを。配置配線の最終結果は、最終的なネットリスト、最終レイアウト、および抽出されたレイアウト寄生成分です。

  5. レイアウト後の静的タイミング分析。ここでの目標は、デザインがタイミング仕様を満たし、セットアップ、ホールド、またはゲーティングの問題がないことを確認することです。設計要件が厳しい場合、ここでエラーの修正とP&Rツールの修正の更新に多くの時間を費やすことになります。最後に使用したSTAツールはPrimeTimeでした。

  6. レイアウトの物理的検証。P&Rツールによってレイアウトが生成されたら、デザインがプロセスデザインルール(デザインルールチェック/ DRC)を満たしていること、およびレイアウトが回路図(レイアウトvs回路図/ LVS)に一致していることを確認する必要があります。これらの手順に従って、レイアウトが正しく配線され、製造可能であることを確認する必要があります。繰り返しますが、いくつかの物理検証ツールはAssuraDiva、またはCalibreです。

  7. 最終設計のシミュレーション。複雑さに応じて、SpecterまたはHSPICEを使用したトランジスタレベルのシミュレーション、HSIMを使用した「高速スパイス」シミュレーション、またはModelSimまたはVCSを使用した完全なデジタルシミュレーションを実行できる場合があります。STAまたはP&Rツールを使用して、現実的な遅延を伴うシミュレーションを生成できるはずです。

既存のゲートライブラリを使用すると、メモリ、マイクロコントローラー、代替処理ブロックなど、設計に役立つマクロを使用するだけでなく、時間を大幅に節約できます。設計の複雑さを管理することも大きな部分です。単一のクロック設計は、複数のクロックドメインを持つ回路よりも簡単に検証できます。


2
Virtuosoについて述べたので、Cadenceは設計のための完全なツールチェーンを提供します(Opusと呼ばれると思います)。回路図から開始し、単一のセルをレイアウトし、寄生効果を評価し、それを上位レベルに構築できます。
クラバッキオ

1
すべての主要ベンダーが完全なツールチェーンを提供していると思います。私たちはツールチェーンで複数のベンダーを使用することになり、その方法で、私たちが最もよく知っているか、業界で最高の評判を得たツールを使用することができました。
W5VO

1
ライブラリまたは設計キットをサポートするツールを選択することは、実際には要件です。特定のソフトウェアのサポートされているバージョンを使用していない場合、一部の非互換性によりデザインが破損したり、誤った値が表示されることがあります。そうは言っても、私が見たEDAツールの大部分はUnix / Linuxシステムで動作します。ほとんどの学習曲線は急勾配です。
W5VO

1
@MartinThompson絶対に。テクノロジー(ASIC / FPGA)の境界を広げるほど、これらのステップはより重要になります。そうは言っても、これらのツールのASICバージョンは、トラブルに巻き込まれるためのより多くのロープを提供します。
W5VO

1
1と2は設計の一般的な部分ではないことに注意してください。これらの手順は、いわゆる「プロセス認定」の一部であり、結果(完全に特徴付けられたライブラリ)はFABベンダーによって提供されます。しかし、一部の企業は「フルカスタムデザイン」を行っており、1と2を独自に完了する必要があります。
Ale..chenski

7

W5VOから答えはバックエンドに集中する傾向があり、これ ASICとFPGAのフローの大きな違いです。しかし、デジタル設計検証の部分を見逃しています。

シリコン上にデザインを作成するのに100万ドル以上かかる場合があり、FPGAよりも多くの使用可能なゲートをASICに詰め込めば、シミュレータファームを実行するワークステーションの前にあるラボやPCBから遠く離れて過ごすことになりますエミュレーターとテストを作成して、ASICデザインを実稼働用にリリースする前に、より完全に検証します。FPGA設計者は、テスト対象のシステムでFPGAを使用して、テストの大部分を実行する傾向があります。


デジタルデザイナーの基本的なワークフローはASICとFPGAの間でそれほど変わりませんが、ASICには利用可能なマクロ/マイクロ要素、配置および配線に関してはるかに柔軟性があり、FPGAは事前に作成されたロジックブロックに制限されます相互接続トポロジが制限されます。したがって、FPGAはASICのパフォーマンスレベルに達することができず、わずかに異なる設計ソリューションが必要になる場合があります。
Ale..chenski

こんにちはアリチェン。デジタル設計とデジタル検証が別々であると考えられる場合、純粋なデジタル設計のフローはFPGA vs ASICにより近くなりますが、私が述べたように検証には大きな分離があります。:-)
Paddy3118
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.