Lattice Diamondの全機能リスト
Lattice Diamondソフトウェアは、コスト重視で低消費電力のラティスFPGAアーキテクチャのために最適化された、最先端の設計・実装ツールです。Diamondは設計の推敲、使いやすさ、改善されたデザインフロー、および多数の機能拡張を加えたことを特徴とする、ispLEVERの後継です。新しい機能と拡張機能の組み合わせによって、ユーザは従来よりも迅速かつ容易に設計を完了し、そしてより良い結果を得ることが可能になります。Lattice Diamondは、デザイン入力からラティスのデバイスをプログラムするまでの、ロバストで完全なソフトウェア環境です。これは六世代に亘って蓄積されてきたツールの、実績豊富な実装エンジン・テクノロジを用いています。以下にLattice Diamondで提供される、主要なツールの全リストを示します。
プロジェクト管理
Lattice Diamond環境
Lattice Diamondソフトウェア環境は、以下のツールを含む一連の機能を提供します。
- プロジェクト管理のためのファイルリスト・ビュー
- デザインの実装を制御するためのプロセス・ビュー
- プロジェクトのオープン、最近のプロジェクト、ソフトウェア・アップデート、オンラインヘルプ、およびラティス・ウェブサイトへ迅速にリンクできるスタートページ
- すべてのレポートを見るために集約された場所となるレポート・ビュー
- すべての出力、ウォーニング、エラー、およびスクリプティング制御のための集約された場所
- すべてのツール・ビューのための集約されたメニュー、アイコン、および制御
ロバストなプロジェクト機能
Lattice Diamondにおける設計プロジェクトは、よりロバストなプロジェクト構成と機能性を提供することで、デザインの推敲を可能にする機能が格段に強化されました。Diamondのプロジェクトでは、以下のような主要な改善が含まれています。
- Verilog、VHDL、EDIF、およびスケマティックの各ソースを混在可能
- 単一プロジェクト内に“インプリメンテーション(Implementation)” として、デザインの複数バージョンを定義することが可能となり、設計の推敲が容易化
- インプリメンテーションの「レシピ」に相当する“ストラテジ(Strategy)” を、プロジェクト内で定義し、またはプロジェクト間で共有することが可能
- 制約設定やタイミング解析、電力計算、そしてハードウェア・デバッグなどための一連のファイルの管理・選択が容易
- 様々なオプション設定を探ることで最も良い結果を得るように、ランマネージャ(Run Manager)ビューで複数のインプリメンテーションを並列処理する設定が可能。ランマネージャでは、プロジェクトにおけるインプリメンテーションを選択して、結果が比較できます。また、マルチコア・プロセッサのシステムでは、幾つのコアを使用するかを設定できますので、システムへの負荷を管理できます。
設計エントリー
HDLエントリー(テキストエディタ)
DiamondはVHDL、Verilog HDL、EDIF、およびラティス制約言語のようなキーワードのハイライトに対応する、直感的なHDLテキストエディタを含んでいます。また、デフォルトとしてお好みのエディタを設定できます。
スケマティック(回路図)エディタ
スケマティック・エディタ(Schematic Editor)ビューは、すべてのデバイスファミリに対応し、HDLブロックのブロック図やゲートレベル回路図をグラフィカルな形式で用いることで、プログラマブル・ロジックデザインを表記することを手助けします。
IPexpress
IPexpressビューはラティスの機能モジュールリストと、ラティスデバイスのために最適化されたIPとのインターフェイスです。IPexpressは、これらの機能をスムーズに構成して、ユーザ独自の設計に組み込むことができるようにすることで、デザインプロセスを加速する一助となります。ラティスIPコアには、PCIバスコントローラやDDRメモリコントローラ、そしてイーサネットMACやDSP機能など、これ以外にも良く採用されている業界標準的な機能が多数含まれています。これらのIPコアに関するより詳細な情報については、ここをクリックしてください。
HDL解析
統合されているHDLコードチェック機能で、論理合成の前にデザインを解析することによって、時間を節約しましょう。プロジェクトを立ち上げると、ファイルリスト窓やプロセス窓と共にハイアラーキ・ビュー(Hierarchy View)が自動的にオープンします。論理合成後は、リソース使用数が自動的にアノテートされて階層ごとに表示されます。マッピング後も物理エレメント(スライス)数として更新されます。HDL ダイヤグラム(HDL Diagram)がツールバーやメニューから開けます。これには複数のビューがあり、論理合成前のHDLをグラフィカルに表示したり、設計に対してBKM(Best Known Methods)ルールチェックを実行したりすることができます。
LDC Editor
ラティスのオリジナル論理合成ツールLSE(Lattice Synthesis Engine)を用いる場合にはSDC(Synopsys Design Compiler)フォーマットによる論理合成制約をLDCグラフィカル・エディタで生成・編集できます。本エディタはデザイン内のクロックやポート、ネット名などを自動で抽出・表示し、リアルタイムで文法チェックします。生成されたSDCファイルはLSEが読み込みます。
Platform Designer
プラットホーム・デザイナ(Platform Designer)はプラットホーム・マネージャ2かまたはMachXO2、および必要に応じて付随して使用するASC(ハードウェア管理エクスパンダ:Analog Sense and Control)を用いるハードウェアシステムの設計に用いられます。プラットホーム・デザイナの統合設計環境により、デバイスのパラメータ設定からハードウェア管理アルゴリズムの実装、HDL生成、シミュレーション、ポート割り当て、そしてボード上のデバイスに書き込むJEDECファイルの生成に至るまで全て実行できます。プラットホーム・デザイナはASC用設定である検出電流や温度、電圧監視の値、またファン制御やフォールトログ部品、ポートやノードなど個別のエディタ画面が用意されています。
論理合成
MachXO2とMachXOデバイスファミリ用に最良の結果を得るために使用できる、ラティス論理合成エンジン(LSE)を統合しています。LSEはラティスFPGAの内部アーキテクチャに焦点を合わせて、十分な時間をかけて開発された成果物です。LSEはVerilogとVHDL言語の両方に対応し、制約を与えるためにSDC形式を採用しています。これはLattice Diamondソフトウェアに組み込まれていますので、対応する上述デバイスファミリが選択された場合、論理合成ツールの選択オプションになります。LSE についての詳細は こちら。
Synopsys社Synplify Pro for Lattice
Lattice Diamondは大規模設計を管理し、ラティスFPGAのために最適化されたベストフィットと性能を引き出すための手助けとなる様々なツールと機能を持つ、業界トップの論理合成ソリューションであるSynopsys社のSynplify Pro for Latticeを統合しています。また、Synplify Pro for LatticeにはHDLアナリスト(Analyst)があります。これはデザインの解析や、RTLソースコードとのクロスプロービング用に、RTLのスケマティック(回路図)を自動的に出力します。他の先進の機能としては以下が含まれます。
- BEST(Behavior Extracting Synthesis Technology:ビヘービャ抽出論理合成テクノロジ)は、伝統的なツールに比較して極めて短い時間でグローバルに最適化されたデザインを生成
- 包括的な言語コンパイラ(Language Compiler)は広範なVerilogとVHDL言語構造に対応
- SCOPE制約エディタは論理合成と配置配線のための、スプレッドシート形式の設計制約エントリー
- 演算・データパス機能に対して高性能でエリア効率の良い実装のために統合されたモジュール生成
- テクノロジ非依存のRTLソースコードに対応する自動的なRAM推論
- 文法チェッカがある、言語センシティブなHDLソースコード・エディタを統合
- 性能改善のためのパイプライン乗算器やROMに対する自動レジスタ・バランス化機能
- 各FPGAデバイスファミリにカスタマイズされ、テクノロジ非依存でターゲットデバイスに最適な実装を確実にするマッピング
- HDLアナリスト(Analyst)で、解析やRTLソースコードとのクロスプロービング用に自動的にデザインのRTL回路図を生成
- VerilogとVHDLの混在言語に対応
- コンパイルポイントのサポート
- 性能改善のための自動リタイミング(レジスタ間の組み合わせ論理をバランスさせる処理)
- ASIC用にRTL記述されたゲーテッドクロックやローカルに生成されたクロックを、FPGAに効率的に実装するための自動変換
インプリメンテーション
スプレッドシート・ビュー
ispLEVERのデザインプランナが持っていた複数の機能が、Lattice Diamondでは個別のビューに対応し、各ビュー間でシームレスに連携します。主要なコンポーネントはスプレッドシート・ビュー(Spreadsheet View)です。このビューでは、ピン割り当てやクロックリソース割り当て、グローバル制約、そしてタイミング制約やその他などの設計制約を入力して、表示・確認することができます。スプレッドシート・ビューでは、他のいくつかのビューとのクロスプロービング機能があり、また複数の制約ファイルを管理するためのファイルリスト(File List)ビューとも連携します。特定のデバイスファミリ内で規模の異なるデバイスに移行する場合、スプレッドシート・ビューは非互換のピンを表示します。
パッケージ・ビュー
パッケージ・ビュー(Package View)では、グラフィカルに信号をピンに割当てることが容易にできます。また、パッケージ・ビューには、出力の同時スイッチングで引き起こされるノイズをチェックするSSOノイズ解析の、グラフ表示機能があります。パッケージ・ビューはスプレッドシート・ビューやフロアプラン・ビュー(Floorplan View)、および他を含むいくつかのビューにクロスプロービングできます。特定のデバイスファミリ内で規模の異なるデバイスに移行する場合、パッケージ・ビューは非互換のピンを表示します。
フロアプラン・ビュー、フィジカル・ビュー、ネットリスト・ビュー、NCDビュー、デバイス・ビュー
Lattice Diamondには幾つかの抽象化機能があります。フロアプラン・ビュー(Floorplan View)では配置に関する制約を表示し、また編集する機能があります。フィジカル・ビュー(Physical View)では、タイミングに関する問題のより詳細な理解のために、物理的な配線とパスの詳細を読み取り専用として表示します。ネットリスト・ビュー(Netlist View)では、制約を設定するために設計内のポートやインスタンス、およびネットの閲覧ができ、パッケージ・ビューなどの他のビューへドラッグ・アンド・ドロップできます。NCDビューでは、SLICEやPIO、そしてIOLOGICや他のエレメントなど、物理的なコンポーネントの詳細な使い方に関する情報へのアクセスができます。デバイス・ビュー(Device View)では、デバイスに特有のリソースを閲覧する機能や、他のビューにクロスプローブすることができます。これらのビューを一緒に用いることで、デザインの実装を解析して、そして制約を与えるために必要な情報を得ることができます。
ECOエディタ
ECOエディタは、I/O(sysIO)設定やPLLパラメータ、或いはメモリ初期化など、頻繁に使用されるネットリストの編集機能を、EPICなどフル機能を持ったエディタを使用することなく、迅速に行うことができます。信号プローブ機能ではテスト用途に内部ノードを外部ピンに容易に引き出すことができます。
EPIC
EPICデバイスエディタは、デザインの詳細な物理的実装情報についての表示と編集ができます。PAR(配置配線)処理の後に、配線リソースの接続、物理エレメントのプログラミング、そしてI/Oバッファの構成などのような物理的な詳細を調べたり、または直接編集したりすることができるため、究極の制御方法となります。
解析
タイミングアナライザ・ビュー
タイミングアナライザ・ビュー(Timing Analyzer View)は、タイミング情報を閲覧するための、使いやすいグラフィカル環境です。タイミングパス、詳細パス、およびパスのスケマティック・ビューを迅速に表示させるには、単に制約をクリックします。また、全く同じ情報を未制約パスについても表示し、タイミング・クロージャのフローを効率化します。満たさない制約については赤で表示するなど、判別が視覚的に容易で、設計に直ちにフィードバックできます。タイミング解析ビューにおける主要な利点の一つは、クロックジッタを含めてタイミング制約が変更されたときに、迅速に更新される解析機能です。もはや、Trace(タイミング解析)レポートを再取得するためにデザインを再実装する必要はありません。タイミング解析の“アップデート”をクリックすると、解析レポート処理が直接実行されます。
パワーカリキュレータ
パワーカリキュレータ(Power Calculator)は、電力見積もりや計算結果の表示、そしてグラフィカルな電力表示とレポートを提供するために、データに基づいた高精度なデータモデルを用いています。ヒートシンクや気流、およびボードの複雑さを含む実環境の熱的条件をモデル化するために、熱抵抗オプションを用いることができます。パワーカリキュレータのデータに基づくアプローチは、特に低消費電力設計アプリケーションでターゲットにする特定の消費電力が決まっているときなど、非常に正確な電力見積もり・計算結果が得られ、高い信頼性を与えます。パワーカリキュレータにはスタンドアローン版も用意されています。
オンチップデバッグ・ハードウェア解析
Revealインサータ
Revealインサータ(Inserter)は、リアルタイム解析のために組み込むロジックアナライザ・デバッグハードウェアの容易な挿入を可能にする、“信号セントリックな(signal-centric)”モデルを採用しています。Revealは、実行時にダイナミックに変更でき、また複数のイベントトリガを用いることもできる機能が特徴です。
Revealアナライザ
Revealアナライザ(Analyzer)は、実行時にダイナミックに変更でき、複数イベントトリガを用いる機能、およびターゲットFPGAで捕捉したイベントを集約された波形として表示する機能を特徴としています。Lattice Diamondでは波形表示における測定イベントのために、複数のカーソルとラバー・バンディングがあり、より能率的になりました。さらにトレースデータをダウンロードしたり、または複雑なトリガ構成を設定することが非常に高速になっています。
Tclスクリプティングのサポート
Lattice Diamondソフトウェアには、デザインフローをスクリプト処理するための機能があります。Lattice Diamond環境のTCLコンソールに加えて、独立したTCLコンソール・アプリケーションでスクリプトを単独で実行できます。Diamond特有のTCLコマンド・ディクショナリが、以下の領域用に用意されています。
- プロジェクト管理
- ネットリスト・クェリー
- HDLコードチェック
- 電力見積もり
- オンチップデバッガ挿入
- オンチップデバッグ解析
シミュレーション
シミュレーション・ウィザード
Lattice Diamondのシミュレーション・ウィザード(Simulation Wizard)は、複数のファイルよりなるテストベンチへの対応を含めて、シミュレータ用にデザインをエクスポートします。シミュレーション・ウィザードは、デザインを指定したフォーマットで論理シミュレータ用に出力するために必要な、すべての手順をガイドします。シミュレーション・ウィザードはまさに必要とするものを得るための、容易な方法です。
Aldec社Active-HDL Lattice Edition II
Lattice DiamondはAldec社からの高速で包括的、かつ機能の豊富なシミュレーション環境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デバイスの通常のプログラミングを容易にします。プログラマには選択リスト内にない独自のSPIフラッシュメモリ・デバイスを追加する機能があります。これにより短時間で所望のデバイスに対する書き込みが可能です。
デプロイメント・ツール
デプロイメント・ツール(Diamond Deployment Tool)は、お使いのプログラミング用ファイルフォーマットに変換する直感的なウィザード形式を採用しています。ファイル変換は外部メモリ用ファイル生成、MachXO2用I2Cエンベデッド、そしてLatticeECP3およびLatticeXP2用スレーブSPI(SSPI)対応などの機能を持っています。こうしたツールの目標は、意図する作業を迅速に行うことです。