Lattice Diamond設計ソフトウェアは、コスト重視で低消費電力のラティスFPGAアーキテクチャのために最適化された、最先端の設計・実装ツールです。Diamondは設計の推敲、使いやすさ、改善されたデザインフロー、および多数の機能拡張を加えたことを特徴とする、現行ispLEVERの次世代版です。新しい機能と拡張機能の組み合わせによって、ユーザは従来よりも迅速かつ容易に設計を完了し、そしてより良い結果を得ることが可能になります。Diamondソフトウェアは、デザイン入力からラティスのデバイスをプログラムするまでの、ロバストで完全なソフトウェア環境です。これは六世代に亘って開発されてきたツールの、実績豊富な実装エンジン・テクノロジを用いています。以下にDiamondソフトウェアで提供される、主要なツールの全リストを示します。
Diamondソフトウェア環境は、以下のツールを含む一連の機能を提供します。
Lattice Diamondにおける設計プロジェクトは、よりロバストなプロジェクト構成と機能性を提供することで、デザインの推敲を可能にする機能が格段に強化されました。Diamondのプロジェクトでは、以下のような主要な改善が含まれています。
DiamondはVHDL、Verilog HDL、EDIF、およびラティス制約言語のようなキーワードのハイライトに対応する、直感的なHDLテキストエディタを含んでいます。また、デフォルトとしてお好みのエディタを設定できます。
スケマティック・エディタ(Schematic Editor)ビューは、すべてのデバイスファミリに対応し、HDLブロックのブロック図やゲートレベル回路図をグラフィカルな形式で用いることで、プログラマブル・ロジックデザインを表記することを手助けします。
ビューはラティスの機能モジュールリストと、ラティスデバイスのために最適化されたIPへのインターフェイスです。IPexpressは、これらの機能をスムーズに構成して、ユーザ独自の設計に組み込むことができるようにすることで、デザインプロセスを加速する一助となります。ラティスIPコアには、PCIバスコントローラやDDRメモリコントローラ、そしてイーサネットMACやDSP機能など、これ以外にも良く採用されている業界標準的な機能が多数含まれています。これらのIPコアに関するより詳細な情報については、ここをクリックしてください。
Diamondソフトウェアは、ラティスのプログラマブル・テクノロジを使用するために最適化された、多くのDSP機能ブロックを含んでいます。これらのブロックは、MATLAB/Simulink DSP設計環境(MathWorks社から別途入手の必要あり)において使用するためのものです。MathWorks製品の詳しい情報に関しては、そちらのウェブサイトをご覧ください。
新たに統合されたHDLコードチェック機能で、論理合成の前にデザインを解析することによって、時間を節約しましょう。"Generate Hierarchy(階層構造の生成)" をクリックすると、デザインを解析する手助けとなるHDL ダイヤグラム(HDL Diagram)、ハイアラーキ(Hierarchy)、モジュール(Module)、およびディクショナリ(Dictionary)の各ビューが表示されます。さらに、設計に対して多くのBKM(Best Known Methods)ルールチェックを実行することができます。
MachXO2とMachXOデバイスファミリ用に最良の結果を得るために使用できる,新しいラティス論理合成エンジン(LSE)を統合しています。LSEはラティスFPGAの内部アーキテクチャに焦点を合わせて開発された、数年にわたる開発の成果です。LSEはVerilogとVHDL言語の両方に対応し、SDCフォーマットが制約を与えるために使用されます。これはLattice Diamondデザイン・ソフトウェアに組み込まれており、対応するデバイスファミリが選択された場合、論理合成ツールの選択オプションになります。
Lattice Diamondは、大規模設計を管理し、ラティスFPGAのために最適化されたベストフィットと性能を引き出すために手助けとなる様々なツールと機能を持つ、業界トップの論理合成ソリューションであるSynopsys社のSynplify Pro for Latticeを統合しています。また、Synplify Pro for LatticeにはHDLアナリスト(Analyst)があります。これはデザインの解析や、RTLソースコードとのクロスプロービング用に、RTLのスケマティック(回路図)を自動的に出力します。他の先進の機能としては以下が含まれます。
ispLEVERのデザインプランナでは、幾つかの機能を個別のツールとして取り入れていました。これらの機能は、Diamondでは個別のビューとなり、他のDiamondビューとシームレスに動作します。主要なコンポーネントはスプレッドシート・ビューです。このビューでは、ピン割り当てやクロックリソース割り当て、グローバル制約、そしてタイミング制約やその他などの設計制約を入力して、表示・確認することができます。スプレッドシート・ビューでは、他のいくつかのビューとのクロスプロービング機能があり、また複数の制約ファイルを管理するためのファイルリスト(File List)ビューと連携します。MachXO2やECP3ファミリで低コスト(小規模)デバイスに移行する場合、スプレッドシート・ビュー(Spreadsheet View)は非互換のピンを表示します。
パッケージビュー(Package View)では、グラフィカルに信号をピンに割当てることが容易にできます。また、パッケージビューには、出力の同時スイッチングで引き起こされるノイズをチェックするSSOノイズ解析の、グラフ表示機能があります。パッケージビューはスプレッドシート・ビューやフロアプラン・ビュー(Floorplan View)、および他を含むいくつかのビューにクロスプロービングできます。MachXO2やECP3ファミリで低コスト(小規模)デバイスに移行する場合、パッケージビュー(Package View)は非互換のピンを表示します。
Diamondには設計とデバイスタスクのために、いくつかの抽象化機能があります。フロアプランビュー(Floorplan View)には配置に関する制約を表示し、また編集する機能があります。フィジカルビュー(Physical View)では、タイミングに関する問題のより詳細な理解のために、物理的な配線とパスの詳細を読み取り専用として表示します。ネットリストビュー(Netlist View)では、制約を設定するために設計内のポートやインスタンス、およびネットの閲覧ができ、パッケージビューなどの他のビューへドラッグ・アンド・ドロップできます。NCDビューでは、SLICEやPIO、そしてIOLOGICや他のエレメントなど、物理的なコンポーネントの詳細な使い方に関する情報へのアクセスができます。デバイスビュー(Device View)では、デバイスに特有のリソースを閲覧する機能や、他のビューにクロスプローブすることができます。これらのビューを一緒に用いることで、デザインの実装を解析して、そして制約を与えるために必要な情報を得ることができます。ハイアラーキ・ビュー(Hierarchy View、階層表示)は、各レベルの階層で用いられるエレメントに関するリソース使用率情報を示し、論理合成結果をアノテートしたのもです。
ECOエディタは、I/O(sysIO)設定やPLLパラメータ、或いはメモリ初期化など、頻繁に使用されるネットリストの編集機能を、EPICなどフル機能を持ったエディタを使用することなく、迅速に行うことができます。
EPICデバイスエディタは、デザインの詳細な物理的実装情報についての表示と編集ができます。PAR(配置配線)処理の後に、配線リソースの接続、物理エレメントのプログラミング、そしてI/Oバッファの構成などのような物理的な詳細を調べたり、または直接編集したりすることができるため、究極の制御方法を提供します。
タイミングアナライザ・ビュー(Timing Analyzer View)は、タイミング情報を閲覧するための、使いやすいグラフィカル環境です。タイミングパス、詳細パス、およびパスのスケマティック・ビューを迅速に表示させるには、単に制約をクリックします。満たさない制約については赤で表示するなど、判別が視覚的に容易で、設計に直ちにフィードバックできます。タイミング解析ビューにおける主要な新しい利点の一つは、クロックジッタを含めてタイミング制約が変更されたときに、迅速に更新される解析機能です。もはや、Trace(タイミング解析)レポートを再取得するためにデザインを再実装する必要はありません。タイミング解析の"アップデート"をクリックすると、解析レポート処理が直接実行されます。
パワーカリキュレータ(Power Calculator)は、電力見積もりや計算結果の表示、そしてグラフィカルな電力表示とレポートを提供するために、データに基づいた高精度なデータモデルを用いています。ヒートシンクや気流、およびボードの複雑さを含む実環境の熱的条件をモデル化するために、熱抵抗オプションを用いることができます。パワーカリキュレータのデータに基づくアプローチは、特に低消費電力設計アプリケーションでターゲットにする特定の消費電力が決まっているときなど、非常に正確な電力見積もり・計算結果が得られ、高い信頼性を与えます。
Revealインサータ(Inserter)は、リアルタイム解析用に組み込みロジックアナライザ用デバッグハードウェアの容易な挿入を可能にする、"信号セントリックな(signal-centric)" モデルを用いています。Revealは、実行時にダイナミックに変更できる、複数イベントトリガを用いる機能を特徴とします。
Revealアナライザ(Analyzer)は、実行時にダイナミックに変更できる、複数イベントトリガを用いる機能、およびターゲットFPGAで捕捉したイベントを集約された波形として表示する機能を特徴としています。Diamondでの新しい点は、波形表示における測定イベントのために、複数のカーソルとラバー・バンディングがある、より能率的になったRevealアナライザ・モジュールです。そして、トレースデータをダウンロードしたり、または複雑なトリガ構成を設定することが非常に高速です。
Diamondソフトウェアには、デザインフローをスクリプト処理するための、新しい機能が加えられています。Diamond環境のTCLコンソールに加えて、独立したTCLコンソール・アプリケーションで、スクリプトを単独で実行できます。Diamond特有のTCLコマンド・ディクショナリが、以下の領域用に用意されています。
Diamondのシミュレーション・ウィザード(Simulation Wizard)は、複数のファイルよりなるテストベンチの対応を含み、シミュレータ用にデザインを容易にエクスポートします。シミュレーション・ウィザードは、デザインを指定したフォーマットで論理シミュレータ用に出力するために必要な、すべての手順をガイドします。シミュレーション・ウィザードはまさに必要とするものを得るための、容易な方法です。
Diamondは、Aldec社からの高速で包括的、かつ機能の豊富なシミュレーション環境Active-HDL Lattice Edition IIを統合しています。Active-HDL Lattice Edition IIは、VHDLとVerilogの混在言語シミュレーションに対応し、また言語アシスタント(Language Assistant)やコード実行トレース(Code Execution Tracing)、アドバンスト・ブレークポイント管理(Advanced Breakpoint Management)、そしてメモリビューア(Memory Viewing)など、先進の検証・デバッグ機能を多数備えています。Diamond無償版(Free Edition)ライセンスには、同等な機能の多くに対応しつつ、より少ないシステムメモリで動作するActive-HDL Web Edition IIを含まれます。Aldec社Active-HDL Lattice Edition IIとActive-HDL Web Edition IIはWindowsプラットホーム用のみに用意しています。
Diamondにフルに統合された版とスタンドアロン版により、プログラマ(Programmer)は単一もしくは複数のFPGAデバイスの通常のプログラミングを容易にします。これ以外のアドバンス・プログラミング機能には、ispVMがご利用いただけます。
ispVMシステムはDiamondの一部ですが、スタンドアロンのデバイスプログラミング・マネージャとしても入手できます。ispVMシステムは、ispLEVERやPAC-Designer、および他の設計ツールによって生成されたJEDECやビットストリーム・ファイルを用いてラティスデバイスをプログラムするための、効率的な方法を提供する包括的なデザインダウンロード・パッケージです。ispVMのより詳細な情報に関しては、ispVMシステムのページをご覧ください。